diff --git a/output/animationsystem_dll.cs b/output/animationsystem_dll.cs
new file mode 100644
index 0000000..3328863
--- /dev/null
+++ b/output/animationsystem_dll.cs
@@ -0,0 +1,6272 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: animationsystem.dll
+    // Class count: 497
+    // Enum count: 94
+    public static class AnimationsystemDll {
+        // Alignment: 4
+        // Member count: 17
+        public enum SeqCmd_t : uint {
+            SeqCmd_Nop = 0x0,
+            SeqCmd_LinearDelta = 0x1,
+            SeqCmd_FetchFrameRange = 0x2,
+            SeqCmd_Slerp = 0x3,
+            SeqCmd_Add = 0x4,
+            SeqCmd_Subtract = 0x5,
+            SeqCmd_Scale = 0x6,
+            SeqCmd_Copy = 0x7,
+            SeqCmd_Blend = 0x8,
+            SeqCmd_Worldspace = 0x9,
+            SeqCmd_Sequence = 0xA,
+            SeqCmd_FetchCycle = 0xB,
+            SeqCmd_FetchFrame = 0xC,
+            SeqCmd_IKLockInPlace = 0xD,
+            SeqCmd_IKRestoreAll = 0xE,
+            SeqCmd_ReverseSequence = 0xF,
+            SeqCmd_Transform = 0x10
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum BoneTransformSpace_t : uint {
+            BoneTransformSpace_Invalid = unchecked((uint)-1),
+            BoneTransformSpace_Parent = 0x0,
+            BoneTransformSpace_Model = 0x1,
+            BoneTransformSpace_World = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum CAnimationGraphVisualizerPrimitiveType : uint {
+            ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0,
+            ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1,
+            ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2,
+            ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie = 0x3,
+            ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum NmTransitionRule_t : byte {
+            AllowTransition = 0x0,
+            ConditionallyAllowTransition = 0x1,
+            BlockTransition = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum BinaryNodeTiming : uint {
+            UseChild1 = 0x0,
+            UseChild2 = 0x1,
+            SyncChildren = 0x2
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum SolveIKChainAnimNodeDebugSetting : uint {
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0,
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1,
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2,
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle = 0x3,
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward = 0x4,
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_Up = 0x5,
+            SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6
+        }
+        // Alignment: 1
+        // Member count: 6
+        public enum MovementGait_t : byte {
+            eInvalid = unchecked((byte)-1),
+            eSlow = 0x0,
+            eMedium = 0x1,
+            eFast = 0x2,
+            eVeryFast = 0x3,
+            eCount = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum IKTargetCoordinateSystem : uint {
+            IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0,
+            IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1,
+            IKTARGETCOORDINATESYSTEM_COUNT = 0x2
+        }
+        // Alignment: 1
+        // Member count: 5
+        public enum NmStateEventTypeCondition_t : byte {
+            Entry = 0x0,
+            FullyInState = 0x1,
+            Exit = 0x2,
+            Timed = 0x3,
+            Any = 0x4
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum CNmFloatAngleMathNode__Operation_t : byte {
+            ClampTo180 = 0x0,
+            ClampTo360 = 0x1,
+            FlipHemisphere = 0x2,
+            FlipHemisphereNegate = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum VPhysXAggregateData_t__VPhysXFlagEnum_t : uint {
+            FLAG_IS_POLYSOUP_GEOMETRY = 0x1,
+            FLAG_LEVEL_COLLISION = 0x10,
+            FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE = 0x20
+        }
+        // Alignment: 1
+        // Member count: 5
+        public enum CNmRootMotionOverrideNode__OverrideFlags_t : byte {
+            AllowMoveX = 0x0,
+            AllowMoveY = 0x1,
+            AllowMoveZ = 0x2,
+            AllowFacingPitch = 0x3,
+            ListenForEvents = 0x4
+        }
+        // Alignment: 1
+        // Member count: 23
+        public enum NmEasingOperation_t : byte {
+            Linear = 0x0,
+            InQuad = 0x1,
+            OutQuad = 0x2,
+            InOutQuad = 0x3,
+            InCubic = 0x4,
+            OutCubic = 0x5,
+            InOutCubic = 0x6,
+            InQuart = 0x7,
+            OutQuart = 0x8,
+            InOutQuart = 0x9,
+            InQuint = 0xA,
+            OutQuint = 0xB,
+            InOutQuint = 0xC,
+            InSine = 0xD,
+            OutSine = 0xE,
+            InOutSine = 0xF,
+            InExpo = 0x10,
+            OutExpo = 0x11,
+            InOutExpo = 0x12,
+            InCirc = 0x13,
+            OutCirc = 0x14,
+            InOutCirc = 0x15,
+            None = 0x16
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum EIKEndEffectorRotationFixUpMode : uint {
+            None = 0x0,
+            MatchTargetOrientation = 0x1,
+            LookAtTargetForward = 0x2,
+            MaintainParentOrientation = 0x3,
+            Count = 0x4
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum MatterialAttributeTagType_t : uint {
+            MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0,
+            MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum NmTargetWarpAlgorithm_t : byte {
+            Lerp = 0x0,
+            Hermite = 0x1,
+            HermiteFeaturePreserving = 0x2,
+            Bezier = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum AnimPoseControl : uint {
+            NoPoseControl = 0x0,
+            AbsolutePoseControl = 0x1,
+            RelativePoseControl = 0x2
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum NmTransitionRuleCondition_t : byte {
+            AnyAllowed = 0x0,
+            FullyAllowed = 0x1,
+            ConditionallyAllowed = 0x2,
+            Blocked = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum EDemoBoneSelectionMode : uint {
+            CaptureAllBones = 0x0,
+            CaptureSelectedBones = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum StepPhase : uint {
+            StepPhase_OnGround = 0x0,
+            StepPhase_InAir = 0x1
+        }
+        // Alignment: 4
+        // Member count: 26
+        public enum FlexOpCode_t : uint {
+            FLEX_OP_CONST = 0x1,
+            FLEX_OP_FETCH1 = 0x2,
+            FLEX_OP_FETCH2 = 0x3,
+            FLEX_OP_ADD = 0x4,
+            FLEX_OP_SUB = 0x5,
+            FLEX_OP_MUL = 0x6,
+            FLEX_OP_DIV = 0x7,
+            FLEX_OP_NEG = 0x8,
+            FLEX_OP_EXP = 0x9,
+            FLEX_OP_OPEN = 0xA,
+            FLEX_OP_CLOSE = 0xB,
+            FLEX_OP_COMMA = 0xC,
+            FLEX_OP_MAX = 0xD,
+            FLEX_OP_MIN = 0xE,
+            FLEX_OP_2WAY_0 = 0xF,
+            FLEX_OP_2WAY_1 = 0x10,
+            FLEX_OP_NWAY = 0x11,
+            FLEX_OP_COMBO = 0x12,
+            FLEX_OP_DOMINATE = 0x13,
+            FLEX_OP_DME_LOWER_EYELID = 0x14,
+            FLEX_OP_DME_UPPER_EYELID = 0x15,
+            FLEX_OP_SQRT = 0x16,
+            FLEX_OP_REMAPVALCLAMPED = 0x17,
+            FLEX_OP_SIN = 0x18,
+            FLEX_OP_COS = 0x19,
+            FLEX_OP_ABS = 0x1A
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum NmCachedValueMode_t : uint {
+            OnEntry = 0x0,
+            OnExit = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum AnimNodeNetworkMode : uint {
+            ServerAuthoritative = 0x0,
+            ClientSimulate = 0x1
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum VPhysXBodyPart_t__VPhysXFlagEnum_t : uint {
+            FLAG_STATIC = 0x1,
+            FLAG_KINEMATIC = 0x2,
+            FLAG_JOINT = 0x4,
+            FLAG_MASS = 0x8,
+            FLAG_ALWAYS_DYNAMIC_ON_CLIENT = 0x10
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum AnimParamType_t : byte {
+            ANIMPARAM_UNKNOWN = 0x0,
+            ANIMPARAM_BOOL = 0x1,
+            ANIMPARAM_ENUM = 0x2,
+            ANIMPARAM_INT = 0x3,
+            ANIMPARAM_FLOAT = 0x4,
+            ANIMPARAM_VECTOR = 0x5,
+            ANIMPARAM_QUATERNION = 0x6,
+            ANIMPARAM_GLOBALSYMBOL = 0x7,
+            ANIMPARAM_COUNT = 0x8
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum NmEasingFunction_t : byte {
+            Linear = 0x0,
+            Quad = 0x1,
+            Cubic = 0x2,
+            Quart = 0x3,
+            Quint = 0x4,
+            Sine = 0x5,
+            Expo = 0x6,
+            Circ = 0x7,
+            Back = 0x8
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum IKTargetSource : uint {
+            IKTARGETSOURCE_Bone = 0x0,
+            IKTARGETSOURCE_AnimgraphParameter = 0x1,
+            IKTARGETSOURCE_COUNT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 15
+        public enum PermModelInfo_t__FlagEnum : uint {
+            FLAG_TRANSLUCENT = 0x1,
+            FLAG_TRANSLUCENT_TWO_PASS = 0x2,
+            FLAG_MODEL_IS_RUNTIME_COMBINED = 0x4,
+            FLAG_SOURCE1_IMPORT = 0x8,
+            FLAG_MODEL_PART_CHILD = 0x10,
+            FLAG_NAV_GEN_NONE = 0x20,
+            FLAG_NAV_GEN_HULL = 0x40,
+            FLAG_NO_FORCED_FADE = 0x800,
+            FLAG_HAS_SKINNED_MESHES = 0x400,
+            FLAG_DO_NOT_CAST_SHADOWS = 0x20000,
+            FLAG_FORCE_PHONEME_CROSSFADE = 0x1000,
+            FLAG_NO_ANIM_EVENTS = 0x100000,
+            FLAG_ANIMATION_DRIVEN_FLEXES = 0x200000,
+            FLAG_IMPLICIT_BIND_POSE_SEQUENCE = 0x400000,
+            FLAG_MODEL_DOC = 0x800000
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum CNmFloatMathNode__Operator_t : byte {
+            Add = 0x0,
+            Sub = 0x1,
+            Mul = 0x2,
+            Div = 0x3
+        }
+        // Alignment: 1
+        // Member count: 2
+        public enum CNmSyncEventIndexConditionNode__TriggerMode_t : byte {
+            ExactlyAtEventIndex = 0x0,
+            GreaterThanEqualToEventIndex = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum AnimParamNetworkSetting : uint {
+            Auto = 0x0,
+            AlwaysNetwork = 0x1,
+            NeverNetwork = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum MorphFlexControllerRemapType_t : uint {
+            MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0,
+            MORPH_FLEXCONTROLLER_REMAP_2WAY = 0x1,
+            MORPH_FLEXCONTROLLER_REMAP_NWAY = 0x2,
+            MORPH_FLEXCONTROLLER_REMAP_EYELID = 0x3
+        }
+        // Alignment: 4
+        // Member count: 8
+        public enum MeshDrawPrimitiveFlags_t : uint {
+            MESH_DRAW_FLAGS_NONE = 0x0,
+            MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH = 0x1,
+            MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT = 0x2,
+            MESH_DRAW_INPUT_LAYOUT_IS_NOT_MATCHED_TO_MATERIAL = 0x8,
+            MESH_DRAW_FLAGS_USE_COMPRESSED_PER_VERTEX_LIGHTING = 0x10,
+            MESH_DRAW_FLAGS_USE_UNCOMPRESSED_PER_VERTEX_LIGHTING = 0x20,
+            MESH_DRAW_FLAGS_CAN_BATCH_WITH_DYNAMIC_SHADER_CONSTANTS = 0x40,
+            MESH_DRAW_FLAGS_DRAW_LAST = 0x80
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ModelBoneFlexComponent_t : uint {
+            MODEL_BONE_FLEX_INVALID = unchecked((uint)-1),
+            MODEL_BONE_FLEX_TX = 0x0,
+            MODEL_BONE_FLEX_TY = 0x1,
+            MODEL_BONE_FLEX_TZ = 0x2
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum PoseType_t : byte {
+            POSETYPE_STATIC = 0x0,
+            POSETYPE_DYNAMIC = 0x1,
+            POSETYPE_INVALID = 0xFF
+        }
+        // Alignment: 1
+        // Member count: 2
+        public enum CNmRootMotionData__SamplingMode_t : byte {
+            Delta = 0x0,
+            WorldSpace = 0x1
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum NmEventConditionRules_t : byte {
+            LimitSearchToSourceState = 0x0,
+            IgnoreInactiveEvents = 0x1,
+            PreferHighestWeight = 0x2,
+            PreferHighestProgress = 0x3,
+            OperatorOr = 0x4,
+            OperatorAnd = 0x5,
+            SearchOnlyStateEvents = 0x6,
+            SearchOnlyAnimEvents = 0x7,
+            SearchBothStateAndAnimEvents = 0x8
+        }
+        // Alignment: 4
+        // Member count: 36
+        public enum AnimValueSource : uint {
+            MoveHeading = 0x0,
+            MoveSpeed = 0x1,
+            ForwardSpeed = 0x2,
+            StrafeSpeed = 0x3,
+            FacingHeading = 0x4,
+            LookHeading = 0x5,
+            LookPitch = 0x6,
+            LookDistance = 0x7,
+            Parameter = 0x8,
+            WayPointHeading = 0x9,
+            WayPointDistance = 0xA,
+            BoundaryRadius = 0xB,
+            TargetMoveHeading = 0xC,
+            TargetMoveSpeed = 0xD,
+            AccelerationHeading = 0xE,
+            AccelerationSpeed = 0xF,
+            SlopeHeading = 0x10,
+            SlopeAngle = 0x11,
+            SlopePitch = 0x12,
+            SlopeYaw = 0x13,
+            GoalDistance = 0x14,
+            AccelerationLeftRight = 0x15,
+            AccelerationFrontBack = 0x16,
+            RootMotionSpeed = 0x17,
+            RootMotionTurnSpeed = 0x18,
+            MoveHeadingRelativeToLookHeading = 0x19,
+            MaxMoveSpeed = 0x1A,
+            FingerCurl_Thumb = 0x1B,
+            FingerCurl_Index = 0x1C,
+            FingerCurl_Middle = 0x1D,
+            FingerCurl_Ring = 0x1E,
+            FingerCurl_Pinky = 0x1F,
+            FingerSplay_Thumb_Index = 0x20,
+            FingerSplay_Index_Middle = 0x21,
+            FingerSplay_Middle_Ring = 0x22,
+            FingerSplay_Ring_Pinky = 0x23
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum CNmTimeConditionNode__Operator_t : byte {
+            LessThan = 0x0,
+            LessThanEqual = 0x1,
+            GreaterThan = 0x2,
+            GreaterThanEqual = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum RagdollPoseControl : uint {
+            Absolute = 0x0,
+            Relative = 0x1
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum IKSolverType : uint {
+            IKSOLVER_Perlin = 0x0,
+            IKSOLVER_TwoBone = 0x1,
+            IKSOLVER_Fabrik = 0x2,
+            IKSOLVER_DogLeg3Bone = 0x3,
+            IKSOLVER_CCD = 0x4,
+            IKSOLVER_COUNT = 0x5
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum Blend2DMode : uint {
+            Blend2DMode_General = 0x0,
+            Blend2DMode_Directional = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ChoiceChangeMethod : uint {
+            OnReset = 0x0,
+            OnCycleEnd = 0x1,
+            OnResetOrCycleEnd = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ChoiceBlendMethod : uint {
+            SingleBlendTime = 0x0,
+            PerChoiceBlendTimes = 0x1
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum VPhysXConstraintParams_t__EnumFlags0_t : uint {
+            FLAG0_SHIFT_INTERPENETRATE = 0x0,
+            FLAG0_SHIFT_CONSTRAIN = 0x1,
+            FLAG0_SHIFT_BREAKABLE_FORCE = 0x2,
+            FLAG0_SHIFT_BREAKABLE_TORQUE = 0x3
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum BlendKeyType : uint {
+            BlendKey_UserValue = 0x0,
+            BlendKey_Velocity = 0x1,
+            BlendKey_Distance = 0x2,
+            BlendKey_RemainingDistance = 0x3
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum StateActionBehavior : uint {
+            STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0,
+            STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1,
+            STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2,
+            STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum NmRootMotionBlendMode_t : byte {
+            Blend = 0x0,
+            Additive = 0x1,
+            IgnoreSource = 0x2,
+            IgnoreTarget = 0x3
+        }
+        // Alignment: 1
+        // Member count: 6
+        public enum NmFootPhaseCondition_t : byte {
+            LeftFootDown = 0x0,
+            LeftFootPassing = 0x1,
+            LeftPhase = 0x4,
+            RightFootDown = 0x2,
+            RightFootPassing = 0x3,
+            RightPhase = 0x5
+        }
+        // Alignment: 4
+        // Member count: 22
+        public enum ModelSkeletonData_t__BoneFlags_t : uint {
+            FLAG_NO_BONE_FLAGS = 0x0,
+            FLAG_BONEFLEXDRIVER = 0x4,
+            FLAG_CLOTH = 0x8,
+            FLAG_PHYSICS = 0x10,
+            FLAG_ATTACHMENT = 0x20,
+            FLAG_ANIMATION = 0x40,
+            FLAG_MESH = 0x80,
+            FLAG_HITBOX = 0x100,
+            FLAG_BONE_USED_BY_VERTEX_LOD0 = 0x400,
+            FLAG_BONE_USED_BY_VERTEX_LOD1 = 0x800,
+            FLAG_BONE_USED_BY_VERTEX_LOD2 = 0x1000,
+            FLAG_BONE_USED_BY_VERTEX_LOD3 = 0x2000,
+            FLAG_BONE_USED_BY_VERTEX_LOD4 = 0x4000,
+            FLAG_BONE_USED_BY_VERTEX_LOD5 = 0x8000,
+            FLAG_BONE_USED_BY_VERTEX_LOD6 = 0x10000,
+            FLAG_BONE_USED_BY_VERTEX_LOD7 = 0x20000,
+            FLAG_BONE_MERGE_READ = 0x40000,
+            FLAG_BONE_MERGE_WRITE = 0x80000,
+            FLAG_ALL_BONE_FLAGS = 0xFFFFF,
+            BLEND_PREALIGNED = 0x100000,
+            FLAG_RIGIDLENGTH = 0x200000,
+            FLAG_PROCEDURAL = 0x400000
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum MorphBundleType_t : uint {
+            MORPH_BUNDLE_TYPE_NONE = 0x0,
+            MORPH_BUNDLE_TYPE_POSITION_SPEED = 0x1,
+            MORPH_BUNDLE_TYPE_NORMAL_WRINKLE = 0x2,
+            MORPH_BUNDLE_TYPE_COUNT = 0x3
+        }
+        // Alignment: 1
+        // Member count: 2
+        public enum CNmIDComparisonNode__Comparison_t : byte {
+            Matches = 0x0,
+            DoesntMatch = 0x1
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum NmPoseBlendMode_t : byte {
+            Overlay = 0x0,
+            Additive = 0x1,
+            ModelSpace = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ResetCycleOption : uint {
+            Beginning = 0x0,
+            SameCycleAsSource = 0x1,
+            InverseSourceCycle = 0x2,
+            FixedValue = 0x3,
+            SameTimeAsSource = 0x4
+        }
+        // Alignment: 1
+        // Member count: 6
+        public enum CNmVectorInfoNode__Info_t : byte {
+            X = 0x0,
+            Y = 0x1,
+            Z = 0x2,
+            Length = 0x3,
+            AngleHorizontal = 0x4,
+            AngleVertical = 0x5
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum IKChannelMode : uint {
+            TwoBone = 0x0,
+            TwoBone_Translate = 0x1,
+            OneBone = 0x2,
+            OneBone_Translate = 0x3
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum NmGraphValueType_t : byte {
+            Unknown = 0x0,
+            Bool = 0x1,
+            ID = 0x2,
+            Float = 0x3,
+            Vector = 0x4,
+            Target = 0x5,
+            BoneMask = 0x6,
+            Pose = 0x7,
+            Special = 0x8
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum NmFootPhase_t : byte {
+            LeftFootDown = 0x0,
+            RightFootPassing = 0x1,
+            RightFootDown = 0x2,
+            LeftFootPassing = 0x3
+        }
+        // Alignment: 4
+        // Member count: 8
+        public enum CNmTargetInfoNode__Info_t : uint {
+            AngleHorizontal = 0x0,
+            AngleVertical = 0x1,
+            Distance = 0x2,
+            DistanceHorizontalOnly = 0x3,
+            DistanceVerticalOnly = 0x4,
+            DeltaOrientationX = 0x5,
+            DeltaOrientationY = 0x6,
+            DeltaOrientationZ = 0x7
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum FootstepLandedFootSoundType_t : uint {
+            FOOTSOUND_Left = 0x0,
+            FOOTSOUND_Right = 0x1,
+            FOOTSOUND_UseOverrideSound = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum FootLockSubVisualization : uint {
+            FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0,
+            FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum NmFrameSnapEventMode_t : uint {
+            Floor = 0x0,
+            Round = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum FootPinningTimingSource : uint {
+            FootMotion = 0x0,
+            Tag = 0x1,
+            Parameter = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum DampingSpeedFunction : uint {
+            NoDamping = 0x0,
+            Constant = 0x1,
+            Spring = 0x2
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum AnimationProcessingType_t : uint {
+            ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0,
+            ANIMATION_PROCESSING_CLIENT_SIMULATION = 0x1,
+            ANIMATION_PROCESSING_CLIENT_PREDICTION = 0x2,
+            ANIMATION_PROCESSING_CLIENT_INTERPOLATION = 0x3,
+            ANIMATION_PROCESSING_CLIENT_RENDER = 0x4,
+            ANIMATION_PROCESSING_MAX = 0x5
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum JiggleBoneSimSpace : uint {
+            SimSpace_Local = 0x0,
+            SimSpace_Model = 0x1,
+            SimSpace_World = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum StanceOverrideMode : uint {
+            Sequence = 0x0,
+            Node = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum IkEndEffectorType : uint {
+            IkEndEffector_Attachment = 0x0,
+            IkEndEffector_Bone = 0x1
+        }
+        // Alignment: 2
+        // Member count: 3
+        public enum AnimScriptType : ushort {
+            ANIMSCRIPT_TYPE_INVALID = unchecked((ushort)-1),
+            ANIMSCRIPT_FUSE_GENERAL = 0x0,
+            ANIMSCRIPT_FUSE_STATEMACHINE = 0x1
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum CNmTimeConditionNode__ComparisonType_t : byte {
+            PercentageThroughState = 0x0,
+            PercentageThroughSyncEvent = 0x1,
+            ElapsedTime = 0x2,
+            LoopCount = 0x3
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum SeqPoseSetting_t : uint {
+            SEQ_POSE_SETTING_CONSTANT = 0x0,
+            SEQ_POSE_SETTING_ROTATION = 0x1,
+            SEQ_POSE_SETTING_POSITION = 0x2,
+            SEQ_POSE_SETTING_VELOCITY = 0x3
+        }
+        // Alignment: 4
+        // Member count: 13
+        public enum AnimParamButton_t : uint {
+            ANIMPARAM_BUTTON_NONE = 0x0,
+            ANIMPARAM_BUTTON_DPAD_UP = 0x1,
+            ANIMPARAM_BUTTON_DPAD_RIGHT = 0x2,
+            ANIMPARAM_BUTTON_DPAD_DOWN = 0x3,
+            ANIMPARAM_BUTTON_DPAD_LEFT = 0x4,
+            ANIMPARAM_BUTTON_A = 0x5,
+            ANIMPARAM_BUTTON_B = 0x6,
+            ANIMPARAM_BUTTON_X = 0x7,
+            ANIMPARAM_BUTTON_Y = 0x8,
+            ANIMPARAM_BUTTON_LEFT_SHOULDER = 0x9,
+            ANIMPARAM_BUTTON_RIGHT_SHOULDER = 0xA,
+            ANIMPARAM_BUTTON_LTRIGGER = 0xB,
+            ANIMPARAM_BUTTON_RTRIGGER = 0xC
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum SelectorTagBehavior_t : uint {
+            SelectorTagBehavior_OnWhileCurrent = 0x0,
+            SelectorTagBehavior_OffWhenFinished = 0x1,
+            SelectorTagBehavior_OffBeforeFinished = 0x2
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum CNmBoneMask__WeightInfo_t : byte {
+            Zero = 0x0,
+            Mixed = 0x1,
+            One = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum HandshakeTagType_t : uint {
+            eInvalid = unchecked((uint)-1),
+            eTask = 0x0,
+            eMovement = 0x1,
+            eCount = 0x2
+        }
+        // Alignment: 4
+        // Member count: 18
+        public enum ParticleAttachment_t : uint {
+            PATTACH_INVALID = unchecked((uint)-1),
+            PATTACH_ABSORIGIN = 0x0,
+            PATTACH_ABSORIGIN_FOLLOW = 0x1,
+            PATTACH_CUSTOMORIGIN = 0x2,
+            PATTACH_CUSTOMORIGIN_FOLLOW = 0x3,
+            PATTACH_POINT = 0x4,
+            PATTACH_POINT_FOLLOW = 0x5,
+            PATTACH_EYES_FOLLOW = 0x6,
+            PATTACH_OVERHEAD_FOLLOW = 0x7,
+            PATTACH_WORLDORIGIN = 0x8,
+            PATTACH_ROOTBONE_FOLLOW = 0x9,
+            PATTACH_RENDERORIGIN_FOLLOW = 0xA,
+            PATTACH_MAIN_VIEW = 0xB,
+            PATTACH_WATERWAKE = 0xC,
+            PATTACH_CENTER_FOLLOW = 0xD,
+            PATTACH_CUSTOM_GAME_STATE_1 = 0xE,
+            PATTACH_HEALTHBAR = 0xF,
+            MAX_PATTACH_TYPES = 0x10
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum FieldNetworkOption : uint {
+            Auto = 0x0,
+            ForceEnable = 0x1,
+            ForceDisable = 0x2
+        }
+        // Alignment: 1
+        // Member count: 8
+        public enum CNmTransitionNode__TransitionOptions_t : byte {
+            None = 0x0,
+            ClampDuration = 0x1,
+            Synchronized = 0x2,
+            MatchSourceTime = 0x3,
+            MatchSyncEventIndex = 0x4,
+            MatchSyncEventID = 0x5,
+            MatchSyncEventPercentage = 0x6,
+            PreferClosestSyncEventID = 0x7
+        }
+        // Alignment: 1
+        // Member count: 5
+        public enum CNmFloatComparisonNode__Comparison_t : byte {
+            GreaterThanEqual = 0x0,
+            LessThanEqual = 0x1,
+            NearEqual = 0x2,
+            GreaterThan = 0x3,
+            LessThan = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum VPhysXJoint_t__Flags_t : uint {
+            JOINT_FLAGS_NONE = 0x0,
+            JOINT_FLAGS_BODY1_FIXED = 0x1,
+            JOINT_FLAGS_USE_BLOCK_SOLVER = 0x2
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum VelocityMetricMode : byte {
+            DirectionOnly = 0x0,
+            MagnitudeOnly = 0x1,
+            DirectionAndMagnitude = 0x2
+        }
+        // Alignment: 1
+        // Member count: 5
+        public enum FacingMode : byte {
+            FacingMode_Invalid = 0x0,
+            FacingMode_Manual = 0x1,
+            FacingMode_Path = 0x2,
+            FacingMode_LookTarget = 0x3,
+            FacingMode_ManualPosition = 0x4
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum AimMatrixBlendMode : uint {
+            AimMatrixBlendMode_None = 0x0,
+            AimMatrixBlendMode_Additive = 0x1,
+            AimMatrixBlendMode_ModelSpaceAdditive = 0x2,
+            AimMatrixBlendMode_BoneMask = 0x3
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum AnimationSnapshotType_t : uint {
+            ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0,
+            ANIMATION_SNAPSHOT_CLIENT_SIMULATION = 0x1,
+            ANIMATION_SNAPSHOT_CLIENT_PREDICTION = 0x2,
+            ANIMATION_SNAPSHOT_CLIENT_INTERPOLATION = 0x3,
+            ANIMATION_SNAPSHOT_CLIENT_RENDER = 0x4,
+            ANIMATION_SNAPSHOT_FINAL_COMPOSITE = 0x5,
+            ANIMATION_SNAPSHOT_MAX = 0x6
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum NmTargetWarpRule_t : byte {
+            WarpXY = 0x0,
+            WarpZ = 0x1,
+            WarpXYZ = 0x2,
+            RotationOnly = 0x3
+        }
+        // Alignment: 4
+        // Member count: 8
+        public enum FootFallTagFoot_t : uint {
+            FOOT1 = 0x0,
+            FOOT2 = 0x1,
+            FOOT3 = 0x2,
+            FOOT4 = 0x3,
+            FOOT5 = 0x4,
+            FOOT6 = 0x5,
+            FOOT7 = 0x6,
+            FOOT8 = 0x7
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ChoiceMethod : uint {
+            WeightedRandom = 0x0,
+            WeightedRandomNoRepeat = 0x1,
+            Iterate = 0x2,
+            IterateRandom = 0x3
+        }
+        // Alignment: 4
+        // Member count: 14
+        public enum AnimVectorSource : uint {
+            MoveDirection = 0x0,
+            FacingPosition = 0x1,
+            LookDirection = 0x2,
+            VectorParameter = 0x3,
+            WayPointDirection = 0x4,
+            Acceleration = 0x5,
+            SlopeNormal = 0x6,
+            SlopeNormal_WorldSpace = 0x7,
+            LookTarget = 0x8,
+            LookTarget_WorldSpace = 0x9,
+            WayPointPosition = 0xA,
+            GoalPosition = 0xB,
+            RootMotionVelocity = 0xC,
+            ManualTarget_WorldSpace = 0xD
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum IkTargetType : uint {
+            IkTarget_Attachment = 0x0,
+            IkTarget_Bone = 0x1,
+            IkTarget_Parameter_ModelSpace = 0x2,
+            IkTarget_Parameter_WorldSpace = 0x3
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum BoneMaskBlendSpace : uint {
+            BlendSpace_Parent = 0x0,
+            BlendSpace_Model = 0x1,
+            BlendSpace_Model_RotationOnly = 0x2,
+            BlendSpace_Model_TranslationOnly = 0x3
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ModelConfigAttachmentType_t : uint {
+            MODEL_CONFIG_ATTACHMENT_INVALID = unchecked((uint)-1),
+            MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT = 0x0,
+            MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE = 0x1,
+            MODEL_CONFIG_ATTACHMENT_BONEMERGE = 0x2,
+            MODEL_CONFIG_ATTACHMENT_COUNT = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum BinaryNodeChildOption : uint {
+            Child1 = 0x0,
+            Child2 = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum JumpCorrectionMethod : uint {
+            ScaleMotion = 0x0,
+            AddCorrectionDelta = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum MoodType_t : uint {
+            eMoodType_Head = 0x0,
+            eMoodType_Body = 0x1
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimFrameBlockAnim {
+            public const nint m_nStartFrame = 0x0; // int32
+            public const nint m_nEndFrame = 0x4; // int32
+            public const nint m_segmentIndexArray = 0x8; // CUtlVector<int32>
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CZeroPoseUpdateNode {
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSlowDownOnSlopesUpdateNode {
+            public const nint m_flSlowDownStrength = 0x68; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class COrientationWarpUpdateNode {
+            public const nint m_hFacingPositionParameter = 0x6C; // CAnimParamHandle
+            public const nint m_turnDamping = 0x70; // CAnimInputDamping
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimParameterBase {
+            public const nint m_name = 0x18; // CGlobalSymbol
+            public const nint m_sComment = 0x20; // CUtlString
+            public const nint m_group = 0x28; // CUtlString
+            public const nint m_id = 0x30; // AnimParamID
+            public const nint m_componentName = 0x48; // CUtlString
+            public const nint m_bNetworkingRequested = 0x68; // bool
+            public const nint m_bIsReferenced = 0x69; // bool
+        }
+        // Parent: CAnimTagBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CSequenceFinishedAnimTag {
+            public const nint m_sequenceName = 0x58; // CUtlString
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSceneObjectData {
+            public const nint m_vMinBounds = 0x0; // Vector
+            public const nint m_vMaxBounds = 0xC; // Vector
+            public const nint m_drawCalls = 0x18; // CUtlLeanVector<CMaterialDrawDescriptor>
+            public const nint m_drawBounds = 0x28; // CUtlLeanVector<AABB_t>
+            public const nint m_meshlets = 0x38; // CUtlLeanVector<CMeshletDescriptor>
+            public const nint m_vTintColor = 0x48; // Vector4D
+        }
+        // Parent: CCycleBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootCycle {
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CInputStreamUpdateNode {
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CIntAnimParameter {
+            public const nint m_defaultValue = 0x80; // int32
+            public const nint m_minValue = 0x84; // int32
+            public const nint m_maxValue = 0x88; // int32
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmParameterizedBlendNode__CDefinition {
+            public const nint m_sourceNodeIndices = 0x10; // CUtlVectorFixedGrowable<int16,5>
+            public const nint m_nInputParameterValueNodeIdx = 0x38; // int16
+            public const nint m_bAllowLooping = 0x3A; // bool
+        }
+        // Parent: CNmEvent
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFrameSnapEvent {
+            public const nint m_frameSnapMode = 0x18; // NmFrameSnapEventMode_t
+        }
+        // Parent: None
+        // Field count: 0
+        public static class CNmTask {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimNodePath {
+            public const nint m_path = 0x0; // AnimNodeID[11]
+            public const nint m_nCount = 0x2C; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimNodeOutputID {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSyncTrack {
+            public const nint m_syncEvents = 0x0; // CUtlLeanVectorFixedGrowable<CNmSyncTrack::Event_t,10>
+            public const nint m_nStartEventOffset = 0xA8; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqBoneMaskList {
+            public const nint m_sName = 0x0; // CBufferString
+            public const nint m_nLocalBoneArray = 0x10; // CUtlVector<int16>
+            public const nint m_flBoneWeightArray = 0x28; // CUtlVector<float32>
+            public const nint m_flDefaultMorphCtrlWeight = 0x40; // float32
+            public const nint m_morphCtrlWeightArray = 0x48; // CUtlVector<CUtlPair<CBufferString,float32>>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimEncodedFrames {
+            public const nint m_fileName = 0x0; // CBufferString
+            public const nint m_nFrames = 0x10; // int32
+            public const nint m_nFramesPerBlock = 0x14; // int32
+            public const nint m_frameblockArray = 0x18; // CUtlVector<CAnimFrameBlockAnim>
+            public const nint m_usageDifferences = 0x30; // CAnimEncodeDifference
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SampleCode {
+            public const nint m_subCode = 0x0; // uint8[8]
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCachedPose {
+            public const nint m_transforms = 0x8; // CUtlVector<CTransform>
+            public const nint m_morphWeights = 0x20; // CUtlVector<float32>
+            public const nint m_hSequence = 0x38; // HSequence
+            public const nint m_flCycle = 0x3C; // float32
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTransitionEventConditionNode__CDefinition {
+            public const nint m_requireRuleID = 0x10; // CGlobalSymbol
+            public const nint m_eventConditionRules = 0x18; // CNmBitFlags
+            public const nint m_nSourceStateNodeIdx = 0x1C; // int16
+            public const nint m_ruleCondition = 0x1E; // NmTransitionRuleCondition_t
+        }
+        // Parent: CAnimTagBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CTaskStatusAnimTag {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionGraphConfig {
+            public const nint m_paramValues = 0x0; // float32[4]
+            public const nint m_flDuration = 0x10; // float32
+            public const nint m_nMotionIndex = 0x14; // MotionIndex
+            public const nint m_nSampleStart = 0x18; // int32
+            public const nint m_nSampleCount = 0x1C; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionSearchNode {
+            public const nint m_children = 0x0; // CUtlVector<CMotionSearchNode*>
+            public const nint m_quantizer = 0x18; // CVectorQuantizer
+            public const nint m_sampleCodes = 0x38; // CUtlVector<CUtlVector<SampleCode>>
+            public const nint m_sampleIndices = 0x50; // CUtlVector<CUtlVector<int32>>
+            public const nint m_selectableSamples = 0x68; // CUtlVector<int32>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimActivity {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_nActivity = 0x10; // int32
+            public const nint m_nFlags = 0x14; // int32
+            public const nint m_nWeight = 0x18; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimScriptManager {
+            public const nint m_scriptInfo = 0x10; // CUtlVector<ScriptInfo_t>
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AnimationDecodeDebugDumpElement_t {
+            public const nint m_nEntityIndex = 0x0; // int32
+            public const nint m_modelName = 0x8; // CUtlString
+            public const nint m_poseParams = 0x10; // CUtlVector<CUtlString>
+            public const nint m_decodeOps = 0x28; // CUtlVector<CUtlString>
+            public const nint m_internalOps = 0x40; // CUtlVector<CUtlString>
+            public const nint m_decodedAnims = 0x58; // CUtlVector<CUtlString>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ConfigIndex {
+            public const nint m_nGroup = 0x0; // uint16
+            public const nint m_nConfig = 0x2; // uint16
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXCollisionAttributes_t {
+            public const nint m_CollisionGroup = 0x0; // uint32
+            public const nint m_InteractAs = 0x8; // CUtlVector<uint32>
+            public const nint m_InteractWith = 0x20; // CUtlVector<uint32>
+            public const nint m_InteractExclude = 0x38; // CUtlVector<uint32>
+            public const nint m_CollisionGroupString = 0x50; // CUtlString
+            public const nint m_InteractAsStrings = 0x58; // CUtlVector<CUtlString>
+            public const nint m_InteractWithStrings = 0x70; // CUtlVector<CUtlString>
+            public const nint m_InteractExcludeStrings = 0x88; // CUtlVector<CUtlString>
+        }
+        // Parent: CSequenceUpdateNodeBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSequenceUpdateNode {
+            public const nint m_hSequence = 0x70; // HSequence
+            public const nint m_duration = 0x74; // float32
+            public const nint m_paramSpans = 0x78; // CParamSpanUpdater
+            public const nint m_tags = 0x90; // CUtlVector<TagSpan_t>
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmPassthroughNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmGraphDefinition__ExternalGraphSlot_t {
+            public const nint m_nNodeIdx = 0x0; // int16
+            public const nint m_slotID = 0x8; // CGlobalSymbol
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAimCameraUpdateNode {
+            public const nint m_hParameterPosition = 0x68; // CAnimParamHandle
+            public const nint m_hParameterOrientation = 0x6A; // CAnimParamHandle
+            public const nint m_hParameterSpineRotationWeight = 0x6C; // CAnimParamHandle
+            public const nint m_hParameterPelvisOffset = 0x6E; // CAnimParamHandle
+            public const nint m_hParameterUseIK = 0x70; // CAnimParamHandle
+            public const nint m_hParameterCameraOnly = 0x72; // CAnimParamHandle
+            public const nint m_hParameterWeaponDepenetrationDistance = 0x74; // CAnimParamHandle
+            public const nint m_hParameterWeaponDepenetrationDelta = 0x76; // CAnimParamHandle
+            public const nint m_hParameterCameraClearanceDistance = 0x78; // CAnimParamHandle
+            public const nint m_opFixedSettings = 0x80; // AimCameraOpFixedSettings_t
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqSeqDescFlag {
+            public const nint m_bLooping = 0x0; // bool
+            public const nint m_bSnap = 0x1; // bool
+            public const nint m_bAutoplay = 0x2; // bool
+            public const nint m_bPost = 0x3; // bool
+            public const nint m_bHidden = 0x4; // bool
+            public const nint m_bMulti = 0x5; // bool
+            public const nint m_bLegacyDelta = 0x6; // bool
+            public const nint m_bLegacyWorldspace = 0x7; // bool
+            public const nint m_bLegacyCyclepose = 0x8; // bool
+            public const nint m_bLegacyRealtime = 0x9; // bool
+            public const nint m_bModelDoc = 0xA; // bool
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PermModelInfo_t {
+            public const nint m_nFlags = 0x0; // uint32
+            public const nint m_vHullMin = 0x4; // Vector
+            public const nint m_vHullMax = 0x10; // Vector
+            public const nint m_vViewMin = 0x1C; // Vector
+            public const nint m_vViewMax = 0x28; // Vector
+            public const nint m_flMass = 0x34; // float32
+            public const nint m_vEyePosition = 0x38; // Vector
+            public const nint m_flMaxEyeDeflection = 0x44; // float32
+            public const nint m_sSurfaceProperty = 0x48; // CUtlString
+            public const nint m_keyValueText = 0x50; // CUtlString
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class StanceInfo_t {
+            public const nint m_vPosition = 0x0; // Vector
+            public const nint m_flDirection = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class IKBoneNameAndIndex_t {
+            public const nint m_Name = 0x0; // CUtlString
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStanceScaleUpdateNode {
+            public const nint m_hParam = 0x68; // CAnimParamHandle
+        }
+        // Parent: CNmBoneMaskValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBoneMaskBlendNode__CDefinition {
+            public const nint m_nSourceMaskNodeIdx = 0x10; // int16
+            public const nint m_nTargetMaskNodeIdx = 0x12; // int16
+            public const nint m_nBlendWeightValueNodeIdx = 0x14; // int16
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIDEventNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+            public const nint m_defaultValue = 0x18; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 17
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class HitReactFixedSettings_t {
+            public const nint m_nWeightListIndex = 0x0; // int32
+            public const nint m_nEffectedBoneCount = 0x4; // int32
+            public const nint m_flMaxImpactForce = 0x8; // float32
+            public const nint m_flMinImpactForce = 0xC; // float32
+            public const nint m_flWhipImpactScale = 0x10; // float32
+            public const nint m_flCounterRotationScale = 0x14; // float32
+            public const nint m_flDistanceFadeScale = 0x18; // float32
+            public const nint m_flPropagationScale = 0x1C; // float32
+            public const nint m_flWhipDelay = 0x20; // float32
+            public const nint m_flSpringStrength = 0x24; // float32
+            public const nint m_flWhipSpringStrength = 0x28; // float32
+            public const nint m_flMaxAngleRadians = 0x2C; // float32
+            public const nint m_nHipBoneIndex = 0x30; // int32
+            public const nint m_flHipBoneTranslationScale = 0x34; // float32
+            public const nint m_flHipDipSpringStrength = 0x38; // float32
+            public const nint m_flHipDipImpactScale = 0x3C; // float32
+            public const nint m_flHipDipDelay = 0x40; // float32
+        }
+        // Parent: CNmGraphNode__CDefinition
+        // Field count: 0
+        public static class CNmPoseNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimTagBase {
+            public const nint m_name = 0x18; // CGlobalSymbol
+            public const nint m_sComment = 0x20; // CUtlString
+            public const nint m_group = 0x28; // CGlobalSymbol
+            public const nint m_tagID = 0x30; // AnimTagID
+            public const nint m_bIsReferenced = 0x48; // bool
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionGraph {
+            public const nint m_paramSpans = 0x10; // CParamSpanUpdater
+            public const nint m_tags = 0x28; // CUtlVector<TagSpan_t>
+            public const nint m_pRootNode = 0x40; // CSmartPtr<CMotionNode>
+            public const nint m_nParameterCount = 0x48; // int32
+            public const nint m_nConfigStartIndex = 0x4C; // int32
+            public const nint m_nConfigCount = 0x50; // int32
+            public const nint m_bLoop = 0x54; // bool
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVectorInfoNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_desiredInfo = 0x12; // CNmVectorInfoNode::Info_t
+        }
+        // Parent: AnimationSnapshotBase_t
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AnimationSnapshot_t {
+            public const nint m_nEntIndex = 0x110; // int32
+            public const nint m_modelName = 0x118; // CUtlString
+        }
+        // Parent: CNmBlendTaskBase
+        // Field count: 0
+        public static class CNmBlendTask {
+        }
+        // Parent: CNmValueNode__CDefinition
+        // Field count: 0
+        public static class CNmVectorValueNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqTransition {
+            public const nint m_flFadeInTime = 0x0; // float32
+            public const nint m_flFadeOutTime = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimGraphSettingsGroup {
+        }
+        // Parent: CNmTargetValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVirtualParameterTargetNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimGraphDebugReplay {
+            public const nint m_animGraphFileName = 0x40; // CUtlString
+            public const nint m_frameList = 0x48; // CUtlVector<CSmartPtr<CAnimReplayFrame>>
+            public const nint m_startIndex = 0x60; // int32
+            public const nint m_writeIndex = 0x64; // int32
+            public const nint m_frameCount = 0x68; // int32
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CVectorAnimParameter {
+            public const nint m_defaultValue = 0x80; // Vector
+            public const nint m_bInterpolate = 0x8C; // bool
+        }
+        // Parent: CNmTask
+        // Field count: 0
+        public static class CNmCachedPoseReadTask {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateMachineNode__StateDefinition_t {
+            public const nint m_nStateNodeIdx = 0x0; // int16
+            public const nint m_nEntryConditionNodeIdx = 0x2; // int16
+            public const nint m_transitionDefinitions = 0x8; // CUtlLeanVectorFixedGrowable<CNmStateMachineNode::TransitionDefinition_t,5>
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStanceOverrideUpdateNode {
+            public const nint m_footStanceInfo = 0x68; // CUtlVector<StanceInfo_t>
+            public const nint m_pStanceSourceNode = 0x80; // CAnimUpdateNodeRef
+            public const nint m_hParameter = 0x90; // CAnimParamHandle
+            public const nint m_eMode = 0x94; // StanceOverrideMode
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class LookAtBone_t {
+            public const nint m_index = 0x0; // int32
+            public const nint m_weight = 0x4; // float32
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTransitionNode__CDefinition {
+            public const nint m_nTargetStateNodeIdx = 0x10; // int16
+            public const nint m_nDurationOverrideNodeIdx = 0x12; // int16
+            public const nint m_syncEventOffsetOverrideNodeIdx = 0x14; // int16
+            public const nint m_startBoneMaskNodeIdx = 0x16; // int16
+            public const nint m_flDuration = 0x18; // float32
+            public const nint m_boneMaskBlendInTimePercentage = 0x1C; // NmPercent_t
+            public const nint m_syncEventOffset = 0x20; // float32
+            public const nint m_transitionOptions = 0x24; // CNmBitFlags
+            public const nint m_targetSyncIDNodeIdx = 0x28; // int16
+            public const nint m_blendWeightEasing = 0x2A; // NmEasingOperation_t
+            public const nint m_rootMotionBlend = 0x2B; // NmRootMotionBlendMode_t
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatEaseNode__CDefinition {
+            public const nint m_flEaseTime = 0x10; // float32
+            public const nint m_flStartValue = 0x14; // float32
+            public const nint m_nInputValueNodeIdx = 0x18; // int16
+            public const nint m_easingOp = 0x1A; // NmEasingOperation_t
+            public const nint m_bUseStartValue = 0x1B; // bool
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimEncodeDifference {
+            public const nint m_boneArray = 0x0; // CUtlVector<CAnimBoneDifference>
+            public const nint m_morphArray = 0x18; // CUtlVector<CAnimMorphDifference>
+            public const nint m_userArray = 0x30; // CUtlVector<CAnimUserDifference>
+            public const nint m_bHasRotationBitArray = 0x48; // CUtlVector<uint8>
+            public const nint m_bHasMovementBitArray = 0x60; // CUtlVector<uint8>
+            public const nint m_bHasMorphBitArray = 0x78; // CUtlVector<uint8>
+            public const nint m_bHasUserBitArray = 0x90; // CUtlVector<uint8>
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRootUpdateNode {
+        }
+        // Parent: CNmTargetValueNode__CDefinition
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTargetOffsetNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_bIsBoneSpaceOffset = 0x12; // bool
+            public const nint m_rotationOffset = 0x20; // Quaternion
+            public const nint m_translationOffset = 0x30; // Vector
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionGraphUpdateNode {
+            public const nint m_pMotionGraph = 0x58; // CSmartPtr<CMotionGraph>
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatAngleMathNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_operation = 0x12; // CNmFloatAngleMathNode::Operation_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimParamHandle {
+            public const nint m_type = 0x0; // AnimParamType_t
+            public const nint m_index = 0x1; // uint8
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class WeightList {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_weights = 0x8; // CUtlVector<float32>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MotionIndex {
+            public const nint m_nGroup = 0x0; // uint16
+            public const nint m_nMotion = 0x2; // uint16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FollowAttachmentSettings_t {
+            public const nint m_attachment = 0x0; // CAnimAttachment
+            public const nint m_boneIndex = 0x80; // int32
+            public const nint m_bMatchTranslation = 0x84; // bool
+            public const nint m_bMatchRotation = 0x85; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimNodeID {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmClipSelectorNode__CDefinition {
+            public const nint m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+            public const nint m_conditionNodeIndices = 0x28; // CUtlLeanVectorFixedGrowable<int16,5>
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CLookComponentUpdater {
+            public const nint m_hLookHeading = 0x34; // CAnimParamHandle
+            public const nint m_hLookHeadingVelocity = 0x36; // CAnimParamHandle
+            public const nint m_hLookPitch = 0x38; // CAnimParamHandle
+            public const nint m_hLookDistance = 0x3A; // CAnimParamHandle
+            public const nint m_hLookDirection = 0x3C; // CAnimParamHandle
+            public const nint m_hLookTarget = 0x3E; // CAnimParamHandle
+            public const nint m_hLookTargetWorldSpace = 0x40; // CAnimParamHandle
+            public const nint m_bNetworkLookTarget = 0x42; // bool
+        }
+        // Parent: CAnimGraphSettingsGroup
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CAnimGraphNetworkSettings {
+            public const nint m_bNetworkingEnabled = 0x20; // bool
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSingleFrameUpdateNode {
+            public const nint m_actions = 0x58; // CUtlVector<CSmartPtr<CAnimActionUpdater>>
+            public const nint m_hPoseCacheHandle = 0x70; // CPoseHandle
+            public const nint m_hSequence = 0x74; // HSequence
+            public const nint m_flCycle = 0x78; // float32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBlockSelectionMetricEvaluator {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigList {
+            public const nint m_bHideMaterialGroupInTools = 0x0; // bool
+            public const nint m_bHideRenderColorInTools = 0x1; // bool
+            public const nint m_Configs = 0x8; // CUtlVector<CModelConfig*>
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqAutoLayerFlag {
+            public const nint m_bPost = 0x0; // bool
+            public const nint m_bSpline = 0x1; // bool
+            public const nint m_bXFade = 0x2; // bool
+            public const nint m_bNoBlend = 0x3; // bool
+            public const nint m_bLocal = 0x4; // bool
+            public const nint m_bPose = 0x5; // bool
+            public const nint m_bFetchFrame = 0x6; // bool
+            public const nint m_bSubtract = 0x7; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimStateID {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIDEventConditionNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+            public const nint m_eventIDs = 0x18; // CUtlVectorFixedGrowable<CGlobalSymbol,5>
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ModelBoneFlexDriver_t {
+            public const nint m_boneName = 0x0; // CUtlString
+            public const nint m_boneNameToken = 0x8; // uint32
+            public const nint m_controls = 0x10; // CUtlVector<ModelBoneFlexDriverControl_t>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMorphData {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_morphRectDatas = 0x8; // CUtlVector<CMorphRectData>
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootPinningUpdateNode {
+            public const nint m_poseOpFixedData = 0x70; // FootPinningPoseOpFixedData_t
+            public const nint m_eTimingSource = 0xA0; // FootPinningTimingSource
+            public const nint m_params = 0xA8; // CUtlVector<CAnimParamHandle>
+            public const nint m_bResetChild = 0xC0; // bool
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqPoseSetting {
+            public const nint m_sPoseParameter = 0x0; // CBufferString
+            public const nint m_sAttachment = 0x10; // CBufferString
+            public const nint m_sReferenceSequence = 0x20; // CBufferString
+            public const nint m_flValue = 0x30; // float32
+            public const nint m_bX = 0x34; // bool
+            public const nint m_bY = 0x35; // bool
+            public const nint m_bZ = 0x36; // bool
+            public const nint m_eType = 0x38; // int32
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVirtualParameterFloatNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAttachment {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_influenceNames = 0x8; // CUtlString[3]
+            public const nint m_vInfluenceRotations = 0x20; // Quaternion[3]
+            public const nint m_vInfluenceOffsets = 0x50; // Vector[3]
+            public const nint m_influenceWeights = 0x74; // float32[3]
+            public const nint m_bInfluenceRootTransform = 0x80; // bool[3]
+            public const nint m_nInfluences = 0x83; // uint8
+            public const nint m_bIgnoreRotation = 0x84; // bool
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSequenceUpdateNodeBase {
+            public const nint m_playbackSpeed = 0x64; // float32
+            public const nint m_bLoop = 0x68; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDrawCullingData {
+            public const nint m_vConeApex = 0x0; // Vector
+            public const nint m_ConeAxis = 0xC; // int8[3]
+            public const nint m_ConeCutoff = 0xF; // int8
+        }
+        // Parent: None
+        // Field count: 27
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXJoint_t {
+            public const nint m_nType = 0x0; // uint16
+            public const nint m_nBody1 = 0x2; // uint16
+            public const nint m_nBody2 = 0x4; // uint16
+            public const nint m_nFlags = 0x6; // uint16
+            public const nint m_Frame1 = 0x10; // CTransform
+            public const nint m_Frame2 = 0x30; // CTransform
+            public const nint m_bEnableCollision = 0x50; // bool
+            public const nint m_bEnableLinearLimit = 0x51; // bool
+            public const nint m_LinearLimit = 0x54; // VPhysXRange_t
+            public const nint m_bEnableLinearMotor = 0x5C; // bool
+            public const nint m_vLinearTargetVelocity = 0x60; // Vector
+            public const nint m_flMaxForce = 0x6C; // float32
+            public const nint m_bEnableSwingLimit = 0x70; // bool
+            public const nint m_SwingLimit = 0x74; // VPhysXRange_t
+            public const nint m_bEnableTwistLimit = 0x7C; // bool
+            public const nint m_TwistLimit = 0x80; // VPhysXRange_t
+            public const nint m_bEnableAngularMotor = 0x88; // bool
+            public const nint m_vAngularTargetVelocity = 0x8C; // Vector
+            public const nint m_flMaxTorque = 0x98; // float32
+            public const nint m_flLinearFrequency = 0x9C; // float32
+            public const nint m_flLinearDampingRatio = 0xA0; // float32
+            public const nint m_flAngularFrequency = 0xA4; // float32
+            public const nint m_flAngularDampingRatio = 0xA8; // float32
+            public const nint m_flFriction = 0xAC; // float32
+            public const nint m_flElasticity = 0xB0; // float32
+            public const nint m_flElasticDamping = 0xB4; // float32
+            public const nint m_flPlasticity = 0xB8; // float32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStateNodeTransitionData {
+            public const nint m_curve = 0x0; // CBlendCurve
+            public const nint m_blendDuration = 0x8; // CAnimValue<float32>
+            public const nint m_resetCycleValue = 0x10; // CAnimValue<float32>
+            public const nint m_bReset = 0x0; // bitfield:1
+            public const nint m_resetCycleOption = 0x0; // bitfield:3
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTimeRemainingMetricEvaluator {
+            public const nint m_bMatchByTimeRemaining = 0x50; // bool
+            public const nint m_flMaxTimeRemaining = 0x54; // float32
+            public const nint m_bFilterByTimeRemaining = 0x58; // bool
+            public const nint m_flMinTimeRemaining = 0x5C; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement {
+            public const nint m_ElementName = 0x8; // CUtlString
+            public const nint m_NestedElements = 0x10; // CUtlVector<CModelConfigElement*>
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmControlParameterVectorNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FootFixedSettings {
+            public const nint m_traceSettings = 0x0; // TraceSettings_t
+            public const nint m_vFootBaseBindPosePositionMS = 0x10; // VectorAligned
+            public const nint m_flFootBaseLength = 0x20; // float32
+            public const nint m_flMaxRotationLeft = 0x24; // float32
+            public const nint m_flMaxRotationRight = 0x28; // float32
+            public const nint m_footstepLandedTagIndex = 0x2C; // int32
+            public const nint m_bEnableTracing = 0x30; // bool
+            public const nint m_flTraceAngleBlend = 0x34; // float32
+            public const nint m_nDisableTagIndex = 0x38; // int32
+            public const nint m_nFootIndex = 0x3C; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfig {
+            public const nint m_ConfigName = 0x0; // CUtlString
+            public const nint m_Elements = 0x8; // CUtlVector<CModelConfigElement*>
+            public const nint m_bTopLevel = 0x20; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimComponentID {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXAggregateData_t {
+            public const nint m_nFlags = 0x0; // uint16
+            public const nint m_nRefCounter = 0x2; // uint16
+            public const nint m_bonesHash = 0x8; // CUtlVector<uint32>
+            public const nint m_boneNames = 0x20; // CUtlVector<CUtlString>
+            public const nint m_indexNames = 0x38; // CUtlVector<uint16>
+            public const nint m_indexHash = 0x50; // CUtlVector<uint16>
+            public const nint m_bindPose = 0x68; // CUtlVector<matrix3x4a_t>
+            public const nint m_parts = 0x80; // CUtlVector<VPhysXBodyPart_t>
+            public const nint m_constraints2 = 0x98; // CUtlVector<VPhysXConstraint2_t>
+            public const nint m_joints = 0xB0; // CUtlVector<VPhysXJoint_t>
+            public const nint m_pFeModel = 0xC8; // PhysFeModelDesc_t*
+            public const nint m_boneParents = 0xD0; // CUtlVector<uint16>
+            public const nint m_surfacePropertyHashes = 0xE8; // CUtlVector<uint32>
+            public const nint m_collisionAttributes = 0x100; // CUtlVector<VPhysXCollisionAttributes_t>
+            public const nint m_debugPartNames = 0x118; // CUtlVector<CUtlString>
+            public const nint m_embeddedKeyvalues = 0x130; // CUtlString
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmGraphDefinition {
+            public const nint m_persistentNodeIndices = 0x0; // CUtlVector<int16>
+            public const nint m_nRootNodeIdx = 0x18; // int16
+            public const nint m_controlParameterIDs = 0x20; // CUtlVector<CGlobalSymbol>
+            public const nint m_virtualParameterIDs = 0x38; // CUtlVector<CGlobalSymbol>
+            public const nint m_virtualParameterNodeIndices = 0x50; // CUtlVector<int16>
+            public const nint m_childGraphSlots = 0x68; // CUtlVector<CNmGraphDefinition::ChildGraphSlot_t>
+            public const nint m_externalGraphSlots = 0x80; // CUtlVector<CNmGraphDefinition::ExternalGraphSlot_t>
+            public const nint m_nodePaths = 0x108; // CUtlVector<CUtlString>
+            public const nint m_runtimeVersionID = 0x120; // V_uuid_t
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSelectorNode__CDefinition {
+            public const nint m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+            public const nint m_conditionNodeIndices = 0x28; // CUtlLeanVectorFixedGrowable<int16,5>
+        }
+        // Parent: None
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimDemoCaptureSettings {
+            public const nint m_vecErrorRangeSplineRotation = 0x0; // Vector2D
+            public const nint m_vecErrorRangeSplineTranslation = 0x8; // Vector2D
+            public const nint m_vecErrorRangeSplineScale = 0x10; // Vector2D
+            public const nint m_flIkRotation_MaxSplineError = 0x18; // float32
+            public const nint m_flIkTranslation_MaxSplineError = 0x1C; // float32
+            public const nint m_vecErrorRangeQuantizationRotation = 0x20; // Vector2D
+            public const nint m_vecErrorRangeQuantizationTranslation = 0x28; // Vector2D
+            public const nint m_vecErrorRangeQuantizationScale = 0x30; // Vector2D
+            public const nint m_flIkRotation_MaxQuantizationError = 0x38; // float32
+            public const nint m_flIkTranslation_MaxQuantizationError = 0x3C; // float32
+            public const nint m_baseSequence = 0x40; // CUtlString
+            public const nint m_nBaseSequenceFrame = 0x48; // int32
+            public const nint m_boneSelectionMode = 0x4C; // EDemoBoneSelectionMode
+            public const nint m_bones = 0x50; // CUtlVector<BoneDemoCaptureSettings_t>
+            public const nint m_ikChains = 0x68; // CUtlVector<IKDemoCaptureSettings_t>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class IKDemoCaptureSettings_t {
+            public const nint m_parentBoneName = 0x0; // CUtlString
+            public const nint m_eMode = 0x8; // IKChannelMode
+            public const nint m_ikChainName = 0x10; // CUtlString
+            public const nint m_oneBoneStart = 0x18; // CUtlString
+            public const nint m_oneBoneEnd = 0x20; // CUtlString
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqMultiFetchFlag {
+            public const nint m_bRealtime = 0x0; // bool
+            public const nint m_bCylepose = 0x1; // bool
+            public const nint m_b0D = 0x2; // bool
+            public const nint m_b1D = 0x3; // bool
+            public const nint m_b2D = 0x4; // bool
+            public const nint m_b2D_TRI = 0x5; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXRange_t {
+            public const nint m_flMin = 0x0; // float32
+            public const nint m_flMax = 0x4; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStopAtGoalUpdateNode {
+            public const nint m_flOuterRadius = 0x6C; // float32
+            public const nint m_flInnerRadius = 0x70; // float32
+            public const nint m_flMaxScale = 0x74; // float32
+            public const nint m_flMinScale = 0x78; // float32
+            public const nint m_damping = 0x80; // CAnimInputDamping
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIDEventPercentageThroughNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+            public const nint m_eventID = 0x18; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimBoneDifference {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_parent = 0x10; // CBufferString
+            public const nint m_posError = 0x20; // Vector
+            public const nint m_bHasRotation = 0x2C; // bool
+            public const nint m_bHasMovement = 0x2D; // bool
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCachedBoolNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_mode = 0x14; // NmCachedValueMode_t
+        }
+        // Parent: CCycleBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimCycle {
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CActionComponentUpdater {
+            public const nint m_actions = 0x30; // CUtlVector<CSmartPtr<CAnimActionUpdater>>
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmGraphDataSet {
+            public const nint m_variationID = 0x0; // CGlobalSymbol
+            public const nint m_skeleton = 0x8; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+            public const nint m_resources = 0x10; // CUtlVector<CStrongHandleVoid>
+        }
+        // Parent: CPathAnimMotorUpdaterBase
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDampedPathAnimMotorUpdater {
+            public const nint m_flAnticipationTime = 0x2C; // float32
+            public const nint m_flMinSpeedScale = 0x30; // float32
+            public const nint m_hAnticipationPosParam = 0x34; // CAnimParamHandle
+            public const nint m_hAnticipationHeadingParam = 0x36; // CAnimParamHandle
+            public const nint m_flSpringConstant = 0x38; // float32
+            public const nint m_flMinSpringTension = 0x3C; // float32
+            public const nint m_flMaxSpringTension = 0x40; // float32
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCachedFloatNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_mode = 0x14; // NmCachedValueMode_t
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatSwitchNode__CDefinition {
+            public const nint m_nSwitchValueNodeIdx = 0x10; // int16
+            public const nint m_nTrueValueNodeIdx = 0x12; // int16
+            public const nint m_nFalseValueNodeIdx = 0x14; // int16
+        }
+        // Parent: CModelConfigElement
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_SetMaterialGroupOnAttachedModels {
+            public const nint m_MaterialGroupName = 0x48; // CUtlString
+        }
+        // Parent: CNmBoneMaskValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVirtualParameterBoneMaskNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPathHelperUpdateNode {
+            public const nint m_flStoppingRadius = 0x68; // float32
+            public const nint m_flStoppingSpeedScale = 0x6C; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialGroup_t {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_materials = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeIMaterial2>>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMorphBundleData {
+            public const nint m_flULeftSrc = 0x0; // float32
+            public const nint m_flVTopSrc = 0x4; // float32
+            public const nint m_offsets = 0x8; // CUtlVector<float32>
+            public const nint m_ranges = 0x20; // CUtlVector<float32>
+        }
+        // Parent: CModelConfigElement
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_UserPick {
+            public const nint m_Choices = 0x48; // CUtlVector<CUtlString>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSolveIKTargetHandle_t {
+            public const nint m_positionHandle = 0x0; // CAnimParamHandle
+            public const nint m_orientationHandle = 0x2; // CAnimParamHandle
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootAdjustmentUpdateNode {
+            public const nint m_clips = 0x70; // CUtlVector<HSequence>
+            public const nint m_hBasePoseCacheHandle = 0x88; // CPoseHandle
+            public const nint m_facingTarget = 0x8C; // CAnimParamHandle
+            public const nint m_flTurnTimeMin = 0x90; // float32
+            public const nint m_flTurnTimeMax = 0x94; // float32
+            public const nint m_flStepHeightMax = 0x98; // float32
+            public const nint m_flStepHeightMaxAngle = 0x9C; // float32
+            public const nint m_bResetChild = 0xA0; // bool
+            public const nint m_bAnimationDriven = 0xA1; // bool
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CChoreoUpdateNode {
+        }
+        // Parent: CBaseConstraint
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAimConstraint {
+            public const nint m_qAimOffset = 0x70; // Quaternion
+            public const nint m_nUpType = 0x80; // uint32
+        }
+        // Parent: CAnimTagBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CFootFallAnimTag {
+            public const nint m_foot = 0x58; // FootFallTagFoot_t
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMaterialDrawDescriptor {
+            public const nint m_flUvDensity = 0x0; // float32
+            public const nint m_vTintColor = 0x4; // Vector
+            public const nint m_flAlpha = 0x10; // float32
+            public const nint m_nNumMeshlets = 0x16; // uint16
+            public const nint m_nFirstMeshlet = 0x1C; // uint32
+            public const nint m_nPrimitiveType = 0x20; // RenderPrimitiveType_t
+            public const nint m_nBaseVertex = 0x24; // int32
+            public const nint m_nVertexCount = 0x28; // int32
+            public const nint m_nStartIndex = 0x2C; // int32
+            public const nint m_nIndexCount = 0x30; // int32
+            public const nint m_indexBuffer = 0x98; // CRenderBufferBinding
+            public const nint m_material = 0xC8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSkeleton {
+            public const nint m_ID = 0x0; // CGlobalSymbol
+            public const nint m_boneIDs = 0x8; // CUtlLeanVector<CGlobalSymbol>
+            public const nint m_parentIndices = 0x18; // CUtlVector<int32>
+            public const nint m_parentSpaceReferencePose = 0x30; // CUtlVector<CTransform>
+            public const nint m_modelSpaceReferencePose = 0x48; // CUtlVector<CTransform>
+            public const nint m_numBonesToSampleAtLowLOD = 0x60; // int32
+            public const nint m_boneMasks = 0x68; // CUtlLeanVector<CNmBoneMask>
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStepsRemainingMetricEvaluator {
+            public const nint m_footIndices = 0x50; // CUtlVector<int32>
+            public const nint m_flMinStepsRemaining = 0x68; // float32
+        }
+        // Parent: CNmParameterizedBlendNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVelocityBlendNode__CDefinition {
+        }
+        // Parent: CNmTask
+        // Field count: 0
+        public static class CNmZeroPoseTask {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyElementNameFn
+        public static class CBodyGroupSetting {
+            public const nint m_BodyGroupName = 0x0; // CUtlString
+            public const nint m_nBodyGroupOption = 0x8; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVectorQuantizer {
+            public const nint m_centroidVectors = 0x0; // CUtlVector<float32>
+            public const nint m_nCentroids = 0x18; // int32
+            public const nint m_nDimensions = 0x1C; // int32
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVectorCreateNode__CDefinition {
+            public const nint m_inputVectorValueNodeIdx = 0x10; // int16
+            public const nint m_inputValueXNodeIdx = 0x12; // int16
+            public const nint m_inputValueYNodeIdx = 0x14; // int16
+            public const nint m_inputValueZNodeIdx = 0x16; // int16
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+            public const nint m_entryEvents = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+            public const nint m_executeEvents = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+            public const nint m_exitEvents = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+            public const nint m_timedRemainingEvents = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t,1>
+            public const nint m_timedElapsedEvents = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t,1>
+            public const nint m_nLayerWeightNodeIdx = 0xA8; // int16
+            public const nint m_nLayerRootMotionWeightNodeIdx = 0xAA; // int16
+            public const nint m_nLayerBoneMaskNodeIdx = 0xAC; // int16
+            public const nint m_bIsOffState = 0xAE; // bool
+        }
+        // Parent: CNmBoneMaskValueNode__CDefinition
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBoneMaskSelectorNode__CDefinition {
+            public const nint m_defaultMaskNodeIdx = 0x10; // int16
+            public const nint m_parameterValueNodeIdx = 0x12; // int16
+            public const nint m_switchDynamically = 0x14; // bool
+            public const nint m_maskNodeIndices = 0x18; // CUtlVectorFixedGrowable<int16,7>
+            public const nint m_parameterValues = 0x40; // CUtlVectorFixedGrowable<CGlobalSymbol,7>
+            public const nint m_flBlendTimeSeconds = 0x90; // float32
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVirtualParameterVectorNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootCycleMetricEvaluator {
+            public const nint m_footIndices = 0x50; // CUtlVector<int32>
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmConstIDNode__CDefinition {
+            public const nint m_value = 0x10; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CHitBox {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_sSurfaceProperty = 0x8; // CUtlString
+            public const nint m_sBoneName = 0x10; // CUtlString
+            public const nint m_vMinBounds = 0x18; // Vector
+            public const nint m_vMaxBounds = 0x24; // Vector
+            public const nint m_flShapeRadius = 0x30; // float32
+            public const nint m_nBoneNameHash = 0x34; // uint32
+            public const nint m_nGroupId = 0x38; // int32
+            public const nint m_nShapeType = 0x3C; // uint8
+            public const nint m_bTranslationOnly = 0x3D; // bool
+            public const nint m_CRC = 0x40; // uint32
+            public const nint m_cRenderColor = 0x44; // Color
+            public const nint m_nHitBoxIndex = 0x48; // uint16
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmParameterizedSelectorNode__CDefinition {
+            public const nint m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+            public const nint m_parameterNodeIdx = 0x28; // int16
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ModelSkeletonData_t {
+            public const nint m_boneName = 0x0; // CUtlVector<CUtlString>
+            public const nint m_nParent = 0x18; // CUtlVector<int16>
+            public const nint m_boneSphere = 0x30; // CUtlVector<float32>
+            public const nint m_nFlag = 0x48; // CUtlVector<uint32>
+            public const nint m_bonePosParent = 0x60; // CUtlVector<Vector>
+            public const nint m_boneRotParent = 0x78; // CUtlVector<QuaternionStorage>
+            public const nint m_boneScaleParent = 0x90; // CUtlVector<float32>
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmEvent {
+            public const nint m_flStartTimeSeconds = 0x8; // float32
+            public const nint m_flDurationSeconds = 0xC; // float32
+            public const nint m_syncID = 0x10; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class NmCompressionSettings_t__QuantizationRange_t {
+            public const nint m_flRangeStart = 0x0; // float32
+            public const nint m_flRangeLength = 0x4; // float32
+        }
+        // Parent: CNmTask
+        // Field count: 0
+        public static class CNmBlendTaskBase {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class TagSpan_t {
+            public const nint m_tagIndex = 0x0; // int32
+            public const nint m_startCycle = 0x4; // float32
+            public const nint m_endCycle = 0x8; // float32
+        }
+        // Parent: CNmTargetValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmConstTargetNode__CDefinition {
+            public const nint m_value = 0x10; // CNmTarget
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PermModelDataAnimatedMaterialAttribute_t {
+            public const nint m_AttributeName = 0x0; // CUtlString
+            public const nint m_nNumChannels = 0x8; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionDataSet {
+            public const nint m_groups = 0x0; // CUtlVector<CMotionGraphGroup>
+            public const nint m_nDimensionCount = 0x18; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CProductQuantizer {
+            public const nint m_subQuantizers = 0x0; // CUtlVector<CVectorQuantizer>
+            public const nint m_nDimensions = 0x18; // int32
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CChoiceUpdateNode {
+            public const nint m_children = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+            public const nint m_weights = 0x70; // CUtlVector<float32>
+            public const nint m_blendTimes = 0x88; // CUtlVector<float32>
+            public const nint m_choiceMethod = 0xA0; // ChoiceMethod
+            public const nint m_choiceChangeMethod = 0xA4; // ChoiceChangeMethod
+            public const nint m_blendMethod = 0xA8; // ChoiceBlendMethod
+            public const nint m_blendTime = 0xAC; // float32
+            public const nint m_bCrossFade = 0xB0; // bool
+            public const nint m_bResetChosen = 0xB1; // bool
+            public const nint m_bDontResetSameSelection = 0xB2; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonAnimCapture_t__Bone_t {
+            public const nint m_Name = 0x0; // CUtlString
+            public const nint m_BindPose = 0x10; // CTransform
+            public const nint m_nParent = 0x30; // int32
+        }
+        // Parent: CAnimActionUpdater
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CExpressionActionUpdater {
+            public const nint m_hParam = 0x18; // CAnimParamHandle
+            public const nint m_eParamType = 0x1A; // AnimParamType_t
+            public const nint m_hScript = 0x1C; // AnimScriptHandle
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatMathNode__CDefinition {
+            public const nint m_nInputValueNodeIdxA = 0x10; // int16
+            public const nint m_nInputValueNodeIdxB = 0x12; // int16
+            public const nint m_bReturnAbsoluteResult = 0x14; // bool
+            public const nint m_operator = 0x15; // CNmFloatMathNode::Operator_t
+            public const nint m_flValueB = 0x18; // float32
+        }
+        // Parent: CAnimationGraphVisualizerPrimitiveBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGraphVisualizerLine {
+            public const nint m_vWsPositionStart = 0x40; // VectorAligned
+            public const nint m_vWsPositionEnd = 0x50; // VectorAligned
+            public const nint m_Color = 0x60; // Color
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCycleControlUpdateNode {
+            public const nint m_valueSource = 0x68; // AnimValueSource
+            public const nint m_paramIndex = 0x6C; // CAnimParamHandle
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTargetInfoNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_infoType = 0x14; // CNmTargetInfoNode::Info_t
+            public const nint m_bIsWorldSpaceTarget = 0x18; // bool
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDampedValueComponentUpdater {
+            public const nint m_items = 0x30; // CUtlVector<CDampedValueUpdateItem>
+        }
+        // Parent: CBoneConstraintBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBaseConstraint {
+            public const nint m_name = 0x28; // CUtlString
+            public const nint m_vUpVector = 0x30; // Vector
+            public const nint m_slaves = 0x40; // CUtlLeanVector<CConstraintSlave>
+            public const nint m_targets = 0x50; // CUtlVector<CConstraintTarget>
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmControlParameterFloatNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class BlendItem_t {
+            public const nint m_tags = 0x0; // CUtlVector<TagSpan_t>
+            public const nint m_pChild = 0x18; // CAnimUpdateNodeRef
+            public const nint m_hSequence = 0x28; // HSequence
+            public const nint m_vPos = 0x2C; // Vector2D
+            public const nint m_flDuration = 0x34; // float32
+            public const nint m_bUseCustomDuration = 0x38; // bool
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmClipNode__CDefinition {
+            public const nint m_nPlayInReverseValueNodeIdx = 0x10; // int16
+            public const nint m_nResetTimeValueNodeIdx = 0x12; // int16
+            public const nint m_bSampleRootMotion = 0x14; // bool
+            public const nint m_bAllowLooping = 0x15; // bool
+            public const nint m_nDataSlotIdx = 0x16; // int16
+        }
+        // Parent: CNmParameterizedBlendNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBlend1DNode__CDefinition {
+            public const nint m_parameterization = 0x40; // CNmParameterizedBlendNode::Parameterization_t
+        }
+        // Parent: CAnimParameterBase
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CConcreteAnimParameter {
+            public const nint m_previewButton = 0x70; // AnimParamButton_t
+            public const nint m_eNetworkSetting = 0x74; // AnimParamNetworkSetting
+            public const nint m_bUseMostRecentValue = 0x78; // bool
+            public const nint m_bAutoReset = 0x79; // bool
+            public const nint m_bGameWritable = 0x7A; // bool
+            public const nint m_bGraphWritable = 0x7B; // bool
+        }
+        // Parent: CSequenceUpdateNodeBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPairedSequenceUpdateNode {
+            public const nint m_sPairedSequenceRole = 0x70; // CGlobalSymbol
+        }
+        // Parent: CModelConfigElement
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_RandomPick {
+            public const nint m_Choices = 0x48; // CUtlVector<CUtlString>
+            public const nint m_ChoiceWeights = 0x60; // CUtlVector<float32>
+        }
+        // Parent: CNmTask
+        // Field count: 0
+        public static class CNmReferencePoseTask {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXConstraint2_t {
+            public const nint m_nFlags = 0x0; // uint32
+            public const nint m_nParent = 0x4; // uint16
+            public const nint m_nChild = 0x6; // uint16
+            public const nint m_params = 0x8; // VPhysXConstraintParams_t
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CConstraintTarget {
+            public const nint m_qOffset = 0x20; // Quaternion
+            public const nint m_vOffset = 0x30; // Vector
+            public const nint m_nBoneHash = 0x3C; // uint32
+            public const nint m_sName = 0x40; // CUtlString
+            public const nint m_flWeight = 0x48; // float32
+            public const nint m_bIsAttachment = 0x59; // bool
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonAnimCapture_t {
+            public const nint m_nEntIndex = 0x0; // CEntityIndex
+            public const nint m_nEntParent = 0x4; // CEntityIndex
+            public const nint m_ImportedCollision = 0x8; // CUtlVector<CEntityIndex>
+            public const nint m_ModelName = 0x20; // CUtlString
+            public const nint m_CaptureName = 0x28; // CUtlString
+            public const nint m_ModelBindPose = 0x30; // CUtlVector<SkeletonAnimCapture_t::Bone_t>
+            public const nint m_FeModelInitPose = 0x48; // CUtlVector<SkeletonAnimCapture_t::Bone_t>
+            public const nint m_nFlexControllers = 0x60; // int32
+            public const nint m_bPredicted = 0x64; // bool
+            public const nint m_Frames = 0xA8; // CUtlVector<SkeletonAnimCapture_t::Frame_t>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimUser {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_nType = 0x10; // int32
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRagdollComponentUpdater {
+            public const nint m_ragdollNodePaths = 0x30; // CUtlVector<CAnimNodePath>
+            public const nint m_boneIndices = 0x48; // CUtlVector<int32>
+            public const nint m_boneNames = 0x60; // CUtlVector<CUtlString>
+            public const nint m_weightLists = 0x78; // CUtlVector<WeightList>
+            public const nint m_flSpringFrequencyMin = 0x90; // float32
+            public const nint m_flSpringFrequencyMax = 0x94; // float32
+            public const nint m_flMaxStretch = 0x98; // float32
+            public const nint m_bSolidCollisionAtZeroWeight = 0x9C; // bool
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootDefinition {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_ankleBoneName = 0x8; // CUtlString
+            public const nint m_toeBoneName = 0x10; // CUtlString
+            public const nint m_vBallOffset = 0x18; // Vector
+            public const nint m_vHeelOffset = 0x24; // Vector
+            public const nint m_flFootLength = 0x30; // float32
+            public const nint m_flBindPoseDirectionMS = 0x34; // float32
+            public const nint m_flTraceHeight = 0x38; // float32
+            public const nint m_flTraceRadius = 0x3C; // float32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqSynthAnimDesc {
+            public const nint m_sName = 0x0; // CBufferString
+            public const nint m_flags = 0x10; // CSeqSeqDescFlag
+            public const nint m_transition = 0x1C; // CSeqTransition
+            public const nint m_nLocalBaseReference = 0x24; // int16
+            public const nint m_nLocalBoneMask = 0x26; // int16
+            public const nint m_activityArray = 0x28; // CUtlVector<CAnimActivity>
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmLayerBlendNode__LayerDefinition_t {
+            public const nint m_nInputNodeIdx = 0x0; // int16
+            public const nint m_nWeightValueNodeIdx = 0x2; // int16
+            public const nint m_nBoneMaskValueNodeIdx = 0x4; // int16
+            public const nint m_nRootMotionWeightValueNodeIdx = 0x6; // int16
+            public const nint m_bIsSynchronized = 0x8; // bool
+            public const nint m_bIgnoreEvents = 0x9; // bool
+            public const nint m_bIsStateMachineLayer = 0xA; // bool
+            public const nint m_blendMode = 0xB; // NmPoseBlendMode_t
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimComponentUpdater {
+            public const nint m_name = 0x18; // CUtlString
+            public const nint m_id = 0x20; // AnimComponentID
+            public const nint m_networkMode = 0x24; // AnimNodeNetworkMode
+            public const nint m_bStartEnabled = 0x28; // bool
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBlend2DUpdateNode {
+            public const nint m_items = 0x60; // CUtlVector<BlendItem_t>
+            public const nint m_tags = 0x78; // CUtlVector<TagSpan_t>
+            public const nint m_paramSpans = 0x90; // CParamSpanUpdater
+            public const nint m_nodeItemIndices = 0xA8; // CUtlVector<int32>
+            public const nint m_damping = 0xC0; // CAnimInputDamping
+            public const nint m_blendSourceX = 0xD0; // AnimValueSource
+            public const nint m_paramX = 0xD4; // CAnimParamHandle
+            public const nint m_blendSourceY = 0xD8; // AnimValueSource
+            public const nint m_paramY = 0xDC; // CAnimParamHandle
+            public const nint m_eBlendMode = 0xE0; // Blend2DMode
+            public const nint m_playbackSpeed = 0xE4; // float32
+            public const nint m_bLoop = 0xE8; // bool
+            public const nint m_bLockBlendOnReset = 0xE9; // bool
+            public const nint m_bLockWhenWaning = 0xEA; // bool
+            public const nint m_bAnimEventsAndTagsOnMostWeightedOnly = 0xEB; // bool
+        }
+        // Parent: CNmSpeedScaleBaseNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVelocityBasedSpeedScaleNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PermModelExtPart_t {
+            public const nint m_Transform = 0x0; // CTransform
+            public const nint m_Name = 0x20; // CUtlString
+            public const nint m_nParent = 0x28; // int32
+            public const nint m_refModel = 0x30; // CStrongHandle<InfoForResourceTypeCModel>
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCachedIDNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_mode = 0x14; // NmCachedValueMode_t
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CLeanMatrixUpdateNode {
+            public const nint m_frameCorners = 0x5C; // int32[3][3]
+            public const nint m_poses = 0x80; // CPoseHandle[9]
+            public const nint m_damping = 0xA8; // CAnimInputDamping
+            public const nint m_blendSource = 0xB8; // AnimVectorSource
+            public const nint m_paramIndex = 0xBC; // CAnimParamHandle
+            public const nint m_verticalAxis = 0xC0; // Vector
+            public const nint m_horizontalAxis = 0xCC; // Vector
+            public const nint m_hSequence = 0xD8; // HSequence
+            public const nint m_flMaxValue = 0xDC; // float32
+            public const nint m_nSequenceMaxFrame = 0xE0; // int32
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CSymbolAnimParameter {
+            public const nint m_defaultValue = 0x80; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateMachineNode__TransitionDefinition_t {
+            public const nint m_nTargetStateIdx = 0x0; // int16
+            public const nint m_nConditionNodeIdx = 0x2; // int16
+            public const nint m_nTransitionNodeIdx = 0x4; // int16
+            public const nint m_bCanBeForced = 0x6; // bool
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatSelectorNode__CDefinition {
+            public const nint m_conditionNodeIndices = 0x10; // CUtlVectorFixedGrowable<int16,5>
+            public const nint m_values = 0x38; // CUtlVectorFixedGrowable<float32,5>
+            public const nint m_flDefaultValue = 0x68; // float32
+            public const nint m_flEaseTime = 0x6C; // float32
+            public const nint m_easingOp = 0x70; // NmEasingOperation_t
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTargetSelectorUpdateNode {
+            public const nint m_children = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+            public const nint m_hPositionParameter = 0x74; // CAnimParamHandle
+            public const nint m_hFacePositionParameter = 0x76; // CAnimParamHandle
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CHitBoxSetList {
+            public const nint m_HitBoxSets = 0x0; // CUtlVector<CHitBoxSet>
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MotionDBIndex {
+            public const nint m_nIndex = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDirectPlaybackTagData {
+            public const nint m_sequenceName = 0x0; // CUtlString
+            public const nint m_tags = 0x8; // CUtlVector<TagSpan_t>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatRemapNode__RemapRange_t {
+            public const nint m_flBegin = 0x0; // float32
+            public const nint m_flEnd = 0x4; // float32
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCurrentSyncEventIDNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateCompletedConditionNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_nTransitionDurationOverrideNodeIdx = 0x12; // int16
+            public const nint m_flTransitionDurationSeconds = 0x14; // float32
+        }
+        // Parent: CNmEvent
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTargetWarpEvent {
+            public const nint m_rule = 0x18; // NmTargetWarpRule_t
+            public const nint m_algorithm = 0x19; // NmTargetWarpAlgorithm_t
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParamSpanUpdater {
+            public const nint m_spans = 0x0; // CUtlVector<ParamSpan_t>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimActionUpdater {
+        }
+        // Parent: CAnimTagBase
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CParticleAnimTag {
+            public const nint m_hParticleSystem = 0x58; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_particleSystemName = 0x60; // CUtlString
+            public const nint m_configName = 0x68; // CUtlString
+            public const nint m_bDetachFromOwner = 0x70; // bool
+            public const nint m_bStopWhenTagEnds = 0x71; // bool
+            public const nint m_bTagEndStopIsInstant = 0x72; // bool
+            public const nint m_attachmentName = 0x78; // CUtlString
+            public const nint m_attachmentType = 0x80; // ParticleAttachment_t
+            public const nint m_attachmentCP1Name = 0x88; // CUtlString
+            public const nint m_attachmentCP1Type = 0x90; // ParticleAttachment_t
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCycleBase {
+            public const nint m_flCycle = 0x0; // float32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FollowTargetOpFixedSettings_t {
+            public const nint m_boneIndex = 0x0; // int32
+            public const nint m_bBoneTarget = 0x4; // bool
+            public const nint m_boneTargetIndex = 0x8; // int32
+            public const nint m_bWorldCoodinateTarget = 0xC; // bool
+            public const nint m_bMatchTargetOrientation = 0xD; // bool
+        }
+        // Parent: CNmEvent
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmRootMotionEvent {
+            public const nint m_flBlendTimeSeconds = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AnimationSnapshotBase_t {
+            public const nint m_flRealTime = 0x0; // float32
+            public const nint m_rootToWorld = 0x10; // matrix3x4a_t
+            public const nint m_bBonesInWorldSpace = 0x40; // bool
+            public const nint m_boneSetupMask = 0x48; // CUtlVector<uint32>
+            public const nint m_boneTransforms = 0x60; // CUtlVector<matrix3x4a_t>
+            public const nint m_flexControllers = 0x78; // CUtlVector<float32>
+            public const nint m_SnapshotType = 0x90; // AnimationSnapshotType_t
+            public const nint m_bHasDecodeDump = 0x94; // bool
+            public const nint m_DecodeDump = 0x98; // AnimationDecodeDebugDumpElement_t
+        }
+        // Parent: CAnimActionUpdater
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CEmitTagActionUpdater {
+            public const nint m_nTagIndex = 0x18; // int32
+            public const nint m_bIsZeroDuration = 0x1C; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class DynamicMeshDeformParams_t {
+            public const nint m_flTensionCompressScale = 0x0; // float32
+            public const nint m_flTensionStretchScale = 0x4; // float32
+            public const nint m_bRecomputeSmoothNormalsAfterAnimation = 0x8; // bool
+            public const nint m_bComputeDynamicMeshTensionAfterAnimation = 0x9; // bool
+            public const nint m_bSmoothNormalsAcrossUvSeams = 0xA; // bool
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTimeConditionNode__CDefinition {
+            public const nint m_sourceStateNodeIdx = 0x10; // int16
+            public const nint m_nInputValueNodeIdx = 0x12; // int16
+            public const nint m_flComparand = 0x14; // float32
+            public const nint m_type = 0x18; // CNmTimeConditionNode::ComparisonType_t
+            public const nint m_operator = 0x19; // CNmTimeConditionNode::Operator_t
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSyncEventIndexConditionNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_triggerMode = 0x12; // CNmSyncEventIndexConditionNode::TriggerMode_t
+            public const nint m_syncEventIdx = 0x14; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimStateMachineUpdater {
+            public const nint m_states = 0x8; // CUtlVector<CStateUpdateData>
+            public const nint m_transitions = 0x20; // CUtlVector<CTransitionUpdateData>
+            public const nint m_startStateIndex = 0x50; // int32
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CUnaryUpdateNode {
+            public const nint m_pChildNode = 0x58; // CAnimUpdateNodeRef
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIDToFloatNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_defaultValue = 0x14; // float32
+            public const nint m_IDs = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,5>
+            public const nint m_values = 0x48; // CUtlLeanVectorFixedGrowable<float32,5>
+        }
+        // Parent: None
+        // Field count: 17
+        public static class CCompressorGroup {
+            public const nint m_nTotalElementCount = 0x0; // int32
+            public const nint m_szChannelClass = 0x8; // CUtlVector<char*>
+            public const nint m_szVariableName = 0x20; // CUtlVector<char*>
+            public const nint m_nType = 0x38; // CUtlVector<fieldtype_t>
+            public const nint m_nFlags = 0x50; // CUtlVector<int32>
+            public const nint m_szGrouping = 0x68; // CUtlVector<CUtlString>
+            public const nint m_nCompressorIndex = 0x80; // CUtlVector<int32>
+            public const nint m_szElementNames = 0x98; // CUtlVector<CUtlVector<char*>>
+            public const nint m_nElementUniqueID = 0xB0; // CUtlVector<CUtlVector<int32>>
+            public const nint m_nElementMask = 0xC8; // CUtlVector<uint32>
+            public const nint m_vectorCompressor = 0xF8; // CUtlVector<CCompressor<Vector>*>
+            public const nint m_quaternionCompressor = 0x110; // CUtlVector<CCompressor<QuaternionStorage>*>
+            public const nint m_intCompressor = 0x128; // CUtlVector<CCompressor<int32>*>
+            public const nint m_boolCompressor = 0x140; // CUtlVector<CCompressor<bool>*>
+            public const nint m_colorCompressor = 0x158; // CUtlVector<CCompressor<Color>*>
+            public const nint m_vector2DCompressor = 0x170; // CUtlVector<CCompressor<Vector2D>*>
+            public const nint m_vector4DCompressor = 0x188; // CUtlVector<CCompressor<Vector4D>*>
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSelectorUpdateNode {
+            public const nint m_children = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+            public const nint m_tags = 0x70; // CUtlVector<int8>
+            public const nint m_blendCurve = 0x8C; // CBlendCurve
+            public const nint m_flBlendTime = 0x94; // CAnimValue<float32>
+            public const nint m_hParameter = 0x9C; // CAnimParamHandle
+            public const nint m_nTagIndex = 0xA0; // int32
+            public const nint m_eTagBehavior = 0xA4; // SelectorTagBehavior_t
+            public const nint m_bResetOnChange = 0xA8; // bool
+            public const nint m_bLockWhenWaning = 0xA9; // bool
+            public const nint m_bSyncCyclesOnChange = 0xAA; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class NmPercent_t {
+            public const nint m_flValue = 0x0; // float32
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStateMachineComponentUpdater {
+            public const nint m_stateMachine = 0x30; // CAnimStateMachineUpdater
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimUpdateNodeRef {
+            public const nint m_nodeIndex = 0x8; // int32
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPhysSurfaceProperties {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_nameHash = 0x8; // uint32
+            public const nint m_baseNameHash = 0xC; // uint32
+            public const nint m_bHidden = 0x18; // bool
+            public const nint m_description = 0x20; // CUtlString
+            public const nint m_physics = 0x28; // CPhysSurfacePropertiesPhysics
+            public const nint m_audioSounds = 0x50; // CPhysSurfacePropertiesSoundNames
+            public const nint m_audioParams = 0xA8; // CPhysSurfacePropertiesAudio
+        }
+        // Parent: CNmValueNode__CDefinition
+        // Field count: 0
+        public static class CNmBoneMaskValueNode__CDefinition {
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatAbsNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqPoseParamDesc {
+            public const nint m_sName = 0x0; // CBufferString
+            public const nint m_flStart = 0x10; // float32
+            public const nint m_flEnd = 0x14; // float32
+            public const nint m_flLoop = 0x18; // float32
+            public const nint m_bLooping = 0x1C; // bool
+        }
+        // Parent: CModelConfigElement
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_SetBodygroup {
+            public const nint m_GroupName = 0x48; // CUtlString
+            public const nint m_nChoice = 0x50; // int32
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimMovement {
+            public const nint endframe = 0x0; // int32
+            public const nint motionflags = 0x4; // int32
+            public const nint v0 = 0x8; // float32
+            public const nint v1 = 0xC; // float32
+            public const nint angle = 0x10; // float32
+            public const nint vector = 0x14; // Vector
+            public const nint position = 0x20; // Vector
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FootStepTrigger {
+            public const nint m_tags = 0x0; // CUtlVector<int32>
+            public const nint m_nFootIndex = 0x18; // int32
+            public const nint m_triggerPhase = 0x1C; // StepPhase
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSyncTrack__EventMarker_t {
+            public const nint m_startTime = 0x0; // NmPercent_t
+            public const nint m_ID = 0x8; // CGlobalSymbol
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPathMetricEvaluator {
+            public const nint m_pathTimeSamples = 0x50; // CUtlVector<float32>
+            public const nint m_flDistance = 0x68; // float32
+            public const nint m_bExtrapolateMovement = 0x6C; // bool
+            public const nint m_flMinExtrapolationSpeed = 0x70; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 20
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootLockUpdateNode {
+            public const nint m_opFixedSettings = 0x68; // FootLockPoseOpFixedSettings
+            public const nint m_footSettings = 0xD0; // CUtlVector<FootFixedSettings>
+            public const nint m_hipShiftDamping = 0xE8; // CAnimInputDamping
+            public const nint m_rootHeightDamping = 0xF8; // CAnimInputDamping
+            public const nint m_flStrideCurveScale = 0x108; // float32
+            public const nint m_flStrideCurveLimitScale = 0x10C; // float32
+            public const nint m_flStepHeightIncreaseScale = 0x110; // float32
+            public const nint m_flStepHeightDecreaseScale = 0x114; // float32
+            public const nint m_flHipShiftScale = 0x118; // float32
+            public const nint m_flBlendTime = 0x11C; // float32
+            public const nint m_flMaxRootHeightOffset = 0x120; // float32
+            public const nint m_flMinRootHeightOffset = 0x124; // float32
+            public const nint m_flTiltPlanePitchSpringStrength = 0x128; // float32
+            public const nint m_flTiltPlaneRollSpringStrength = 0x12C; // float32
+            public const nint m_bApplyFootRotationLimits = 0x130; // bool
+            public const nint m_bApplyHipShift = 0x131; // bool
+            public const nint m_bModulateStepHeight = 0x132; // bool
+            public const nint m_bResetChild = 0x133; // bool
+            public const nint m_bEnableVerticalCurvedPaths = 0x134; // bool
+            public const nint m_bEnableRootHeightDamping = 0x135; // bool
+        }
+        // Parent: CNmEvent
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmOrientationWarpEvent {
+        }
+        // Parent: CNmValueNode__CDefinition
+        // Field count: 0
+        public static class CNmIDValueNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class JiggleBoneSettings_t {
+            public const nint m_nBoneIndex = 0x0; // int32
+            public const nint m_flSpringStrength = 0x4; // float32
+            public const nint m_flMaxTimeStep = 0x8; // float32
+            public const nint m_flDamping = 0xC; // float32
+            public const nint m_vBoundsMaxLS = 0x10; // Vector
+            public const nint m_vBoundsMinLS = 0x1C; // Vector
+            public const nint m_eSimSpace = 0x28; // JiggleBoneSimSpace
+        }
+        // Parent: CSequenceUpdateNode
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CJumpHelperUpdateNode {
+            public const nint m_hTargetParam = 0xA8; // CAnimParamHandle
+            public const nint m_flOriginalJumpMovement = 0xAC; // Vector
+            public const nint m_flOriginalJumpDuration = 0xB8; // float32
+            public const nint m_flJumpStartCycle = 0xBC; // float32
+            public const nint m_flJumpEndCycle = 0xC0; // float32
+            public const nint m_eCorrectionMethod = 0xC4; // JumpCorrectionMethod
+            public const nint m_bTranslationAxis = 0xC8; // bool[3]
+            public const nint m_bScaleSpeed = 0xCB; // bool
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmControlParameterBoolNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 18
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FootLockPoseOpFixedSettings {
+            public const nint m_footInfo = 0x0; // CUtlVector<FootFixedData_t>
+            public const nint m_hipDampingSettings = 0x18; // CAnimInputDamping
+            public const nint m_nHipBoneIndex = 0x28; // int32
+            public const nint m_ikSolverType = 0x2C; // IKSolverType
+            public const nint m_bApplyTilt = 0x30; // bool
+            public const nint m_bApplyHipDrop = 0x31; // bool
+            public const nint m_bAlwaysUseFallbackHinge = 0x32; // bool
+            public const nint m_bApplyFootRotationLimits = 0x33; // bool
+            public const nint m_bApplyLegTwistLimits = 0x34; // bool
+            public const nint m_flMaxFootHeight = 0x38; // float32
+            public const nint m_flExtensionScale = 0x3C; // float32
+            public const nint m_flMaxLegTwist = 0x40; // float32
+            public const nint m_bEnableLockBreaking = 0x44; // bool
+            public const nint m_flLockBreakTolerance = 0x48; // float32
+            public const nint m_flLockBlendTime = 0x4C; // float32
+            public const nint m_bEnableStretching = 0x50; // bool
+            public const nint m_flMaxStretchAmount = 0x54; // float32
+            public const nint m_flStretchExtensionScale = 0x58; // float32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBoneVelocityMetricEvaluator {
+            public const nint m_nBoneIndex = 0x50; // int32
+        }
+        // Parent: CModelConfigElement
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_RandomColor {
+            public const nint m_Gradient = 0x48; // CColorGradient
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootMotion {
+            public const nint m_strides = 0x0; // CUtlVector<CFootStride>
+            public const nint m_name = 0x18; // CUtlString
+            public const nint m_bAdditive = 0x20; // bool
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CJiggleBoneUpdateNode {
+            public const nint m_opFixedData = 0x68; // JiggleBoneSettingsList_t
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmConstVectorNode__CDefinition {
+            public const nint m_value = 0x10; // Vector
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyArrayElementNameKey
+        public static class MoodAnimation_t {
+            public const nint m_sName = 0x0; // CUtlString
+            public const nint m_flWeight = 0x8; // float32
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CLODComponentUpdater {
+            public const nint m_nServerLOD = 0x30; // int32
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIsTargetSetNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimDataChannelDesc {
+            public const nint m_szChannelClass = 0x0; // CBufferString
+            public const nint m_szVariableName = 0x10; // CBufferString
+            public const nint m_nFlags = 0x20; // int32
+            public const nint m_nType = 0x24; // int32
+            public const nint m_szGrouping = 0x28; // CBufferString
+            public const nint m_szDescription = 0x38; // CBufferString
+            public const nint m_szElementNameArray = 0x48; // CUtlVector<CBufferString>
+            public const nint m_nElementIndexArray = 0x60; // CUtlVector<int32>
+            public const nint m_nElementMaskArray = 0x78; // CUtlVector<uint32>
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPairedSequenceComponentUpdater {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMorphRectData {
+            public const nint m_nXLeftDst = 0x0; // int16
+            public const nint m_nYTopDst = 0x2; // int16
+            public const nint m_flUWidthSrc = 0x4; // float32
+            public const nint m_flVHeightSrc = 0x8; // float32
+            public const nint m_bundleDatas = 0x10; // CUtlVector<CMorphBundleData>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimFoot {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_vBallOffset = 0x8; // Vector
+            public const nint m_vHeelOffset = 0x14; // Vector
+            public const nint m_ankleBoneIndex = 0x20; // int32
+            public const nint m_toeBoneIndex = 0x24; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBoneMask {
+            public const nint m_ID = 0x0; // CGlobalSymbol
+            public const nint m_weightInfo = 0x8; // CNmBoneMask::WeightInfo_t
+            public const nint m_weights = 0x18; // CUtlVector<float32>
+        }
+        // Parent: CBaseConstraint
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParentConstraint {
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCachedVectorNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_mode = 0x14; // NmCachedValueMode_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateNode__TimedEvent_t {
+            public const nint m_ID = 0x0; // CGlobalSymbol
+            public const nint m_flTimeValueSeconds = 0x8; // float32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootPositionMetricEvaluator {
+            public const nint m_footIndices = 0x50; // CUtlVector<int32>
+            public const nint m_bIgnoreSlope = 0x68; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        public static class HSequence {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDampedValueUpdateItem {
+            public const nint m_damping = 0x0; // CAnimInputDamping
+            public const nint m_hParamIn = 0x18; // CAnimParamHandle
+            public const nint m_hParamOut = 0x1A; // CAnimParamHandle
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimLocalHierarchy {
+            public const nint m_sBone = 0x0; // CBufferString
+            public const nint m_sNewParent = 0x10; // CBufferString
+            public const nint m_nStartFrame = 0x20; // int32
+            public const nint m_nPeakFrame = 0x24; // int32
+            public const nint m_nTailFrame = 0x28; // int32
+            public const nint m_nEndFrame = 0x2C; // int32
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBlendUpdateNode {
+            public const nint m_children = 0x60; // CUtlVector<CAnimUpdateNodeRef>
+            public const nint m_sortedOrder = 0x78; // CUtlVector<uint8>
+            public const nint m_targetValues = 0x90; // CUtlVector<float32>
+            public const nint m_blendValueSource = 0xAC; // AnimValueSource
+            public const nint m_paramIndex = 0xB0; // CAnimParamHandle
+            public const nint m_damping = 0xB8; // CAnimInputDamping
+            public const nint m_blendKeyType = 0xC8; // BlendKeyType
+            public const nint m_bLockBlendOnReset = 0xCC; // bool
+            public const nint m_bSyncCycles = 0xCD; // bool
+            public const nint m_bLoop = 0xCE; // bool
+            public const nint m_bLockWhenWaning = 0xCF; // bool
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CQuaternionAnimParameter {
+            public const nint m_defaultValue = 0x80; // Quaternion
+            public const nint m_bInterpolate = 0x90; // bool
+        }
+        // Parent: None
+        // Field count: 23
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PermModelData_t {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_modelInfo = 0x8; // PermModelInfo_t
+            public const nint m_ExtParts = 0x60; // CUtlVector<PermModelExtPart_t>
+            public const nint m_refMeshes = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCRenderMesh>>
+            public const nint m_refMeshGroupMasks = 0x90; // CUtlVector<uint64>
+            public const nint m_refPhysGroupMasks = 0xA8; // CUtlVector<uint64>
+            public const nint m_refLODGroupMasks = 0xC0; // CUtlVector<uint8>
+            public const nint m_lodGroupSwitchDistances = 0xD8; // CUtlVector<float32>
+            public const nint m_refPhysicsData = 0xF0; // CUtlVector<CStrongHandle<InfoForResourceTypeCPhysAggregateData>>
+            public const nint m_refPhysicsHitboxData = 0x108; // CUtlVector<CStrongHandle<InfoForResourceTypeCPhysAggregateData>>
+            public const nint m_refAnimGroups = 0x120; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
+            public const nint m_refSequenceGroups = 0x138; // CUtlVector<CStrongHandle<InfoForResourceTypeCSequenceGroupData>>
+            public const nint m_meshGroups = 0x150; // CUtlVector<CUtlString>
+            public const nint m_materialGroups = 0x168; // CUtlVector<MaterialGroup_t>
+            public const nint m_nDefaultMeshGroupMask = 0x180; // uint64
+            public const nint m_modelSkeleton = 0x188; // ModelSkeletonData_t
+            public const nint m_remappingTable = 0x230; // CUtlVector<int16>
+            public const nint m_remappingTableStarts = 0x248; // CUtlVector<uint16>
+            public const nint m_boneFlexDrivers = 0x260; // CUtlVector<ModelBoneFlexDriver_t>
+            public const nint m_pModelConfigList = 0x278; // CModelConfigList*
+            public const nint m_BodyGroupsHiddenInTools = 0x280; // CUtlVector<CUtlString>
+            public const nint m_refAnimIncludeModels = 0x298; // CUtlVector<CStrongHandle<InfoForResourceTypeCModel>>
+            public const nint m_AnimatedMaterialAttributes = 0x2B0; // CUtlVector<PermModelDataAnimatedMaterialAttribute_t>
+        }
+        // Parent: CNmTask
+        // Field count: 0
+        public static class CNmSampleTask {
+        }
+        // Parent: CStaticPoseCache
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStaticPoseCacheBuilder {
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSequenceGroupData {
+            public const nint m_sName = 0x10; // CBufferString
+            public const nint m_nFlags = 0x20; // uint32
+            public const nint m_localSequenceNameArray = 0x28; // CUtlVector<CBufferString>
+            public const nint m_localS1SeqDescArray = 0x40; // CUtlVector<CSeqS1SeqDesc>
+            public const nint m_localMultiSeqDescArray = 0x58; // CUtlVector<CSeqS1SeqDesc>
+            public const nint m_localSynthAnimDescArray = 0x70; // CUtlVector<CSeqSynthAnimDesc>
+            public const nint m_localCmdSeqDescArray = 0x88; // CUtlVector<CSeqCmdSeqDesc>
+            public const nint m_localBoneMaskArray = 0xA0; // CUtlVector<CSeqBoneMaskList>
+            public const nint m_localScaleSetArray = 0xB8; // CUtlVector<CSeqScaleSet>
+            public const nint m_localBoneNameArray = 0xD0; // CUtlVector<CBufferString>
+            public const nint m_localNodeName = 0xE8; // CBufferString
+            public const nint m_localPoseParamArray = 0xF8; // CUtlVector<CSeqPoseParamDesc>
+            public const nint m_keyValues = 0x110; // KeyValues3
+            public const nint m_localIKAutoplayLockArray = 0x120; // CUtlVector<CSeqIKLock>
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStateMachineUpdateNode {
+            public const nint m_stateMachine = 0x68; // CAnimStateMachineUpdater
+            public const nint m_stateData = 0xC0; // CUtlVector<CStateNodeStateData>
+            public const nint m_transitionData = 0xD8; // CUtlVector<CStateNodeTransitionData>
+            public const nint m_bBlockWaningTags = 0xF4; // bool
+            public const nint m_bLockStateWhenWaning = 0xF5; // bool
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAimMatrixUpdateNode {
+            public const nint m_opFixedSettings = 0x70; // AimMatrixOpFixedSettings_t
+            public const nint m_target = 0x158; // AnimVectorSource
+            public const nint m_paramIndex = 0x15C; // CAnimParamHandle
+            public const nint m_hSequence = 0x160; // HSequence
+            public const nint m_bResetChild = 0x164; // bool
+            public const nint m_bLockWhenWaning = 0x165; // bool
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonAnimCapture_t__Frame_t {
+            public const nint m_flTime = 0x0; // float32
+            public const nint m_Stamp = 0x4; // SkeletonAnimCapture_t::FrameStamp_t
+            public const nint m_Transform = 0x20; // CTransform
+            public const nint m_bTeleport = 0x40; // bool
+            public const nint m_CompositeBones = 0x48; // CUtlVector<CTransform>
+            public const nint m_SimStateBones = 0x60; // CUtlVector<CTransform>
+            public const nint m_FeModelAnims = 0x78; // CUtlVector<CTransform>
+            public const nint m_FeModelPos = 0x90; // CUtlVector<VectorAligned>
+            public const nint m_FlexControllerWeights = 0xA8; // CUtlVector<float32>
+        }
+        // Parent: CModelConfigElement
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_Command {
+            public const nint m_Command = 0x48; // CUtlString
+            public const nint m_Args = 0x50; // KeyValues3
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimEventDefinition {
+            public const nint m_nFrame = 0x8; // int32
+            public const nint m_nEndFrame = 0xC; // int32
+            public const nint m_flCycle = 0x10; // float32
+            public const nint m_flDuration = 0x14; // float32
+            public const nint m_EventData = 0x18; // KeyValues3
+            public const nint m_sLegacyOptions = 0x28; // CBufferString
+            public const nint m_sEventName = 0x38; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmRootMotionData {
+            public const nint m_transforms = 0x0; // CUtlVector<CTransform>
+            public const nint m_nNumFrames = 0x18; // int32
+            public const nint m_flAverageLinearVelocity = 0x1C; // float32
+            public const nint m_flAverageAngularVelocityRadians = 0x20; // float32
+            public const nint m_totalDelta = 0x30; // CTransform
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimScriptHandle {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFlexOp {
+            public const nint m_OpCode = 0x0; // FlexOpCode_t
+            public const nint m_Data = 0x4; // int32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CHitReactUpdateNode {
+            public const nint m_opFixedSettings = 0x68; // HitReactFixedSettings_t
+            public const nint m_triggerParam = 0xB4; // CAnimParamHandle
+            public const nint m_hitBoneParam = 0xB6; // CAnimParamHandle
+            public const nint m_hitOffsetParam = 0xB8; // CAnimParamHandle
+            public const nint m_hitDirectionParam = 0xBA; // CAnimParamHandle
+            public const nint m_hitStrengthParam = 0xBC; // CAnimParamHandle
+            public const nint m_flMinDelayBetweenHits = 0xC0; // float32
+            public const nint m_bResetChild = 0xC4; // bool
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CLookAtUpdateNode {
+            public const nint m_opFixedSettings = 0x70; // LookAtOpFixedSettings_t
+            public const nint m_target = 0x138; // AnimVectorSource
+            public const nint m_paramIndex = 0x13C; // CAnimParamHandle
+            public const nint m_weightParamIndex = 0x13E; // CAnimParamHandle
+            public const nint m_bResetChild = 0x140; // bool
+            public const nint m_bLockWhenWaning = 0x141; // bool
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimBone {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_parent = 0x10; // int32
+            public const nint m_pos = 0x14; // Vector
+            public const nint m_quat = 0x20; // QuaternionStorage
+            public const nint m_scale = 0x30; // float32
+            public const nint m_qAlignment = 0x34; // QuaternionStorage
+            public const nint m_flags = 0x44; // int32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimParameterManagerUpdater {
+            public const nint m_parameters = 0x18; // CUtlVector<CSmartPtr<CAnimParameterBase>>
+            public const nint m_idToIndexMap = 0x30; // CUtlHashtable<AnimParamID,int32>
+            public const nint m_nameToIndexMap = 0x50; // CUtlHashtable<CUtlString,int32>
+            public const nint m_indexToHandle = 0x70; // CUtlVector<CAnimParamHandle>
+            public const nint m_autoResetParams = 0x88; // CUtlVector<CUtlPair<CAnimParamHandle,CAnimVariant>>
+            public const nint m_autoResetMap = 0xA0; // CUtlHashtable<CAnimParamHandle,int16>
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class BoneDemoCaptureSettings_t {
+            public const nint m_boneName = 0x0; // CUtlString
+            public const nint m_flErrorSplineRotationMax = 0x8; // float32
+            public const nint m_flErrorSplineTranslationMax = 0xC; // float32
+            public const nint m_flErrorSplineScaleMax = 0x10; // float32
+            public const nint m_flErrorQuantizationRotationMax = 0x14; // float32
+            public const nint m_flErrorQuantizationTranslationMax = 0x18; // float32
+            public const nint m_flErrorQuantizationScaleMax = 0x1C; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        public static class CBoneConstraintPoseSpaceMorph__Input_t {
+            public const nint m_inputValue = 0x0; // Vector
+            public const nint m_outputWeightList = 0x10; // CUtlVector<float32>
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyArrayElementNameKey
+        public static class MoodAnimationLayer_t {
+            public const nint m_sName = 0x0; // CUtlString
+            public const nint m_bActiveListening = 0x8; // bool
+            public const nint m_bActiveTalking = 0x9; // bool
+            public const nint m_layerAnimations = 0x10; // CUtlVector<MoodAnimation_t>
+            public const nint m_flIntensity = 0x28; // CRangeFloat
+            public const nint m_flDurationScale = 0x30; // CRangeFloat
+            public const nint m_bScaleWithInts = 0x38; // bool
+            public const nint m_flNextStart = 0x3C; // CRangeFloat
+            public const nint m_flStartOffset = 0x44; // CRangeFloat
+            public const nint m_flEndOffset = 0x4C; // CRangeFloat
+            public const nint m_flFadeIn = 0x54; // float32
+            public const nint m_flFadeOut = 0x58; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSpeedScaleUpdateNode {
+            public const nint m_paramIndex = 0x68; // CAnimParamHandle
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSequenceTagSpans {
+            public const nint m_sSequenceName = 0x0; // CGlobalSymbol
+            public const nint m_tags = 0x8; // CUtlVector<TagSpan_t>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmGraphDefinition__ChildGraphSlot_t {
+            public const nint m_nNodeIdx = 0x0; // int16
+            public const nint m_dataSlotIdx = 0x2; // int16
+        }
+        // Parent: CModelConfigElement
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_SetBodygroupOnAttachedModels {
+            public const nint m_GroupName = 0x48; // CUtlString
+            public const nint m_nChoice = 0x50; // int32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCurrentVelocityMetricEvaluator {
+        }
+        // Parent: CNmValueNode__CDefinition
+        // Field count: 0
+        public static class CNmBoolValueNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimReplayFrame {
+            public const nint m_inputDataBlocks = 0x10; // CUtlVector<CUtlBinaryBlock>
+            public const nint m_instanceData = 0x28; // CUtlBinaryBlock
+            public const nint m_startingLocalToWorldTransform = 0x40; // CTransform
+            public const nint m_localToWorldTransform = 0x60; // CTransform
+            public const nint m_timeStamp = 0x80; // float32
+        }
+        // Parent: CNmEvent
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTransitionEvent {
+            public const nint m_rule = 0x18; // NmTransitionRule_t
+            public const nint m_ID = 0x20; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIKRig {
+            public const nint m_skeleton = 0x0; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+        }
+        // Parent: CAnimMotorUpdaterBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPathAnimMotorUpdaterBase {
+            public const nint m_bLockToPath = 0x20; // bool
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFootstepEventPercentageThroughNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_phaseCondition = 0x12; // NmFootPhaseCondition_t
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AimCameraOpFixedSettings_t {
+            public const nint m_nChainIndex = 0x0; // int32
+            public const nint m_nCameraJointIndex = 0x4; // int32
+            public const nint m_nPelvisJointIndex = 0x8; // int32
+            public const nint m_nClavicleLeftJointIndex = 0xC; // int32
+            public const nint m_nClavicleRightJointIndex = 0x10; // int32
+            public const nint m_nDepenetrationJointIndex = 0x14; // int32
+            public const nint m_propJoints = 0x18; // CUtlVector<int32>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonAnimCapture_t__Camera_t {
+            public const nint m_tmCamera = 0x0; // CTransform
+            public const nint m_flTime = 0x20; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFollowAttachmentUpdateNode {
+            public const nint m_opFixedData = 0x70; // FollowAttachmentSettings_t
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMovementComponentUpdater {
+            public const nint m_motors = 0x30; // CUtlVector<CSmartPtr<CAnimMotorUpdaterBase>>
+            public const nint m_facingDamping = 0x48; // CAnimInputDamping
+            public const nint m_nDefaultMotorIndex = 0x60; // int32
+            public const nint m_flDefaultRunSpeed = 0x64; // float32
+            public const nint m_bMoveVarsDisabled = 0x68; // bool
+            public const nint m_bNetworkPath = 0x69; // bool
+            public const nint m_bNetworkFacing = 0x6A; // bool
+            public const nint m_paramHandles = 0x6B; // CAnimParamHandle[30]
+        }
+        // Parent: CModelConfigElement
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_SetMaterialGroup {
+            public const nint m_MaterialGroupName = 0x48; // CUtlString
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFutureFacingMetricEvaluator {
+            public const nint m_flDistance = 0x50; // float32
+            public const nint m_flTime = 0x54; // float32
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class NmCompressionSettings_t {
+            public const nint m_translationRangeX = 0x0; // NmCompressionSettings_t::QuantizationRange_t
+            public const nint m_translationRangeY = 0x8; // NmCompressionSettings_t::QuantizationRange_t
+            public const nint m_translationRangeZ = 0x10; // NmCompressionSettings_t::QuantizationRange_t
+            public const nint m_scaleRange = 0x18; // NmCompressionSettings_t::QuantizationRange_t
+            public const nint m_constantRotation = 0x20; // Quaternion
+            public const nint m_bIsRotationStatic = 0x30; // bool
+            public const nint m_bIsTranslationStatic = 0x31; // bool
+            public const nint m_bIsScaleStatic = 0x32; // bool
+        }
+        // Parent: CBinaryUpdateNode
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAddUpdateNode {
+            public const nint m_footMotionTiming = 0x8C; // BinaryNodeChildOption
+            public const nint m_bApplyToFootMotion = 0x90; // bool
+            public const nint m_bApplyChannelsSeparately = 0x91; // bool
+            public const nint m_bUseModelSpace = 0x92; // bool
+            public const nint m_bApplyScale = 0x93; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MPropertyEditClassAsString
+        public static class CAnimEnum {
+            public const nint m_value = 0x0; // uint8
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDemoSettingsComponentUpdater {
+            public const nint m_settings = 0x30; // CAnimDemoCaptureSettings
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimDecoder {
+            public const nint m_szName = 0x0; // CBufferString
+            public const nint m_nVersion = 0x10; // int32
+            public const nint m_nType = 0x14; // int32
+        }
+        // Parent: CNmTargetValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCachedTargetNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_mode = 0x14; // NmCachedValueMode_t
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmConstBoolNode__CDefinition {
+            public const nint m_bValue = 0x10; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBitFlags {
+            public const nint m_flags = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootStride {
+            public const nint m_definition = 0x0; // CFootCycleDefinition
+            public const nint m_trajectories = 0x40; // CFootTrajectories
+        }
+        // Parent: CNmEvent
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmLegacyEvent {
+            public const nint m_animEventClassName = 0x18; // CUtlString
+            public const nint m_KV = 0x20; // KeyValues3
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStateNodeStateData {
+            public const nint m_pChild = 0x0; // CAnimUpdateNodeRef
+            public const nint m_bExclusiveRootMotion = 0x0; // bitfield:1
+            public const nint m_bExclusiveRootMotionFirstFrame = 0x0; // bitfield:1
+        }
+        // Parent: CAnimTagBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CFootstepLandedAnimTag {
+            public const nint m_FootstepType = 0x58; // FootstepLandedFootSoundType_t
+            public const nint m_OverrideSoundName = 0x60; // CUtlString
+            public const nint m_DebugAnimSourceString = 0x68; // CUtlString
+            public const nint m_BoneName = 0x70; // CUtlString
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CEnumAnimParameter {
+            public const nint m_defaultValue = 0x88; // uint8
+            public const nint m_enumOptions = 0x90; // CUtlVector<CUtlString>
+            public const nint m_vecEnumReferenced = 0xA8; // CUtlVector<uint64>
+        }
+        // Parent: CAnimTagBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CHandshakeAnimTagBase {
+            public const nint m_bIsDisableTag = 0x50; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimTagID {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimFrameSegment {
+            public const nint m_nUniqueFrameIndex = 0x0; // int32
+            public const nint m_nLocalElementMasks = 0x4; // uint32
+            public const nint m_nLocalChannel = 0x8; // int32
+            public const nint m_container = 0x10; // CUtlBinaryBlock
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSlopeComponentUpdater {
+            public const nint m_flTraceDistance = 0x34; // float32
+            public const nint m_hSlopeAngle = 0x38; // CAnimParamHandle
+            public const nint m_hSlopeAngleFront = 0x3A; // CAnimParamHandle
+            public const nint m_hSlopeAngleSide = 0x3C; // CAnimParamHandle
+            public const nint m_hSlopeHeading = 0x3E; // CAnimParamHandle
+            public const nint m_hSlopeNormal = 0x40; // CAnimParamHandle
+            public const nint m_hSlopeNormal_WorldSpace = 0x42; // CAnimParamHandle
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CAnimInputDamping {
+            public const nint m_speedFunction = 0x8; // DampingSpeedFunction
+            public const nint m_fSpeedScale = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CHitBoxSet {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_nNameHash = 0x8; // uint32
+            public const nint m_HitBoxes = 0x10; // CUtlVector<CHitBox>
+            public const nint m_SourceFilename = 0x28; // CUtlString
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ChainToSolveData_t {
+            public const nint m_nChainIndex = 0x0; // int32
+            public const nint m_SolverSettings = 0x4; // IKSolverSettings_t
+            public const nint m_TargetSettings = 0x10; // IKTargetSettings_t
+            public const nint m_DebugSetting = 0x38; // SolveIKChainAnimNodeDebugSetting
+            public const nint m_flDebugNormalizedValue = 0x3C; // float32
+            public const nint m_vDebugOffset = 0x40; // VectorAligned
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CConstraintSlave {
+            public const nint m_qBaseOrientation = 0x0; // Quaternion
+            public const nint m_vBasePosition = 0x10; // Vector
+            public const nint m_nBoneHash = 0x1C; // uint32
+            public const nint m_flWeight = 0x20; // float32
+            public const nint m_sName = 0x28; // CUtlString
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootCycleDefinition {
+            public const nint m_vStancePositionMS = 0x0; // Vector
+            public const nint m_vMidpointPositionMS = 0xC; // Vector
+            public const nint m_flStanceDirectionMS = 0x18; // float32
+            public const nint m_vToStrideStartPos = 0x1C; // Vector
+            public const nint m_stanceCycle = 0x28; // CAnimCycle
+            public const nint m_footLiftCycle = 0x2C; // CFootCycle
+            public const nint m_footOffCycle = 0x30; // CFootCycle
+            public const nint m_footStrikeCycle = 0x34; // CFootCycle
+            public const nint m_footLandCycle = 0x38; // CFootCycle
+        }
+        // Parent: CAnimParameterBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVirtualAnimParameter {
+            public const nint m_expressionString = 0x70; // CUtlString
+            public const nint m_eParamType = 0x78; // AnimParamType_t
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionMetricEvaluator {
+            public const nint m_means = 0x18; // CUtlVector<float32>
+            public const nint m_standardDeviations = 0x30; // CUtlVector<float32>
+            public const nint m_flWeight = 0x48; // float32
+            public const nint m_nDimensionStartIndex = 0x4C; // int32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFutureVelocityMetricEvaluator {
+            public const nint m_flDistance = 0x50; // float32
+            public const nint m_flStoppingDistance = 0x54; // float32
+            public const nint m_flTargetSpeed = 0x58; // float32
+            public const nint m_eMode = 0x5C; // VelocityMetricMode
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimUpdateNodeBase {
+            public const nint m_nodePath = 0x18; // CAnimNodePath
+            public const nint m_networkMode = 0x48; // AnimNodeNetworkMode
+            public const nint m_name = 0x50; // CUtlString
+        }
+        // Parent: CAnimActionUpdater
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSetParameterActionUpdater {
+            public const nint m_hParam = 0x18; // CAnimParamHandle
+            public const nint m_value = 0x1A; // CAnimVariant
+        }
+        // Parent: CNmBoneMaskValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFixedWeightBoneMaskNode__CDefinition {
+            public const nint m_flBoneWeight = 0x10; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmGraphVariation {
+            public const nint m_graphDefinition = 0x0; // CStrongHandle<InfoForResourceTypeCNmGraphDefinition>
+            public const nint m_dataSet = 0x8; // CNmGraphDataSet
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonAnimCapture_t__FrameStamp_t {
+            public const nint m_flTime = 0x0; // float32
+            public const nint m_flEntitySimTime = 0x4; // float32
+            public const nint m_bTeleportTick = 0x8; // bool
+            public const nint m_bPredicted = 0x9; // bool
+            public const nint m_flCurTime = 0xC; // float32
+            public const nint m_flRealTime = 0x10; // float32
+            public const nint m_nFrameCount = 0x14; // int32
+            public const nint m_nTickCount = 0x18; // int32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBonePositionMetricEvaluator {
+            public const nint m_nBoneIndex = 0x50; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRenderBufferBinding {
+            public const nint m_hBuffer = 0x0; // uint64
+            public const nint m_nBindOffsetBytes = 0x10; // uint32
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmExternalGraphNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmParameterizedBlendNode__Parameterization_t {
+            public const nint m_blendRanges = 0x0; // CUtlLeanVectorFixedGrowable<CNmParameterizedBlendNode::BlendRange_t,5>
+            public const nint m_parameterRange = 0x48; // Range_t
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmNotNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMeshletDescriptor {
+            public const nint m_PackedAABB = 0x0; // PackedAABB_t
+            public const nint m_CullingData = 0x8; // CDrawCullingData
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMorphSetData {
+            public const nint m_nWidth = 0x10; // int32
+            public const nint m_nHeight = 0x14; // int32
+            public const nint m_bundleTypes = 0x18; // CUtlVector<MorphBundleType_t>
+            public const nint m_morphDatas = 0x30; // CUtlVector<CMorphData>
+            public const nint m_pTextureAtlas = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_FlexDesc = 0x50; // CUtlVector<CFlexDesc>
+            public const nint m_FlexControllers = 0x68; // CUtlVector<CFlexController>
+            public const nint m_FlexRules = 0x80; // CUtlVector<CFlexRule>
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmAndNode__CDefinition {
+            public const nint m_conditionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,4>
+        }
+        // Parent: CBaseConstraint
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMorphConstraint {
+            public const nint m_sTargetMorph = 0x68; // CUtlString
+            public const nint m_nSlaveChannel = 0x70; // int32
+            public const nint m_flMin = 0x74; // float32
+            public const nint m_flMax = 0x78; // float32
+        }
+        // Parent: CAnimTagBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CClothSettingsAnimTag {
+            public const nint m_flStiffness = 0x58; // float32
+            public const nint m_flEaseIn = 0x5C; // float32
+            public const nint m_flEaseOut = 0x60; // float32
+            public const nint m_nVertexSet = 0x68; // CUtlString
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimDesc_Flag {
+            public const nint m_bLooping = 0x0; // bool
+            public const nint m_bAllZeros = 0x1; // bool
+            public const nint m_bHidden = 0x2; // bool
+            public const nint m_bDelta = 0x3; // bool
+            public const nint m_bLegacyWorldspace = 0x4; // bool
+            public const nint m_bModelDoc = 0x5; // bool
+            public const nint m_bImplicitSeqIgnoreDelta = 0x6; // bool
+            public const nint m_bAnimGraphAdditive = 0x7; // bool
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBlend2DNode__CDefinition {
+            public const nint m_sourceNodeIndices = 0x10; // CUtlVectorFixedGrowable<int16,5>
+            public const nint m_nInputParameterNodeIdx0 = 0x38; // int16
+            public const nint m_nInputParameterNodeIdx1 = 0x3A; // int16
+            public const nint m_values = 0x40; // CUtlVectorFixedGrowable<Vector2D,10>
+            public const nint m_indices = 0xA8; // CUtlVectorFixedGrowable<uint8,30>
+            public const nint m_hullIndices = 0xE0; // CUtlVectorFixedGrowable<uint8,10>
+            public const nint m_bAllowLooping = 0x108; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBlendCurve {
+            public const nint m_flControlPoint1 = 0x0; // float32
+            public const nint m_flControlPoint2 = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmGraphNode__CDefinition {
+            public const nint m_nNodeIdx = 0x8; // int16
+        }
+        // Parent: CAnimationGraphVisualizerPrimitiveBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGraphVisualizerSphere {
+            public const nint m_vWsPosition = 0x40; // VectorAligned
+            public const nint m_flRadius = 0x50; // float32
+            public const nint m_Color = 0x54; // Color
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimUserDifference {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_nType = 0x10; // int32
+        }
+        // Parent: CNmSpeedScaleBaseNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmDurationScaleNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTransitionUpdateData {
+            public const nint m_srcStateIndex = 0x0; // uint8
+            public const nint m_destStateIndex = 0x1; // uint8
+            public const nint m_nHandshakeMaskToDisableFirst = 0x0; // bitfield:7
+            public const nint m_bDisabled = 0x0; // bitfield:1
+        }
+        // Parent: CHandshakeAnimTagBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CMovementHandshakeAnimTag {
+        }
+        // Parent: None
+        // Field count: 2
+        public static class CBoneConstraintPoseSpaceBone__Input_t {
+            public const nint m_inputValue = 0x0; // Vector
+            public const nint m_outputTransformList = 0x10; // CUtlVector<CTransform>
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqMultiFetch {
+            public const nint m_flags = 0x0; // CSeqMultiFetchFlag
+            public const nint m_localReferenceArray = 0x8; // CUtlVector<int16>
+            public const nint m_nGroupSize = 0x20; // int32[2]
+            public const nint m_nLocalPose = 0x28; // int32[2]
+            public const nint m_poseKeyArray0 = 0x30; // CUtlVector<float32>
+            public const nint m_poseKeyArray1 = 0x48; // CUtlVector<float32>
+            public const nint m_nLocalCyclePoseParameter = 0x60; // int32
+            public const nint m_bCalculatePoseParameters = 0x64; // bool
+            public const nint m_bFixedBlendWeight = 0x65; // bool
+            public const nint m_flFixedBlendWeightVals = 0x68; // float32[2]
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPhysSurfacePropertiesSoundNames {
+            public const nint m_impactSoft = 0x0; // CUtlString
+            public const nint m_impactHard = 0x8; // CUtlString
+            public const nint m_scrapeSmooth = 0x10; // CUtlString
+            public const nint m_scrapeRough = 0x18; // CUtlString
+            public const nint m_bulletImpact = 0x20; // CUtlString
+            public const nint m_rolling = 0x28; // CUtlString
+            public const nint m_break = 0x30; // CUtlString
+            public const nint m_strain = 0x38; // CUtlString
+            public const nint m_meleeImpact = 0x40; // CUtlString
+            public const nint m_pushOff = 0x48; // CUtlString
+            public const nint m_skidStop = 0x50; // CUtlString
+        }
+        // Parent: CAnimTagBase
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CAudioAnimTag {
+            public const nint m_clipName = 0x58; // CUtlString
+            public const nint m_attachmentName = 0x60; // CUtlString
+            public const nint m_flVolume = 0x68; // float32
+            public const nint m_bStopWhenTagEnds = 0x6C; // bool
+            public const nint m_bStopWhenGraphEnds = 0x6D; // bool
+            public const nint m_bPlayOnServer = 0x6E; // bool
+            public const nint m_bPlayOnClient = 0x6F; // bool
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTurnHelperUpdateNode {
+            public const nint m_facingTarget = 0x6C; // AnimValueSource
+            public const nint m_turnStartTimeOffset = 0x70; // float32
+            public const nint m_turnDuration = 0x74; // float32
+            public const nint m_bMatchChildDuration = 0x78; // bool
+            public const nint m_manualTurnOffset = 0x7C; // float32
+            public const nint m_bUseManualTurnOffset = 0x80; // bool
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGroup {
+            public const nint m_nFlags = 0x10; // uint32
+            public const nint m_name = 0x18; // CBufferString
+            public const nint m_localHAnimArray_Handle = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
+            public const nint m_includedGroupArray_Handle = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
+            public const nint m_directHSeqGroup_Handle = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
+            public const nint m_decodeKey = 0x98; // CAnimKeyData
+            public const nint m_szScripts = 0x110; // CUtlVector<CBufferString>
+            public const nint m_AdditionalExtRefs = 0x128; // CUtlVector<CStrongHandleVoid>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class NmSyncTrackTime_t {
+            public const nint m_nEventIdx = 0x0; // int32
+            public const nint m_percentageThrough = 0x4; // NmPercent_t
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmClip {
+            public const nint m_skeleton = 0x0; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+            public const nint m_nNumFrames = 0x8; // uint32
+            public const nint m_flDuration = 0xC; // float32
+            public const nint m_compressedPoseData = 0x10; // CUtlBinaryBlock
+            public const nint m_trackCompressionSettings = 0x28; // CUtlVector<NmCompressionSettings_t>
+            public const nint m_compressedPoseOffsets = 0x40; // CUtlVector<uint32>
+            public const nint m_syncTrack = 0xA0; // CNmSyncTrack
+            public const nint m_rootMotion = 0x150; // CNmRootMotionData
+            public const nint m_bIsAdditive = 0x1A0; // bool
+        }
+        // Parent: CAnimActionUpdater
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CToggleComponentActionUpdater {
+            public const nint m_componentID = 0x18; // AnimComponentID
+            public const nint m_bSetEnabled = 0x1C; // bool
+        }
+        // Parent: CNmBlendTaskBase
+        // Field count: 0
+        public static class CNmOverlayBlendTask {
+        }
+        // Parent: CNmPassthroughNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSpeedScaleBaseNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x18; // int16
+            public const nint m_flDefaultInputValue = 0x1C; // float32
+        }
+        // Parent: CNmGraphNode__CDefinition
+        // Field count: 0
+        public static class CNmValueNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGraphVisualizerPrimitiveBase {
+            public const nint m_Type = 0x8; // CAnimationGraphVisualizerPrimitiveType
+            public const nint m_OwningAnimNodePaths = 0xC; // AnimNodeID[11]
+            public const nint m_nOwningAnimNodePathCount = 0x38; // int32
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBindPoseUpdateNode {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class NmSyncTrackTimeRange_t {
+            public const nint m_startTime = 0x0; // NmSyncTrackTime_t
+            public const nint m_endTime = 0x8; // NmSyncTrackTime_t
+        }
+        // Parent: CAnimationGraphVisualizerPrimitiveBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGraphVisualizerText {
+            public const nint m_vWsPosition = 0x40; // VectorAligned
+            public const nint m_Color = 0x50; // Color
+            public const nint m_Text = 0x58; // CUtlString
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootTrajectory {
+            public const nint m_vOffset = 0x0; // Vector
+            public const nint m_flRotationOffset = 0xC; // float32
+            public const nint m_flProgression = 0x10; // float32
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 23
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionMatchingUpdateNode {
+            public const nint m_dataSet = 0x58; // CMotionDataSet
+            public const nint m_metrics = 0x78; // CUtlVector<CSmartPtr<CMotionMetricEvaluator>>
+            public const nint m_weights = 0x90; // CUtlVector<float32>
+            public const nint m_bSearchEveryTick = 0xE0; // bool
+            public const nint m_flSearchInterval = 0xE4; // float32
+            public const nint m_bSearchWhenClipEnds = 0xE8; // bool
+            public const nint m_bSearchWhenGoalChanges = 0xE9; // bool
+            public const nint m_blendCurve = 0xEC; // CBlendCurve
+            public const nint m_flSampleRate = 0xF4; // float32
+            public const nint m_flBlendTime = 0xF8; // float32
+            public const nint m_bLockClipWhenWaning = 0xFC; // bool
+            public const nint m_flSelectionThreshold = 0x100; // float32
+            public const nint m_flReselectionTimeWindow = 0x104; // float32
+            public const nint m_bEnableRotationCorrection = 0x108; // bool
+            public const nint m_bGoalAssist = 0x109; // bool
+            public const nint m_flGoalAssistDistance = 0x10C; // float32
+            public const nint m_flGoalAssistTolerance = 0x110; // float32
+            public const nint m_distanceScale_Damping = 0x118; // CAnimInputDamping
+            public const nint m_flDistanceScale_OuterRadius = 0x128; // float32
+            public const nint m_flDistanceScale_InnerRadius = 0x12C; // float32
+            public const nint m_flDistanceScale_MaxScale = 0x130; // float32
+            public const nint m_flDistanceScale_MinScale = 0x134; // float32
+            public const nint m_bEnableDistanceScaling = 0x138; // bool
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmReferencePoseNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqS1SeqDesc {
+            public const nint m_sName = 0x0; // CBufferString
+            public const nint m_flags = 0x10; // CSeqSeqDescFlag
+            public const nint m_fetch = 0x20; // CSeqMultiFetch
+            public const nint m_nLocalWeightlist = 0x90; // int32
+            public const nint m_autoLayerArray = 0x98; // CUtlVector<CSeqAutoLayer>
+            public const nint m_IKLockArray = 0xB0; // CUtlVector<CSeqIKLock>
+            public const nint m_transition = 0xC8; // CSeqTransition
+            public const nint m_SequenceKeys = 0xD0; // KeyValues3
+            public const nint m_LegacyKeyValueText = 0xE0; // CBufferString
+            public const nint m_activityArray = 0xF0; // CUtlVector<CAnimActivity>
+            public const nint m_footMotion = 0x108; // CUtlVector<CFootMotion>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFlexController {
+            public const nint m_szName = 0x0; // CUtlString
+            public const nint m_szType = 0x8; // CUtlString
+            public const nint min = 0x10; // float32
+            public const nint max = 0x14; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonDemoDb_t {
+            public const nint m_AnimCaptures = 0x0; // CUtlVector<SkeletonAnimCapture_t*>
+            public const nint m_CameraTrack = 0x18; // CUtlVector<SkeletonAnimCapture_t::Camera_t>
+            public const nint m_flRecordingTime = 0x30; // float32
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateEventConditionNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+            public const nint m_conditions = 0x18; // CUtlVectorFixedGrowable<CNmStateEventConditionNode::Condition_t,5>
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatRangeComparisonNode__CDefinition {
+            public const nint m_range = 0x10; // Range_t
+            public const nint m_nInputValueNodeIdx = 0x18; // int16
+            public const nint m_bIsInclusiveCheck = 0x1A; // bool
+        }
+        // Parent: CMotionNode
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionNodeSequence {
+            public const nint m_tags = 0x28; // CUtlVector<TagSpan_t>
+            public const nint m_hSequence = 0x40; // HSequence
+            public const nint m_flPlaybackSpeed = 0x44; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFlexDesc {
+            public const nint m_szFacs = 0x0; // CUtlString
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRenderMesh {
+            public const nint m_sceneObjects = 0x10; // CUtlLeanVectorFixedGrowable<CSceneObjectData,1>
+            public const nint m_constraints = 0x78; // CUtlLeanVector<CBaseConstraint*>
+            public const nint m_skeleton = 0x88; // CRenderSkeleton
+            public const nint m_meshDeformParams = 0x1A8; // DynamicMeshDeformParams_t
+            public const nint m_pGroomData = 0x1B8; // CRenderGroom*
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimSkeleton {
+            public const nint m_localSpaceTransforms = 0x10; // CUtlVector<CTransform>
+            public const nint m_modelSpaceTransforms = 0x28; // CUtlVector<CTransform>
+            public const nint m_boneNames = 0x40; // CUtlVector<CUtlString>
+            public const nint m_children = 0x58; // CUtlVector<CUtlVector<int32>>
+            public const nint m_parents = 0x70; // CUtlVector<int32>
+            public const nint m_feet = 0x88; // CUtlVector<CAnimFoot>
+            public const nint m_morphNames = 0xA0; // CUtlVector<CUtlString>
+            public const nint m_lodBoneCounts = 0xB8; // CUtlVector<int32>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysics2ShapeDef_t {
+            public const nint m_spheres = 0x0; // CUtlVector<RnSphereDesc_t>
+            public const nint m_capsules = 0x18; // CUtlVector<RnCapsuleDesc_t>
+            public const nint m_hulls = 0x30; // CUtlVector<RnHullDesc_t>
+            public const nint m_meshes = 0x48; // CUtlVector<RnMeshDesc_t>
+            public const nint m_CollisionAttributeIndices = 0x60; // CUtlVector<uint16>
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatCurveNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_curve = 0x18; // CPiecewiseCurve
+        }
+        // Parent: CAnimationGraphVisualizerPrimitiveBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGraphVisualizerAxis {
+            public const nint m_xWsTransform = 0x40; // CTransform
+            public const nint m_flAxisSize = 0x60; // float32
+        }
+        // Parent: CBaseConstraint
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTwistConstraint {
+            public const nint m_bInverse = 0x68; // bool
+            public const nint m_qParentBindRotation = 0x70; // Quaternion
+            public const nint m_qChildBindRotation = 0x80; // Quaternion
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ModelBoneFlexDriverControl_t {
+            public const nint m_nBoneComponent = 0x0; // ModelBoneFlexComponent_t
+            public const nint m_flexController = 0x8; // CUtlString
+            public const nint m_flexControllerToken = 0x10; // uint32
+            public const nint m_flMin = 0x14; // float32
+            public const nint m_flMax = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqCmdLayer {
+            public const nint m_cmd = 0x0; // int16
+            public const nint m_nLocalReference = 0x2; // int16
+            public const nint m_nLocalBonemask = 0x4; // int16
+            public const nint m_nDstResult = 0x6; // int16
+            public const nint m_nSrcResult = 0x8; // int16
+            public const nint m_bSpline = 0xA; // bool
+            public const nint m_flVar1 = 0xC; // float32
+            public const nint m_flVar2 = 0x10; // float32
+            public const nint m_nLineNumber = 0x14; // int16
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FootPinningPoseOpFixedData_t {
+            public const nint m_footInfo = 0x0; // CUtlVector<FootFixedData_t>
+            public const nint m_flBlendTime = 0x18; // float32
+            public const nint m_flLockBreakDistance = 0x1C; // float32
+            public const nint m_flMaxLegTwist = 0x20; // float32
+            public const nint m_nHipBoneIndex = 0x24; // int32
+            public const nint m_bApplyLegTwistLimits = 0x28; // bool
+            public const nint m_bApplyFootRotationLimits = 0x29; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RenderSkeletonBone_t {
+            public const nint m_boneName = 0x0; // CUtlString
+            public const nint m_parentName = 0x8; // CUtlString
+            public const nint m_invBindPose = 0x10; // matrix3x4_t
+            public const nint m_bbox = 0x40; // SkeletonBoneBounds_t
+            public const nint m_flSphereRadius = 0x58; // float32
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDistanceRemainingMetricEvaluator {
+            public const nint m_flMaxDistance = 0x50; // float32
+            public const nint m_flMinDistance = 0x54; // float32
+            public const nint m_flStartGoalFilterDistance = 0x58; // float32
+            public const nint m_flMaxGoalOvershootScale = 0x5C; // float32
+            public const nint m_bFilterFixedMinDistance = 0x60; // bool
+            public const nint m_bFilterGoalDistance = 0x61; // bool
+            public const nint m_bFilterGoalOvershoot = 0x62; // bool
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDirectPlaybackUpdateNode {
+            public const nint m_bFinishEarly = 0x6C; // bool
+            public const nint m_bResetOnFinish = 0x6D; // bool
+            public const nint m_allTags = 0x70; // CUtlVector<CDirectPlaybackTagData>
+        }
+        // Parent: CNmEvent
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIDEvent {
+            public const nint m_ID = 0x18; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFlexRule {
+            public const nint m_nFlex = 0x0; // int32
+            public const nint m_FlexOps = 0x8; // CUtlVector<CFlexOp>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ScriptInfo_t {
+            public const nint m_code = 0x0; // CUtlString
+            public const nint m_paramsModified = 0x8; // CUtlVector<CAnimParamHandle>
+            public const nint m_proxyReadParams = 0x20; // CUtlVector<int32>
+            public const nint m_proxyWriteParams = 0x38; // CUtlVector<int32>
+            public const nint m_eScriptType = 0x50; // AnimScriptType
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRenderGroom {
+            public const nint m_hairs = 0x0; // CUtlVector<RenderHairStrandInfo_t>
+            public const nint m_hairPositionOffsets = 0x18; // CUtlVector<uint32>
+            public const nint m_hSimParamsMat = 0x40; // CStrongHandleCopyable<InfoForResourceTypeIMaterial2>
+            public const nint m_nSegmentsPerHairStrand = 0x48; // int32
+            public const nint m_nGuideHairCount = 0x4C; // int32
+            public const nint m_nHairCount = 0x50; // int32
+            public const nint m_nGroomGroupID = 0x54; // int32
+            public const nint m_nAttachBoneIdx = 0x58; // int32
+            public const nint m_nAttachMeshIdx = 0x5C; // int32
+            public const nint m_nAttachMeshDrawCallIdx = 0x60; // int32
+            public const nint m_bEnableSimulation = 0x64; // bool
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmParameterizedClipSelectorNode__CDefinition {
+            public const nint m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+            public const nint m_parameterNodeIdx = 0x28; // int16
+        }
+        // Parent: CBaseConstraint
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTiltTwistConstraint {
+            public const nint m_nTargetAxis = 0x68; // int32
+            public const nint m_nSlaveAxis = 0x6C; // int32
+        }
+        // Parent: CNmSpeedScaleBaseNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSpeedScaleNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVPhysXSurfacePropertiesList {
+            public const nint m_surfacePropertiesList = 0x0; // CUtlVector<CPhysSurfaceProperties*>
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RenderHairStrandInfo_t {
+            public const nint m_nGuideHairIndices_nSurfaceTriIndex = 0x0; // uint32[2]
+            public const nint m_vGuideBary_vBaseBary = 0x8; // uint16[4]
+            public const nint m_vRootOffset_flLengthScale = 0x10; // uint16[4]
+            public const nint m_nPackedBaseUv = 0x18; // uint16[2]
+            public const nint m_nPackedSurfaceNormalOs = 0x1C; // uint32
+            public const nint m_nPackedSurfaceTangentOs = 0x20; // uint32
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCycleControlClipUpdateNode {
+            public const nint m_tags = 0x60; // CUtlVector<TagSpan_t>
+            public const nint m_hSequence = 0x7C; // HSequence
+            public const nint m_duration = 0x80; // float32
+            public const nint m_valueSource = 0x84; // AnimValueSource
+            public const nint m_paramIndex = 0x88; // CAnimParamHandle
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTargetPointNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_bIsWorldSpaceTarget = 0x12; // bool
+        }
+        // Parent: CNmValueNode__CDefinition
+        // Field count: 0
+        public static class CNmFloatValueNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStaticPoseCache {
+            public const nint m_poses = 0x10; // CUtlVector<CCachedPose>
+            public const nint m_nBoneCount = 0x28; // int32
+            public const nint m_nMorphCount = 0x2C; // int32
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class LookAtOpFixedSettings_t {
+            public const nint m_attachment = 0x0; // CAnimAttachment
+            public const nint m_damping = 0x80; // CAnimInputDamping
+            public const nint m_bones = 0x90; // CUtlVector<LookAtBone_t>
+            public const nint m_flYawLimit = 0xA8; // float32
+            public const nint m_flPitchLimit = 0xAC; // float32
+            public const nint m_flHysteresisInnerAngle = 0xB0; // float32
+            public const nint m_flHysteresisOuterAngle = 0xB4; // float32
+            public const nint m_bRotateYawForward = 0xB8; // bool
+            public const nint m_bMaintainUpDirection = 0xB9; // bool
+            public const nint m_bTargetIsPosition = 0xBA; // bool
+            public const nint m_bUseHysteresis = 0xBB; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimGraphSettingsManager {
+            public const nint m_settingsGroups = 0x18; // CUtlVector<CSmartPtr<CAnimGraphSettingsGroup>>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimGraphModelBinding {
+            public const nint m_modelName = 0x8; // CUtlString
+            public const nint m_pSharedData = 0x10; // CSmartPtr<CAnimUpdateSharedData>
+        }
+        // Parent: CBaseConstraint
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBoneConstraintPoseSpaceBone {
+            public const nint m_inputList = 0x68; // CUtlVector<CBoneConstraintPoseSpaceBone::Input_t>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MotionBlendItem {
+            public const nint m_pChild = 0x0; // CSmartPtr<CMotionNode>
+            public const nint m_flKeyValue = 0x8; // float32
+        }
+        // Parent: CBoneConstraintBase
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBoneConstraintPoseSpaceMorph {
+            public const nint m_sBoneName = 0x28; // CUtlString
+            public const nint m_sAttachmentName = 0x30; // CUtlString
+            public const nint m_outputMorph = 0x38; // CUtlVector<CUtlString>
+            public const nint m_inputList = 0x50; // CUtlVector<CBoneConstraintPoseSpaceMorph::Input_t>
+            public const nint m_bClamp = 0x68; // bool
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CFloatAnimParameter {
+            public const nint m_fDefaultValue = 0x80; // float32
+            public const nint m_fMinValue = 0x84; // float32
+            public const nint m_fMaxValue = 0x88; // float32
+            public const nint m_bInterpolate = 0x8C; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStateActionUpdater {
+            public const nint m_pAction = 0x0; // CSmartPtr<CAnimActionUpdater>
+            public const nint m_eBehavior = 0x8; // StateActionBehavior
+        }
+        // Parent: CAnimMotorUpdaterBase
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPlayerInputAnimMotorUpdater {
+            public const nint m_sampleTimes = 0x20; // CUtlVector<float32>
+            public const nint m_flSpringConstant = 0x3C; // float32
+            public const nint m_flAnticipationDistance = 0x40; // float32
+            public const nint m_hAnticipationPosParam = 0x44; // CAnimParamHandle
+            public const nint m_hAnticipationHeadingParam = 0x46; // CAnimParamHandle
+            public const nint m_bUseAcceleration = 0x48; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRenderSkeleton {
+            public const nint m_bones = 0x0; // CUtlVector<RenderSkeletonBone_t>
+            public const nint m_boneParents = 0x30; // CUtlVector<int32>
+            public const nint m_nBoneWeightCount = 0x48; // int32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqIKLock {
+            public const nint m_flPosWeight = 0x0; // float32
+            public const nint m_flAngleWeight = 0x4; // float32
+            public const nint m_nLocalBone = 0x8; // int16
+            public const nint m_bBonesOrientedAlongPositiveX = 0xA; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimParamHandleMap {
+            public const nint m_list = 0x0; // CUtlHashtable<uint16,int16>
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatClampNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_clampRange = 0x14; // Range_t
+        }
+        // Parent: None
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimDesc {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_flags = 0x10; // CAnimDesc_Flag
+            public const nint fps = 0x18; // float32
+            public const nint m_Data = 0x20; // CAnimEncodedFrames
+            public const nint m_movementArray = 0xF8; // CUtlVector<CAnimMovement>
+            public const nint m_xInitialOffset = 0x110; // CTransform
+            public const nint m_eventArray = 0x130; // CUtlVector<CAnimEventDefinition>
+            public const nint m_activityArray = 0x148; // CUtlVector<CAnimActivity>
+            public const nint m_hierarchyArray = 0x160; // CUtlVector<CAnimLocalHierarchy>
+            public const nint framestalltime = 0x178; // float32
+            public const nint m_vecRootMin = 0x17C; // Vector
+            public const nint m_vecRootMax = 0x188; // Vector
+            public const nint m_vecBoneWorldMin = 0x198; // CUtlVector<Vector>
+            public const nint m_vecBoneWorldMax = 0x1B0; // CUtlVector<Vector>
+            public const nint m_sequenceParams = 0x1C8; // CAnimSequenceParams
+        }
+        // Parent: CNmPassthroughNode__CDefinition
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmRootMotionOverrideNode__CDefinition {
+            public const nint m_desiredMovingVelocityNodeIdx = 0x18; // int16
+            public const nint m_desiredFacingDirectionNodeIdx = 0x1A; // int16
+            public const nint m_linearVelocityLimitNodeIdx = 0x1C; // int16
+            public const nint m_angularVelocityLimitNodeIdx = 0x1E; // int16
+            public const nint m_maxLinearVelocity = 0x20; // float32
+            public const nint m_maxAngularVelocityRadians = 0x24; // float32
+            public const nint m_overrideFlags = 0x28; // CNmBitFlags
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTargetWarpNode__CDefinition {
+            public const nint m_nClipReferenceNodeIdx = 0x10; // int16
+            public const nint m_nTargetValueNodeIdx = 0x12; // int16
+            public const nint m_samplingMode = 0x14; // CNmRootMotionData::SamplingMode_t
+            public const nint m_bAllowTargetUpdate = 0x15; // bool
+            public const nint m_flSamplingPositionErrorThresholdSq = 0x18; // float32
+            public const nint m_flMaxTangentLength = 0x1C; // float32
+            public const nint m_flLerpFallbackDistanceThreshold = 0x20; // float32
+            public const nint m_flTargetUpdateDistanceThreshold = 0x24; // float32
+            public const nint m_flTargetUpdateAngleThresholdRadians = 0x28; // float32
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPhysSurfacePropertiesPhysics {
+            public const nint m_friction = 0x0; // float32
+            public const nint m_elasticity = 0x4; // float32
+            public const nint m_density = 0x8; // float32
+            public const nint m_thickness = 0xC; // float32
+            public const nint m_softContactFrequency = 0x10; // float32
+            public const nint m_softContactDampingRatio = 0x14; // float32
+            public const nint m_wheelDrag = 0x18; // float32
+            public const nint m_heatConductivity = 0x1C; // float32
+            public const nint m_flashpoint = 0x20; // float32
+        }
+        // Parent: CAnimationGraphVisualizerPrimitiveBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimationGraphVisualizerPie {
+            public const nint m_vWsCenter = 0x40; // VectorAligned
+            public const nint m_vWsStart = 0x50; // VectorAligned
+            public const nint m_vWsEnd = 0x60; // VectorAligned
+            public const nint m_Color = 0x70; // Color
+        }
+        // Parent: CBoneConstraintBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBoneConstraintDotToMorph {
+            public const nint m_sBoneName = 0x28; // CUtlString
+            public const nint m_sTargetBoneName = 0x30; // CUtlString
+            public const nint m_sMorphChannelName = 0x38; // CUtlString
+            public const nint m_flRemap = 0x40; // float32[4]
+        }
+        // Parent: CBaseConstraint
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPointConstraint {
+        }
+        // Parent: CMotionMetricEvaluator
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCurrentRotationVelocityMetricEvaluator {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class TraceSettings_t {
+            public const nint m_flTraceHeight = 0x0; // float32
+            public const nint m_flTraceRadius = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParamSpanSample_t {
+            public const nint m_value = 0x0; // CAnimVariant
+            public const nint m_flCycle = 0x14; // float32
+        }
+        // Parent: None
+        // Field count: 46
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXConstraintParams_t {
+            public const nint m_nType = 0x0; // int8
+            public const nint m_nTranslateMotion = 0x1; // int8
+            public const nint m_nRotateMotion = 0x2; // int8
+            public const nint m_nFlags = 0x3; // int8
+            public const nint m_anchor = 0x4; // Vector[2]
+            public const nint m_axes = 0x1C; // QuaternionStorage[2]
+            public const nint m_maxForce = 0x3C; // float32
+            public const nint m_maxTorque = 0x40; // float32
+            public const nint m_linearLimitValue = 0x44; // float32
+            public const nint m_linearLimitRestitution = 0x48; // float32
+            public const nint m_linearLimitSpring = 0x4C; // float32
+            public const nint m_linearLimitDamping = 0x50; // float32
+            public const nint m_twistLowLimitValue = 0x54; // float32
+            public const nint m_twistLowLimitRestitution = 0x58; // float32
+            public const nint m_twistLowLimitSpring = 0x5C; // float32
+            public const nint m_twistLowLimitDamping = 0x60; // float32
+            public const nint m_twistHighLimitValue = 0x64; // float32
+            public const nint m_twistHighLimitRestitution = 0x68; // float32
+            public const nint m_twistHighLimitSpring = 0x6C; // float32
+            public const nint m_twistHighLimitDamping = 0x70; // float32
+            public const nint m_swing1LimitValue = 0x74; // float32
+            public const nint m_swing1LimitRestitution = 0x78; // float32
+            public const nint m_swing1LimitSpring = 0x7C; // float32
+            public const nint m_swing1LimitDamping = 0x80; // float32
+            public const nint m_swing2LimitValue = 0x84; // float32
+            public const nint m_swing2LimitRestitution = 0x88; // float32
+            public const nint m_swing2LimitSpring = 0x8C; // float32
+            public const nint m_swing2LimitDamping = 0x90; // float32
+            public const nint m_goalPosition = 0x94; // Vector
+            public const nint m_goalOrientation = 0xA0; // QuaternionStorage
+            public const nint m_goalAngularVelocity = 0xB0; // Vector
+            public const nint m_driveSpringX = 0xBC; // float32
+            public const nint m_driveSpringY = 0xC0; // float32
+            public const nint m_driveSpringZ = 0xC4; // float32
+            public const nint m_driveDampingX = 0xC8; // float32
+            public const nint m_driveDampingY = 0xCC; // float32
+            public const nint m_driveDampingZ = 0xD0; // float32
+            public const nint m_driveSpringTwist = 0xD4; // float32
+            public const nint m_driveSpringSwing = 0xD8; // float32
+            public const nint m_driveSpringSlerp = 0xDC; // float32
+            public const nint m_driveDampingTwist = 0xE0; // float32
+            public const nint m_driveDampingSwing = 0xE4; // float32
+            public const nint m_driveDampingSlerp = 0xE8; // float32
+            public const nint m_solverIterationCount = 0xEC; // int32
+            public const nint m_projectionLinearTolerance = 0xF0; // float32
+            public const nint m_projectionAngularTolerance = 0xF4; // float32
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatComparisonNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_nComparandValueNodeIdx = 0x12; // int16
+            public const nint m_comparison = 0x14; // CNmFloatComparisonNode::Comparison_t
+            public const nint m_flEpsilon = 0x18; // float32
+            public const nint m_flComparisonValue = 0x1C; // float32
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CStateUpdateData {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_hScript = 0x8; // AnimScriptHandle
+            public const nint m_transitionIndices = 0x10; // CUtlVector<int32>
+            public const nint m_actions = 0x28; // CUtlVector<CStateActionUpdater>
+            public const nint m_stateID = 0x40; // AnimStateID
+            public const nint m_bIsStartState = 0x0; // bitfield:1
+            public const nint m_bIsEndState = 0x0; // bitfield:1
+            public const nint m_bIsPassthrough = 0x0; // bitfield:1
+        }
+        // Parent: CNmValueNode__CDefinition
+        // Field count: 0
+        public static class CNmTargetValueNode__CDefinition {
+        }
+        // Parent: CBaseConstraint
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class COrientConstraint {
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMoverUpdateNode {
+            public const nint m_damping = 0x70; // CAnimInputDamping
+            public const nint m_facingTarget = 0x80; // AnimValueSource
+            public const nint m_hMoveVecParam = 0x84; // CAnimParamHandle
+            public const nint m_hMoveHeadingParam = 0x86; // CAnimParamHandle
+            public const nint m_hTurnToFaceParam = 0x88; // CAnimParamHandle
+            public const nint m_flTurnToFaceOffset = 0x8C; // float32
+            public const nint m_flTurnToFaceLimit = 0x90; // float32
+            public const nint m_bAdditive = 0x94; // bool
+            public const nint m_bApplyMovement = 0x95; // bool
+            public const nint m_bOrientMovement = 0x96; // bool
+            public const nint m_bApplyRotation = 0x97; // bool
+            public const nint m_bLimitOnly = 0x98; // bool
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmLayerBlendNode__CDefinition {
+            public const nint m_nBaseNodeIdx = 0x10; // int16
+            public const nint m_bOnlySampleBaseRootMotion = 0x12; // bool
+            public const nint m_layerDefinition = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t,3>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimMotorUpdaterBase {
+            public const nint m_name = 0x10; // CUtlString
+            public const nint m_bDefault = 0x18; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class JiggleBoneSettingsList_t {
+            public const nint m_boneSettings = 0x0; // CUtlVector<JiggleBoneSettings_t>
+        }
+        // Parent: CBinaryUpdateNode
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSubtractUpdateNode {
+            public const nint m_footMotionTiming = 0x8C; // BinaryNodeChildOption
+            public const nint m_bApplyToFootMotion = 0x90; // bool
+            public const nint m_bApplyChannelsSeparately = 0x91; // bool
+            public const nint m_bUseModelSpace = 0x92; // bool
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFloatRemapNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_inputRange = 0x14; // CNmFloatRemapNode::RemapRange_t
+            public const nint m_outputRange = 0x1C; // CNmFloatRemapNode::RemapRange_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPoseHandle {
+            public const nint m_nIndex = 0x0; // uint16
+            public const nint m_eType = 0x2; // PoseType_t
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFootstepEventIDNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSolveIKChainUpdateNode {
+            public const nint m_targetHandles = 0x68; // CUtlVector<CSolveIKTargetHandle_t>
+            public const nint m_opFixedData = 0x80; // SolveIKChainPoseOpFixedSettings_t
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmOrNode__CDefinition {
+            public const nint m_conditionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,4>
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqCmdSeqDesc {
+            public const nint m_sName = 0x0; // CBufferString
+            public const nint m_flags = 0x10; // CSeqSeqDescFlag
+            public const nint m_transition = 0x1C; // CSeqTransition
+            public const nint m_nFrameRangeSequence = 0x24; // int16
+            public const nint m_nFrameCount = 0x26; // int16
+            public const nint m_flFPS = 0x28; // float32
+            public const nint m_nSubCycles = 0x2C; // int16
+            public const nint m_numLocalResults = 0x2E; // int16
+            public const nint m_cmdLayerArray = 0x30; // CUtlVector<CSeqCmdLayer>
+            public const nint m_eventArray = 0x48; // CUtlVector<CAnimEventDefinition>
+            public const nint m_activityArray = 0x60; // CUtlVector<CAnimActivity>
+            public const nint m_poseSettingArray = 0x78; // CUtlVector<CSeqPoseSetting>
+        }
+        // Parent: CBinaryUpdateNode
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBoneMaskUpdateNode {
+            public const nint m_nWeightListIndex = 0x8C; // int32
+            public const nint m_flRootMotionBlend = 0x90; // float32
+            public const nint m_blendSpace = 0x94; // BoneMaskBlendSpace
+            public const nint m_footMotionTiming = 0x98; // BinaryNodeChildOption
+            public const nint m_bUseBlendScale = 0x9C; // bool
+            public const nint m_blendValueSource = 0xA0; // AnimValueSource
+            public const nint m_hBlendParameter = 0xA4; // CAnimParamHandle
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CLeafUpdateNode {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SolveIKChainPoseOpFixedSettings_t {
+            public const nint m_ChainsToSolveData = 0x0; // CUtlVector<ChainToSolveData_t>
+        }
+        // Parent: None
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class TwoBoneIKSettings_t {
+            public const nint m_endEffectorType = 0x0; // IkEndEffectorType
+            public const nint m_endEffectorAttachment = 0x10; // CAnimAttachment
+            public const nint m_targetType = 0x90; // IkTargetType
+            public const nint m_targetAttachment = 0xA0; // CAnimAttachment
+            public const nint m_targetBoneIndex = 0x120; // int32
+            public const nint m_hPositionParam = 0x124; // CAnimParamHandle
+            public const nint m_hRotationParam = 0x126; // CAnimParamHandle
+            public const nint m_bAlwaysUseFallbackHinge = 0x128; // bool
+            public const nint m_vLsFallbackHingeAxis = 0x130; // VectorAligned
+            public const nint m_nFixedBoneIndex = 0x140; // int32
+            public const nint m_nMiddleBoneIndex = 0x144; // int32
+            public const nint m_nEndBoneIndex = 0x148; // int32
+            public const nint m_bMatchTargetOrientation = 0x14C; // bool
+            public const nint m_bConstrainTwist = 0x14D; // bool
+            public const nint m_flMaxTwist = 0x150; // float32
+        }
+        // Parent: CNmTask
+        // Field count: 0
+        public static class CNmCachedPoseWriteTask {
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimUpdateSharedData {
+            public const nint m_nodes = 0x10; // CUtlVector<CSmartPtr<CAnimUpdateNodeBase>>
+            public const nint m_nodeIndexMap = 0x28; // CUtlHashtable<CAnimNodePath,int32>
+            public const nint m_components = 0x48; // CUtlVector<CSmartPtr<CAnimComponentUpdater>>
+            public const nint m_pParamListUpdater = 0x60; // CSmartPtr<CAnimParameterManagerUpdater>
+            public const nint m_pTagManagerUpdater = 0x68; // CSmartPtr<CAnimTagManagerUpdater>
+            public const nint m_scriptManager = 0x70; // CSmartPtr<CAnimScriptManager>
+            public const nint m_settings = 0x78; // CAnimGraphSettingsManager
+            public const nint m_pStaticPoseCache = 0xA8; // CSmartPtr<CStaticPoseCacheBuilder>
+            public const nint m_pSkeleton = 0xB0; // CSmartPtr<CAnimSkeleton>
+            public const nint m_rootNodePath = 0xB8; // CAnimNodePath
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimAttachment {
+            public const nint m_influenceRotations = 0x0; // Quaternion[3]
+            public const nint m_influenceOffsets = 0x30; // VectorAligned[3]
+            public const nint m_influenceIndices = 0x60; // int32[3]
+            public const nint m_influenceWeights = 0x6C; // float32[3]
+            public const nint m_numInfluences = 0x78; // uint8
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootTrajectories {
+            public const nint m_trajectories = 0x0; // CUtlVector<CFootTrajectory>
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmIDComparisonNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+            public const nint m_comparison = 0x12; // CNmIDComparisonNode::Comparison_t
+            public const nint m_comparisionIDs = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,4>
+        }
+        // Parent: CMotionGraph
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CEditableMotionGraph {
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmConstFloatNode__CDefinition {
+            public const nint m_flValue = 0x10; // float32
+        }
+        // Parent: CAnimTagBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CStringAnimTag {
+        }
+        // Parent: CConcreteAnimParameter
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CBoolAnimParameter {
+            public const nint m_bDefaultValue = 0x80; // bool
+        }
+        // Parent: CAnimTagBase
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CRagdollAnimTag {
+            public const nint m_nPoseControl = 0x58; // AnimPoseControl
+            public const nint m_flFrequency = 0x5C; // float32
+            public const nint m_flDampingRatio = 0x60; // float32
+            public const nint m_flDecayDuration = 0x64; // float32
+            public const nint m_flDecayBias = 0x68; // float32
+            public const nint m_bDestroy = 0x6C; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionNode {
+            public const nint m_name = 0x18; // CUtlString
+            public const nint m_id = 0x20; // AnimNodeID
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateMachineNode__CDefinition {
+            public const nint m_stateDefinitions = 0x10; // CUtlLeanVectorFixedGrowable<CNmStateMachineNode::StateDefinition_t,5>
+            public const nint m_nDefaultStateIndex = 0x130; // int16
+        }
+        // Parent: CAnimTagBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CBodyGroupAnimTag {
+            public const nint m_nPriority = 0x58; // int32
+            public const nint m_bodyGroupSettings = 0x60; // CUtlVector<CBodyGroupSetting>
+        }
+        // Parent: CNmBlendTaskBase
+        // Field count: 0
+        public static class CNmModelSpaceBlendTask {
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmZeroPoseNode__CDefinition {
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmOrientationWarpNode__CDefinition {
+            public const nint m_nClipReferenceNodeIdx = 0x10; // int16
+            public const nint m_nTargetValueNodeIdx = 0x12; // int16
+            public const nint m_bIsOffsetNode = 0x14; // bool
+            public const nint m_bIsOffsetRelativeToCharacter = 0x15; // bool
+            public const nint m_samplingMode = 0x16; // CNmRootMotionData::SamplingMode_t
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyEditClassAsString
+        public static class AnimParamID {
+            public const nint m_id = 0x0; // uint32
+        }
+        // Parent: CNmBoneMaskValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmBoneMaskNode__CDefinition {
+            public const nint m_boneMaskID = 0x10; // CGlobalSymbol
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmChildGraphNode__CDefinition {
+            public const nint m_nChildGraphIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AnimationDecodeDebugDump_t {
+            public const nint m_processingType = 0x0; // AnimationProcessingType_t
+            public const nint m_elems = 0x8; // CUtlVector<AnimationDecodeDebugDumpElement_t>
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVirtualParameterIDNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqScaleSet {
+            public const nint m_sName = 0x0; // CBufferString
+            public const nint m_bRootOffset = 0x10; // bool
+            public const nint m_vRootOffset = 0x14; // Vector
+            public const nint m_nLocalBoneArray = 0x20; // CUtlVector<int16>
+            public const nint m_flBoneScaleArray = 0x38; // CUtlVector<float32>
+        }
+        // Parent: CLeafUpdateNode
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDirectionalBlendUpdateNode {
+            public const nint m_hSequences = 0x5C; // HSequence[8]
+            public const nint m_damping = 0x80; // CAnimInputDamping
+            public const nint m_blendValueSource = 0x90; // AnimValueSource
+            public const nint m_paramIndex = 0x94; // CAnimParamHandle
+            public const nint m_playbackSpeed = 0x98; // float32
+            public const nint m_duration = 0x9C; // float32
+            public const nint m_bLoop = 0xA0; // bool
+            public const nint m_bLockBlendOnReset = 0xA1; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParamSpan_t {
+            public const nint m_samples = 0x0; // CUtlVector<ParamSpanSample_t>
+            public const nint m_hParam = 0x18; // CAnimParamHandle
+            public const nint m_eParamType = 0x1A; // AnimParamType_t
+            public const nint m_flStartCycle = 0x1C; // float32
+            public const nint m_flEndCycle = 0x20; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFootStepTriggerUpdateNode {
+            public const nint m_triggers = 0x68; // CUtlVector<FootStepTrigger>
+            public const nint m_flTolerance = 0x84; // float32
+        }
+        // Parent: None
+        // Field count: 5
+        public static class IKTargetSettings_t {
+            public const nint m_TargetSource = 0x0; // IKTargetSource
+            public const nint m_Bone = 0x8; // IKBoneNameAndIndex_t
+            public const nint m_AnimgraphParameterNamePosition = 0x18; // AnimParamID
+            public const nint m_AnimgraphParameterNameOrientation = 0x1C; // AnimParamID
+            public const nint m_TargetCoordSystem = 0x20; // IKTargetCoordinateSystem
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCurrentSyncEventIndexNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+        }
+        // Parent: CModelConfigElement
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_SetRenderColor {
+            public const nint m_Color = 0x48; // Color
+        }
+        // Parent: CNmBlendTaskBase
+        // Field count: 0
+        public static class CNmAdditiveBlendTask {
+        }
+        // Parent: CNmPoseNode__CDefinition
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmAnimationPoseNode__CDefinition {
+            public const nint m_nPoseTimeValueNodeIdx = 0x10; // int16
+            public const nint m_nDataSlotIdx = 0x12; // int16
+            public const nint m_inputTimeRemapRange = 0x14; // Range_t
+            public const nint m_flUserSpecifiedTime = 0x1C; // float32
+            public const nint m_bUseFramesAsInput = 0x20; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionSearchDB {
+            public const nint m_rootNode = 0x0; // CMotionSearchNode
+            public const nint m_residualQuantizer = 0x80; // CProductQuantizer
+            public const nint m_codeIndices = 0xA0; // CUtlVector<MotionDBIndex>
+        }
+        // Parent: CMotionNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionNodeBlend1D {
+            public const nint m_blendItems = 0x28; // CUtlVector<MotionBlendItem>
+            public const nint m_nParamIndex = 0x40; // int32
+        }
+        // Parent: CNmTargetValueNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmControlParameterTargetNode__CDefinition {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SkeletonBoneBounds_t {
+            public const nint m_vecCenter = 0x0; // Vector
+            public const nint m_vecSize = 0xC; // Vector
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTwoBoneIKUpdateNode {
+            public const nint m_opFixedData = 0x70; // TwoBoneIKSettings_t
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VPhysXBodyPart_t {
+            public const nint m_nFlags = 0x0; // uint32
+            public const nint m_flMass = 0x4; // float32
+            public const nint m_rnShape = 0x8; // VPhysics2ShapeDef_t
+            public const nint m_nCollisionAttributeIndex = 0x80; // uint16
+            public const nint m_nReserved = 0x82; // uint16
+            public const nint m_flInertiaScale = 0x84; // float32
+            public const nint m_flLinearDamping = 0x88; // float32
+            public const nint m_flAngularDamping = 0x8C; // float32
+            public const nint m_bOverrideMassCenter = 0x90; // bool
+            public const nint m_vMassCenterOverride = 0x94; // Vector
+        }
+        // Parent: CHandshakeAnimTagBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CTaskHandshakeAnimTag {
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFollowPathUpdateNode {
+            public const nint m_flBlendOutTime = 0x6C; // float32
+            public const nint m_bBlockNonPathMovement = 0x70; // bool
+            public const nint m_bStopFeetAtGoal = 0x71; // bool
+            public const nint m_bScaleSpeed = 0x72; // bool
+            public const nint m_flScale = 0x74; // float32
+            public const nint m_flMinAngle = 0x78; // float32
+            public const nint m_flMaxAngle = 0x7C; // float32
+            public const nint m_flSpeedScaleBlending = 0x80; // float32
+            public const nint m_turnDamping = 0x88; // CAnimInputDamping
+            public const nint m_facingTarget = 0x98; // AnimValueSource
+            public const nint m_hParam = 0x9C; // CAnimParamHandle
+            public const nint m_flTurnToFaceOffset = 0xA0; // float32
+            public const nint m_bTurnToFace = 0xA4; // bool
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AimMatrixOpFixedSettings_t {
+            public const nint m_attachment = 0x0; // CAnimAttachment
+            public const nint m_damping = 0x80; // CAnimInputDamping
+            public const nint m_poseCacheHandles = 0x90; // CPoseHandle[10]
+            public const nint m_eBlendMode = 0xB8; // AimMatrixBlendMode
+            public const nint m_flMaxYawAngle = 0xBC; // float32
+            public const nint m_flMaxPitchAngle = 0xC0; // float32
+            public const nint m_nSequenceMaxFrame = 0xC4; // int32
+            public const nint m_nBoneMaskIndex = 0xC8; // int32
+            public const nint m_bTargetIsPosition = 0xCC; // bool
+            public const nint m_bUseBiasAndClamp = 0xCD; // bool
+            public const nint m_flBiasAndClampYawOffset = 0xD0; // float32
+            public const nint m_flBiasAndClampPitchOffset = 0xD4; // float32
+            public const nint m_biasAndClampBlendCurve = 0xD8; // CBlendCurve
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimScriptComponentUpdater {
+            public const nint m_hScript = 0x30; // AnimScriptHandle
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRagdollUpdateNode {
+            public const nint m_nWeightListIndex = 0x68; // int32
+            public const nint m_poseControlMethod = 0x6C; // RagdollPoseControl
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBoneConstraintBase {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmStateEventConditionNode__Condition_t {
+            public const nint m_eventID = 0x0; // CGlobalSymbol
+            public const nint m_eventTypeCondition = 0x8; // NmStateEventTypeCondition_t
+        }
+        // Parent: CPathAnimMotorUpdaterBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPathAnimMotorUpdater {
+        }
+        // Parent: CAnimTagBase
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CMaterialAttributeAnimTag {
+            public const nint m_AttributeName = 0x58; // CUtlString
+            public const nint m_AttributeType = 0x60; // MatterialAttributeTagType_t
+            public const nint m_flValue = 0x64; // float32
+            public const nint m_Color = 0x68; // Color
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFootEventConditionNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+            public const nint m_phaseCondition = 0x12; // NmFootPhaseCondition_t
+            public const nint m_eventConditionRules = 0x14; // CNmBitFlags
+        }
+        // Parent: CNmEvent
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmFootEvent {
+            public const nint m_phase = 0x18; // NmFootPhase_t
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPhysSurfacePropertiesAudio {
+            public const nint m_reflectivity = 0x0; // float32
+            public const nint m_hardnessFactor = 0x4; // float32
+            public const nint m_roughnessFactor = 0x8; // float32
+            public const nint m_roughThreshold = 0xC; // float32
+            public const nint m_hardThreshold = 0x10; // float32
+            public const nint m_hardVelocityThreshold = 0x14; // float32
+            public const nint m_flStaticImpactVolume = 0x18; // float32
+            public const nint m_flOcclusionFactor = 0x1C; // float32
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSeqAutoLayer {
+            public const nint m_nLocalReference = 0x0; // int16
+            public const nint m_nLocalPose = 0x2; // int16
+            public const nint m_flags = 0x4; // CSeqAutoLayerFlag
+            public const nint m_start = 0xC; // float32
+            public const nint m_peak = 0x10; // float32
+            public const nint m_tail = 0x14; // float32
+            public const nint m_end = 0x18; // float32
+        }
+        // Parent: CNmFloatValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmCurrentSyncEventPercentageThroughNode__CDefinition {
+            public const nint m_nSourceStateNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PhysSoftbodyDesc_t {
+            public const nint m_ParticleBoneHash = 0x0; // CUtlVector<uint32>
+            public const nint m_Particles = 0x18; // CUtlVector<RnSoftbodyParticle_t>
+            public const nint m_Springs = 0x30; // CUtlVector<RnSoftbodySpring_t>
+            public const nint m_Capsules = 0x48; // CUtlVector<RnSoftbodyCapsule_t>
+            public const nint m_InitPose = 0x60; // CUtlVector<CTransform>
+            public const nint m_ParticleBoneName = 0x78; // CUtlVector<CUtlString>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimSequenceParams {
+            public const nint m_flFadeInTime = 0x0; // float32
+            public const nint m_flFadeOutTime = 0x4; // float32
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CTargetWarpUpdateNode {
+            public const nint m_hPositionParameter = 0x6C; // CAnimParamHandle
+            public const nint m_hFacePositionParameter = 0x6E; // CAnimParamHandle
+        }
+        // Parent: CNmBoolValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVirtualParameterBoolNode__CDefinition {
+            public const nint m_nChildNodeIdx = 0x10; // int16
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFollowTargetUpdateNode {
+            public const nint m_opFixedData = 0x68; // FollowTargetOpFixedSettings_t
+            public const nint m_hParameterPosition = 0x80; // CAnimParamHandle
+            public const nint m_hParameterOrientation = 0x82; // CAnimParamHandle
+        }
+        // Parent: CAnimComponentUpdater
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CCPPScriptComponentUpdater {
+            public const nint m_scriptsToRun = 0x30; // CUtlVector<CGlobalSymbol>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimData {
+            public const nint m_name = 0x10; // CBufferString
+            public const nint m_animArray = 0x20; // CUtlVector<CAnimDesc>
+            public const nint m_decoderArray = 0x38; // CUtlVector<CAnimDecoder>
+            public const nint m_nMaxUniqueFrameIndex = 0x50; // int32
+            public const nint m_segmentArray = 0x58; // CUtlVector<CAnimFrameSegment>
+        }
+        // Parent: None
+        // Field count: 3
+        public static class IKSolverSettings_t {
+            public const nint m_SolverType = 0x0; // IKSolverType
+            public const nint m_nNumIterations = 0x4; // int32
+            public const nint m_EndEffectorRotationFixUpMode = 0x8; // EIKEndEffectorRotationFixUpMode
+        }
+        // Parent: CAnimUpdateNodeBase
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBinaryUpdateNode {
+            public const nint m_pChild1 = 0x58; // CAnimUpdateNodeRef
+            public const nint m_pChild2 = 0x68; // CAnimUpdateNodeRef
+            public const nint m_timingBehavior = 0x78; // BinaryNodeTiming
+            public const nint m_flTimingBlend = 0x7C; // float32
+            public const nint m_bResetChild1 = 0x80; // bool
+            public const nint m_bResetChild2 = 0x81; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmParameterizedBlendNode__BlendRange_t {
+            public const nint m_nInputIdx0 = 0x0; // int16
+            public const nint m_nInputIdx1 = 0x2; // int16
+            public const nint m_parameterValueRange = 0x4; // Range_t
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimKeyData {
+            public const nint m_name = 0x0; // CBufferString
+            public const nint m_boneArray = 0x10; // CUtlVector<CAnimBone>
+            public const nint m_userArray = 0x28; // CUtlVector<CAnimUser>
+            public const nint m_morphArray = 0x40; // CUtlVector<CBufferString>
+            public const nint m_nChannelElements = 0x58; // int32
+            public const nint m_dataChannelArray = 0x60; // CUtlVector<CAnimDataChannelDesc>
+        }
+        // Parent: None
+        // Field count: 1
+        public static class AttachmentHandle_t {
+            public const nint m_Value = 0x0; // uint8
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimMorphDifference {
+            public const nint m_name = 0x0; // CBufferString
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FootFixedData_t {
+            public const nint m_vToeOffset = 0x0; // VectorAligned
+            public const nint m_vHeelOffset = 0x10; // VectorAligned
+            public const nint m_nTargetBoneIndex = 0x20; // int32
+            public const nint m_nAnkleBoneIndex = 0x24; // int32
+            public const nint m_nIKAnchorBoneIndex = 0x28; // int32
+            public const nint m_ikChainIndex = 0x2C; // int32
+            public const nint m_flMaxIKLength = 0x30; // float32
+            public const nint m_nFootIndex = 0x34; // int32
+            public const nint m_nTagIndex = 0x38; // int32
+            public const nint m_flMaxRotationLeft = 0x3C; // float32
+            public const nint m_flMaxRotationRight = 0x40; // float32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CMotionGraphGroup {
+            public const nint m_searchDB = 0x0; // CMotionSearchDB
+            public const nint m_motionGraphs = 0xB8; // CUtlVector<CSmartPtr<CMotionGraph>>
+            public const nint m_motionGraphConfigs = 0xD0; // CUtlVector<CMotionGraphConfig>
+            public const nint m_sampleToConfig = 0xE8; // CUtlVector<int32>
+            public const nint m_hIsActiveScript = 0x100; // AnimScriptHandle
+        }
+        // Parent: CNmVectorValueNode__CDefinition
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmVectorNegateNode__CDefinition {
+            public const nint m_nInputValueNodeIdx = 0x10; // int16
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmSyncTrack__Event_t {
+            public const nint m_ID = 0x0; // CGlobalSymbol
+            public const nint m_startTime = 0x8; // NmPercent_t
+            public const nint m_duration = 0xC; // NmPercent_t
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmTarget {
+            public const nint m_transform = 0x0; // CTransform
+            public const nint m_boneID = 0x20; // CGlobalSymbol
+            public const nint m_bIsBoneTarget = 0x28; // bool
+            public const nint m_bIsUsingBoneSpaceOffsets = 0x29; // bool
+            public const nint m_bHasOffsets = 0x2A; // bool
+            public const nint m_bIsSet = 0x2B; // bool
+        }
+        // Parent: CNmIDValueNode__CDefinition
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CNmControlParameterIDNode__CDefinition {
+        }
+        // Parent: CUnaryUpdateNode
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CWayPointHelperUpdateNode {
+            public const nint m_flStartCycle = 0x6C; // float32
+            public const nint m_flEndCycle = 0x70; // float32
+            public const nint m_bOnlyGoals = 0x74; // bool
+            public const nint m_bPreventOvershoot = 0x75; // bool
+            public const nint m_bPreventUndershoot = 0x76; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MVDataOverlayType
+        public static class CMoodVData {
+            public const nint m_sModelName = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_nMoodType = 0xE0; // MoodType_t
+            public const nint m_animationLayers = 0xE8; // CUtlVector<MoodAnimationLayer_t>
+        }
+        // Parent: CModelConfigElement
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CModelConfigElement_AttachedModel {
+            public const nint m_InstanceName = 0x48; // CUtlString
+            public const nint m_EntityClass = 0x50; // CUtlString
+            public const nint m_hModel = 0x58; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_vOffset = 0x60; // Vector
+            public const nint m_aAngOffset = 0x6C; // QAngle
+            public const nint m_AttachmentName = 0x78; // CUtlString
+            public const nint m_LocalAttachmentOffsetName = 0x80; // CUtlString
+            public const nint m_AttachmentType = 0x88; // ModelConfigAttachmentType_t
+            public const nint m_bBoneMergeFlex = 0x8C; // bool
+            public const nint m_bUserSpecifiedColor = 0x8D; // bool
+            public const nint m_bUserSpecifiedMaterialGroup = 0x8E; // bool
+            public const nint m_bAcceptParentMaterialDrivenDecals = 0x8F; // bool
+            public const nint m_BodygroupOnOtherModels = 0x90; // CUtlString
+            public const nint m_MaterialGroupOnOtherModels = 0x98; // CUtlString
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAnimTagManagerUpdater {
+            public const nint m_tags = 0x38; // CUtlVector<CSmartPtr<CAnimTagBase>>
+        }
+    }
+}
diff --git a/output/animationsystem_dll.hpp b/output/animationsystem_dll.hpp
new file mode 100644
index 0000000..e2d1892
--- /dev/null
+++ b/output/animationsystem_dll.hpp
@@ -0,0 +1,6278 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: animationsystem.dll
+        // Class count: 497
+        // Enum count: 94
+        namespace animationsystem_dll {
+            // Alignment: 4
+            // Member count: 17
+            enum class SeqCmd_t : uint32_t {
+                SeqCmd_Nop = 0x0,
+                SeqCmd_LinearDelta = 0x1,
+                SeqCmd_FetchFrameRange = 0x2,
+                SeqCmd_Slerp = 0x3,
+                SeqCmd_Add = 0x4,
+                SeqCmd_Subtract = 0x5,
+                SeqCmd_Scale = 0x6,
+                SeqCmd_Copy = 0x7,
+                SeqCmd_Blend = 0x8,
+                SeqCmd_Worldspace = 0x9,
+                SeqCmd_Sequence = 0xA,
+                SeqCmd_FetchCycle = 0xB,
+                SeqCmd_FetchFrame = 0xC,
+                SeqCmd_IKLockInPlace = 0xD,
+                SeqCmd_IKRestoreAll = 0xE,
+                SeqCmd_ReverseSequence = 0xF,
+                SeqCmd_Transform = 0x10
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class BoneTransformSpace_t : uint32_t {
+                BoneTransformSpace_Invalid = 0xFFFFFFFFFFFFFFFF,
+                BoneTransformSpace_Parent = 0x0,
+                BoneTransformSpace_Model = 0x1,
+                BoneTransformSpace_World = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class CAnimationGraphVisualizerPrimitiveType : uint32_t {
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie = 0x3,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class NmTransitionRule_t : uint8_t {
+                AllowTransition = 0x0,
+                ConditionallyAllowTransition = 0x1,
+                BlockTransition = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class BinaryNodeTiming : uint32_t {
+                UseChild1 = 0x0,
+                UseChild2 = 0x1,
+                SyncChildren = 0x2
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class SolveIKChainAnimNodeDebugSetting : uint32_t {
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle = 0x3,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward = 0x4,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Up = 0x5,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6
+            };
+            // Alignment: 1
+            // Member count: 6
+            enum class MovementGait_t : uint8_t {
+                eInvalid = 0xFFFFFFFFFFFFFFFF,
+                eSlow = 0x0,
+                eMedium = 0x1,
+                eFast = 0x2,
+                eVeryFast = 0x3,
+                eCount = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class IKTargetCoordinateSystem : uint32_t {
+                IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0,
+                IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1,
+                IKTARGETCOORDINATESYSTEM_COUNT = 0x2
+            };
+            // Alignment: 1
+            // Member count: 5
+            enum class NmStateEventTypeCondition_t : uint8_t {
+                Entry = 0x0,
+                FullyInState = 0x1,
+                Exit = 0x2,
+                Timed = 0x3,
+                Any = 0x4
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class CNmFloatAngleMathNode__Operation_t : uint8_t {
+                ClampTo180 = 0x0,
+                ClampTo360 = 0x1,
+                FlipHemisphere = 0x2,
+                FlipHemisphereNegate = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class VPhysXAggregateData_t__VPhysXFlagEnum_t : uint32_t {
+                FLAG_IS_POLYSOUP_GEOMETRY = 0x1,
+                FLAG_LEVEL_COLLISION = 0x10,
+                FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE = 0x20
+            };
+            // Alignment: 1
+            // Member count: 5
+            enum class CNmRootMotionOverrideNode__OverrideFlags_t : uint8_t {
+                AllowMoveX = 0x0,
+                AllowMoveY = 0x1,
+                AllowMoveZ = 0x2,
+                AllowFacingPitch = 0x3,
+                ListenForEvents = 0x4
+            };
+            // Alignment: 1
+            // Member count: 23
+            enum class NmEasingOperation_t : uint8_t {
+                Linear = 0x0,
+                InQuad = 0x1,
+                OutQuad = 0x2,
+                InOutQuad = 0x3,
+                InCubic = 0x4,
+                OutCubic = 0x5,
+                InOutCubic = 0x6,
+                InQuart = 0x7,
+                OutQuart = 0x8,
+                InOutQuart = 0x9,
+                InQuint = 0xA,
+                OutQuint = 0xB,
+                InOutQuint = 0xC,
+                InSine = 0xD,
+                OutSine = 0xE,
+                InOutSine = 0xF,
+                InExpo = 0x10,
+                OutExpo = 0x11,
+                InOutExpo = 0x12,
+                InCirc = 0x13,
+                OutCirc = 0x14,
+                InOutCirc = 0x15,
+                None = 0x16
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class EIKEndEffectorRotationFixUpMode : uint32_t {
+                None = 0x0,
+                MatchTargetOrientation = 0x1,
+                LookAtTargetForward = 0x2,
+                MaintainParentOrientation = 0x3,
+                Count = 0x4
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class MatterialAttributeTagType_t : uint32_t {
+                MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0,
+                MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class NmTargetWarpAlgorithm_t : uint8_t {
+                Lerp = 0x0,
+                Hermite = 0x1,
+                HermiteFeaturePreserving = 0x2,
+                Bezier = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class AnimPoseControl : uint32_t {
+                NoPoseControl = 0x0,
+                AbsolutePoseControl = 0x1,
+                RelativePoseControl = 0x2
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class NmTransitionRuleCondition_t : uint8_t {
+                AnyAllowed = 0x0,
+                FullyAllowed = 0x1,
+                ConditionallyAllowed = 0x2,
+                Blocked = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class EDemoBoneSelectionMode : uint32_t {
+                CaptureAllBones = 0x0,
+                CaptureSelectedBones = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class StepPhase : uint32_t {
+                StepPhase_OnGround = 0x0,
+                StepPhase_InAir = 0x1
+            };
+            // Alignment: 4
+            // Member count: 26
+            enum class FlexOpCode_t : uint32_t {
+                FLEX_OP_CONST = 0x1,
+                FLEX_OP_FETCH1 = 0x2,
+                FLEX_OP_FETCH2 = 0x3,
+                FLEX_OP_ADD = 0x4,
+                FLEX_OP_SUB = 0x5,
+                FLEX_OP_MUL = 0x6,
+                FLEX_OP_DIV = 0x7,
+                FLEX_OP_NEG = 0x8,
+                FLEX_OP_EXP = 0x9,
+                FLEX_OP_OPEN = 0xA,
+                FLEX_OP_CLOSE = 0xB,
+                FLEX_OP_COMMA = 0xC,
+                FLEX_OP_MAX = 0xD,
+                FLEX_OP_MIN = 0xE,
+                FLEX_OP_2WAY_0 = 0xF,
+                FLEX_OP_2WAY_1 = 0x10,
+                FLEX_OP_NWAY = 0x11,
+                FLEX_OP_COMBO = 0x12,
+                FLEX_OP_DOMINATE = 0x13,
+                FLEX_OP_DME_LOWER_EYELID = 0x14,
+                FLEX_OP_DME_UPPER_EYELID = 0x15,
+                FLEX_OP_SQRT = 0x16,
+                FLEX_OP_REMAPVALCLAMPED = 0x17,
+                FLEX_OP_SIN = 0x18,
+                FLEX_OP_COS = 0x19,
+                FLEX_OP_ABS = 0x1A
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class NmCachedValueMode_t : uint32_t {
+                OnEntry = 0x0,
+                OnExit = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class AnimNodeNetworkMode : uint32_t {
+                ServerAuthoritative = 0x0,
+                ClientSimulate = 0x1
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t {
+                FLAG_STATIC = 0x1,
+                FLAG_KINEMATIC = 0x2,
+                FLAG_JOINT = 0x4,
+                FLAG_MASS = 0x8,
+                FLAG_ALWAYS_DYNAMIC_ON_CLIENT = 0x10
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class AnimParamType_t : uint8_t {
+                ANIMPARAM_UNKNOWN = 0x0,
+                ANIMPARAM_BOOL = 0x1,
+                ANIMPARAM_ENUM = 0x2,
+                ANIMPARAM_INT = 0x3,
+                ANIMPARAM_FLOAT = 0x4,
+                ANIMPARAM_VECTOR = 0x5,
+                ANIMPARAM_QUATERNION = 0x6,
+                ANIMPARAM_GLOBALSYMBOL = 0x7,
+                ANIMPARAM_COUNT = 0x8
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class NmEasingFunction_t : uint8_t {
+                Linear = 0x0,
+                Quad = 0x1,
+                Cubic = 0x2,
+                Quart = 0x3,
+                Quint = 0x4,
+                Sine = 0x5,
+                Expo = 0x6,
+                Circ = 0x7,
+                Back = 0x8
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class IKTargetSource : uint32_t {
+                IKTARGETSOURCE_Bone = 0x0,
+                IKTARGETSOURCE_AnimgraphParameter = 0x1,
+                IKTARGETSOURCE_COUNT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 15
+            enum class PermModelInfo_t__FlagEnum : uint32_t {
+                FLAG_TRANSLUCENT = 0x1,
+                FLAG_TRANSLUCENT_TWO_PASS = 0x2,
+                FLAG_MODEL_IS_RUNTIME_COMBINED = 0x4,
+                FLAG_SOURCE1_IMPORT = 0x8,
+                FLAG_MODEL_PART_CHILD = 0x10,
+                FLAG_NAV_GEN_NONE = 0x20,
+                FLAG_NAV_GEN_HULL = 0x40,
+                FLAG_NO_FORCED_FADE = 0x800,
+                FLAG_HAS_SKINNED_MESHES = 0x400,
+                FLAG_DO_NOT_CAST_SHADOWS = 0x20000,
+                FLAG_FORCE_PHONEME_CROSSFADE = 0x1000,
+                FLAG_NO_ANIM_EVENTS = 0x100000,
+                FLAG_ANIMATION_DRIVEN_FLEXES = 0x200000,
+                FLAG_IMPLICIT_BIND_POSE_SEQUENCE = 0x400000,
+                FLAG_MODEL_DOC = 0x800000
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class CNmFloatMathNode__Operator_t : uint8_t {
+                Add = 0x0,
+                Sub = 0x1,
+                Mul = 0x2,
+                Div = 0x3
+            };
+            // Alignment: 1
+            // Member count: 2
+            enum class CNmSyncEventIndexConditionNode__TriggerMode_t : uint8_t {
+                ExactlyAtEventIndex = 0x0,
+                GreaterThanEqualToEventIndex = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class AnimParamNetworkSetting : uint32_t {
+                Auto = 0x0,
+                AlwaysNetwork = 0x1,
+                NeverNetwork = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class MorphFlexControllerRemapType_t : uint32_t {
+                MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0,
+                MORPH_FLEXCONTROLLER_REMAP_2WAY = 0x1,
+                MORPH_FLEXCONTROLLER_REMAP_NWAY = 0x2,
+                MORPH_FLEXCONTROLLER_REMAP_EYELID = 0x3
+            };
+            // Alignment: 4
+            // Member count: 8
+            enum class MeshDrawPrimitiveFlags_t : uint32_t {
+                MESH_DRAW_FLAGS_NONE = 0x0,
+                MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH = 0x1,
+                MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT = 0x2,
+                MESH_DRAW_INPUT_LAYOUT_IS_NOT_MATCHED_TO_MATERIAL = 0x8,
+                MESH_DRAW_FLAGS_USE_COMPRESSED_PER_VERTEX_LIGHTING = 0x10,
+                MESH_DRAW_FLAGS_USE_UNCOMPRESSED_PER_VERTEX_LIGHTING = 0x20,
+                MESH_DRAW_FLAGS_CAN_BATCH_WITH_DYNAMIC_SHADER_CONSTANTS = 0x40,
+                MESH_DRAW_FLAGS_DRAW_LAST = 0x80
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ModelBoneFlexComponent_t : uint32_t {
+                MODEL_BONE_FLEX_INVALID = 0xFFFFFFFFFFFFFFFF,
+                MODEL_BONE_FLEX_TX = 0x0,
+                MODEL_BONE_FLEX_TY = 0x1,
+                MODEL_BONE_FLEX_TZ = 0x2
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class PoseType_t : uint8_t {
+                POSETYPE_STATIC = 0x0,
+                POSETYPE_DYNAMIC = 0x1,
+                POSETYPE_INVALID = 0xFF
+            };
+            // Alignment: 1
+            // Member count: 2
+            enum class CNmRootMotionData__SamplingMode_t : uint8_t {
+                Delta = 0x0,
+                WorldSpace = 0x1
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class NmEventConditionRules_t : uint8_t {
+                LimitSearchToSourceState = 0x0,
+                IgnoreInactiveEvents = 0x1,
+                PreferHighestWeight = 0x2,
+                PreferHighestProgress = 0x3,
+                OperatorOr = 0x4,
+                OperatorAnd = 0x5,
+                SearchOnlyStateEvents = 0x6,
+                SearchOnlyAnimEvents = 0x7,
+                SearchBothStateAndAnimEvents = 0x8
+            };
+            // Alignment: 4
+            // Member count: 36
+            enum class AnimValueSource : uint32_t {
+                MoveHeading = 0x0,
+                MoveSpeed = 0x1,
+                ForwardSpeed = 0x2,
+                StrafeSpeed = 0x3,
+                FacingHeading = 0x4,
+                LookHeading = 0x5,
+                LookPitch = 0x6,
+                LookDistance = 0x7,
+                Parameter = 0x8,
+                WayPointHeading = 0x9,
+                WayPointDistance = 0xA,
+                BoundaryRadius = 0xB,
+                TargetMoveHeading = 0xC,
+                TargetMoveSpeed = 0xD,
+                AccelerationHeading = 0xE,
+                AccelerationSpeed = 0xF,
+                SlopeHeading = 0x10,
+                SlopeAngle = 0x11,
+                SlopePitch = 0x12,
+                SlopeYaw = 0x13,
+                GoalDistance = 0x14,
+                AccelerationLeftRight = 0x15,
+                AccelerationFrontBack = 0x16,
+                RootMotionSpeed = 0x17,
+                RootMotionTurnSpeed = 0x18,
+                MoveHeadingRelativeToLookHeading = 0x19,
+                MaxMoveSpeed = 0x1A,
+                FingerCurl_Thumb = 0x1B,
+                FingerCurl_Index = 0x1C,
+                FingerCurl_Middle = 0x1D,
+                FingerCurl_Ring = 0x1E,
+                FingerCurl_Pinky = 0x1F,
+                FingerSplay_Thumb_Index = 0x20,
+                FingerSplay_Index_Middle = 0x21,
+                FingerSplay_Middle_Ring = 0x22,
+                FingerSplay_Ring_Pinky = 0x23
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class CNmTimeConditionNode__Operator_t : uint8_t {
+                LessThan = 0x0,
+                LessThanEqual = 0x1,
+                GreaterThan = 0x2,
+                GreaterThanEqual = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class RagdollPoseControl : uint32_t {
+                Absolute = 0x0,
+                Relative = 0x1
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class IKSolverType : uint32_t {
+                IKSOLVER_Perlin = 0x0,
+                IKSOLVER_TwoBone = 0x1,
+                IKSOLVER_Fabrik = 0x2,
+                IKSOLVER_DogLeg3Bone = 0x3,
+                IKSOLVER_CCD = 0x4,
+                IKSOLVER_COUNT = 0x5
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class Blend2DMode : uint32_t {
+                Blend2DMode_General = 0x0,
+                Blend2DMode_Directional = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ChoiceChangeMethod : uint32_t {
+                OnReset = 0x0,
+                OnCycleEnd = 0x1,
+                OnResetOrCycleEnd = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ChoiceBlendMethod : uint32_t {
+                SingleBlendTime = 0x0,
+                PerChoiceBlendTimes = 0x1
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t {
+                FLAG0_SHIFT_INTERPENETRATE = 0x0,
+                FLAG0_SHIFT_CONSTRAIN = 0x1,
+                FLAG0_SHIFT_BREAKABLE_FORCE = 0x2,
+                FLAG0_SHIFT_BREAKABLE_TORQUE = 0x3
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class BlendKeyType : uint32_t {
+                BlendKey_UserValue = 0x0,
+                BlendKey_Velocity = 0x1,
+                BlendKey_Distance = 0x2,
+                BlendKey_RemainingDistance = 0x3
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class StateActionBehavior : uint32_t {
+                STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0,
+                STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1,
+                STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2,
+                STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class NmRootMotionBlendMode_t : uint8_t {
+                Blend = 0x0,
+                Additive = 0x1,
+                IgnoreSource = 0x2,
+                IgnoreTarget = 0x3
+            };
+            // Alignment: 1
+            // Member count: 6
+            enum class NmFootPhaseCondition_t : uint8_t {
+                LeftFootDown = 0x0,
+                LeftFootPassing = 0x1,
+                LeftPhase = 0x4,
+                RightFootDown = 0x2,
+                RightFootPassing = 0x3,
+                RightPhase = 0x5
+            };
+            // Alignment: 4
+            // Member count: 22
+            enum class ModelSkeletonData_t__BoneFlags_t : uint32_t {
+                FLAG_NO_BONE_FLAGS = 0x0,
+                FLAG_BONEFLEXDRIVER = 0x4,
+                FLAG_CLOTH = 0x8,
+                FLAG_PHYSICS = 0x10,
+                FLAG_ATTACHMENT = 0x20,
+                FLAG_ANIMATION = 0x40,
+                FLAG_MESH = 0x80,
+                FLAG_HITBOX = 0x100,
+                FLAG_BONE_USED_BY_VERTEX_LOD0 = 0x400,
+                FLAG_BONE_USED_BY_VERTEX_LOD1 = 0x800,
+                FLAG_BONE_USED_BY_VERTEX_LOD2 = 0x1000,
+                FLAG_BONE_USED_BY_VERTEX_LOD3 = 0x2000,
+                FLAG_BONE_USED_BY_VERTEX_LOD4 = 0x4000,
+                FLAG_BONE_USED_BY_VERTEX_LOD5 = 0x8000,
+                FLAG_BONE_USED_BY_VERTEX_LOD6 = 0x10000,
+                FLAG_BONE_USED_BY_VERTEX_LOD7 = 0x20000,
+                FLAG_BONE_MERGE_READ = 0x40000,
+                FLAG_BONE_MERGE_WRITE = 0x80000,
+                FLAG_ALL_BONE_FLAGS = 0xFFFFF,
+                BLEND_PREALIGNED = 0x100000,
+                FLAG_RIGIDLENGTH = 0x200000,
+                FLAG_PROCEDURAL = 0x400000
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class MorphBundleType_t : uint32_t {
+                MORPH_BUNDLE_TYPE_NONE = 0x0,
+                MORPH_BUNDLE_TYPE_POSITION_SPEED = 0x1,
+                MORPH_BUNDLE_TYPE_NORMAL_WRINKLE = 0x2,
+                MORPH_BUNDLE_TYPE_COUNT = 0x3
+            };
+            // Alignment: 1
+            // Member count: 2
+            enum class CNmIDComparisonNode__Comparison_t : uint8_t {
+                Matches = 0x0,
+                DoesntMatch = 0x1
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class NmPoseBlendMode_t : uint8_t {
+                Overlay = 0x0,
+                Additive = 0x1,
+                ModelSpace = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ResetCycleOption : uint32_t {
+                Beginning = 0x0,
+                SameCycleAsSource = 0x1,
+                InverseSourceCycle = 0x2,
+                FixedValue = 0x3,
+                SameTimeAsSource = 0x4
+            };
+            // Alignment: 1
+            // Member count: 6
+            enum class CNmVectorInfoNode__Info_t : uint8_t {
+                X = 0x0,
+                Y = 0x1,
+                Z = 0x2,
+                Length = 0x3,
+                AngleHorizontal = 0x4,
+                AngleVertical = 0x5
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class IKChannelMode : uint32_t {
+                TwoBone = 0x0,
+                TwoBone_Translate = 0x1,
+                OneBone = 0x2,
+                OneBone_Translate = 0x3
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class NmGraphValueType_t : uint8_t {
+                Unknown = 0x0,
+                Bool = 0x1,
+                ID = 0x2,
+                Float = 0x3,
+                Vector = 0x4,
+                Target = 0x5,
+                BoneMask = 0x6,
+                Pose = 0x7,
+                Special = 0x8
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class NmFootPhase_t : uint8_t {
+                LeftFootDown = 0x0,
+                RightFootPassing = 0x1,
+                RightFootDown = 0x2,
+                LeftFootPassing = 0x3
+            };
+            // Alignment: 4
+            // Member count: 8
+            enum class CNmTargetInfoNode__Info_t : uint32_t {
+                AngleHorizontal = 0x0,
+                AngleVertical = 0x1,
+                Distance = 0x2,
+                DistanceHorizontalOnly = 0x3,
+                DistanceVerticalOnly = 0x4,
+                DeltaOrientationX = 0x5,
+                DeltaOrientationY = 0x6,
+                DeltaOrientationZ = 0x7
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class FootstepLandedFootSoundType_t : uint32_t {
+                FOOTSOUND_Left = 0x0,
+                FOOTSOUND_Right = 0x1,
+                FOOTSOUND_UseOverrideSound = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class FootLockSubVisualization : uint32_t {
+                FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0,
+                FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class NmFrameSnapEventMode_t : uint32_t {
+                Floor = 0x0,
+                Round = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class FootPinningTimingSource : uint32_t {
+                FootMotion = 0x0,
+                Tag = 0x1,
+                Parameter = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class DampingSpeedFunction : uint32_t {
+                NoDamping = 0x0,
+                Constant = 0x1,
+                Spring = 0x2
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class AnimationProcessingType_t : uint32_t {
+                ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0,
+                ANIMATION_PROCESSING_CLIENT_SIMULATION = 0x1,
+                ANIMATION_PROCESSING_CLIENT_PREDICTION = 0x2,
+                ANIMATION_PROCESSING_CLIENT_INTERPOLATION = 0x3,
+                ANIMATION_PROCESSING_CLIENT_RENDER = 0x4,
+                ANIMATION_PROCESSING_MAX = 0x5
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class JiggleBoneSimSpace : uint32_t {
+                SimSpace_Local = 0x0,
+                SimSpace_Model = 0x1,
+                SimSpace_World = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class StanceOverrideMode : uint32_t {
+                Sequence = 0x0,
+                Node = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class IkEndEffectorType : uint32_t {
+                IkEndEffector_Attachment = 0x0,
+                IkEndEffector_Bone = 0x1
+            };
+            // Alignment: 2
+            // Member count: 3
+            enum class AnimScriptType : uint16_t {
+                ANIMSCRIPT_TYPE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                ANIMSCRIPT_FUSE_GENERAL = 0x0,
+                ANIMSCRIPT_FUSE_STATEMACHINE = 0x1
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class CNmTimeConditionNode__ComparisonType_t : uint8_t {
+                PercentageThroughState = 0x0,
+                PercentageThroughSyncEvent = 0x1,
+                ElapsedTime = 0x2,
+                LoopCount = 0x3
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class SeqPoseSetting_t : uint32_t {
+                SEQ_POSE_SETTING_CONSTANT = 0x0,
+                SEQ_POSE_SETTING_ROTATION = 0x1,
+                SEQ_POSE_SETTING_POSITION = 0x2,
+                SEQ_POSE_SETTING_VELOCITY = 0x3
+            };
+            // Alignment: 4
+            // Member count: 13
+            enum class AnimParamButton_t : uint32_t {
+                ANIMPARAM_BUTTON_NONE = 0x0,
+                ANIMPARAM_BUTTON_DPAD_UP = 0x1,
+                ANIMPARAM_BUTTON_DPAD_RIGHT = 0x2,
+                ANIMPARAM_BUTTON_DPAD_DOWN = 0x3,
+                ANIMPARAM_BUTTON_DPAD_LEFT = 0x4,
+                ANIMPARAM_BUTTON_A = 0x5,
+                ANIMPARAM_BUTTON_B = 0x6,
+                ANIMPARAM_BUTTON_X = 0x7,
+                ANIMPARAM_BUTTON_Y = 0x8,
+                ANIMPARAM_BUTTON_LEFT_SHOULDER = 0x9,
+                ANIMPARAM_BUTTON_RIGHT_SHOULDER = 0xA,
+                ANIMPARAM_BUTTON_LTRIGGER = 0xB,
+                ANIMPARAM_BUTTON_RTRIGGER = 0xC
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class SelectorTagBehavior_t : uint32_t {
+                SelectorTagBehavior_OnWhileCurrent = 0x0,
+                SelectorTagBehavior_OffWhenFinished = 0x1,
+                SelectorTagBehavior_OffBeforeFinished = 0x2
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class CNmBoneMask__WeightInfo_t : uint8_t {
+                Zero = 0x0,
+                Mixed = 0x1,
+                One = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class HandshakeTagType_t : uint32_t {
+                eInvalid = 0xFFFFFFFFFFFFFFFF,
+                eTask = 0x0,
+                eMovement = 0x1,
+                eCount = 0x2
+            };
+            // Alignment: 4
+            // Member count: 18
+            enum class ParticleAttachment_t : uint32_t {
+                PATTACH_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PATTACH_ABSORIGIN = 0x0,
+                PATTACH_ABSORIGIN_FOLLOW = 0x1,
+                PATTACH_CUSTOMORIGIN = 0x2,
+                PATTACH_CUSTOMORIGIN_FOLLOW = 0x3,
+                PATTACH_POINT = 0x4,
+                PATTACH_POINT_FOLLOW = 0x5,
+                PATTACH_EYES_FOLLOW = 0x6,
+                PATTACH_OVERHEAD_FOLLOW = 0x7,
+                PATTACH_WORLDORIGIN = 0x8,
+                PATTACH_ROOTBONE_FOLLOW = 0x9,
+                PATTACH_RENDERORIGIN_FOLLOW = 0xA,
+                PATTACH_MAIN_VIEW = 0xB,
+                PATTACH_WATERWAKE = 0xC,
+                PATTACH_CENTER_FOLLOW = 0xD,
+                PATTACH_CUSTOM_GAME_STATE_1 = 0xE,
+                PATTACH_HEALTHBAR = 0xF,
+                MAX_PATTACH_TYPES = 0x10
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class FieldNetworkOption : uint32_t {
+                Auto = 0x0,
+                ForceEnable = 0x1,
+                ForceDisable = 0x2
+            };
+            // Alignment: 1
+            // Member count: 8
+            enum class CNmTransitionNode__TransitionOptions_t : uint8_t {
+                None = 0x0,
+                ClampDuration = 0x1,
+                Synchronized = 0x2,
+                MatchSourceTime = 0x3,
+                MatchSyncEventIndex = 0x4,
+                MatchSyncEventID = 0x5,
+                MatchSyncEventPercentage = 0x6,
+                PreferClosestSyncEventID = 0x7
+            };
+            // Alignment: 1
+            // Member count: 5
+            enum class CNmFloatComparisonNode__Comparison_t : uint8_t {
+                GreaterThanEqual = 0x0,
+                LessThanEqual = 0x1,
+                NearEqual = 0x2,
+                GreaterThan = 0x3,
+                LessThan = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class VPhysXJoint_t__Flags_t : uint32_t {
+                JOINT_FLAGS_NONE = 0x0,
+                JOINT_FLAGS_BODY1_FIXED = 0x1,
+                JOINT_FLAGS_USE_BLOCK_SOLVER = 0x2
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class VelocityMetricMode : uint8_t {
+                DirectionOnly = 0x0,
+                MagnitudeOnly = 0x1,
+                DirectionAndMagnitude = 0x2
+            };
+            // Alignment: 1
+            // Member count: 5
+            enum class FacingMode : uint8_t {
+                FacingMode_Invalid = 0x0,
+                FacingMode_Manual = 0x1,
+                FacingMode_Path = 0x2,
+                FacingMode_LookTarget = 0x3,
+                FacingMode_ManualPosition = 0x4
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class AimMatrixBlendMode : uint32_t {
+                AimMatrixBlendMode_None = 0x0,
+                AimMatrixBlendMode_Additive = 0x1,
+                AimMatrixBlendMode_ModelSpaceAdditive = 0x2,
+                AimMatrixBlendMode_BoneMask = 0x3
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class AnimationSnapshotType_t : uint32_t {
+                ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0,
+                ANIMATION_SNAPSHOT_CLIENT_SIMULATION = 0x1,
+                ANIMATION_SNAPSHOT_CLIENT_PREDICTION = 0x2,
+                ANIMATION_SNAPSHOT_CLIENT_INTERPOLATION = 0x3,
+                ANIMATION_SNAPSHOT_CLIENT_RENDER = 0x4,
+                ANIMATION_SNAPSHOT_FINAL_COMPOSITE = 0x5,
+                ANIMATION_SNAPSHOT_MAX = 0x6
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class NmTargetWarpRule_t : uint8_t {
+                WarpXY = 0x0,
+                WarpZ = 0x1,
+                WarpXYZ = 0x2,
+                RotationOnly = 0x3
+            };
+            // Alignment: 4
+            // Member count: 8
+            enum class FootFallTagFoot_t : uint32_t {
+                FOOT1 = 0x0,
+                FOOT2 = 0x1,
+                FOOT3 = 0x2,
+                FOOT4 = 0x3,
+                FOOT5 = 0x4,
+                FOOT6 = 0x5,
+                FOOT7 = 0x6,
+                FOOT8 = 0x7
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ChoiceMethod : uint32_t {
+                WeightedRandom = 0x0,
+                WeightedRandomNoRepeat = 0x1,
+                Iterate = 0x2,
+                IterateRandom = 0x3
+            };
+            // Alignment: 4
+            // Member count: 14
+            enum class AnimVectorSource : uint32_t {
+                MoveDirection = 0x0,
+                FacingPosition = 0x1,
+                LookDirection = 0x2,
+                VectorParameter = 0x3,
+                WayPointDirection = 0x4,
+                Acceleration = 0x5,
+                SlopeNormal = 0x6,
+                SlopeNormal_WorldSpace = 0x7,
+                LookTarget = 0x8,
+                LookTarget_WorldSpace = 0x9,
+                WayPointPosition = 0xA,
+                GoalPosition = 0xB,
+                RootMotionVelocity = 0xC,
+                ManualTarget_WorldSpace = 0xD
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class IkTargetType : uint32_t {
+                IkTarget_Attachment = 0x0,
+                IkTarget_Bone = 0x1,
+                IkTarget_Parameter_ModelSpace = 0x2,
+                IkTarget_Parameter_WorldSpace = 0x3
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class BoneMaskBlendSpace : uint32_t {
+                BlendSpace_Parent = 0x0,
+                BlendSpace_Model = 0x1,
+                BlendSpace_Model_RotationOnly = 0x2,
+                BlendSpace_Model_TranslationOnly = 0x3
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ModelConfigAttachmentType_t : uint32_t {
+                MODEL_CONFIG_ATTACHMENT_INVALID = 0xFFFFFFFFFFFFFFFF,
+                MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT = 0x0,
+                MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE = 0x1,
+                MODEL_CONFIG_ATTACHMENT_BONEMERGE = 0x2,
+                MODEL_CONFIG_ATTACHMENT_COUNT = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class BinaryNodeChildOption : uint32_t {
+                Child1 = 0x0,
+                Child2 = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class JumpCorrectionMethod : uint32_t {
+                ScaleMotion = 0x0,
+                AddCorrectionDelta = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class MoodType_t : uint32_t {
+                eMoodType_Head = 0x0,
+                eMoodType_Body = 0x1
+            };
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimFrameBlockAnim {
+                constexpr std::ptrdiff_t m_nStartFrame = 0x0; // int32
+                constexpr std::ptrdiff_t m_nEndFrame = 0x4; // int32
+                constexpr std::ptrdiff_t m_segmentIndexArray = 0x8; // CUtlVector<int32>
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CZeroPoseUpdateNode {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSlowDownOnSlopesUpdateNode {
+                constexpr std::ptrdiff_t m_flSlowDownStrength = 0x68; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace COrientationWarpUpdateNode {
+                constexpr std::ptrdiff_t m_hFacingPositionParameter = 0x6C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_turnDamping = 0x70; // CAnimInputDamping
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimParameterBase {
+                constexpr std::ptrdiff_t m_name = 0x18; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_sComment = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_group = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_id = 0x30; // AnimParamID
+                constexpr std::ptrdiff_t m_componentName = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_bNetworkingRequested = 0x68; // bool
+                constexpr std::ptrdiff_t m_bIsReferenced = 0x69; // bool
+            }
+            // Parent: CAnimTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CSequenceFinishedAnimTag {
+                constexpr std::ptrdiff_t m_sequenceName = 0x58; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSceneObjectData {
+                constexpr std::ptrdiff_t m_vMinBounds = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vMaxBounds = 0xC; // Vector
+                constexpr std::ptrdiff_t m_drawCalls = 0x18; // CUtlLeanVector<CMaterialDrawDescriptor>
+                constexpr std::ptrdiff_t m_drawBounds = 0x28; // CUtlLeanVector<AABB_t>
+                constexpr std::ptrdiff_t m_meshlets = 0x38; // CUtlLeanVector<CMeshletDescriptor>
+                constexpr std::ptrdiff_t m_vTintColor = 0x48; // Vector4D
+            }
+            // Parent: CCycleBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootCycle {
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CInputStreamUpdateNode {
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CIntAnimParameter {
+                constexpr std::ptrdiff_t m_defaultValue = 0x80; // int32
+                constexpr std::ptrdiff_t m_minValue = 0x84; // int32
+                constexpr std::ptrdiff_t m_maxValue = 0x88; // int32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmParameterizedBlendNode__CDefinition {
+                constexpr std::ptrdiff_t m_sourceNodeIndices = 0x10; // CUtlVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_nInputParameterValueNodeIdx = 0x38; // int16
+                constexpr std::ptrdiff_t m_bAllowLooping = 0x3A; // bool
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFrameSnapEvent {
+                constexpr std::ptrdiff_t m_frameSnapMode = 0x18; // NmFrameSnapEventMode_t
+            }
+            // Parent: None
+            // Field count: 0
+            namespace CNmTask {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimNodePath {
+                constexpr std::ptrdiff_t m_path = 0x0; // AnimNodeID[11]
+                constexpr std::ptrdiff_t m_nCount = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimNodeOutputID {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSyncTrack {
+                constexpr std::ptrdiff_t m_syncEvents = 0x0; // CUtlLeanVectorFixedGrowable<CNmSyncTrack::Event_t,10>
+                constexpr std::ptrdiff_t m_nStartEventOffset = 0xA8; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqBoneMaskList {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_nLocalBoneArray = 0x10; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_flBoneWeightArray = 0x28; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_flDefaultMorphCtrlWeight = 0x40; // float32
+                constexpr std::ptrdiff_t m_morphCtrlWeightArray = 0x48; // CUtlVector<CUtlPair<CBufferString,float32>>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimEncodedFrames {
+                constexpr std::ptrdiff_t m_fileName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_nFrames = 0x10; // int32
+                constexpr std::ptrdiff_t m_nFramesPerBlock = 0x14; // int32
+                constexpr std::ptrdiff_t m_frameblockArray = 0x18; // CUtlVector<CAnimFrameBlockAnim>
+                constexpr std::ptrdiff_t m_usageDifferences = 0x30; // CAnimEncodeDifference
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SampleCode {
+                constexpr std::ptrdiff_t m_subCode = 0x0; // uint8[8]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCachedPose {
+                constexpr std::ptrdiff_t m_transforms = 0x8; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_morphWeights = 0x20; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_hSequence = 0x38; // HSequence
+                constexpr std::ptrdiff_t m_flCycle = 0x3C; // float32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTransitionEventConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_requireRuleID = 0x10; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x18; // CNmBitFlags
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x1C; // int16
+                constexpr std::ptrdiff_t m_ruleCondition = 0x1E; // NmTransitionRuleCondition_t
+            }
+            // Parent: CAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CTaskStatusAnimTag {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionGraphConfig {
+                constexpr std::ptrdiff_t m_paramValues = 0x0; // float32[4]
+                constexpr std::ptrdiff_t m_flDuration = 0x10; // float32
+                constexpr std::ptrdiff_t m_nMotionIndex = 0x14; // MotionIndex
+                constexpr std::ptrdiff_t m_nSampleStart = 0x18; // int32
+                constexpr std::ptrdiff_t m_nSampleCount = 0x1C; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionSearchNode {
+                constexpr std::ptrdiff_t m_children = 0x0; // CUtlVector<CMotionSearchNode*>
+                constexpr std::ptrdiff_t m_quantizer = 0x18; // CVectorQuantizer
+                constexpr std::ptrdiff_t m_sampleCodes = 0x38; // CUtlVector<CUtlVector<SampleCode>>
+                constexpr std::ptrdiff_t m_sampleIndices = 0x50; // CUtlVector<CUtlVector<int32>>
+                constexpr std::ptrdiff_t m_selectableSamples = 0x68; // CUtlVector<int32>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimActivity {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_nActivity = 0x10; // int32
+                constexpr std::ptrdiff_t m_nFlags = 0x14; // int32
+                constexpr std::ptrdiff_t m_nWeight = 0x18; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimScriptManager {
+                constexpr std::ptrdiff_t m_scriptInfo = 0x10; // CUtlVector<ScriptInfo_t>
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AnimationDecodeDebugDumpElement_t {
+                constexpr std::ptrdiff_t m_nEntityIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_modelName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_poseParams = 0x10; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_decodeOps = 0x28; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_internalOps = 0x40; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_decodedAnims = 0x58; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ConfigIndex {
+                constexpr std::ptrdiff_t m_nGroup = 0x0; // uint16
+                constexpr std::ptrdiff_t m_nConfig = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXCollisionAttributes_t {
+                constexpr std::ptrdiff_t m_CollisionGroup = 0x0; // uint32
+                constexpr std::ptrdiff_t m_InteractAs = 0x8; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_InteractWith = 0x20; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_InteractExclude = 0x38; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_CollisionGroupString = 0x50; // CUtlString
+                constexpr std::ptrdiff_t m_InteractAsStrings = 0x58; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_InteractWithStrings = 0x70; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_InteractExcludeStrings = 0x88; // CUtlVector<CUtlString>
+            }
+            // Parent: CSequenceUpdateNodeBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSequenceUpdateNode {
+                constexpr std::ptrdiff_t m_hSequence = 0x70; // HSequence
+                constexpr std::ptrdiff_t m_duration = 0x74; // float32
+                constexpr std::ptrdiff_t m_paramSpans = 0x78; // CParamSpanUpdater
+                constexpr std::ptrdiff_t m_tags = 0x90; // CUtlVector<TagSpan_t>
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmPassthroughNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmGraphDefinition__ExternalGraphSlot_t {
+                constexpr std::ptrdiff_t m_nNodeIdx = 0x0; // int16
+                constexpr std::ptrdiff_t m_slotID = 0x8; // CGlobalSymbol
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAimCameraUpdateNode {
+                constexpr std::ptrdiff_t m_hParameterPosition = 0x68; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterOrientation = 0x6A; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterSpineRotationWeight = 0x6C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterPelvisOffset = 0x6E; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterUseIK = 0x70; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterCameraOnly = 0x72; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterWeaponDepenetrationDistance = 0x74; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterWeaponDepenetrationDelta = 0x76; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterCameraClearanceDistance = 0x78; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_opFixedSettings = 0x80; // AimCameraOpFixedSettings_t
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqSeqDescFlag {
+                constexpr std::ptrdiff_t m_bLooping = 0x0; // bool
+                constexpr std::ptrdiff_t m_bSnap = 0x1; // bool
+                constexpr std::ptrdiff_t m_bAutoplay = 0x2; // bool
+                constexpr std::ptrdiff_t m_bPost = 0x3; // bool
+                constexpr std::ptrdiff_t m_bHidden = 0x4; // bool
+                constexpr std::ptrdiff_t m_bMulti = 0x5; // bool
+                constexpr std::ptrdiff_t m_bLegacyDelta = 0x6; // bool
+                constexpr std::ptrdiff_t m_bLegacyWorldspace = 0x7; // bool
+                constexpr std::ptrdiff_t m_bLegacyCyclepose = 0x8; // bool
+                constexpr std::ptrdiff_t m_bLegacyRealtime = 0x9; // bool
+                constexpr std::ptrdiff_t m_bModelDoc = 0xA; // bool
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PermModelInfo_t {
+                constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32
+                constexpr std::ptrdiff_t m_vHullMin = 0x4; // Vector
+                constexpr std::ptrdiff_t m_vHullMax = 0x10; // Vector
+                constexpr std::ptrdiff_t m_vViewMin = 0x1C; // Vector
+                constexpr std::ptrdiff_t m_vViewMax = 0x28; // Vector
+                constexpr std::ptrdiff_t m_flMass = 0x34; // float32
+                constexpr std::ptrdiff_t m_vEyePosition = 0x38; // Vector
+                constexpr std::ptrdiff_t m_flMaxEyeDeflection = 0x44; // float32
+                constexpr std::ptrdiff_t m_sSurfaceProperty = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_keyValueText = 0x50; // CUtlString
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace StanceInfo_t {
+                constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector
+                constexpr std::ptrdiff_t m_flDirection = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace IKBoneNameAndIndex_t {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStanceScaleUpdateNode {
+                constexpr std::ptrdiff_t m_hParam = 0x68; // CAnimParamHandle
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBoneMaskBlendNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceMaskNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nTargetMaskNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_nBlendWeightValueNodeIdx = 0x14; // int16
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIDEventNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+                constexpr std::ptrdiff_t m_defaultValue = 0x18; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace HitReactFixedSettings_t {
+                constexpr std::ptrdiff_t m_nWeightListIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_nEffectedBoneCount = 0x4; // int32
+                constexpr std::ptrdiff_t m_flMaxImpactForce = 0x8; // float32
+                constexpr std::ptrdiff_t m_flMinImpactForce = 0xC; // float32
+                constexpr std::ptrdiff_t m_flWhipImpactScale = 0x10; // float32
+                constexpr std::ptrdiff_t m_flCounterRotationScale = 0x14; // float32
+                constexpr std::ptrdiff_t m_flDistanceFadeScale = 0x18; // float32
+                constexpr std::ptrdiff_t m_flPropagationScale = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flWhipDelay = 0x20; // float32
+                constexpr std::ptrdiff_t m_flSpringStrength = 0x24; // float32
+                constexpr std::ptrdiff_t m_flWhipSpringStrength = 0x28; // float32
+                constexpr std::ptrdiff_t m_flMaxAngleRadians = 0x2C; // float32
+                constexpr std::ptrdiff_t m_nHipBoneIndex = 0x30; // int32
+                constexpr std::ptrdiff_t m_flHipBoneTranslationScale = 0x34; // float32
+                constexpr std::ptrdiff_t m_flHipDipSpringStrength = 0x38; // float32
+                constexpr std::ptrdiff_t m_flHipDipImpactScale = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flHipDipDelay = 0x40; // float32
+            }
+            // Parent: CNmGraphNode__CDefinition
+            // Field count: 0
+            namespace CNmPoseNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimTagBase {
+                constexpr std::ptrdiff_t m_name = 0x18; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_sComment = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_group = 0x28; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_tagID = 0x30; // AnimTagID
+                constexpr std::ptrdiff_t m_bIsReferenced = 0x48; // bool
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionGraph {
+                constexpr std::ptrdiff_t m_paramSpans = 0x10; // CParamSpanUpdater
+                constexpr std::ptrdiff_t m_tags = 0x28; // CUtlVector<TagSpan_t>
+                constexpr std::ptrdiff_t m_pRootNode = 0x40; // CSmartPtr<CMotionNode>
+                constexpr std::ptrdiff_t m_nParameterCount = 0x48; // int32
+                constexpr std::ptrdiff_t m_nConfigStartIndex = 0x4C; // int32
+                constexpr std::ptrdiff_t m_nConfigCount = 0x50; // int32
+                constexpr std::ptrdiff_t m_bLoop = 0x54; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVectorInfoNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_desiredInfo = 0x12; // CNmVectorInfoNode::Info_t
+            }
+            // Parent: AnimationSnapshotBase_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AnimationSnapshot_t {
+                constexpr std::ptrdiff_t m_nEntIndex = 0x110; // int32
+                constexpr std::ptrdiff_t m_modelName = 0x118; // CUtlString
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            namespace CNmBlendTask {
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            namespace CNmVectorValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqTransition {
+                constexpr std::ptrdiff_t m_flFadeInTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_flFadeOutTime = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimGraphSettingsGroup {
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVirtualParameterTargetNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimGraphDebugReplay {
+                constexpr std::ptrdiff_t m_animGraphFileName = 0x40; // CUtlString
+                constexpr std::ptrdiff_t m_frameList = 0x48; // CUtlVector<CSmartPtr<CAnimReplayFrame>>
+                constexpr std::ptrdiff_t m_startIndex = 0x60; // int32
+                constexpr std::ptrdiff_t m_writeIndex = 0x64; // int32
+                constexpr std::ptrdiff_t m_frameCount = 0x68; // int32
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CVectorAnimParameter {
+                constexpr std::ptrdiff_t m_defaultValue = 0x80; // Vector
+                constexpr std::ptrdiff_t m_bInterpolate = 0x8C; // bool
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            namespace CNmCachedPoseReadTask {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateMachineNode__StateDefinition_t {
+                constexpr std::ptrdiff_t m_nStateNodeIdx = 0x0; // int16
+                constexpr std::ptrdiff_t m_nEntryConditionNodeIdx = 0x2; // int16
+                constexpr std::ptrdiff_t m_transitionDefinitions = 0x8; // CUtlLeanVectorFixedGrowable<CNmStateMachineNode::TransitionDefinition_t,5>
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStanceOverrideUpdateNode {
+                constexpr std::ptrdiff_t m_footStanceInfo = 0x68; // CUtlVector<StanceInfo_t>
+                constexpr std::ptrdiff_t m_pStanceSourceNode = 0x80; // CAnimUpdateNodeRef
+                constexpr std::ptrdiff_t m_hParameter = 0x90; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_eMode = 0x94; // StanceOverrideMode
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace LookAtBone_t {
+                constexpr std::ptrdiff_t m_index = 0x0; // int32
+                constexpr std::ptrdiff_t m_weight = 0x4; // float32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTransitionNode__CDefinition {
+                constexpr std::ptrdiff_t m_nTargetStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nDurationOverrideNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_syncEventOffsetOverrideNodeIdx = 0x14; // int16
+                constexpr std::ptrdiff_t m_startBoneMaskNodeIdx = 0x16; // int16
+                constexpr std::ptrdiff_t m_flDuration = 0x18; // float32
+                constexpr std::ptrdiff_t m_boneMaskBlendInTimePercentage = 0x1C; // NmPercent_t
+                constexpr std::ptrdiff_t m_syncEventOffset = 0x20; // float32
+                constexpr std::ptrdiff_t m_transitionOptions = 0x24; // CNmBitFlags
+                constexpr std::ptrdiff_t m_targetSyncIDNodeIdx = 0x28; // int16
+                constexpr std::ptrdiff_t m_blendWeightEasing = 0x2A; // NmEasingOperation_t
+                constexpr std::ptrdiff_t m_rootMotionBlend = 0x2B; // NmRootMotionBlendMode_t
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatEaseNode__CDefinition {
+                constexpr std::ptrdiff_t m_flEaseTime = 0x10; // float32
+                constexpr std::ptrdiff_t m_flStartValue = 0x14; // float32
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x18; // int16
+                constexpr std::ptrdiff_t m_easingOp = 0x1A; // NmEasingOperation_t
+                constexpr std::ptrdiff_t m_bUseStartValue = 0x1B; // bool
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimEncodeDifference {
+                constexpr std::ptrdiff_t m_boneArray = 0x0; // CUtlVector<CAnimBoneDifference>
+                constexpr std::ptrdiff_t m_morphArray = 0x18; // CUtlVector<CAnimMorphDifference>
+                constexpr std::ptrdiff_t m_userArray = 0x30; // CUtlVector<CAnimUserDifference>
+                constexpr std::ptrdiff_t m_bHasRotationBitArray = 0x48; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_bHasMovementBitArray = 0x60; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_bHasMorphBitArray = 0x78; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_bHasUserBitArray = 0x90; // CUtlVector<uint8>
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRootUpdateNode {
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTargetOffsetNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_bIsBoneSpaceOffset = 0x12; // bool
+                constexpr std::ptrdiff_t m_rotationOffset = 0x20; // Quaternion
+                constexpr std::ptrdiff_t m_translationOffset = 0x30; // Vector
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionGraphUpdateNode {
+                constexpr std::ptrdiff_t m_pMotionGraph = 0x58; // CSmartPtr<CMotionGraph>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatAngleMathNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_operation = 0x12; // CNmFloatAngleMathNode::Operation_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimParamHandle {
+                constexpr std::ptrdiff_t m_type = 0x0; // AnimParamType_t
+                constexpr std::ptrdiff_t m_index = 0x1; // uint8
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace WeightList {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_weights = 0x8; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MotionIndex {
+                constexpr std::ptrdiff_t m_nGroup = 0x0; // uint16
+                constexpr std::ptrdiff_t m_nMotion = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FollowAttachmentSettings_t {
+                constexpr std::ptrdiff_t m_attachment = 0x0; // CAnimAttachment
+                constexpr std::ptrdiff_t m_boneIndex = 0x80; // int32
+                constexpr std::ptrdiff_t m_bMatchTranslation = 0x84; // bool
+                constexpr std::ptrdiff_t m_bMatchRotation = 0x85; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimNodeID {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmClipSelectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_conditionNodeIndices = 0x28; // CUtlLeanVectorFixedGrowable<int16,5>
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CLookComponentUpdater {
+                constexpr std::ptrdiff_t m_hLookHeading = 0x34; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hLookHeadingVelocity = 0x36; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hLookPitch = 0x38; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hLookDistance = 0x3A; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hLookDirection = 0x3C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hLookTarget = 0x3E; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hLookTargetWorldSpace = 0x40; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_bNetworkLookTarget = 0x42; // bool
+            }
+            // Parent: CAnimGraphSettingsGroup
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CAnimGraphNetworkSettings {
+                constexpr std::ptrdiff_t m_bNetworkingEnabled = 0x20; // bool
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSingleFrameUpdateNode {
+                constexpr std::ptrdiff_t m_actions = 0x58; // CUtlVector<CSmartPtr<CAnimActionUpdater>>
+                constexpr std::ptrdiff_t m_hPoseCacheHandle = 0x70; // CPoseHandle
+                constexpr std::ptrdiff_t m_hSequence = 0x74; // HSequence
+                constexpr std::ptrdiff_t m_flCycle = 0x78; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBlockSelectionMetricEvaluator {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigList {
+                constexpr std::ptrdiff_t m_bHideMaterialGroupInTools = 0x0; // bool
+                constexpr std::ptrdiff_t m_bHideRenderColorInTools = 0x1; // bool
+                constexpr std::ptrdiff_t m_Configs = 0x8; // CUtlVector<CModelConfig*>
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqAutoLayerFlag {
+                constexpr std::ptrdiff_t m_bPost = 0x0; // bool
+                constexpr std::ptrdiff_t m_bSpline = 0x1; // bool
+                constexpr std::ptrdiff_t m_bXFade = 0x2; // bool
+                constexpr std::ptrdiff_t m_bNoBlend = 0x3; // bool
+                constexpr std::ptrdiff_t m_bLocal = 0x4; // bool
+                constexpr std::ptrdiff_t m_bPose = 0x5; // bool
+                constexpr std::ptrdiff_t m_bFetchFrame = 0x6; // bool
+                constexpr std::ptrdiff_t m_bSubtract = 0x7; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimStateID {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIDEventConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+                constexpr std::ptrdiff_t m_eventIDs = 0x18; // CUtlVectorFixedGrowable<CGlobalSymbol,5>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ModelBoneFlexDriver_t {
+                constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_boneNameToken = 0x8; // uint32
+                constexpr std::ptrdiff_t m_controls = 0x10; // CUtlVector<ModelBoneFlexDriverControl_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMorphData {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_morphRectDatas = 0x8; // CUtlVector<CMorphRectData>
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootPinningUpdateNode {
+                constexpr std::ptrdiff_t m_poseOpFixedData = 0x70; // FootPinningPoseOpFixedData_t
+                constexpr std::ptrdiff_t m_eTimingSource = 0xA0; // FootPinningTimingSource
+                constexpr std::ptrdiff_t m_params = 0xA8; // CUtlVector<CAnimParamHandle>
+                constexpr std::ptrdiff_t m_bResetChild = 0xC0; // bool
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqPoseSetting {
+                constexpr std::ptrdiff_t m_sPoseParameter = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_sAttachment = 0x10; // CBufferString
+                constexpr std::ptrdiff_t m_sReferenceSequence = 0x20; // CBufferString
+                constexpr std::ptrdiff_t m_flValue = 0x30; // float32
+                constexpr std::ptrdiff_t m_bX = 0x34; // bool
+                constexpr std::ptrdiff_t m_bY = 0x35; // bool
+                constexpr std::ptrdiff_t m_bZ = 0x36; // bool
+                constexpr std::ptrdiff_t m_eType = 0x38; // int32
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVirtualParameterFloatNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAttachment {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_influenceNames = 0x8; // CUtlString[3]
+                constexpr std::ptrdiff_t m_vInfluenceRotations = 0x20; // Quaternion[3]
+                constexpr std::ptrdiff_t m_vInfluenceOffsets = 0x50; // Vector[3]
+                constexpr std::ptrdiff_t m_influenceWeights = 0x74; // float32[3]
+                constexpr std::ptrdiff_t m_bInfluenceRootTransform = 0x80; // bool[3]
+                constexpr std::ptrdiff_t m_nInfluences = 0x83; // uint8
+                constexpr std::ptrdiff_t m_bIgnoreRotation = 0x84; // bool
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSequenceUpdateNodeBase {
+                constexpr std::ptrdiff_t m_playbackSpeed = 0x64; // float32
+                constexpr std::ptrdiff_t m_bLoop = 0x68; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDrawCullingData {
+                constexpr std::ptrdiff_t m_vConeApex = 0x0; // Vector
+                constexpr std::ptrdiff_t m_ConeAxis = 0xC; // int8[3]
+                constexpr std::ptrdiff_t m_ConeCutoff = 0xF; // int8
+            }
+            // Parent: None
+            // Field count: 27
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXJoint_t {
+                constexpr std::ptrdiff_t m_nType = 0x0; // uint16
+                constexpr std::ptrdiff_t m_nBody1 = 0x2; // uint16
+                constexpr std::ptrdiff_t m_nBody2 = 0x4; // uint16
+                constexpr std::ptrdiff_t m_nFlags = 0x6; // uint16
+                constexpr std::ptrdiff_t m_Frame1 = 0x10; // CTransform
+                constexpr std::ptrdiff_t m_Frame2 = 0x30; // CTransform
+                constexpr std::ptrdiff_t m_bEnableCollision = 0x50; // bool
+                constexpr std::ptrdiff_t m_bEnableLinearLimit = 0x51; // bool
+                constexpr std::ptrdiff_t m_LinearLimit = 0x54; // VPhysXRange_t
+                constexpr std::ptrdiff_t m_bEnableLinearMotor = 0x5C; // bool
+                constexpr std::ptrdiff_t m_vLinearTargetVelocity = 0x60; // Vector
+                constexpr std::ptrdiff_t m_flMaxForce = 0x6C; // float32
+                constexpr std::ptrdiff_t m_bEnableSwingLimit = 0x70; // bool
+                constexpr std::ptrdiff_t m_SwingLimit = 0x74; // VPhysXRange_t
+                constexpr std::ptrdiff_t m_bEnableTwistLimit = 0x7C; // bool
+                constexpr std::ptrdiff_t m_TwistLimit = 0x80; // VPhysXRange_t
+                constexpr std::ptrdiff_t m_bEnableAngularMotor = 0x88; // bool
+                constexpr std::ptrdiff_t m_vAngularTargetVelocity = 0x8C; // Vector
+                constexpr std::ptrdiff_t m_flMaxTorque = 0x98; // float32
+                constexpr std::ptrdiff_t m_flLinearFrequency = 0x9C; // float32
+                constexpr std::ptrdiff_t m_flLinearDampingRatio = 0xA0; // float32
+                constexpr std::ptrdiff_t m_flAngularFrequency = 0xA4; // float32
+                constexpr std::ptrdiff_t m_flAngularDampingRatio = 0xA8; // float32
+                constexpr std::ptrdiff_t m_flFriction = 0xAC; // float32
+                constexpr std::ptrdiff_t m_flElasticity = 0xB0; // float32
+                constexpr std::ptrdiff_t m_flElasticDamping = 0xB4; // float32
+                constexpr std::ptrdiff_t m_flPlasticity = 0xB8; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStateNodeTransitionData {
+                constexpr std::ptrdiff_t m_curve = 0x0; // CBlendCurve
+                constexpr std::ptrdiff_t m_blendDuration = 0x8; // CAnimValue<float32>
+                constexpr std::ptrdiff_t m_resetCycleValue = 0x10; // CAnimValue<float32>
+                constexpr std::ptrdiff_t m_bReset = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_resetCycleOption = 0x0; // bitfield:3
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTimeRemainingMetricEvaluator {
+                constexpr std::ptrdiff_t m_bMatchByTimeRemaining = 0x50; // bool
+                constexpr std::ptrdiff_t m_flMaxTimeRemaining = 0x54; // float32
+                constexpr std::ptrdiff_t m_bFilterByTimeRemaining = 0x58; // bool
+                constexpr std::ptrdiff_t m_flMinTimeRemaining = 0x5C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement {
+                constexpr std::ptrdiff_t m_ElementName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_NestedElements = 0x10; // CUtlVector<CModelConfigElement*>
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmControlParameterVectorNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FootFixedSettings {
+                constexpr std::ptrdiff_t m_traceSettings = 0x0; // TraceSettings_t
+                constexpr std::ptrdiff_t m_vFootBaseBindPosePositionMS = 0x10; // VectorAligned
+                constexpr std::ptrdiff_t m_flFootBaseLength = 0x20; // float32
+                constexpr std::ptrdiff_t m_flMaxRotationLeft = 0x24; // float32
+                constexpr std::ptrdiff_t m_flMaxRotationRight = 0x28; // float32
+                constexpr std::ptrdiff_t m_footstepLandedTagIndex = 0x2C; // int32
+                constexpr std::ptrdiff_t m_bEnableTracing = 0x30; // bool
+                constexpr std::ptrdiff_t m_flTraceAngleBlend = 0x34; // float32
+                constexpr std::ptrdiff_t m_nDisableTagIndex = 0x38; // int32
+                constexpr std::ptrdiff_t m_nFootIndex = 0x3C; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfig {
+                constexpr std::ptrdiff_t m_ConfigName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_Elements = 0x8; // CUtlVector<CModelConfigElement*>
+                constexpr std::ptrdiff_t m_bTopLevel = 0x20; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimComponentID {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXAggregateData_t {
+                constexpr std::ptrdiff_t m_nFlags = 0x0; // uint16
+                constexpr std::ptrdiff_t m_nRefCounter = 0x2; // uint16
+                constexpr std::ptrdiff_t m_bonesHash = 0x8; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_boneNames = 0x20; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_indexNames = 0x38; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_indexHash = 0x50; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_bindPose = 0x68; // CUtlVector<matrix3x4a_t>
+                constexpr std::ptrdiff_t m_parts = 0x80; // CUtlVector<VPhysXBodyPart_t>
+                constexpr std::ptrdiff_t m_constraints2 = 0x98; // CUtlVector<VPhysXConstraint2_t>
+                constexpr std::ptrdiff_t m_joints = 0xB0; // CUtlVector<VPhysXJoint_t>
+                constexpr std::ptrdiff_t m_pFeModel = 0xC8; // PhysFeModelDesc_t*
+                constexpr std::ptrdiff_t m_boneParents = 0xD0; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_surfacePropertyHashes = 0xE8; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_collisionAttributes = 0x100; // CUtlVector<VPhysXCollisionAttributes_t>
+                constexpr std::ptrdiff_t m_debugPartNames = 0x118; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_embeddedKeyvalues = 0x130; // CUtlString
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmGraphDefinition {
+                constexpr std::ptrdiff_t m_persistentNodeIndices = 0x0; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_nRootNodeIdx = 0x18; // int16
+                constexpr std::ptrdiff_t m_controlParameterIDs = 0x20; // CUtlVector<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_virtualParameterIDs = 0x38; // CUtlVector<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_virtualParameterNodeIndices = 0x50; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_childGraphSlots = 0x68; // CUtlVector<CNmGraphDefinition::ChildGraphSlot_t>
+                constexpr std::ptrdiff_t m_externalGraphSlots = 0x80; // CUtlVector<CNmGraphDefinition::ExternalGraphSlot_t>
+                constexpr std::ptrdiff_t m_nodePaths = 0x108; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_runtimeVersionID = 0x120; // V_uuid_t
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSelectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_conditionNodeIndices = 0x28; // CUtlLeanVectorFixedGrowable<int16,5>
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimDemoCaptureSettings {
+                constexpr std::ptrdiff_t m_vecErrorRangeSplineRotation = 0x0; // Vector2D
+                constexpr std::ptrdiff_t m_vecErrorRangeSplineTranslation = 0x8; // Vector2D
+                constexpr std::ptrdiff_t m_vecErrorRangeSplineScale = 0x10; // Vector2D
+                constexpr std::ptrdiff_t m_flIkRotation_MaxSplineError = 0x18; // float32
+                constexpr std::ptrdiff_t m_flIkTranslation_MaxSplineError = 0x1C; // float32
+                constexpr std::ptrdiff_t m_vecErrorRangeQuantizationRotation = 0x20; // Vector2D
+                constexpr std::ptrdiff_t m_vecErrorRangeQuantizationTranslation = 0x28; // Vector2D
+                constexpr std::ptrdiff_t m_vecErrorRangeQuantizationScale = 0x30; // Vector2D
+                constexpr std::ptrdiff_t m_flIkRotation_MaxQuantizationError = 0x38; // float32
+                constexpr std::ptrdiff_t m_flIkTranslation_MaxQuantizationError = 0x3C; // float32
+                constexpr std::ptrdiff_t m_baseSequence = 0x40; // CUtlString
+                constexpr std::ptrdiff_t m_nBaseSequenceFrame = 0x48; // int32
+                constexpr std::ptrdiff_t m_boneSelectionMode = 0x4C; // EDemoBoneSelectionMode
+                constexpr std::ptrdiff_t m_bones = 0x50; // CUtlVector<BoneDemoCaptureSettings_t>
+                constexpr std::ptrdiff_t m_ikChains = 0x68; // CUtlVector<IKDemoCaptureSettings_t>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace IKDemoCaptureSettings_t {
+                constexpr std::ptrdiff_t m_parentBoneName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_eMode = 0x8; // IKChannelMode
+                constexpr std::ptrdiff_t m_ikChainName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_oneBoneStart = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_oneBoneEnd = 0x20; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqMultiFetchFlag {
+                constexpr std::ptrdiff_t m_bRealtime = 0x0; // bool
+                constexpr std::ptrdiff_t m_bCylepose = 0x1; // bool
+                constexpr std::ptrdiff_t m_b0D = 0x2; // bool
+                constexpr std::ptrdiff_t m_b1D = 0x3; // bool
+                constexpr std::ptrdiff_t m_b2D = 0x4; // bool
+                constexpr std::ptrdiff_t m_b2D_TRI = 0x5; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXRange_t {
+                constexpr std::ptrdiff_t m_flMin = 0x0; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x4; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStopAtGoalUpdateNode {
+                constexpr std::ptrdiff_t m_flOuterRadius = 0x6C; // float32
+                constexpr std::ptrdiff_t m_flInnerRadius = 0x70; // float32
+                constexpr std::ptrdiff_t m_flMaxScale = 0x74; // float32
+                constexpr std::ptrdiff_t m_flMinScale = 0x78; // float32
+                constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIDEventPercentageThroughNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+                constexpr std::ptrdiff_t m_eventID = 0x18; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimBoneDifference {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_parent = 0x10; // CBufferString
+                constexpr std::ptrdiff_t m_posError = 0x20; // Vector
+                constexpr std::ptrdiff_t m_bHasRotation = 0x2C; // bool
+                constexpr std::ptrdiff_t m_bHasMovement = 0x2D; // bool
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCachedBoolNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_mode = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CCycleBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimCycle {
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CActionComponentUpdater {
+                constexpr std::ptrdiff_t m_actions = 0x30; // CUtlVector<CSmartPtr<CAnimActionUpdater>>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmGraphDataSet {
+                constexpr std::ptrdiff_t m_variationID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_skeleton = 0x8; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+                constexpr std::ptrdiff_t m_resources = 0x10; // CUtlVector<CStrongHandleVoid>
+            }
+            // Parent: CPathAnimMotorUpdaterBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDampedPathAnimMotorUpdater {
+                constexpr std::ptrdiff_t m_flAnticipationTime = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flMinSpeedScale = 0x30; // float32
+                constexpr std::ptrdiff_t m_hAnticipationPosParam = 0x34; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hAnticipationHeadingParam = 0x36; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_flSpringConstant = 0x38; // float32
+                constexpr std::ptrdiff_t m_flMinSpringTension = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flMaxSpringTension = 0x40; // float32
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCachedFloatNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_mode = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatSwitchNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSwitchValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nTrueValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_nFalseValueNodeIdx = 0x14; // int16
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_SetMaterialGroupOnAttachedModels {
+                constexpr std::ptrdiff_t m_MaterialGroupName = 0x48; // CUtlString
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVirtualParameterBoneMaskNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPathHelperUpdateNode {
+                constexpr std::ptrdiff_t m_flStoppingRadius = 0x68; // float32
+                constexpr std::ptrdiff_t m_flStoppingSpeedScale = 0x6C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialGroup_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_materials = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeIMaterial2>>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMorphBundleData {
+                constexpr std::ptrdiff_t m_flULeftSrc = 0x0; // float32
+                constexpr std::ptrdiff_t m_flVTopSrc = 0x4; // float32
+                constexpr std::ptrdiff_t m_offsets = 0x8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_ranges = 0x20; // CUtlVector<float32>
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_UserPick {
+                constexpr std::ptrdiff_t m_Choices = 0x48; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSolveIKTargetHandle_t {
+                constexpr std::ptrdiff_t m_positionHandle = 0x0; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_orientationHandle = 0x2; // CAnimParamHandle
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootAdjustmentUpdateNode {
+                constexpr std::ptrdiff_t m_clips = 0x70; // CUtlVector<HSequence>
+                constexpr std::ptrdiff_t m_hBasePoseCacheHandle = 0x88; // CPoseHandle
+                constexpr std::ptrdiff_t m_facingTarget = 0x8C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_flTurnTimeMin = 0x90; // float32
+                constexpr std::ptrdiff_t m_flTurnTimeMax = 0x94; // float32
+                constexpr std::ptrdiff_t m_flStepHeightMax = 0x98; // float32
+                constexpr std::ptrdiff_t m_flStepHeightMaxAngle = 0x9C; // float32
+                constexpr std::ptrdiff_t m_bResetChild = 0xA0; // bool
+                constexpr std::ptrdiff_t m_bAnimationDriven = 0xA1; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CChoreoUpdateNode {
+            }
+            // Parent: CBaseConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAimConstraint {
+                constexpr std::ptrdiff_t m_qAimOffset = 0x70; // Quaternion
+                constexpr std::ptrdiff_t m_nUpType = 0x80; // uint32
+            }
+            // Parent: CAnimTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CFootFallAnimTag {
+                constexpr std::ptrdiff_t m_foot = 0x58; // FootFallTagFoot_t
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMaterialDrawDescriptor {
+                constexpr std::ptrdiff_t m_flUvDensity = 0x0; // float32
+                constexpr std::ptrdiff_t m_vTintColor = 0x4; // Vector
+                constexpr std::ptrdiff_t m_flAlpha = 0x10; // float32
+                constexpr std::ptrdiff_t m_nNumMeshlets = 0x16; // uint16
+                constexpr std::ptrdiff_t m_nFirstMeshlet = 0x1C; // uint32
+                constexpr std::ptrdiff_t m_nPrimitiveType = 0x20; // RenderPrimitiveType_t
+                constexpr std::ptrdiff_t m_nBaseVertex = 0x24; // int32
+                constexpr std::ptrdiff_t m_nVertexCount = 0x28; // int32
+                constexpr std::ptrdiff_t m_nStartIndex = 0x2C; // int32
+                constexpr std::ptrdiff_t m_nIndexCount = 0x30; // int32
+                constexpr std::ptrdiff_t m_indexBuffer = 0x98; // CRenderBufferBinding
+                constexpr std::ptrdiff_t m_material = 0xC8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSkeleton {
+                constexpr std::ptrdiff_t m_ID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_boneIDs = 0x8; // CUtlLeanVector<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_parentIndices = 0x18; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_parentSpaceReferencePose = 0x30; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_modelSpaceReferencePose = 0x48; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_numBonesToSampleAtLowLOD = 0x60; // int32
+                constexpr std::ptrdiff_t m_boneMasks = 0x68; // CUtlLeanVector<CNmBoneMask>
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStepsRemainingMetricEvaluator {
+                constexpr std::ptrdiff_t m_footIndices = 0x50; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_flMinStepsRemaining = 0x68; // float32
+            }
+            // Parent: CNmParameterizedBlendNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVelocityBlendNode__CDefinition {
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            namespace CNmZeroPoseTask {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyElementNameFn
+            namespace CBodyGroupSetting {
+                constexpr std::ptrdiff_t m_BodyGroupName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nBodyGroupOption = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVectorQuantizer {
+                constexpr std::ptrdiff_t m_centroidVectors = 0x0; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nCentroids = 0x18; // int32
+                constexpr std::ptrdiff_t m_nDimensions = 0x1C; // int32
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVectorCreateNode__CDefinition {
+                constexpr std::ptrdiff_t m_inputVectorValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_inputValueXNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_inputValueYNodeIdx = 0x14; // int16
+                constexpr std::ptrdiff_t m_inputValueZNodeIdx = 0x16; // int16
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_entryEvents = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+                constexpr std::ptrdiff_t m_executeEvents = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+                constexpr std::ptrdiff_t m_exitEvents = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+                constexpr std::ptrdiff_t m_timedRemainingEvents = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t,1>
+                constexpr std::ptrdiff_t m_timedElapsedEvents = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t,1>
+                constexpr std::ptrdiff_t m_nLayerWeightNodeIdx = 0xA8; // int16
+                constexpr std::ptrdiff_t m_nLayerRootMotionWeightNodeIdx = 0xAA; // int16
+                constexpr std::ptrdiff_t m_nLayerBoneMaskNodeIdx = 0xAC; // int16
+                constexpr std::ptrdiff_t m_bIsOffState = 0xAE; // bool
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBoneMaskSelectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_defaultMaskNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_parameterValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_switchDynamically = 0x14; // bool
+                constexpr std::ptrdiff_t m_maskNodeIndices = 0x18; // CUtlVectorFixedGrowable<int16,7>
+                constexpr std::ptrdiff_t m_parameterValues = 0x40; // CUtlVectorFixedGrowable<CGlobalSymbol,7>
+                constexpr std::ptrdiff_t m_flBlendTimeSeconds = 0x90; // float32
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVirtualParameterVectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootCycleMetricEvaluator {
+                constexpr std::ptrdiff_t m_footIndices = 0x50; // CUtlVector<int32>
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmConstIDNode__CDefinition {
+                constexpr std::ptrdiff_t m_value = 0x10; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CHitBox {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_sSurfaceProperty = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_sBoneName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_vMinBounds = 0x18; // Vector
+                constexpr std::ptrdiff_t m_vMaxBounds = 0x24; // Vector
+                constexpr std::ptrdiff_t m_flShapeRadius = 0x30; // float32
+                constexpr std::ptrdiff_t m_nBoneNameHash = 0x34; // uint32
+                constexpr std::ptrdiff_t m_nGroupId = 0x38; // int32
+                constexpr std::ptrdiff_t m_nShapeType = 0x3C; // uint8
+                constexpr std::ptrdiff_t m_bTranslationOnly = 0x3D; // bool
+                constexpr std::ptrdiff_t m_CRC = 0x40; // uint32
+                constexpr std::ptrdiff_t m_cRenderColor = 0x44; // Color
+                constexpr std::ptrdiff_t m_nHitBoxIndex = 0x48; // uint16
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmParameterizedSelectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_parameterNodeIdx = 0x28; // int16
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ModelSkeletonData_t {
+                constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_nParent = 0x18; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_boneSphere = 0x30; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nFlag = 0x48; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_bonePosParent = 0x60; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_boneRotParent = 0x78; // CUtlVector<QuaternionStorage>
+                constexpr std::ptrdiff_t m_boneScaleParent = 0x90; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmEvent {
+                constexpr std::ptrdiff_t m_flStartTimeSeconds = 0x8; // float32
+                constexpr std::ptrdiff_t m_flDurationSeconds = 0xC; // float32
+                constexpr std::ptrdiff_t m_syncID = 0x10; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace NmCompressionSettings_t__QuantizationRange_t {
+                constexpr std::ptrdiff_t m_flRangeStart = 0x0; // float32
+                constexpr std::ptrdiff_t m_flRangeLength = 0x4; // float32
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            namespace CNmBlendTaskBase {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace TagSpan_t {
+                constexpr std::ptrdiff_t m_tagIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_startCycle = 0x4; // float32
+                constexpr std::ptrdiff_t m_endCycle = 0x8; // float32
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmConstTargetNode__CDefinition {
+                constexpr std::ptrdiff_t m_value = 0x10; // CNmTarget
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PermModelDataAnimatedMaterialAttribute_t {
+                constexpr std::ptrdiff_t m_AttributeName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nNumChannels = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionDataSet {
+                constexpr std::ptrdiff_t m_groups = 0x0; // CUtlVector<CMotionGraphGroup>
+                constexpr std::ptrdiff_t m_nDimensionCount = 0x18; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CProductQuantizer {
+                constexpr std::ptrdiff_t m_subQuantizers = 0x0; // CUtlVector<CVectorQuantizer>
+                constexpr std::ptrdiff_t m_nDimensions = 0x18; // int32
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CChoiceUpdateNode {
+                constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+                constexpr std::ptrdiff_t m_weights = 0x70; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_blendTimes = 0x88; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_choiceMethod = 0xA0; // ChoiceMethod
+                constexpr std::ptrdiff_t m_choiceChangeMethod = 0xA4; // ChoiceChangeMethod
+                constexpr std::ptrdiff_t m_blendMethod = 0xA8; // ChoiceBlendMethod
+                constexpr std::ptrdiff_t m_blendTime = 0xAC; // float32
+                constexpr std::ptrdiff_t m_bCrossFade = 0xB0; // bool
+                constexpr std::ptrdiff_t m_bResetChosen = 0xB1; // bool
+                constexpr std::ptrdiff_t m_bDontResetSameSelection = 0xB2; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonAnimCapture_t__Bone_t {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_BindPose = 0x10; // CTransform
+                constexpr std::ptrdiff_t m_nParent = 0x30; // int32
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CExpressionActionUpdater {
+                constexpr std::ptrdiff_t m_hParam = 0x18; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_eParamType = 0x1A; // AnimParamType_t
+                constexpr std::ptrdiff_t m_hScript = 0x1C; // AnimScriptHandle
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatMathNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdxA = 0x10; // int16
+                constexpr std::ptrdiff_t m_nInputValueNodeIdxB = 0x12; // int16
+                constexpr std::ptrdiff_t m_bReturnAbsoluteResult = 0x14; // bool
+                constexpr std::ptrdiff_t m_operator = 0x15; // CNmFloatMathNode::Operator_t
+                constexpr std::ptrdiff_t m_flValueB = 0x18; // float32
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGraphVisualizerLine {
+                constexpr std::ptrdiff_t m_vWsPositionStart = 0x40; // VectorAligned
+                constexpr std::ptrdiff_t m_vWsPositionEnd = 0x50; // VectorAligned
+                constexpr std::ptrdiff_t m_Color = 0x60; // Color
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCycleControlUpdateNode {
+                constexpr std::ptrdiff_t m_valueSource = 0x68; // AnimValueSource
+                constexpr std::ptrdiff_t m_paramIndex = 0x6C; // CAnimParamHandle
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTargetInfoNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_infoType = 0x14; // CNmTargetInfoNode::Info_t
+                constexpr std::ptrdiff_t m_bIsWorldSpaceTarget = 0x18; // bool
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDampedValueComponentUpdater {
+                constexpr std::ptrdiff_t m_items = 0x30; // CUtlVector<CDampedValueUpdateItem>
+            }
+            // Parent: CBoneConstraintBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBaseConstraint {
+                constexpr std::ptrdiff_t m_name = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_vUpVector = 0x30; // Vector
+                constexpr std::ptrdiff_t m_slaves = 0x40; // CUtlLeanVector<CConstraintSlave>
+                constexpr std::ptrdiff_t m_targets = 0x50; // CUtlVector<CConstraintTarget>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmControlParameterFloatNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace BlendItem_t {
+                constexpr std::ptrdiff_t m_tags = 0x0; // CUtlVector<TagSpan_t>
+                constexpr std::ptrdiff_t m_pChild = 0x18; // CAnimUpdateNodeRef
+                constexpr std::ptrdiff_t m_hSequence = 0x28; // HSequence
+                constexpr std::ptrdiff_t m_vPos = 0x2C; // Vector2D
+                constexpr std::ptrdiff_t m_flDuration = 0x34; // float32
+                constexpr std::ptrdiff_t m_bUseCustomDuration = 0x38; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmClipNode__CDefinition {
+                constexpr std::ptrdiff_t m_nPlayInReverseValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nResetTimeValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_bSampleRootMotion = 0x14; // bool
+                constexpr std::ptrdiff_t m_bAllowLooping = 0x15; // bool
+                constexpr std::ptrdiff_t m_nDataSlotIdx = 0x16; // int16
+            }
+            // Parent: CNmParameterizedBlendNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBlend1DNode__CDefinition {
+                constexpr std::ptrdiff_t m_parameterization = 0x40; // CNmParameterizedBlendNode::Parameterization_t
+            }
+            // Parent: CAnimParameterBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CConcreteAnimParameter {
+                constexpr std::ptrdiff_t m_previewButton = 0x70; // AnimParamButton_t
+                constexpr std::ptrdiff_t m_eNetworkSetting = 0x74; // AnimParamNetworkSetting
+                constexpr std::ptrdiff_t m_bUseMostRecentValue = 0x78; // bool
+                constexpr std::ptrdiff_t m_bAutoReset = 0x79; // bool
+                constexpr std::ptrdiff_t m_bGameWritable = 0x7A; // bool
+                constexpr std::ptrdiff_t m_bGraphWritable = 0x7B; // bool
+            }
+            // Parent: CSequenceUpdateNodeBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPairedSequenceUpdateNode {
+                constexpr std::ptrdiff_t m_sPairedSequenceRole = 0x70; // CGlobalSymbol
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_RandomPick {
+                constexpr std::ptrdiff_t m_Choices = 0x48; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_ChoiceWeights = 0x60; // CUtlVector<float32>
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            namespace CNmReferencePoseTask {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXConstraint2_t {
+                constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nParent = 0x4; // uint16
+                constexpr std::ptrdiff_t m_nChild = 0x6; // uint16
+                constexpr std::ptrdiff_t m_params = 0x8; // VPhysXConstraintParams_t
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CConstraintTarget {
+                constexpr std::ptrdiff_t m_qOffset = 0x20; // Quaternion
+                constexpr std::ptrdiff_t m_vOffset = 0x30; // Vector
+                constexpr std::ptrdiff_t m_nBoneHash = 0x3C; // uint32
+                constexpr std::ptrdiff_t m_sName = 0x40; // CUtlString
+                constexpr std::ptrdiff_t m_flWeight = 0x48; // float32
+                constexpr std::ptrdiff_t m_bIsAttachment = 0x59; // bool
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonAnimCapture_t {
+                constexpr std::ptrdiff_t m_nEntIndex = 0x0; // CEntityIndex
+                constexpr std::ptrdiff_t m_nEntParent = 0x4; // CEntityIndex
+                constexpr std::ptrdiff_t m_ImportedCollision = 0x8; // CUtlVector<CEntityIndex>
+                constexpr std::ptrdiff_t m_ModelName = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_CaptureName = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_ModelBindPose = 0x30; // CUtlVector<SkeletonAnimCapture_t::Bone_t>
+                constexpr std::ptrdiff_t m_FeModelInitPose = 0x48; // CUtlVector<SkeletonAnimCapture_t::Bone_t>
+                constexpr std::ptrdiff_t m_nFlexControllers = 0x60; // int32
+                constexpr std::ptrdiff_t m_bPredicted = 0x64; // bool
+                constexpr std::ptrdiff_t m_Frames = 0xA8; // CUtlVector<SkeletonAnimCapture_t::Frame_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimUser {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_nType = 0x10; // int32
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRagdollComponentUpdater {
+                constexpr std::ptrdiff_t m_ragdollNodePaths = 0x30; // CUtlVector<CAnimNodePath>
+                constexpr std::ptrdiff_t m_boneIndices = 0x48; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_boneNames = 0x60; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_weightLists = 0x78; // CUtlVector<WeightList>
+                constexpr std::ptrdiff_t m_flSpringFrequencyMin = 0x90; // float32
+                constexpr std::ptrdiff_t m_flSpringFrequencyMax = 0x94; // float32
+                constexpr std::ptrdiff_t m_flMaxStretch = 0x98; // float32
+                constexpr std::ptrdiff_t m_bSolidCollisionAtZeroWeight = 0x9C; // bool
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootDefinition {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_ankleBoneName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_toeBoneName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_vBallOffset = 0x18; // Vector
+                constexpr std::ptrdiff_t m_vHeelOffset = 0x24; // Vector
+                constexpr std::ptrdiff_t m_flFootLength = 0x30; // float32
+                constexpr std::ptrdiff_t m_flBindPoseDirectionMS = 0x34; // float32
+                constexpr std::ptrdiff_t m_flTraceHeight = 0x38; // float32
+                constexpr std::ptrdiff_t m_flTraceRadius = 0x3C; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqSynthAnimDesc {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_flags = 0x10; // CSeqSeqDescFlag
+                constexpr std::ptrdiff_t m_transition = 0x1C; // CSeqTransition
+                constexpr std::ptrdiff_t m_nLocalBaseReference = 0x24; // int16
+                constexpr std::ptrdiff_t m_nLocalBoneMask = 0x26; // int16
+                constexpr std::ptrdiff_t m_activityArray = 0x28; // CUtlVector<CAnimActivity>
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmLayerBlendNode__LayerDefinition_t {
+                constexpr std::ptrdiff_t m_nInputNodeIdx = 0x0; // int16
+                constexpr std::ptrdiff_t m_nWeightValueNodeIdx = 0x2; // int16
+                constexpr std::ptrdiff_t m_nBoneMaskValueNodeIdx = 0x4; // int16
+                constexpr std::ptrdiff_t m_nRootMotionWeightValueNodeIdx = 0x6; // int16
+                constexpr std::ptrdiff_t m_bIsSynchronized = 0x8; // bool
+                constexpr std::ptrdiff_t m_bIgnoreEvents = 0x9; // bool
+                constexpr std::ptrdiff_t m_bIsStateMachineLayer = 0xA; // bool
+                constexpr std::ptrdiff_t m_blendMode = 0xB; // NmPoseBlendMode_t
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimComponentUpdater {
+                constexpr std::ptrdiff_t m_name = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_id = 0x20; // AnimComponentID
+                constexpr std::ptrdiff_t m_networkMode = 0x24; // AnimNodeNetworkMode
+                constexpr std::ptrdiff_t m_bStartEnabled = 0x28; // bool
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBlend2DUpdateNode {
+                constexpr std::ptrdiff_t m_items = 0x60; // CUtlVector<BlendItem_t>
+                constexpr std::ptrdiff_t m_tags = 0x78; // CUtlVector<TagSpan_t>
+                constexpr std::ptrdiff_t m_paramSpans = 0x90; // CParamSpanUpdater
+                constexpr std::ptrdiff_t m_nodeItemIndices = 0xA8; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_damping = 0xC0; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_blendSourceX = 0xD0; // AnimValueSource
+                constexpr std::ptrdiff_t m_paramX = 0xD4; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_blendSourceY = 0xD8; // AnimValueSource
+                constexpr std::ptrdiff_t m_paramY = 0xDC; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_eBlendMode = 0xE0; // Blend2DMode
+                constexpr std::ptrdiff_t m_playbackSpeed = 0xE4; // float32
+                constexpr std::ptrdiff_t m_bLoop = 0xE8; // bool
+                constexpr std::ptrdiff_t m_bLockBlendOnReset = 0xE9; // bool
+                constexpr std::ptrdiff_t m_bLockWhenWaning = 0xEA; // bool
+                constexpr std::ptrdiff_t m_bAnimEventsAndTagsOnMostWeightedOnly = 0xEB; // bool
+            }
+            // Parent: CNmSpeedScaleBaseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVelocityBasedSpeedScaleNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PermModelExtPart_t {
+                constexpr std::ptrdiff_t m_Transform = 0x0; // CTransform
+                constexpr std::ptrdiff_t m_Name = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_nParent = 0x28; // int32
+                constexpr std::ptrdiff_t m_refModel = 0x30; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCachedIDNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_mode = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CLeanMatrixUpdateNode {
+                constexpr std::ptrdiff_t m_frameCorners = 0x5C; // int32[3][3]
+                constexpr std::ptrdiff_t m_poses = 0x80; // CPoseHandle[9]
+                constexpr std::ptrdiff_t m_damping = 0xA8; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_blendSource = 0xB8; // AnimVectorSource
+                constexpr std::ptrdiff_t m_paramIndex = 0xBC; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_verticalAxis = 0xC0; // Vector
+                constexpr std::ptrdiff_t m_horizontalAxis = 0xCC; // Vector
+                constexpr std::ptrdiff_t m_hSequence = 0xD8; // HSequence
+                constexpr std::ptrdiff_t m_flMaxValue = 0xDC; // float32
+                constexpr std::ptrdiff_t m_nSequenceMaxFrame = 0xE0; // int32
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CSymbolAnimParameter {
+                constexpr std::ptrdiff_t m_defaultValue = 0x80; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateMachineNode__TransitionDefinition_t {
+                constexpr std::ptrdiff_t m_nTargetStateIdx = 0x0; // int16
+                constexpr std::ptrdiff_t m_nConditionNodeIdx = 0x2; // int16
+                constexpr std::ptrdiff_t m_nTransitionNodeIdx = 0x4; // int16
+                constexpr std::ptrdiff_t m_bCanBeForced = 0x6; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatSelectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_conditionNodeIndices = 0x10; // CUtlVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_values = 0x38; // CUtlVectorFixedGrowable<float32,5>
+                constexpr std::ptrdiff_t m_flDefaultValue = 0x68; // float32
+                constexpr std::ptrdiff_t m_flEaseTime = 0x6C; // float32
+                constexpr std::ptrdiff_t m_easingOp = 0x70; // NmEasingOperation_t
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTargetSelectorUpdateNode {
+                constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+                constexpr std::ptrdiff_t m_hPositionParameter = 0x74; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hFacePositionParameter = 0x76; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CHitBoxSetList {
+                constexpr std::ptrdiff_t m_HitBoxSets = 0x0; // CUtlVector<CHitBoxSet>
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MotionDBIndex {
+                constexpr std::ptrdiff_t m_nIndex = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDirectPlaybackTagData {
+                constexpr std::ptrdiff_t m_sequenceName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_tags = 0x8; // CUtlVector<TagSpan_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatRemapNode__RemapRange_t {
+                constexpr std::ptrdiff_t m_flBegin = 0x0; // float32
+                constexpr std::ptrdiff_t m_flEnd = 0x4; // float32
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCurrentSyncEventIDNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateCompletedConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nTransitionDurationOverrideNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_flTransitionDurationSeconds = 0x14; // float32
+            }
+            // Parent: CNmEvent
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTargetWarpEvent {
+                constexpr std::ptrdiff_t m_rule = 0x18; // NmTargetWarpRule_t
+                constexpr std::ptrdiff_t m_algorithm = 0x19; // NmTargetWarpAlgorithm_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParamSpanUpdater {
+                constexpr std::ptrdiff_t m_spans = 0x0; // CUtlVector<ParamSpan_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimActionUpdater {
+            }
+            // Parent: CAnimTagBase
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CParticleAnimTag {
+                constexpr std::ptrdiff_t m_hParticleSystem = 0x58; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_particleSystemName = 0x60; // CUtlString
+                constexpr std::ptrdiff_t m_configName = 0x68; // CUtlString
+                constexpr std::ptrdiff_t m_bDetachFromOwner = 0x70; // bool
+                constexpr std::ptrdiff_t m_bStopWhenTagEnds = 0x71; // bool
+                constexpr std::ptrdiff_t m_bTagEndStopIsInstant = 0x72; // bool
+                constexpr std::ptrdiff_t m_attachmentName = 0x78; // CUtlString
+                constexpr std::ptrdiff_t m_attachmentType = 0x80; // ParticleAttachment_t
+                constexpr std::ptrdiff_t m_attachmentCP1Name = 0x88; // CUtlString
+                constexpr std::ptrdiff_t m_attachmentCP1Type = 0x90; // ParticleAttachment_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCycleBase {
+                constexpr std::ptrdiff_t m_flCycle = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FollowTargetOpFixedSettings_t {
+                constexpr std::ptrdiff_t m_boneIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_bBoneTarget = 0x4; // bool
+                constexpr std::ptrdiff_t m_boneTargetIndex = 0x8; // int32
+                constexpr std::ptrdiff_t m_bWorldCoodinateTarget = 0xC; // bool
+                constexpr std::ptrdiff_t m_bMatchTargetOrientation = 0xD; // bool
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmRootMotionEvent {
+                constexpr std::ptrdiff_t m_flBlendTimeSeconds = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AnimationSnapshotBase_t {
+                constexpr std::ptrdiff_t m_flRealTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_rootToWorld = 0x10; // matrix3x4a_t
+                constexpr std::ptrdiff_t m_bBonesInWorldSpace = 0x40; // bool
+                constexpr std::ptrdiff_t m_boneSetupMask = 0x48; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_boneTransforms = 0x60; // CUtlVector<matrix3x4a_t>
+                constexpr std::ptrdiff_t m_flexControllers = 0x78; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_SnapshotType = 0x90; // AnimationSnapshotType_t
+                constexpr std::ptrdiff_t m_bHasDecodeDump = 0x94; // bool
+                constexpr std::ptrdiff_t m_DecodeDump = 0x98; // AnimationDecodeDebugDumpElement_t
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CEmitTagActionUpdater {
+                constexpr std::ptrdiff_t m_nTagIndex = 0x18; // int32
+                constexpr std::ptrdiff_t m_bIsZeroDuration = 0x1C; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace DynamicMeshDeformParams_t {
+                constexpr std::ptrdiff_t m_flTensionCompressScale = 0x0; // float32
+                constexpr std::ptrdiff_t m_flTensionStretchScale = 0x4; // float32
+                constexpr std::ptrdiff_t m_bRecomputeSmoothNormalsAfterAnimation = 0x8; // bool
+                constexpr std::ptrdiff_t m_bComputeDynamicMeshTensionAfterAnimation = 0x9; // bool
+                constexpr std::ptrdiff_t m_bSmoothNormalsAcrossUvSeams = 0xA; // bool
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTimeConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_sourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_flComparand = 0x14; // float32
+                constexpr std::ptrdiff_t m_type = 0x18; // CNmTimeConditionNode::ComparisonType_t
+                constexpr std::ptrdiff_t m_operator = 0x19; // CNmTimeConditionNode::Operator_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSyncEventIndexConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_triggerMode = 0x12; // CNmSyncEventIndexConditionNode::TriggerMode_t
+                constexpr std::ptrdiff_t m_syncEventIdx = 0x14; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimStateMachineUpdater {
+                constexpr std::ptrdiff_t m_states = 0x8; // CUtlVector<CStateUpdateData>
+                constexpr std::ptrdiff_t m_transitions = 0x20; // CUtlVector<CTransitionUpdateData>
+                constexpr std::ptrdiff_t m_startStateIndex = 0x50; // int32
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CUnaryUpdateNode {
+                constexpr std::ptrdiff_t m_pChildNode = 0x58; // CAnimUpdateNodeRef
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIDToFloatNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_defaultValue = 0x14; // float32
+                constexpr std::ptrdiff_t m_IDs = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,5>
+                constexpr std::ptrdiff_t m_values = 0x48; // CUtlLeanVectorFixedGrowable<float32,5>
+            }
+            // Parent: None
+            // Field count: 17
+            namespace CCompressorGroup {
+                constexpr std::ptrdiff_t m_nTotalElementCount = 0x0; // int32
+                constexpr std::ptrdiff_t m_szChannelClass = 0x8; // CUtlVector<char*>
+                constexpr std::ptrdiff_t m_szVariableName = 0x20; // CUtlVector<char*>
+                constexpr std::ptrdiff_t m_nType = 0x38; // CUtlVector<fieldtype_t>
+                constexpr std::ptrdiff_t m_nFlags = 0x50; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_szGrouping = 0x68; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_nCompressorIndex = 0x80; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_szElementNames = 0x98; // CUtlVector<CUtlVector<char*>>
+                constexpr std::ptrdiff_t m_nElementUniqueID = 0xB0; // CUtlVector<CUtlVector<int32>>
+                constexpr std::ptrdiff_t m_nElementMask = 0xC8; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_vectorCompressor = 0xF8; // CUtlVector<CCompressor<Vector>*>
+                constexpr std::ptrdiff_t m_quaternionCompressor = 0x110; // CUtlVector<CCompressor<QuaternionStorage>*>
+                constexpr std::ptrdiff_t m_intCompressor = 0x128; // CUtlVector<CCompressor<int32>*>
+                constexpr std::ptrdiff_t m_boolCompressor = 0x140; // CUtlVector<CCompressor<bool>*>
+                constexpr std::ptrdiff_t m_colorCompressor = 0x158; // CUtlVector<CCompressor<Color>*>
+                constexpr std::ptrdiff_t m_vector2DCompressor = 0x170; // CUtlVector<CCompressor<Vector2D>*>
+                constexpr std::ptrdiff_t m_vector4DCompressor = 0x188; // CUtlVector<CCompressor<Vector4D>*>
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSelectorUpdateNode {
+                constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+                constexpr std::ptrdiff_t m_tags = 0x70; // CUtlVector<int8>
+                constexpr std::ptrdiff_t m_blendCurve = 0x8C; // CBlendCurve
+                constexpr std::ptrdiff_t m_flBlendTime = 0x94; // CAnimValue<float32>
+                constexpr std::ptrdiff_t m_hParameter = 0x9C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_nTagIndex = 0xA0; // int32
+                constexpr std::ptrdiff_t m_eTagBehavior = 0xA4; // SelectorTagBehavior_t
+                constexpr std::ptrdiff_t m_bResetOnChange = 0xA8; // bool
+                constexpr std::ptrdiff_t m_bLockWhenWaning = 0xA9; // bool
+                constexpr std::ptrdiff_t m_bSyncCyclesOnChange = 0xAA; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace NmPercent_t {
+                constexpr std::ptrdiff_t m_flValue = 0x0; // float32
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStateMachineComponentUpdater {
+                constexpr std::ptrdiff_t m_stateMachine = 0x30; // CAnimStateMachineUpdater
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimUpdateNodeRef {
+                constexpr std::ptrdiff_t m_nodeIndex = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPhysSurfaceProperties {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t m_baseNameHash = 0xC; // uint32
+                constexpr std::ptrdiff_t m_bHidden = 0x18; // bool
+                constexpr std::ptrdiff_t m_description = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_physics = 0x28; // CPhysSurfacePropertiesPhysics
+                constexpr std::ptrdiff_t m_audioSounds = 0x50; // CPhysSurfacePropertiesSoundNames
+                constexpr std::ptrdiff_t m_audioParams = 0xA8; // CPhysSurfacePropertiesAudio
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            namespace CNmBoneMaskValueNode__CDefinition {
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatAbsNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqPoseParamDesc {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_flStart = 0x10; // float32
+                constexpr std::ptrdiff_t m_flEnd = 0x14; // float32
+                constexpr std::ptrdiff_t m_flLoop = 0x18; // float32
+                constexpr std::ptrdiff_t m_bLooping = 0x1C; // bool
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_SetBodygroup {
+                constexpr std::ptrdiff_t m_GroupName = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_nChoice = 0x50; // int32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimMovement {
+                constexpr std::ptrdiff_t endframe = 0x0; // int32
+                constexpr std::ptrdiff_t motionflags = 0x4; // int32
+                constexpr std::ptrdiff_t v0 = 0x8; // float32
+                constexpr std::ptrdiff_t v1 = 0xC; // float32
+                constexpr std::ptrdiff_t angle = 0x10; // float32
+                constexpr std::ptrdiff_t vector = 0x14; // Vector
+                constexpr std::ptrdiff_t position = 0x20; // Vector
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FootStepTrigger {
+                constexpr std::ptrdiff_t m_tags = 0x0; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_nFootIndex = 0x18; // int32
+                constexpr std::ptrdiff_t m_triggerPhase = 0x1C; // StepPhase
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSyncTrack__EventMarker_t {
+                constexpr std::ptrdiff_t m_startTime = 0x0; // NmPercent_t
+                constexpr std::ptrdiff_t m_ID = 0x8; // CGlobalSymbol
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPathMetricEvaluator {
+                constexpr std::ptrdiff_t m_pathTimeSamples = 0x50; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_flDistance = 0x68; // float32
+                constexpr std::ptrdiff_t m_bExtrapolateMovement = 0x6C; // bool
+                constexpr std::ptrdiff_t m_flMinExtrapolationSpeed = 0x70; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 20
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootLockUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedSettings = 0x68; // FootLockPoseOpFixedSettings
+                constexpr std::ptrdiff_t m_footSettings = 0xD0; // CUtlVector<FootFixedSettings>
+                constexpr std::ptrdiff_t m_hipShiftDamping = 0xE8; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_rootHeightDamping = 0xF8; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_flStrideCurveScale = 0x108; // float32
+                constexpr std::ptrdiff_t m_flStrideCurveLimitScale = 0x10C; // float32
+                constexpr std::ptrdiff_t m_flStepHeightIncreaseScale = 0x110; // float32
+                constexpr std::ptrdiff_t m_flStepHeightDecreaseScale = 0x114; // float32
+                constexpr std::ptrdiff_t m_flHipShiftScale = 0x118; // float32
+                constexpr std::ptrdiff_t m_flBlendTime = 0x11C; // float32
+                constexpr std::ptrdiff_t m_flMaxRootHeightOffset = 0x120; // float32
+                constexpr std::ptrdiff_t m_flMinRootHeightOffset = 0x124; // float32
+                constexpr std::ptrdiff_t m_flTiltPlanePitchSpringStrength = 0x128; // float32
+                constexpr std::ptrdiff_t m_flTiltPlaneRollSpringStrength = 0x12C; // float32
+                constexpr std::ptrdiff_t m_bApplyFootRotationLimits = 0x130; // bool
+                constexpr std::ptrdiff_t m_bApplyHipShift = 0x131; // bool
+                constexpr std::ptrdiff_t m_bModulateStepHeight = 0x132; // bool
+                constexpr std::ptrdiff_t m_bResetChild = 0x133; // bool
+                constexpr std::ptrdiff_t m_bEnableVerticalCurvedPaths = 0x134; // bool
+                constexpr std::ptrdiff_t m_bEnableRootHeightDamping = 0x135; // bool
+            }
+            // Parent: CNmEvent
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmOrientationWarpEvent {
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            namespace CNmIDValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace JiggleBoneSettings_t {
+                constexpr std::ptrdiff_t m_nBoneIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_flSpringStrength = 0x4; // float32
+                constexpr std::ptrdiff_t m_flMaxTimeStep = 0x8; // float32
+                constexpr std::ptrdiff_t m_flDamping = 0xC; // float32
+                constexpr std::ptrdiff_t m_vBoundsMaxLS = 0x10; // Vector
+                constexpr std::ptrdiff_t m_vBoundsMinLS = 0x1C; // Vector
+                constexpr std::ptrdiff_t m_eSimSpace = 0x28; // JiggleBoneSimSpace
+            }
+            // Parent: CSequenceUpdateNode
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CJumpHelperUpdateNode {
+                constexpr std::ptrdiff_t m_hTargetParam = 0xA8; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_flOriginalJumpMovement = 0xAC; // Vector
+                constexpr std::ptrdiff_t m_flOriginalJumpDuration = 0xB8; // float32
+                constexpr std::ptrdiff_t m_flJumpStartCycle = 0xBC; // float32
+                constexpr std::ptrdiff_t m_flJumpEndCycle = 0xC0; // float32
+                constexpr std::ptrdiff_t m_eCorrectionMethod = 0xC4; // JumpCorrectionMethod
+                constexpr std::ptrdiff_t m_bTranslationAxis = 0xC8; // bool[3]
+                constexpr std::ptrdiff_t m_bScaleSpeed = 0xCB; // bool
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmControlParameterBoolNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 18
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FootLockPoseOpFixedSettings {
+                constexpr std::ptrdiff_t m_footInfo = 0x0; // CUtlVector<FootFixedData_t>
+                constexpr std::ptrdiff_t m_hipDampingSettings = 0x18; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_nHipBoneIndex = 0x28; // int32
+                constexpr std::ptrdiff_t m_ikSolverType = 0x2C; // IKSolverType
+                constexpr std::ptrdiff_t m_bApplyTilt = 0x30; // bool
+                constexpr std::ptrdiff_t m_bApplyHipDrop = 0x31; // bool
+                constexpr std::ptrdiff_t m_bAlwaysUseFallbackHinge = 0x32; // bool
+                constexpr std::ptrdiff_t m_bApplyFootRotationLimits = 0x33; // bool
+                constexpr std::ptrdiff_t m_bApplyLegTwistLimits = 0x34; // bool
+                constexpr std::ptrdiff_t m_flMaxFootHeight = 0x38; // float32
+                constexpr std::ptrdiff_t m_flExtensionScale = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flMaxLegTwist = 0x40; // float32
+                constexpr std::ptrdiff_t m_bEnableLockBreaking = 0x44; // bool
+                constexpr std::ptrdiff_t m_flLockBreakTolerance = 0x48; // float32
+                constexpr std::ptrdiff_t m_flLockBlendTime = 0x4C; // float32
+                constexpr std::ptrdiff_t m_bEnableStretching = 0x50; // bool
+                constexpr std::ptrdiff_t m_flMaxStretchAmount = 0x54; // float32
+                constexpr std::ptrdiff_t m_flStretchExtensionScale = 0x58; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBoneVelocityMetricEvaluator {
+                constexpr std::ptrdiff_t m_nBoneIndex = 0x50; // int32
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_RandomColor {
+                constexpr std::ptrdiff_t m_Gradient = 0x48; // CColorGradient
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootMotion {
+                constexpr std::ptrdiff_t m_strides = 0x0; // CUtlVector<CFootStride>
+                constexpr std::ptrdiff_t m_name = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_bAdditive = 0x20; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CJiggleBoneUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedData = 0x68; // JiggleBoneSettingsList_t
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmConstVectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_value = 0x10; // Vector
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyArrayElementNameKey
+            namespace MoodAnimation_t {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_flWeight = 0x8; // float32
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CLODComponentUpdater {
+                constexpr std::ptrdiff_t m_nServerLOD = 0x30; // int32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIsTargetSetNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimDataChannelDesc {
+                constexpr std::ptrdiff_t m_szChannelClass = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_szVariableName = 0x10; // CBufferString
+                constexpr std::ptrdiff_t m_nFlags = 0x20; // int32
+                constexpr std::ptrdiff_t m_nType = 0x24; // int32
+                constexpr std::ptrdiff_t m_szGrouping = 0x28; // CBufferString
+                constexpr std::ptrdiff_t m_szDescription = 0x38; // CBufferString
+                constexpr std::ptrdiff_t m_szElementNameArray = 0x48; // CUtlVector<CBufferString>
+                constexpr std::ptrdiff_t m_nElementIndexArray = 0x60; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_nElementMaskArray = 0x78; // CUtlVector<uint32>
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPairedSequenceComponentUpdater {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMorphRectData {
+                constexpr std::ptrdiff_t m_nXLeftDst = 0x0; // int16
+                constexpr std::ptrdiff_t m_nYTopDst = 0x2; // int16
+                constexpr std::ptrdiff_t m_flUWidthSrc = 0x4; // float32
+                constexpr std::ptrdiff_t m_flVHeightSrc = 0x8; // float32
+                constexpr std::ptrdiff_t m_bundleDatas = 0x10; // CUtlVector<CMorphBundleData>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimFoot {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_vBallOffset = 0x8; // Vector
+                constexpr std::ptrdiff_t m_vHeelOffset = 0x14; // Vector
+                constexpr std::ptrdiff_t m_ankleBoneIndex = 0x20; // int32
+                constexpr std::ptrdiff_t m_toeBoneIndex = 0x24; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBoneMask {
+                constexpr std::ptrdiff_t m_ID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_weightInfo = 0x8; // CNmBoneMask::WeightInfo_t
+                constexpr std::ptrdiff_t m_weights = 0x18; // CUtlVector<float32>
+            }
+            // Parent: CBaseConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParentConstraint {
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCachedVectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_mode = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateNode__TimedEvent_t {
+                constexpr std::ptrdiff_t m_ID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_flTimeValueSeconds = 0x8; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootPositionMetricEvaluator {
+                constexpr std::ptrdiff_t m_footIndices = 0x50; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_bIgnoreSlope = 0x68; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            namespace HSequence {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDampedValueUpdateItem {
+                constexpr std::ptrdiff_t m_damping = 0x0; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_hParamIn = 0x18; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParamOut = 0x1A; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimLocalHierarchy {
+                constexpr std::ptrdiff_t m_sBone = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_sNewParent = 0x10; // CBufferString
+                constexpr std::ptrdiff_t m_nStartFrame = 0x20; // int32
+                constexpr std::ptrdiff_t m_nPeakFrame = 0x24; // int32
+                constexpr std::ptrdiff_t m_nTailFrame = 0x28; // int32
+                constexpr std::ptrdiff_t m_nEndFrame = 0x2C; // int32
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBlendUpdateNode {
+                constexpr std::ptrdiff_t m_children = 0x60; // CUtlVector<CAnimUpdateNodeRef>
+                constexpr std::ptrdiff_t m_sortedOrder = 0x78; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_targetValues = 0x90; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_blendValueSource = 0xAC; // AnimValueSource
+                constexpr std::ptrdiff_t m_paramIndex = 0xB0; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_damping = 0xB8; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_blendKeyType = 0xC8; // BlendKeyType
+                constexpr std::ptrdiff_t m_bLockBlendOnReset = 0xCC; // bool
+                constexpr std::ptrdiff_t m_bSyncCycles = 0xCD; // bool
+                constexpr std::ptrdiff_t m_bLoop = 0xCE; // bool
+                constexpr std::ptrdiff_t m_bLockWhenWaning = 0xCF; // bool
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CQuaternionAnimParameter {
+                constexpr std::ptrdiff_t m_defaultValue = 0x80; // Quaternion
+                constexpr std::ptrdiff_t m_bInterpolate = 0x90; // bool
+            }
+            // Parent: None
+            // Field count: 23
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PermModelData_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_modelInfo = 0x8; // PermModelInfo_t
+                constexpr std::ptrdiff_t m_ExtParts = 0x60; // CUtlVector<PermModelExtPart_t>
+                constexpr std::ptrdiff_t m_refMeshes = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCRenderMesh>>
+                constexpr std::ptrdiff_t m_refMeshGroupMasks = 0x90; // CUtlVector<uint64>
+                constexpr std::ptrdiff_t m_refPhysGroupMasks = 0xA8; // CUtlVector<uint64>
+                constexpr std::ptrdiff_t m_refLODGroupMasks = 0xC0; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_lodGroupSwitchDistances = 0xD8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_refPhysicsData = 0xF0; // CUtlVector<CStrongHandle<InfoForResourceTypeCPhysAggregateData>>
+                constexpr std::ptrdiff_t m_refPhysicsHitboxData = 0x108; // CUtlVector<CStrongHandle<InfoForResourceTypeCPhysAggregateData>>
+                constexpr std::ptrdiff_t m_refAnimGroups = 0x120; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
+                constexpr std::ptrdiff_t m_refSequenceGroups = 0x138; // CUtlVector<CStrongHandle<InfoForResourceTypeCSequenceGroupData>>
+                constexpr std::ptrdiff_t m_meshGroups = 0x150; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_materialGroups = 0x168; // CUtlVector<MaterialGroup_t>
+                constexpr std::ptrdiff_t m_nDefaultMeshGroupMask = 0x180; // uint64
+                constexpr std::ptrdiff_t m_modelSkeleton = 0x188; // ModelSkeletonData_t
+                constexpr std::ptrdiff_t m_remappingTable = 0x230; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_remappingTableStarts = 0x248; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_boneFlexDrivers = 0x260; // CUtlVector<ModelBoneFlexDriver_t>
+                constexpr std::ptrdiff_t m_pModelConfigList = 0x278; // CModelConfigList*
+                constexpr std::ptrdiff_t m_BodyGroupsHiddenInTools = 0x280; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_refAnimIncludeModels = 0x298; // CUtlVector<CStrongHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_AnimatedMaterialAttributes = 0x2B0; // CUtlVector<PermModelDataAnimatedMaterialAttribute_t>
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            namespace CNmSampleTask {
+            }
+            // Parent: CStaticPoseCache
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStaticPoseCacheBuilder {
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSequenceGroupData {
+                constexpr std::ptrdiff_t m_sName = 0x10; // CBufferString
+                constexpr std::ptrdiff_t m_nFlags = 0x20; // uint32
+                constexpr std::ptrdiff_t m_localSequenceNameArray = 0x28; // CUtlVector<CBufferString>
+                constexpr std::ptrdiff_t m_localS1SeqDescArray = 0x40; // CUtlVector<CSeqS1SeqDesc>
+                constexpr std::ptrdiff_t m_localMultiSeqDescArray = 0x58; // CUtlVector<CSeqS1SeqDesc>
+                constexpr std::ptrdiff_t m_localSynthAnimDescArray = 0x70; // CUtlVector<CSeqSynthAnimDesc>
+                constexpr std::ptrdiff_t m_localCmdSeqDescArray = 0x88; // CUtlVector<CSeqCmdSeqDesc>
+                constexpr std::ptrdiff_t m_localBoneMaskArray = 0xA0; // CUtlVector<CSeqBoneMaskList>
+                constexpr std::ptrdiff_t m_localScaleSetArray = 0xB8; // CUtlVector<CSeqScaleSet>
+                constexpr std::ptrdiff_t m_localBoneNameArray = 0xD0; // CUtlVector<CBufferString>
+                constexpr std::ptrdiff_t m_localNodeName = 0xE8; // CBufferString
+                constexpr std::ptrdiff_t m_localPoseParamArray = 0xF8; // CUtlVector<CSeqPoseParamDesc>
+                constexpr std::ptrdiff_t m_keyValues = 0x110; // KeyValues3
+                constexpr std::ptrdiff_t m_localIKAutoplayLockArray = 0x120; // CUtlVector<CSeqIKLock>
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStateMachineUpdateNode {
+                constexpr std::ptrdiff_t m_stateMachine = 0x68; // CAnimStateMachineUpdater
+                constexpr std::ptrdiff_t m_stateData = 0xC0; // CUtlVector<CStateNodeStateData>
+                constexpr std::ptrdiff_t m_transitionData = 0xD8; // CUtlVector<CStateNodeTransitionData>
+                constexpr std::ptrdiff_t m_bBlockWaningTags = 0xF4; // bool
+                constexpr std::ptrdiff_t m_bLockStateWhenWaning = 0xF5; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAimMatrixUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedSettings = 0x70; // AimMatrixOpFixedSettings_t
+                constexpr std::ptrdiff_t m_target = 0x158; // AnimVectorSource
+                constexpr std::ptrdiff_t m_paramIndex = 0x15C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hSequence = 0x160; // HSequence
+                constexpr std::ptrdiff_t m_bResetChild = 0x164; // bool
+                constexpr std::ptrdiff_t m_bLockWhenWaning = 0x165; // bool
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonAnimCapture_t__Frame_t {
+                constexpr std::ptrdiff_t m_flTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_Stamp = 0x4; // SkeletonAnimCapture_t::FrameStamp_t
+                constexpr std::ptrdiff_t m_Transform = 0x20; // CTransform
+                constexpr std::ptrdiff_t m_bTeleport = 0x40; // bool
+                constexpr std::ptrdiff_t m_CompositeBones = 0x48; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_SimStateBones = 0x60; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_FeModelAnims = 0x78; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_FeModelPos = 0x90; // CUtlVector<VectorAligned>
+                constexpr std::ptrdiff_t m_FlexControllerWeights = 0xA8; // CUtlVector<float32>
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_Command {
+                constexpr std::ptrdiff_t m_Command = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_Args = 0x50; // KeyValues3
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimEventDefinition {
+                constexpr std::ptrdiff_t m_nFrame = 0x8; // int32
+                constexpr std::ptrdiff_t m_nEndFrame = 0xC; // int32
+                constexpr std::ptrdiff_t m_flCycle = 0x10; // float32
+                constexpr std::ptrdiff_t m_flDuration = 0x14; // float32
+                constexpr std::ptrdiff_t m_EventData = 0x18; // KeyValues3
+                constexpr std::ptrdiff_t m_sLegacyOptions = 0x28; // CBufferString
+                constexpr std::ptrdiff_t m_sEventName = 0x38; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmRootMotionData {
+                constexpr std::ptrdiff_t m_transforms = 0x0; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_nNumFrames = 0x18; // int32
+                constexpr std::ptrdiff_t m_flAverageLinearVelocity = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flAverageAngularVelocityRadians = 0x20; // float32
+                constexpr std::ptrdiff_t m_totalDelta = 0x30; // CTransform
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimScriptHandle {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFlexOp {
+                constexpr std::ptrdiff_t m_OpCode = 0x0; // FlexOpCode_t
+                constexpr std::ptrdiff_t m_Data = 0x4; // int32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CHitReactUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedSettings = 0x68; // HitReactFixedSettings_t
+                constexpr std::ptrdiff_t m_triggerParam = 0xB4; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hitBoneParam = 0xB6; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hitOffsetParam = 0xB8; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hitDirectionParam = 0xBA; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hitStrengthParam = 0xBC; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_flMinDelayBetweenHits = 0xC0; // float32
+                constexpr std::ptrdiff_t m_bResetChild = 0xC4; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CLookAtUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedSettings = 0x70; // LookAtOpFixedSettings_t
+                constexpr std::ptrdiff_t m_target = 0x138; // AnimVectorSource
+                constexpr std::ptrdiff_t m_paramIndex = 0x13C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_weightParamIndex = 0x13E; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_bResetChild = 0x140; // bool
+                constexpr std::ptrdiff_t m_bLockWhenWaning = 0x141; // bool
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimBone {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_parent = 0x10; // int32
+                constexpr std::ptrdiff_t m_pos = 0x14; // Vector
+                constexpr std::ptrdiff_t m_quat = 0x20; // QuaternionStorage
+                constexpr std::ptrdiff_t m_scale = 0x30; // float32
+                constexpr std::ptrdiff_t m_qAlignment = 0x34; // QuaternionStorage
+                constexpr std::ptrdiff_t m_flags = 0x44; // int32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimParameterManagerUpdater {
+                constexpr std::ptrdiff_t m_parameters = 0x18; // CUtlVector<CSmartPtr<CAnimParameterBase>>
+                constexpr std::ptrdiff_t m_idToIndexMap = 0x30; // CUtlHashtable<AnimParamID,int32>
+                constexpr std::ptrdiff_t m_nameToIndexMap = 0x50; // CUtlHashtable<CUtlString,int32>
+                constexpr std::ptrdiff_t m_indexToHandle = 0x70; // CUtlVector<CAnimParamHandle>
+                constexpr std::ptrdiff_t m_autoResetParams = 0x88; // CUtlVector<CUtlPair<CAnimParamHandle,CAnimVariant>>
+                constexpr std::ptrdiff_t m_autoResetMap = 0xA0; // CUtlHashtable<CAnimParamHandle,int16>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace BoneDemoCaptureSettings_t {
+                constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_flErrorSplineRotationMax = 0x8; // float32
+                constexpr std::ptrdiff_t m_flErrorSplineTranslationMax = 0xC; // float32
+                constexpr std::ptrdiff_t m_flErrorSplineScaleMax = 0x10; // float32
+                constexpr std::ptrdiff_t m_flErrorQuantizationRotationMax = 0x14; // float32
+                constexpr std::ptrdiff_t m_flErrorQuantizationTranslationMax = 0x18; // float32
+                constexpr std::ptrdiff_t m_flErrorQuantizationScaleMax = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            namespace CBoneConstraintPoseSpaceMorph__Input_t {
+                constexpr std::ptrdiff_t m_inputValue = 0x0; // Vector
+                constexpr std::ptrdiff_t m_outputWeightList = 0x10; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyArrayElementNameKey
+            namespace MoodAnimationLayer_t {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_bActiveListening = 0x8; // bool
+                constexpr std::ptrdiff_t m_bActiveTalking = 0x9; // bool
+                constexpr std::ptrdiff_t m_layerAnimations = 0x10; // CUtlVector<MoodAnimation_t>
+                constexpr std::ptrdiff_t m_flIntensity = 0x28; // CRangeFloat
+                constexpr std::ptrdiff_t m_flDurationScale = 0x30; // CRangeFloat
+                constexpr std::ptrdiff_t m_bScaleWithInts = 0x38; // bool
+                constexpr std::ptrdiff_t m_flNextStart = 0x3C; // CRangeFloat
+                constexpr std::ptrdiff_t m_flStartOffset = 0x44; // CRangeFloat
+                constexpr std::ptrdiff_t m_flEndOffset = 0x4C; // CRangeFloat
+                constexpr std::ptrdiff_t m_flFadeIn = 0x54; // float32
+                constexpr std::ptrdiff_t m_flFadeOut = 0x58; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSpeedScaleUpdateNode {
+                constexpr std::ptrdiff_t m_paramIndex = 0x68; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSequenceTagSpans {
+                constexpr std::ptrdiff_t m_sSequenceName = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_tags = 0x8; // CUtlVector<TagSpan_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmGraphDefinition__ChildGraphSlot_t {
+                constexpr std::ptrdiff_t m_nNodeIdx = 0x0; // int16
+                constexpr std::ptrdiff_t m_dataSlotIdx = 0x2; // int16
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_SetBodygroupOnAttachedModels {
+                constexpr std::ptrdiff_t m_GroupName = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_nChoice = 0x50; // int32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCurrentVelocityMetricEvaluator {
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            namespace CNmBoolValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimReplayFrame {
+                constexpr std::ptrdiff_t m_inputDataBlocks = 0x10; // CUtlVector<CUtlBinaryBlock>
+                constexpr std::ptrdiff_t m_instanceData = 0x28; // CUtlBinaryBlock
+                constexpr std::ptrdiff_t m_startingLocalToWorldTransform = 0x40; // CTransform
+                constexpr std::ptrdiff_t m_localToWorldTransform = 0x60; // CTransform
+                constexpr std::ptrdiff_t m_timeStamp = 0x80; // float32
+            }
+            // Parent: CNmEvent
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTransitionEvent {
+                constexpr std::ptrdiff_t m_rule = 0x18; // NmTransitionRule_t
+                constexpr std::ptrdiff_t m_ID = 0x20; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIKRig {
+                constexpr std::ptrdiff_t m_skeleton = 0x0; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+            }
+            // Parent: CAnimMotorUpdaterBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPathAnimMotorUpdaterBase {
+                constexpr std::ptrdiff_t m_bLockToPath = 0x20; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFootstepEventPercentageThroughNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_phaseCondition = 0x12; // NmFootPhaseCondition_t
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AimCameraOpFixedSettings_t {
+                constexpr std::ptrdiff_t m_nChainIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_nCameraJointIndex = 0x4; // int32
+                constexpr std::ptrdiff_t m_nPelvisJointIndex = 0x8; // int32
+                constexpr std::ptrdiff_t m_nClavicleLeftJointIndex = 0xC; // int32
+                constexpr std::ptrdiff_t m_nClavicleRightJointIndex = 0x10; // int32
+                constexpr std::ptrdiff_t m_nDepenetrationJointIndex = 0x14; // int32
+                constexpr std::ptrdiff_t m_propJoints = 0x18; // CUtlVector<int32>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonAnimCapture_t__Camera_t {
+                constexpr std::ptrdiff_t m_tmCamera = 0x0; // CTransform
+                constexpr std::ptrdiff_t m_flTime = 0x20; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFollowAttachmentUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedData = 0x70; // FollowAttachmentSettings_t
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMovementComponentUpdater {
+                constexpr std::ptrdiff_t m_motors = 0x30; // CUtlVector<CSmartPtr<CAnimMotorUpdaterBase>>
+                constexpr std::ptrdiff_t m_facingDamping = 0x48; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_nDefaultMotorIndex = 0x60; // int32
+                constexpr std::ptrdiff_t m_flDefaultRunSpeed = 0x64; // float32
+                constexpr std::ptrdiff_t m_bMoveVarsDisabled = 0x68; // bool
+                constexpr std::ptrdiff_t m_bNetworkPath = 0x69; // bool
+                constexpr std::ptrdiff_t m_bNetworkFacing = 0x6A; // bool
+                constexpr std::ptrdiff_t m_paramHandles = 0x6B; // CAnimParamHandle[30]
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_SetMaterialGroup {
+                constexpr std::ptrdiff_t m_MaterialGroupName = 0x48; // CUtlString
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFutureFacingMetricEvaluator {
+                constexpr std::ptrdiff_t m_flDistance = 0x50; // float32
+                constexpr std::ptrdiff_t m_flTime = 0x54; // float32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace NmCompressionSettings_t {
+                constexpr std::ptrdiff_t m_translationRangeX = 0x0; // NmCompressionSettings_t::QuantizationRange_t
+                constexpr std::ptrdiff_t m_translationRangeY = 0x8; // NmCompressionSettings_t::QuantizationRange_t
+                constexpr std::ptrdiff_t m_translationRangeZ = 0x10; // NmCompressionSettings_t::QuantizationRange_t
+                constexpr std::ptrdiff_t m_scaleRange = 0x18; // NmCompressionSettings_t::QuantizationRange_t
+                constexpr std::ptrdiff_t m_constantRotation = 0x20; // Quaternion
+                constexpr std::ptrdiff_t m_bIsRotationStatic = 0x30; // bool
+                constexpr std::ptrdiff_t m_bIsTranslationStatic = 0x31; // bool
+                constexpr std::ptrdiff_t m_bIsScaleStatic = 0x32; // bool
+            }
+            // Parent: CBinaryUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAddUpdateNode {
+                constexpr std::ptrdiff_t m_footMotionTiming = 0x8C; // BinaryNodeChildOption
+                constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x90; // bool
+                constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x91; // bool
+                constexpr std::ptrdiff_t m_bUseModelSpace = 0x92; // bool
+                constexpr std::ptrdiff_t m_bApplyScale = 0x93; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MPropertyEditClassAsString
+            namespace CAnimEnum {
+                constexpr std::ptrdiff_t m_value = 0x0; // uint8
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDemoSettingsComponentUpdater {
+                constexpr std::ptrdiff_t m_settings = 0x30; // CAnimDemoCaptureSettings
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimDecoder {
+                constexpr std::ptrdiff_t m_szName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_nVersion = 0x10; // int32
+                constexpr std::ptrdiff_t m_nType = 0x14; // int32
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCachedTargetNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_mode = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmConstBoolNode__CDefinition {
+                constexpr std::ptrdiff_t m_bValue = 0x10; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBitFlags {
+                constexpr std::ptrdiff_t m_flags = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootStride {
+                constexpr std::ptrdiff_t m_definition = 0x0; // CFootCycleDefinition
+                constexpr std::ptrdiff_t m_trajectories = 0x40; // CFootTrajectories
+            }
+            // Parent: CNmEvent
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmLegacyEvent {
+                constexpr std::ptrdiff_t m_animEventClassName = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_KV = 0x20; // KeyValues3
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStateNodeStateData {
+                constexpr std::ptrdiff_t m_pChild = 0x0; // CAnimUpdateNodeRef
+                constexpr std::ptrdiff_t m_bExclusiveRootMotion = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bExclusiveRootMotionFirstFrame = 0x0; // bitfield:1
+            }
+            // Parent: CAnimTagBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CFootstepLandedAnimTag {
+                constexpr std::ptrdiff_t m_FootstepType = 0x58; // FootstepLandedFootSoundType_t
+                constexpr std::ptrdiff_t m_OverrideSoundName = 0x60; // CUtlString
+                constexpr std::ptrdiff_t m_DebugAnimSourceString = 0x68; // CUtlString
+                constexpr std::ptrdiff_t m_BoneName = 0x70; // CUtlString
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CEnumAnimParameter {
+                constexpr std::ptrdiff_t m_defaultValue = 0x88; // uint8
+                constexpr std::ptrdiff_t m_enumOptions = 0x90; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_vecEnumReferenced = 0xA8; // CUtlVector<uint64>
+            }
+            // Parent: CAnimTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CHandshakeAnimTagBase {
+                constexpr std::ptrdiff_t m_bIsDisableTag = 0x50; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimTagID {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimFrameSegment {
+                constexpr std::ptrdiff_t m_nUniqueFrameIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_nLocalElementMasks = 0x4; // uint32
+                constexpr std::ptrdiff_t m_nLocalChannel = 0x8; // int32
+                constexpr std::ptrdiff_t m_container = 0x10; // CUtlBinaryBlock
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSlopeComponentUpdater {
+                constexpr std::ptrdiff_t m_flTraceDistance = 0x34; // float32
+                constexpr std::ptrdiff_t m_hSlopeAngle = 0x38; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hSlopeAngleFront = 0x3A; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hSlopeAngleSide = 0x3C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hSlopeHeading = 0x3E; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hSlopeNormal = 0x40; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hSlopeNormal_WorldSpace = 0x42; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CAnimInputDamping {
+                constexpr std::ptrdiff_t m_speedFunction = 0x8; // DampingSpeedFunction
+                constexpr std::ptrdiff_t m_fSpeedScale = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CHitBoxSet {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t m_HitBoxes = 0x10; // CUtlVector<CHitBox>
+                constexpr std::ptrdiff_t m_SourceFilename = 0x28; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ChainToSolveData_t {
+                constexpr std::ptrdiff_t m_nChainIndex = 0x0; // int32
+                constexpr std::ptrdiff_t m_SolverSettings = 0x4; // IKSolverSettings_t
+                constexpr std::ptrdiff_t m_TargetSettings = 0x10; // IKTargetSettings_t
+                constexpr std::ptrdiff_t m_DebugSetting = 0x38; // SolveIKChainAnimNodeDebugSetting
+                constexpr std::ptrdiff_t m_flDebugNormalizedValue = 0x3C; // float32
+                constexpr std::ptrdiff_t m_vDebugOffset = 0x40; // VectorAligned
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CConstraintSlave {
+                constexpr std::ptrdiff_t m_qBaseOrientation = 0x0; // Quaternion
+                constexpr std::ptrdiff_t m_vBasePosition = 0x10; // Vector
+                constexpr std::ptrdiff_t m_nBoneHash = 0x1C; // uint32
+                constexpr std::ptrdiff_t m_flWeight = 0x20; // float32
+                constexpr std::ptrdiff_t m_sName = 0x28; // CUtlString
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootCycleDefinition {
+                constexpr std::ptrdiff_t m_vStancePositionMS = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vMidpointPositionMS = 0xC; // Vector
+                constexpr std::ptrdiff_t m_flStanceDirectionMS = 0x18; // float32
+                constexpr std::ptrdiff_t m_vToStrideStartPos = 0x1C; // Vector
+                constexpr std::ptrdiff_t m_stanceCycle = 0x28; // CAnimCycle
+                constexpr std::ptrdiff_t m_footLiftCycle = 0x2C; // CFootCycle
+                constexpr std::ptrdiff_t m_footOffCycle = 0x30; // CFootCycle
+                constexpr std::ptrdiff_t m_footStrikeCycle = 0x34; // CFootCycle
+                constexpr std::ptrdiff_t m_footLandCycle = 0x38; // CFootCycle
+            }
+            // Parent: CAnimParameterBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVirtualAnimParameter {
+                constexpr std::ptrdiff_t m_expressionString = 0x70; // CUtlString
+                constexpr std::ptrdiff_t m_eParamType = 0x78; // AnimParamType_t
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionMetricEvaluator {
+                constexpr std::ptrdiff_t m_means = 0x18; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_standardDeviations = 0x30; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_flWeight = 0x48; // float32
+                constexpr std::ptrdiff_t m_nDimensionStartIndex = 0x4C; // int32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFutureVelocityMetricEvaluator {
+                constexpr std::ptrdiff_t m_flDistance = 0x50; // float32
+                constexpr std::ptrdiff_t m_flStoppingDistance = 0x54; // float32
+                constexpr std::ptrdiff_t m_flTargetSpeed = 0x58; // float32
+                constexpr std::ptrdiff_t m_eMode = 0x5C; // VelocityMetricMode
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimUpdateNodeBase {
+                constexpr std::ptrdiff_t m_nodePath = 0x18; // CAnimNodePath
+                constexpr std::ptrdiff_t m_networkMode = 0x48; // AnimNodeNetworkMode
+                constexpr std::ptrdiff_t m_name = 0x50; // CUtlString
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSetParameterActionUpdater {
+                constexpr std::ptrdiff_t m_hParam = 0x18; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_value = 0x1A; // CAnimVariant
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFixedWeightBoneMaskNode__CDefinition {
+                constexpr std::ptrdiff_t m_flBoneWeight = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmGraphVariation {
+                constexpr std::ptrdiff_t m_graphDefinition = 0x0; // CStrongHandle<InfoForResourceTypeCNmGraphDefinition>
+                constexpr std::ptrdiff_t m_dataSet = 0x8; // CNmGraphDataSet
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonAnimCapture_t__FrameStamp_t {
+                constexpr std::ptrdiff_t m_flTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_flEntitySimTime = 0x4; // float32
+                constexpr std::ptrdiff_t m_bTeleportTick = 0x8; // bool
+                constexpr std::ptrdiff_t m_bPredicted = 0x9; // bool
+                constexpr std::ptrdiff_t m_flCurTime = 0xC; // float32
+                constexpr std::ptrdiff_t m_flRealTime = 0x10; // float32
+                constexpr std::ptrdiff_t m_nFrameCount = 0x14; // int32
+                constexpr std::ptrdiff_t m_nTickCount = 0x18; // int32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBonePositionMetricEvaluator {
+                constexpr std::ptrdiff_t m_nBoneIndex = 0x50; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRenderBufferBinding {
+                constexpr std::ptrdiff_t m_hBuffer = 0x0; // uint64
+                constexpr std::ptrdiff_t m_nBindOffsetBytes = 0x10; // uint32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmExternalGraphNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmParameterizedBlendNode__Parameterization_t {
+                constexpr std::ptrdiff_t m_blendRanges = 0x0; // CUtlLeanVectorFixedGrowable<CNmParameterizedBlendNode::BlendRange_t,5>
+                constexpr std::ptrdiff_t m_parameterRange = 0x48; // Range_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmNotNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMeshletDescriptor {
+                constexpr std::ptrdiff_t m_PackedAABB = 0x0; // PackedAABB_t
+                constexpr std::ptrdiff_t m_CullingData = 0x8; // CDrawCullingData
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMorphSetData {
+                constexpr std::ptrdiff_t m_nWidth = 0x10; // int32
+                constexpr std::ptrdiff_t m_nHeight = 0x14; // int32
+                constexpr std::ptrdiff_t m_bundleTypes = 0x18; // CUtlVector<MorphBundleType_t>
+                constexpr std::ptrdiff_t m_morphDatas = 0x30; // CUtlVector<CMorphData>
+                constexpr std::ptrdiff_t m_pTextureAtlas = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_FlexDesc = 0x50; // CUtlVector<CFlexDesc>
+                constexpr std::ptrdiff_t m_FlexControllers = 0x68; // CUtlVector<CFlexController>
+                constexpr std::ptrdiff_t m_FlexRules = 0x80; // CUtlVector<CFlexRule>
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmAndNode__CDefinition {
+                constexpr std::ptrdiff_t m_conditionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,4>
+            }
+            // Parent: CBaseConstraint
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMorphConstraint {
+                constexpr std::ptrdiff_t m_sTargetMorph = 0x68; // CUtlString
+                constexpr std::ptrdiff_t m_nSlaveChannel = 0x70; // int32
+                constexpr std::ptrdiff_t m_flMin = 0x74; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x78; // float32
+            }
+            // Parent: CAnimTagBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CClothSettingsAnimTag {
+                constexpr std::ptrdiff_t m_flStiffness = 0x58; // float32
+                constexpr std::ptrdiff_t m_flEaseIn = 0x5C; // float32
+                constexpr std::ptrdiff_t m_flEaseOut = 0x60; // float32
+                constexpr std::ptrdiff_t m_nVertexSet = 0x68; // CUtlString
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimDesc_Flag {
+                constexpr std::ptrdiff_t m_bLooping = 0x0; // bool
+                constexpr std::ptrdiff_t m_bAllZeros = 0x1; // bool
+                constexpr std::ptrdiff_t m_bHidden = 0x2; // bool
+                constexpr std::ptrdiff_t m_bDelta = 0x3; // bool
+                constexpr std::ptrdiff_t m_bLegacyWorldspace = 0x4; // bool
+                constexpr std::ptrdiff_t m_bModelDoc = 0x5; // bool
+                constexpr std::ptrdiff_t m_bImplicitSeqIgnoreDelta = 0x6; // bool
+                constexpr std::ptrdiff_t m_bAnimGraphAdditive = 0x7; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBlend2DNode__CDefinition {
+                constexpr std::ptrdiff_t m_sourceNodeIndices = 0x10; // CUtlVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_nInputParameterNodeIdx0 = 0x38; // int16
+                constexpr std::ptrdiff_t m_nInputParameterNodeIdx1 = 0x3A; // int16
+                constexpr std::ptrdiff_t m_values = 0x40; // CUtlVectorFixedGrowable<Vector2D,10>
+                constexpr std::ptrdiff_t m_indices = 0xA8; // CUtlVectorFixedGrowable<uint8,30>
+                constexpr std::ptrdiff_t m_hullIndices = 0xE0; // CUtlVectorFixedGrowable<uint8,10>
+                constexpr std::ptrdiff_t m_bAllowLooping = 0x108; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBlendCurve {
+                constexpr std::ptrdiff_t m_flControlPoint1 = 0x0; // float32
+                constexpr std::ptrdiff_t m_flControlPoint2 = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmGraphNode__CDefinition {
+                constexpr std::ptrdiff_t m_nNodeIdx = 0x8; // int16
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGraphVisualizerSphere {
+                constexpr std::ptrdiff_t m_vWsPosition = 0x40; // VectorAligned
+                constexpr std::ptrdiff_t m_flRadius = 0x50; // float32
+                constexpr std::ptrdiff_t m_Color = 0x54; // Color
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimUserDifference {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_nType = 0x10; // int32
+            }
+            // Parent: CNmSpeedScaleBaseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmDurationScaleNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTransitionUpdateData {
+                constexpr std::ptrdiff_t m_srcStateIndex = 0x0; // uint8
+                constexpr std::ptrdiff_t m_destStateIndex = 0x1; // uint8
+                constexpr std::ptrdiff_t m_nHandshakeMaskToDisableFirst = 0x0; // bitfield:7
+                constexpr std::ptrdiff_t m_bDisabled = 0x0; // bitfield:1
+            }
+            // Parent: CHandshakeAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CMovementHandshakeAnimTag {
+            }
+            // Parent: None
+            // Field count: 2
+            namespace CBoneConstraintPoseSpaceBone__Input_t {
+                constexpr std::ptrdiff_t m_inputValue = 0x0; // Vector
+                constexpr std::ptrdiff_t m_outputTransformList = 0x10; // CUtlVector<CTransform>
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqMultiFetch {
+                constexpr std::ptrdiff_t m_flags = 0x0; // CSeqMultiFetchFlag
+                constexpr std::ptrdiff_t m_localReferenceArray = 0x8; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_nGroupSize = 0x20; // int32[2]
+                constexpr std::ptrdiff_t m_nLocalPose = 0x28; // int32[2]
+                constexpr std::ptrdiff_t m_poseKeyArray0 = 0x30; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_poseKeyArray1 = 0x48; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nLocalCyclePoseParameter = 0x60; // int32
+                constexpr std::ptrdiff_t m_bCalculatePoseParameters = 0x64; // bool
+                constexpr std::ptrdiff_t m_bFixedBlendWeight = 0x65; // bool
+                constexpr std::ptrdiff_t m_flFixedBlendWeightVals = 0x68; // float32[2]
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPhysSurfacePropertiesSoundNames {
+                constexpr std::ptrdiff_t m_impactSoft = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_impactHard = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_scrapeSmooth = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_scrapeRough = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_bulletImpact = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_rolling = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_break = 0x30; // CUtlString
+                constexpr std::ptrdiff_t m_strain = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_meleeImpact = 0x40; // CUtlString
+                constexpr std::ptrdiff_t m_pushOff = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_skidStop = 0x50; // CUtlString
+            }
+            // Parent: CAnimTagBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CAudioAnimTag {
+                constexpr std::ptrdiff_t m_clipName = 0x58; // CUtlString
+                constexpr std::ptrdiff_t m_attachmentName = 0x60; // CUtlString
+                constexpr std::ptrdiff_t m_flVolume = 0x68; // float32
+                constexpr std::ptrdiff_t m_bStopWhenTagEnds = 0x6C; // bool
+                constexpr std::ptrdiff_t m_bStopWhenGraphEnds = 0x6D; // bool
+                constexpr std::ptrdiff_t m_bPlayOnServer = 0x6E; // bool
+                constexpr std::ptrdiff_t m_bPlayOnClient = 0x6F; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTurnHelperUpdateNode {
+                constexpr std::ptrdiff_t m_facingTarget = 0x6C; // AnimValueSource
+                constexpr std::ptrdiff_t m_turnStartTimeOffset = 0x70; // float32
+                constexpr std::ptrdiff_t m_turnDuration = 0x74; // float32
+                constexpr std::ptrdiff_t m_bMatchChildDuration = 0x78; // bool
+                constexpr std::ptrdiff_t m_manualTurnOffset = 0x7C; // float32
+                constexpr std::ptrdiff_t m_bUseManualTurnOffset = 0x80; // bool
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGroup {
+                constexpr std::ptrdiff_t m_nFlags = 0x10; // uint32
+                constexpr std::ptrdiff_t m_name = 0x18; // CBufferString
+                constexpr std::ptrdiff_t m_localHAnimArray_Handle = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
+                constexpr std::ptrdiff_t m_includedGroupArray_Handle = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
+                constexpr std::ptrdiff_t m_directHSeqGroup_Handle = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
+                constexpr std::ptrdiff_t m_decodeKey = 0x98; // CAnimKeyData
+                constexpr std::ptrdiff_t m_szScripts = 0x110; // CUtlVector<CBufferString>
+                constexpr std::ptrdiff_t m_AdditionalExtRefs = 0x128; // CUtlVector<CStrongHandleVoid>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace NmSyncTrackTime_t {
+                constexpr std::ptrdiff_t m_nEventIdx = 0x0; // int32
+                constexpr std::ptrdiff_t m_percentageThrough = 0x4; // NmPercent_t
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmClip {
+                constexpr std::ptrdiff_t m_skeleton = 0x0; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+                constexpr std::ptrdiff_t m_nNumFrames = 0x8; // uint32
+                constexpr std::ptrdiff_t m_flDuration = 0xC; // float32
+                constexpr std::ptrdiff_t m_compressedPoseData = 0x10; // CUtlBinaryBlock
+                constexpr std::ptrdiff_t m_trackCompressionSettings = 0x28; // CUtlVector<NmCompressionSettings_t>
+                constexpr std::ptrdiff_t m_compressedPoseOffsets = 0x40; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_syncTrack = 0xA0; // CNmSyncTrack
+                constexpr std::ptrdiff_t m_rootMotion = 0x150; // CNmRootMotionData
+                constexpr std::ptrdiff_t m_bIsAdditive = 0x1A0; // bool
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CToggleComponentActionUpdater {
+                constexpr std::ptrdiff_t m_componentID = 0x18; // AnimComponentID
+                constexpr std::ptrdiff_t m_bSetEnabled = 0x1C; // bool
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            namespace CNmOverlayBlendTask {
+            }
+            // Parent: CNmPassthroughNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSpeedScaleBaseNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x18; // int16
+                constexpr std::ptrdiff_t m_flDefaultInputValue = 0x1C; // float32
+            }
+            // Parent: CNmGraphNode__CDefinition
+            // Field count: 0
+            namespace CNmValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGraphVisualizerPrimitiveBase {
+                constexpr std::ptrdiff_t m_Type = 0x8; // CAnimationGraphVisualizerPrimitiveType
+                constexpr std::ptrdiff_t m_OwningAnimNodePaths = 0xC; // AnimNodeID[11]
+                constexpr std::ptrdiff_t m_nOwningAnimNodePathCount = 0x38; // int32
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBindPoseUpdateNode {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace NmSyncTrackTimeRange_t {
+                constexpr std::ptrdiff_t m_startTime = 0x0; // NmSyncTrackTime_t
+                constexpr std::ptrdiff_t m_endTime = 0x8; // NmSyncTrackTime_t
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGraphVisualizerText {
+                constexpr std::ptrdiff_t m_vWsPosition = 0x40; // VectorAligned
+                constexpr std::ptrdiff_t m_Color = 0x50; // Color
+                constexpr std::ptrdiff_t m_Text = 0x58; // CUtlString
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootTrajectory {
+                constexpr std::ptrdiff_t m_vOffset = 0x0; // Vector
+                constexpr std::ptrdiff_t m_flRotationOffset = 0xC; // float32
+                constexpr std::ptrdiff_t m_flProgression = 0x10; // float32
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 23
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionMatchingUpdateNode {
+                constexpr std::ptrdiff_t m_dataSet = 0x58; // CMotionDataSet
+                constexpr std::ptrdiff_t m_metrics = 0x78; // CUtlVector<CSmartPtr<CMotionMetricEvaluator>>
+                constexpr std::ptrdiff_t m_weights = 0x90; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_bSearchEveryTick = 0xE0; // bool
+                constexpr std::ptrdiff_t m_flSearchInterval = 0xE4; // float32
+                constexpr std::ptrdiff_t m_bSearchWhenClipEnds = 0xE8; // bool
+                constexpr std::ptrdiff_t m_bSearchWhenGoalChanges = 0xE9; // bool
+                constexpr std::ptrdiff_t m_blendCurve = 0xEC; // CBlendCurve
+                constexpr std::ptrdiff_t m_flSampleRate = 0xF4; // float32
+                constexpr std::ptrdiff_t m_flBlendTime = 0xF8; // float32
+                constexpr std::ptrdiff_t m_bLockClipWhenWaning = 0xFC; // bool
+                constexpr std::ptrdiff_t m_flSelectionThreshold = 0x100; // float32
+                constexpr std::ptrdiff_t m_flReselectionTimeWindow = 0x104; // float32
+                constexpr std::ptrdiff_t m_bEnableRotationCorrection = 0x108; // bool
+                constexpr std::ptrdiff_t m_bGoalAssist = 0x109; // bool
+                constexpr std::ptrdiff_t m_flGoalAssistDistance = 0x10C; // float32
+                constexpr std::ptrdiff_t m_flGoalAssistTolerance = 0x110; // float32
+                constexpr std::ptrdiff_t m_distanceScale_Damping = 0x118; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_flDistanceScale_OuterRadius = 0x128; // float32
+                constexpr std::ptrdiff_t m_flDistanceScale_InnerRadius = 0x12C; // float32
+                constexpr std::ptrdiff_t m_flDistanceScale_MaxScale = 0x130; // float32
+                constexpr std::ptrdiff_t m_flDistanceScale_MinScale = 0x134; // float32
+                constexpr std::ptrdiff_t m_bEnableDistanceScaling = 0x138; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmReferencePoseNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqS1SeqDesc {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_flags = 0x10; // CSeqSeqDescFlag
+                constexpr std::ptrdiff_t m_fetch = 0x20; // CSeqMultiFetch
+                constexpr std::ptrdiff_t m_nLocalWeightlist = 0x90; // int32
+                constexpr std::ptrdiff_t m_autoLayerArray = 0x98; // CUtlVector<CSeqAutoLayer>
+                constexpr std::ptrdiff_t m_IKLockArray = 0xB0; // CUtlVector<CSeqIKLock>
+                constexpr std::ptrdiff_t m_transition = 0xC8; // CSeqTransition
+                constexpr std::ptrdiff_t m_SequenceKeys = 0xD0; // KeyValues3
+                constexpr std::ptrdiff_t m_LegacyKeyValueText = 0xE0; // CBufferString
+                constexpr std::ptrdiff_t m_activityArray = 0xF0; // CUtlVector<CAnimActivity>
+                constexpr std::ptrdiff_t m_footMotion = 0x108; // CUtlVector<CFootMotion>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFlexController {
+                constexpr std::ptrdiff_t m_szName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_szType = 0x8; // CUtlString
+                constexpr std::ptrdiff_t min = 0x10; // float32
+                constexpr std::ptrdiff_t max = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonDemoDb_t {
+                constexpr std::ptrdiff_t m_AnimCaptures = 0x0; // CUtlVector<SkeletonAnimCapture_t*>
+                constexpr std::ptrdiff_t m_CameraTrack = 0x18; // CUtlVector<SkeletonAnimCapture_t::Camera_t>
+                constexpr std::ptrdiff_t m_flRecordingTime = 0x30; // float32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateEventConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+                constexpr std::ptrdiff_t m_conditions = 0x18; // CUtlVectorFixedGrowable<CNmStateEventConditionNode::Condition_t,5>
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatRangeComparisonNode__CDefinition {
+                constexpr std::ptrdiff_t m_range = 0x10; // Range_t
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x18; // int16
+                constexpr std::ptrdiff_t m_bIsInclusiveCheck = 0x1A; // bool
+            }
+            // Parent: CMotionNode
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionNodeSequence {
+                constexpr std::ptrdiff_t m_tags = 0x28; // CUtlVector<TagSpan_t>
+                constexpr std::ptrdiff_t m_hSequence = 0x40; // HSequence
+                constexpr std::ptrdiff_t m_flPlaybackSpeed = 0x44; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFlexDesc {
+                constexpr std::ptrdiff_t m_szFacs = 0x0; // CUtlString
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRenderMesh {
+                constexpr std::ptrdiff_t m_sceneObjects = 0x10; // CUtlLeanVectorFixedGrowable<CSceneObjectData,1>
+                constexpr std::ptrdiff_t m_constraints = 0x78; // CUtlLeanVector<CBaseConstraint*>
+                constexpr std::ptrdiff_t m_skeleton = 0x88; // CRenderSkeleton
+                constexpr std::ptrdiff_t m_meshDeformParams = 0x1A8; // DynamicMeshDeformParams_t
+                constexpr std::ptrdiff_t m_pGroomData = 0x1B8; // CRenderGroom*
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimSkeleton {
+                constexpr std::ptrdiff_t m_localSpaceTransforms = 0x10; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_modelSpaceTransforms = 0x28; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_boneNames = 0x40; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector<CUtlVector<int32>>
+                constexpr std::ptrdiff_t m_parents = 0x70; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_feet = 0x88; // CUtlVector<CAnimFoot>
+                constexpr std::ptrdiff_t m_morphNames = 0xA0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_lodBoneCounts = 0xB8; // CUtlVector<int32>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysics2ShapeDef_t {
+                constexpr std::ptrdiff_t m_spheres = 0x0; // CUtlVector<RnSphereDesc_t>
+                constexpr std::ptrdiff_t m_capsules = 0x18; // CUtlVector<RnCapsuleDesc_t>
+                constexpr std::ptrdiff_t m_hulls = 0x30; // CUtlVector<RnHullDesc_t>
+                constexpr std::ptrdiff_t m_meshes = 0x48; // CUtlVector<RnMeshDesc_t>
+                constexpr std::ptrdiff_t m_CollisionAttributeIndices = 0x60; // CUtlVector<uint16>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatCurveNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_curve = 0x18; // CPiecewiseCurve
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGraphVisualizerAxis {
+                constexpr std::ptrdiff_t m_xWsTransform = 0x40; // CTransform
+                constexpr std::ptrdiff_t m_flAxisSize = 0x60; // float32
+            }
+            // Parent: CBaseConstraint
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTwistConstraint {
+                constexpr std::ptrdiff_t m_bInverse = 0x68; // bool
+                constexpr std::ptrdiff_t m_qParentBindRotation = 0x70; // Quaternion
+                constexpr std::ptrdiff_t m_qChildBindRotation = 0x80; // Quaternion
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ModelBoneFlexDriverControl_t {
+                constexpr std::ptrdiff_t m_nBoneComponent = 0x0; // ModelBoneFlexComponent_t
+                constexpr std::ptrdiff_t m_flexController = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_flexControllerToken = 0x10; // uint32
+                constexpr std::ptrdiff_t m_flMin = 0x14; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqCmdLayer {
+                constexpr std::ptrdiff_t m_cmd = 0x0; // int16
+                constexpr std::ptrdiff_t m_nLocalReference = 0x2; // int16
+                constexpr std::ptrdiff_t m_nLocalBonemask = 0x4; // int16
+                constexpr std::ptrdiff_t m_nDstResult = 0x6; // int16
+                constexpr std::ptrdiff_t m_nSrcResult = 0x8; // int16
+                constexpr std::ptrdiff_t m_bSpline = 0xA; // bool
+                constexpr std::ptrdiff_t m_flVar1 = 0xC; // float32
+                constexpr std::ptrdiff_t m_flVar2 = 0x10; // float32
+                constexpr std::ptrdiff_t m_nLineNumber = 0x14; // int16
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FootPinningPoseOpFixedData_t {
+                constexpr std::ptrdiff_t m_footInfo = 0x0; // CUtlVector<FootFixedData_t>
+                constexpr std::ptrdiff_t m_flBlendTime = 0x18; // float32
+                constexpr std::ptrdiff_t m_flLockBreakDistance = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flMaxLegTwist = 0x20; // float32
+                constexpr std::ptrdiff_t m_nHipBoneIndex = 0x24; // int32
+                constexpr std::ptrdiff_t m_bApplyLegTwistLimits = 0x28; // bool
+                constexpr std::ptrdiff_t m_bApplyFootRotationLimits = 0x29; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RenderSkeletonBone_t {
+                constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_parentName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_invBindPose = 0x10; // matrix3x4_t
+                constexpr std::ptrdiff_t m_bbox = 0x40; // SkeletonBoneBounds_t
+                constexpr std::ptrdiff_t m_flSphereRadius = 0x58; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDistanceRemainingMetricEvaluator {
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x50; // float32
+                constexpr std::ptrdiff_t m_flMinDistance = 0x54; // float32
+                constexpr std::ptrdiff_t m_flStartGoalFilterDistance = 0x58; // float32
+                constexpr std::ptrdiff_t m_flMaxGoalOvershootScale = 0x5C; // float32
+                constexpr std::ptrdiff_t m_bFilterFixedMinDistance = 0x60; // bool
+                constexpr std::ptrdiff_t m_bFilterGoalDistance = 0x61; // bool
+                constexpr std::ptrdiff_t m_bFilterGoalOvershoot = 0x62; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDirectPlaybackUpdateNode {
+                constexpr std::ptrdiff_t m_bFinishEarly = 0x6C; // bool
+                constexpr std::ptrdiff_t m_bResetOnFinish = 0x6D; // bool
+                constexpr std::ptrdiff_t m_allTags = 0x70; // CUtlVector<CDirectPlaybackTagData>
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIDEvent {
+                constexpr std::ptrdiff_t m_ID = 0x18; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFlexRule {
+                constexpr std::ptrdiff_t m_nFlex = 0x0; // int32
+                constexpr std::ptrdiff_t m_FlexOps = 0x8; // CUtlVector<CFlexOp>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ScriptInfo_t {
+                constexpr std::ptrdiff_t m_code = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_paramsModified = 0x8; // CUtlVector<CAnimParamHandle>
+                constexpr std::ptrdiff_t m_proxyReadParams = 0x20; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_proxyWriteParams = 0x38; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_eScriptType = 0x50; // AnimScriptType
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRenderGroom {
+                constexpr std::ptrdiff_t m_hairs = 0x0; // CUtlVector<RenderHairStrandInfo_t>
+                constexpr std::ptrdiff_t m_hairPositionOffsets = 0x18; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_hSimParamsMat = 0x40; // CStrongHandleCopyable<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nSegmentsPerHairStrand = 0x48; // int32
+                constexpr std::ptrdiff_t m_nGuideHairCount = 0x4C; // int32
+                constexpr std::ptrdiff_t m_nHairCount = 0x50; // int32
+                constexpr std::ptrdiff_t m_nGroomGroupID = 0x54; // int32
+                constexpr std::ptrdiff_t m_nAttachBoneIdx = 0x58; // int32
+                constexpr std::ptrdiff_t m_nAttachMeshIdx = 0x5C; // int32
+                constexpr std::ptrdiff_t m_nAttachMeshDrawCallIdx = 0x60; // int32
+                constexpr std::ptrdiff_t m_bEnableSimulation = 0x64; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmParameterizedClipSelectorNode__CDefinition {
+                constexpr std::ptrdiff_t m_optionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                constexpr std::ptrdiff_t m_parameterNodeIdx = 0x28; // int16
+            }
+            // Parent: CBaseConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTiltTwistConstraint {
+                constexpr std::ptrdiff_t m_nTargetAxis = 0x68; // int32
+                constexpr std::ptrdiff_t m_nSlaveAxis = 0x6C; // int32
+            }
+            // Parent: CNmSpeedScaleBaseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSpeedScaleNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVPhysXSurfacePropertiesList {
+                constexpr std::ptrdiff_t m_surfacePropertiesList = 0x0; // CUtlVector<CPhysSurfaceProperties*>
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RenderHairStrandInfo_t {
+                constexpr std::ptrdiff_t m_nGuideHairIndices_nSurfaceTriIndex = 0x0; // uint32[2]
+                constexpr std::ptrdiff_t m_vGuideBary_vBaseBary = 0x8; // uint16[4]
+                constexpr std::ptrdiff_t m_vRootOffset_flLengthScale = 0x10; // uint16[4]
+                constexpr std::ptrdiff_t m_nPackedBaseUv = 0x18; // uint16[2]
+                constexpr std::ptrdiff_t m_nPackedSurfaceNormalOs = 0x1C; // uint32
+                constexpr std::ptrdiff_t m_nPackedSurfaceTangentOs = 0x20; // uint32
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCycleControlClipUpdateNode {
+                constexpr std::ptrdiff_t m_tags = 0x60; // CUtlVector<TagSpan_t>
+                constexpr std::ptrdiff_t m_hSequence = 0x7C; // HSequence
+                constexpr std::ptrdiff_t m_duration = 0x80; // float32
+                constexpr std::ptrdiff_t m_valueSource = 0x84; // AnimValueSource
+                constexpr std::ptrdiff_t m_paramIndex = 0x88; // CAnimParamHandle
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTargetPointNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_bIsWorldSpaceTarget = 0x12; // bool
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            namespace CNmFloatValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStaticPoseCache {
+                constexpr std::ptrdiff_t m_poses = 0x10; // CUtlVector<CCachedPose>
+                constexpr std::ptrdiff_t m_nBoneCount = 0x28; // int32
+                constexpr std::ptrdiff_t m_nMorphCount = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace LookAtOpFixedSettings_t {
+                constexpr std::ptrdiff_t m_attachment = 0x0; // CAnimAttachment
+                constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_bones = 0x90; // CUtlVector<LookAtBone_t>
+                constexpr std::ptrdiff_t m_flYawLimit = 0xA8; // float32
+                constexpr std::ptrdiff_t m_flPitchLimit = 0xAC; // float32
+                constexpr std::ptrdiff_t m_flHysteresisInnerAngle = 0xB0; // float32
+                constexpr std::ptrdiff_t m_flHysteresisOuterAngle = 0xB4; // float32
+                constexpr std::ptrdiff_t m_bRotateYawForward = 0xB8; // bool
+                constexpr std::ptrdiff_t m_bMaintainUpDirection = 0xB9; // bool
+                constexpr std::ptrdiff_t m_bTargetIsPosition = 0xBA; // bool
+                constexpr std::ptrdiff_t m_bUseHysteresis = 0xBB; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimGraphSettingsManager {
+                constexpr std::ptrdiff_t m_settingsGroups = 0x18; // CUtlVector<CSmartPtr<CAnimGraphSettingsGroup>>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimGraphModelBinding {
+                constexpr std::ptrdiff_t m_modelName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_pSharedData = 0x10; // CSmartPtr<CAnimUpdateSharedData>
+            }
+            // Parent: CBaseConstraint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBoneConstraintPoseSpaceBone {
+                constexpr std::ptrdiff_t m_inputList = 0x68; // CUtlVector<CBoneConstraintPoseSpaceBone::Input_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MotionBlendItem {
+                constexpr std::ptrdiff_t m_pChild = 0x0; // CSmartPtr<CMotionNode>
+                constexpr std::ptrdiff_t m_flKeyValue = 0x8; // float32
+            }
+            // Parent: CBoneConstraintBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBoneConstraintPoseSpaceMorph {
+                constexpr std::ptrdiff_t m_sBoneName = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_sAttachmentName = 0x30; // CUtlString
+                constexpr std::ptrdiff_t m_outputMorph = 0x38; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_inputList = 0x50; // CUtlVector<CBoneConstraintPoseSpaceMorph::Input_t>
+                constexpr std::ptrdiff_t m_bClamp = 0x68; // bool
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CFloatAnimParameter {
+                constexpr std::ptrdiff_t m_fDefaultValue = 0x80; // float32
+                constexpr std::ptrdiff_t m_fMinValue = 0x84; // float32
+                constexpr std::ptrdiff_t m_fMaxValue = 0x88; // float32
+                constexpr std::ptrdiff_t m_bInterpolate = 0x8C; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStateActionUpdater {
+                constexpr std::ptrdiff_t m_pAction = 0x0; // CSmartPtr<CAnimActionUpdater>
+                constexpr std::ptrdiff_t m_eBehavior = 0x8; // StateActionBehavior
+            }
+            // Parent: CAnimMotorUpdaterBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPlayerInputAnimMotorUpdater {
+                constexpr std::ptrdiff_t m_sampleTimes = 0x20; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_flSpringConstant = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flAnticipationDistance = 0x40; // float32
+                constexpr std::ptrdiff_t m_hAnticipationPosParam = 0x44; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hAnticipationHeadingParam = 0x46; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_bUseAcceleration = 0x48; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRenderSkeleton {
+                constexpr std::ptrdiff_t m_bones = 0x0; // CUtlVector<RenderSkeletonBone_t>
+                constexpr std::ptrdiff_t m_boneParents = 0x30; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_nBoneWeightCount = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqIKLock {
+                constexpr std::ptrdiff_t m_flPosWeight = 0x0; // float32
+                constexpr std::ptrdiff_t m_flAngleWeight = 0x4; // float32
+                constexpr std::ptrdiff_t m_nLocalBone = 0x8; // int16
+                constexpr std::ptrdiff_t m_bBonesOrientedAlongPositiveX = 0xA; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimParamHandleMap {
+                constexpr std::ptrdiff_t m_list = 0x0; // CUtlHashtable<uint16,int16>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatClampNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_clampRange = 0x14; // Range_t
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimDesc {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_flags = 0x10; // CAnimDesc_Flag
+                constexpr std::ptrdiff_t fps = 0x18; // float32
+                constexpr std::ptrdiff_t m_Data = 0x20; // CAnimEncodedFrames
+                constexpr std::ptrdiff_t m_movementArray = 0xF8; // CUtlVector<CAnimMovement>
+                constexpr std::ptrdiff_t m_xInitialOffset = 0x110; // CTransform
+                constexpr std::ptrdiff_t m_eventArray = 0x130; // CUtlVector<CAnimEventDefinition>
+                constexpr std::ptrdiff_t m_activityArray = 0x148; // CUtlVector<CAnimActivity>
+                constexpr std::ptrdiff_t m_hierarchyArray = 0x160; // CUtlVector<CAnimLocalHierarchy>
+                constexpr std::ptrdiff_t framestalltime = 0x178; // float32
+                constexpr std::ptrdiff_t m_vecRootMin = 0x17C; // Vector
+                constexpr std::ptrdiff_t m_vecRootMax = 0x188; // Vector
+                constexpr std::ptrdiff_t m_vecBoneWorldMin = 0x198; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_vecBoneWorldMax = 0x1B0; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_sequenceParams = 0x1C8; // CAnimSequenceParams
+            }
+            // Parent: CNmPassthroughNode__CDefinition
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmRootMotionOverrideNode__CDefinition {
+                constexpr std::ptrdiff_t m_desiredMovingVelocityNodeIdx = 0x18; // int16
+                constexpr std::ptrdiff_t m_desiredFacingDirectionNodeIdx = 0x1A; // int16
+                constexpr std::ptrdiff_t m_linearVelocityLimitNodeIdx = 0x1C; // int16
+                constexpr std::ptrdiff_t m_angularVelocityLimitNodeIdx = 0x1E; // int16
+                constexpr std::ptrdiff_t m_maxLinearVelocity = 0x20; // float32
+                constexpr std::ptrdiff_t m_maxAngularVelocityRadians = 0x24; // float32
+                constexpr std::ptrdiff_t m_overrideFlags = 0x28; // CNmBitFlags
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTargetWarpNode__CDefinition {
+                constexpr std::ptrdiff_t m_nClipReferenceNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nTargetValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_samplingMode = 0x14; // CNmRootMotionData::SamplingMode_t
+                constexpr std::ptrdiff_t m_bAllowTargetUpdate = 0x15; // bool
+                constexpr std::ptrdiff_t m_flSamplingPositionErrorThresholdSq = 0x18; // float32
+                constexpr std::ptrdiff_t m_flMaxTangentLength = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flLerpFallbackDistanceThreshold = 0x20; // float32
+                constexpr std::ptrdiff_t m_flTargetUpdateDistanceThreshold = 0x24; // float32
+                constexpr std::ptrdiff_t m_flTargetUpdateAngleThresholdRadians = 0x28; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPhysSurfacePropertiesPhysics {
+                constexpr std::ptrdiff_t m_friction = 0x0; // float32
+                constexpr std::ptrdiff_t m_elasticity = 0x4; // float32
+                constexpr std::ptrdiff_t m_density = 0x8; // float32
+                constexpr std::ptrdiff_t m_thickness = 0xC; // float32
+                constexpr std::ptrdiff_t m_softContactFrequency = 0x10; // float32
+                constexpr std::ptrdiff_t m_softContactDampingRatio = 0x14; // float32
+                constexpr std::ptrdiff_t m_wheelDrag = 0x18; // float32
+                constexpr std::ptrdiff_t m_heatConductivity = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flashpoint = 0x20; // float32
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimationGraphVisualizerPie {
+                constexpr std::ptrdiff_t m_vWsCenter = 0x40; // VectorAligned
+                constexpr std::ptrdiff_t m_vWsStart = 0x50; // VectorAligned
+                constexpr std::ptrdiff_t m_vWsEnd = 0x60; // VectorAligned
+                constexpr std::ptrdiff_t m_Color = 0x70; // Color
+            }
+            // Parent: CBoneConstraintBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBoneConstraintDotToMorph {
+                constexpr std::ptrdiff_t m_sBoneName = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_sTargetBoneName = 0x30; // CUtlString
+                constexpr std::ptrdiff_t m_sMorphChannelName = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_flRemap = 0x40; // float32[4]
+            }
+            // Parent: CBaseConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPointConstraint {
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCurrentRotationVelocityMetricEvaluator {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace TraceSettings_t {
+                constexpr std::ptrdiff_t m_flTraceHeight = 0x0; // float32
+                constexpr std::ptrdiff_t m_flTraceRadius = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParamSpanSample_t {
+                constexpr std::ptrdiff_t m_value = 0x0; // CAnimVariant
+                constexpr std::ptrdiff_t m_flCycle = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 46
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXConstraintParams_t {
+                constexpr std::ptrdiff_t m_nType = 0x0; // int8
+                constexpr std::ptrdiff_t m_nTranslateMotion = 0x1; // int8
+                constexpr std::ptrdiff_t m_nRotateMotion = 0x2; // int8
+                constexpr std::ptrdiff_t m_nFlags = 0x3; // int8
+                constexpr std::ptrdiff_t m_anchor = 0x4; // Vector[2]
+                constexpr std::ptrdiff_t m_axes = 0x1C; // QuaternionStorage[2]
+                constexpr std::ptrdiff_t m_maxForce = 0x3C; // float32
+                constexpr std::ptrdiff_t m_maxTorque = 0x40; // float32
+                constexpr std::ptrdiff_t m_linearLimitValue = 0x44; // float32
+                constexpr std::ptrdiff_t m_linearLimitRestitution = 0x48; // float32
+                constexpr std::ptrdiff_t m_linearLimitSpring = 0x4C; // float32
+                constexpr std::ptrdiff_t m_linearLimitDamping = 0x50; // float32
+                constexpr std::ptrdiff_t m_twistLowLimitValue = 0x54; // float32
+                constexpr std::ptrdiff_t m_twistLowLimitRestitution = 0x58; // float32
+                constexpr std::ptrdiff_t m_twistLowLimitSpring = 0x5C; // float32
+                constexpr std::ptrdiff_t m_twistLowLimitDamping = 0x60; // float32
+                constexpr std::ptrdiff_t m_twistHighLimitValue = 0x64; // float32
+                constexpr std::ptrdiff_t m_twistHighLimitRestitution = 0x68; // float32
+                constexpr std::ptrdiff_t m_twistHighLimitSpring = 0x6C; // float32
+                constexpr std::ptrdiff_t m_twistHighLimitDamping = 0x70; // float32
+                constexpr std::ptrdiff_t m_swing1LimitValue = 0x74; // float32
+                constexpr std::ptrdiff_t m_swing1LimitRestitution = 0x78; // float32
+                constexpr std::ptrdiff_t m_swing1LimitSpring = 0x7C; // float32
+                constexpr std::ptrdiff_t m_swing1LimitDamping = 0x80; // float32
+                constexpr std::ptrdiff_t m_swing2LimitValue = 0x84; // float32
+                constexpr std::ptrdiff_t m_swing2LimitRestitution = 0x88; // float32
+                constexpr std::ptrdiff_t m_swing2LimitSpring = 0x8C; // float32
+                constexpr std::ptrdiff_t m_swing2LimitDamping = 0x90; // float32
+                constexpr std::ptrdiff_t m_goalPosition = 0x94; // Vector
+                constexpr std::ptrdiff_t m_goalOrientation = 0xA0; // QuaternionStorage
+                constexpr std::ptrdiff_t m_goalAngularVelocity = 0xB0; // Vector
+                constexpr std::ptrdiff_t m_driveSpringX = 0xBC; // float32
+                constexpr std::ptrdiff_t m_driveSpringY = 0xC0; // float32
+                constexpr std::ptrdiff_t m_driveSpringZ = 0xC4; // float32
+                constexpr std::ptrdiff_t m_driveDampingX = 0xC8; // float32
+                constexpr std::ptrdiff_t m_driveDampingY = 0xCC; // float32
+                constexpr std::ptrdiff_t m_driveDampingZ = 0xD0; // float32
+                constexpr std::ptrdiff_t m_driveSpringTwist = 0xD4; // float32
+                constexpr std::ptrdiff_t m_driveSpringSwing = 0xD8; // float32
+                constexpr std::ptrdiff_t m_driveSpringSlerp = 0xDC; // float32
+                constexpr std::ptrdiff_t m_driveDampingTwist = 0xE0; // float32
+                constexpr std::ptrdiff_t m_driveDampingSwing = 0xE4; // float32
+                constexpr std::ptrdiff_t m_driveDampingSlerp = 0xE8; // float32
+                constexpr std::ptrdiff_t m_solverIterationCount = 0xEC; // int32
+                constexpr std::ptrdiff_t m_projectionLinearTolerance = 0xF0; // float32
+                constexpr std::ptrdiff_t m_projectionAngularTolerance = 0xF4; // float32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatComparisonNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nComparandValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_comparison = 0x14; // CNmFloatComparisonNode::Comparison_t
+                constexpr std::ptrdiff_t m_flEpsilon = 0x18; // float32
+                constexpr std::ptrdiff_t m_flComparisonValue = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CStateUpdateData {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_hScript = 0x8; // AnimScriptHandle
+                constexpr std::ptrdiff_t m_transitionIndices = 0x10; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_actions = 0x28; // CUtlVector<CStateActionUpdater>
+                constexpr std::ptrdiff_t m_stateID = 0x40; // AnimStateID
+                constexpr std::ptrdiff_t m_bIsStartState = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bIsEndState = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bIsPassthrough = 0x0; // bitfield:1
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            namespace CNmTargetValueNode__CDefinition {
+            }
+            // Parent: CBaseConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace COrientConstraint {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMoverUpdateNode {
+                constexpr std::ptrdiff_t m_damping = 0x70; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_facingTarget = 0x80; // AnimValueSource
+                constexpr std::ptrdiff_t m_hMoveVecParam = 0x84; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hMoveHeadingParam = 0x86; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hTurnToFaceParam = 0x88; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_flTurnToFaceOffset = 0x8C; // float32
+                constexpr std::ptrdiff_t m_flTurnToFaceLimit = 0x90; // float32
+                constexpr std::ptrdiff_t m_bAdditive = 0x94; // bool
+                constexpr std::ptrdiff_t m_bApplyMovement = 0x95; // bool
+                constexpr std::ptrdiff_t m_bOrientMovement = 0x96; // bool
+                constexpr std::ptrdiff_t m_bApplyRotation = 0x97; // bool
+                constexpr std::ptrdiff_t m_bLimitOnly = 0x98; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmLayerBlendNode__CDefinition {
+                constexpr std::ptrdiff_t m_nBaseNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_bOnlySampleBaseRootMotion = 0x12; // bool
+                constexpr std::ptrdiff_t m_layerDefinition = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t,3>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimMotorUpdaterBase {
+                constexpr std::ptrdiff_t m_name = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_bDefault = 0x18; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace JiggleBoneSettingsList_t {
+                constexpr std::ptrdiff_t m_boneSettings = 0x0; // CUtlVector<JiggleBoneSettings_t>
+            }
+            // Parent: CBinaryUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSubtractUpdateNode {
+                constexpr std::ptrdiff_t m_footMotionTiming = 0x8C; // BinaryNodeChildOption
+                constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x90; // bool
+                constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x91; // bool
+                constexpr std::ptrdiff_t m_bUseModelSpace = 0x92; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFloatRemapNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_inputRange = 0x14; // CNmFloatRemapNode::RemapRange_t
+                constexpr std::ptrdiff_t m_outputRange = 0x1C; // CNmFloatRemapNode::RemapRange_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPoseHandle {
+                constexpr std::ptrdiff_t m_nIndex = 0x0; // uint16
+                constexpr std::ptrdiff_t m_eType = 0x2; // PoseType_t
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFootstepEventIDNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSolveIKChainUpdateNode {
+                constexpr std::ptrdiff_t m_targetHandles = 0x68; // CUtlVector<CSolveIKTargetHandle_t>
+                constexpr std::ptrdiff_t m_opFixedData = 0x80; // SolveIKChainPoseOpFixedSettings_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmOrNode__CDefinition {
+                constexpr std::ptrdiff_t m_conditionNodeIndices = 0x10; // CUtlLeanVectorFixedGrowable<int16,4>
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqCmdSeqDesc {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_flags = 0x10; // CSeqSeqDescFlag
+                constexpr std::ptrdiff_t m_transition = 0x1C; // CSeqTransition
+                constexpr std::ptrdiff_t m_nFrameRangeSequence = 0x24; // int16
+                constexpr std::ptrdiff_t m_nFrameCount = 0x26; // int16
+                constexpr std::ptrdiff_t m_flFPS = 0x28; // float32
+                constexpr std::ptrdiff_t m_nSubCycles = 0x2C; // int16
+                constexpr std::ptrdiff_t m_numLocalResults = 0x2E; // int16
+                constexpr std::ptrdiff_t m_cmdLayerArray = 0x30; // CUtlVector<CSeqCmdLayer>
+                constexpr std::ptrdiff_t m_eventArray = 0x48; // CUtlVector<CAnimEventDefinition>
+                constexpr std::ptrdiff_t m_activityArray = 0x60; // CUtlVector<CAnimActivity>
+                constexpr std::ptrdiff_t m_poseSettingArray = 0x78; // CUtlVector<CSeqPoseSetting>
+            }
+            // Parent: CBinaryUpdateNode
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBoneMaskUpdateNode {
+                constexpr std::ptrdiff_t m_nWeightListIndex = 0x8C; // int32
+                constexpr std::ptrdiff_t m_flRootMotionBlend = 0x90; // float32
+                constexpr std::ptrdiff_t m_blendSpace = 0x94; // BoneMaskBlendSpace
+                constexpr std::ptrdiff_t m_footMotionTiming = 0x98; // BinaryNodeChildOption
+                constexpr std::ptrdiff_t m_bUseBlendScale = 0x9C; // bool
+                constexpr std::ptrdiff_t m_blendValueSource = 0xA0; // AnimValueSource
+                constexpr std::ptrdiff_t m_hBlendParameter = 0xA4; // CAnimParamHandle
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CLeafUpdateNode {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SolveIKChainPoseOpFixedSettings_t {
+                constexpr std::ptrdiff_t m_ChainsToSolveData = 0x0; // CUtlVector<ChainToSolveData_t>
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace TwoBoneIKSettings_t {
+                constexpr std::ptrdiff_t m_endEffectorType = 0x0; // IkEndEffectorType
+                constexpr std::ptrdiff_t m_endEffectorAttachment = 0x10; // CAnimAttachment
+                constexpr std::ptrdiff_t m_targetType = 0x90; // IkTargetType
+                constexpr std::ptrdiff_t m_targetAttachment = 0xA0; // CAnimAttachment
+                constexpr std::ptrdiff_t m_targetBoneIndex = 0x120; // int32
+                constexpr std::ptrdiff_t m_hPositionParam = 0x124; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hRotationParam = 0x126; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_bAlwaysUseFallbackHinge = 0x128; // bool
+                constexpr std::ptrdiff_t m_vLsFallbackHingeAxis = 0x130; // VectorAligned
+                constexpr std::ptrdiff_t m_nFixedBoneIndex = 0x140; // int32
+                constexpr std::ptrdiff_t m_nMiddleBoneIndex = 0x144; // int32
+                constexpr std::ptrdiff_t m_nEndBoneIndex = 0x148; // int32
+                constexpr std::ptrdiff_t m_bMatchTargetOrientation = 0x14C; // bool
+                constexpr std::ptrdiff_t m_bConstrainTwist = 0x14D; // bool
+                constexpr std::ptrdiff_t m_flMaxTwist = 0x150; // float32
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            namespace CNmCachedPoseWriteTask {
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimUpdateSharedData {
+                constexpr std::ptrdiff_t m_nodes = 0x10; // CUtlVector<CSmartPtr<CAnimUpdateNodeBase>>
+                constexpr std::ptrdiff_t m_nodeIndexMap = 0x28; // CUtlHashtable<CAnimNodePath,int32>
+                constexpr std::ptrdiff_t m_components = 0x48; // CUtlVector<CSmartPtr<CAnimComponentUpdater>>
+                constexpr std::ptrdiff_t m_pParamListUpdater = 0x60; // CSmartPtr<CAnimParameterManagerUpdater>
+                constexpr std::ptrdiff_t m_pTagManagerUpdater = 0x68; // CSmartPtr<CAnimTagManagerUpdater>
+                constexpr std::ptrdiff_t m_scriptManager = 0x70; // CSmartPtr<CAnimScriptManager>
+                constexpr std::ptrdiff_t m_settings = 0x78; // CAnimGraphSettingsManager
+                constexpr std::ptrdiff_t m_pStaticPoseCache = 0xA8; // CSmartPtr<CStaticPoseCacheBuilder>
+                constexpr std::ptrdiff_t m_pSkeleton = 0xB0; // CSmartPtr<CAnimSkeleton>
+                constexpr std::ptrdiff_t m_rootNodePath = 0xB8; // CAnimNodePath
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimAttachment {
+                constexpr std::ptrdiff_t m_influenceRotations = 0x0; // Quaternion[3]
+                constexpr std::ptrdiff_t m_influenceOffsets = 0x30; // VectorAligned[3]
+                constexpr std::ptrdiff_t m_influenceIndices = 0x60; // int32[3]
+                constexpr std::ptrdiff_t m_influenceWeights = 0x6C; // float32[3]
+                constexpr std::ptrdiff_t m_numInfluences = 0x78; // uint8
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootTrajectories {
+                constexpr std::ptrdiff_t m_trajectories = 0x0; // CUtlVector<CFootTrajectory>
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmIDComparisonNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_comparison = 0x12; // CNmIDComparisonNode::Comparison_t
+                constexpr std::ptrdiff_t m_comparisionIDs = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,4>
+            }
+            // Parent: CMotionGraph
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CEditableMotionGraph {
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmConstFloatNode__CDefinition {
+                constexpr std::ptrdiff_t m_flValue = 0x10; // float32
+            }
+            // Parent: CAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CStringAnimTag {
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CBoolAnimParameter {
+                constexpr std::ptrdiff_t m_bDefaultValue = 0x80; // bool
+            }
+            // Parent: CAnimTagBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CRagdollAnimTag {
+                constexpr std::ptrdiff_t m_nPoseControl = 0x58; // AnimPoseControl
+                constexpr std::ptrdiff_t m_flFrequency = 0x5C; // float32
+                constexpr std::ptrdiff_t m_flDampingRatio = 0x60; // float32
+                constexpr std::ptrdiff_t m_flDecayDuration = 0x64; // float32
+                constexpr std::ptrdiff_t m_flDecayBias = 0x68; // float32
+                constexpr std::ptrdiff_t m_bDestroy = 0x6C; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionNode {
+                constexpr std::ptrdiff_t m_name = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_id = 0x20; // AnimNodeID
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateMachineNode__CDefinition {
+                constexpr std::ptrdiff_t m_stateDefinitions = 0x10; // CUtlLeanVectorFixedGrowable<CNmStateMachineNode::StateDefinition_t,5>
+                constexpr std::ptrdiff_t m_nDefaultStateIndex = 0x130; // int16
+            }
+            // Parent: CAnimTagBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CBodyGroupAnimTag {
+                constexpr std::ptrdiff_t m_nPriority = 0x58; // int32
+                constexpr std::ptrdiff_t m_bodyGroupSettings = 0x60; // CUtlVector<CBodyGroupSetting>
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            namespace CNmModelSpaceBlendTask {
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmZeroPoseNode__CDefinition {
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmOrientationWarpNode__CDefinition {
+                constexpr std::ptrdiff_t m_nClipReferenceNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nTargetValueNodeIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_bIsOffsetNode = 0x14; // bool
+                constexpr std::ptrdiff_t m_bIsOffsetRelativeToCharacter = 0x15; // bool
+                constexpr std::ptrdiff_t m_samplingMode = 0x16; // CNmRootMotionData::SamplingMode_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            namespace AnimParamID {
+                constexpr std::ptrdiff_t m_id = 0x0; // uint32
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmBoneMaskNode__CDefinition {
+                constexpr std::ptrdiff_t m_boneMaskID = 0x10; // CGlobalSymbol
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmChildGraphNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildGraphIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AnimationDecodeDebugDump_t {
+                constexpr std::ptrdiff_t m_processingType = 0x0; // AnimationProcessingType_t
+                constexpr std::ptrdiff_t m_elems = 0x8; // CUtlVector<AnimationDecodeDebugDumpElement_t>
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVirtualParameterIDNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqScaleSet {
+                constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_bRootOffset = 0x10; // bool
+                constexpr std::ptrdiff_t m_vRootOffset = 0x14; // Vector
+                constexpr std::ptrdiff_t m_nLocalBoneArray = 0x20; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_flBoneScaleArray = 0x38; // CUtlVector<float32>
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDirectionalBlendUpdateNode {
+                constexpr std::ptrdiff_t m_hSequences = 0x5C; // HSequence[8]
+                constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_blendValueSource = 0x90; // AnimValueSource
+                constexpr std::ptrdiff_t m_paramIndex = 0x94; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_playbackSpeed = 0x98; // float32
+                constexpr std::ptrdiff_t m_duration = 0x9C; // float32
+                constexpr std::ptrdiff_t m_bLoop = 0xA0; // bool
+                constexpr std::ptrdiff_t m_bLockBlendOnReset = 0xA1; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParamSpan_t {
+                constexpr std::ptrdiff_t m_samples = 0x0; // CUtlVector<ParamSpanSample_t>
+                constexpr std::ptrdiff_t m_hParam = 0x18; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_eParamType = 0x1A; // AnimParamType_t
+                constexpr std::ptrdiff_t m_flStartCycle = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flEndCycle = 0x20; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFootStepTriggerUpdateNode {
+                constexpr std::ptrdiff_t m_triggers = 0x68; // CUtlVector<FootStepTrigger>
+                constexpr std::ptrdiff_t m_flTolerance = 0x84; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            namespace IKTargetSettings_t {
+                constexpr std::ptrdiff_t m_TargetSource = 0x0; // IKTargetSource
+                constexpr std::ptrdiff_t m_Bone = 0x8; // IKBoneNameAndIndex_t
+                constexpr std::ptrdiff_t m_AnimgraphParameterNamePosition = 0x18; // AnimParamID
+                constexpr std::ptrdiff_t m_AnimgraphParameterNameOrientation = 0x1C; // AnimParamID
+                constexpr std::ptrdiff_t m_TargetCoordSystem = 0x20; // IKTargetCoordinateSystem
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCurrentSyncEventIndexNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_SetRenderColor {
+                constexpr std::ptrdiff_t m_Color = 0x48; // Color
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            namespace CNmAdditiveBlendTask {
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmAnimationPoseNode__CDefinition {
+                constexpr std::ptrdiff_t m_nPoseTimeValueNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_nDataSlotIdx = 0x12; // int16
+                constexpr std::ptrdiff_t m_inputTimeRemapRange = 0x14; // Range_t
+                constexpr std::ptrdiff_t m_flUserSpecifiedTime = 0x1C; // float32
+                constexpr std::ptrdiff_t m_bUseFramesAsInput = 0x20; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionSearchDB {
+                constexpr std::ptrdiff_t m_rootNode = 0x0; // CMotionSearchNode
+                constexpr std::ptrdiff_t m_residualQuantizer = 0x80; // CProductQuantizer
+                constexpr std::ptrdiff_t m_codeIndices = 0xA0; // CUtlVector<MotionDBIndex>
+            }
+            // Parent: CMotionNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionNodeBlend1D {
+                constexpr std::ptrdiff_t m_blendItems = 0x28; // CUtlVector<MotionBlendItem>
+                constexpr std::ptrdiff_t m_nParamIndex = 0x40; // int32
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmControlParameterTargetNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SkeletonBoneBounds_t {
+                constexpr std::ptrdiff_t m_vecCenter = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vecSize = 0xC; // Vector
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTwoBoneIKUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedData = 0x70; // TwoBoneIKSettings_t
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VPhysXBodyPart_t {
+                constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32
+                constexpr std::ptrdiff_t m_flMass = 0x4; // float32
+                constexpr std::ptrdiff_t m_rnShape = 0x8; // VPhysics2ShapeDef_t
+                constexpr std::ptrdiff_t m_nCollisionAttributeIndex = 0x80; // uint16
+                constexpr std::ptrdiff_t m_nReserved = 0x82; // uint16
+                constexpr std::ptrdiff_t m_flInertiaScale = 0x84; // float32
+                constexpr std::ptrdiff_t m_flLinearDamping = 0x88; // float32
+                constexpr std::ptrdiff_t m_flAngularDamping = 0x8C; // float32
+                constexpr std::ptrdiff_t m_bOverrideMassCenter = 0x90; // bool
+                constexpr std::ptrdiff_t m_vMassCenterOverride = 0x94; // Vector
+            }
+            // Parent: CHandshakeAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CTaskHandshakeAnimTag {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFollowPathUpdateNode {
+                constexpr std::ptrdiff_t m_flBlendOutTime = 0x6C; // float32
+                constexpr std::ptrdiff_t m_bBlockNonPathMovement = 0x70; // bool
+                constexpr std::ptrdiff_t m_bStopFeetAtGoal = 0x71; // bool
+                constexpr std::ptrdiff_t m_bScaleSpeed = 0x72; // bool
+                constexpr std::ptrdiff_t m_flScale = 0x74; // float32
+                constexpr std::ptrdiff_t m_flMinAngle = 0x78; // float32
+                constexpr std::ptrdiff_t m_flMaxAngle = 0x7C; // float32
+                constexpr std::ptrdiff_t m_flSpeedScaleBlending = 0x80; // float32
+                constexpr std::ptrdiff_t m_turnDamping = 0x88; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_facingTarget = 0x98; // AnimValueSource
+                constexpr std::ptrdiff_t m_hParam = 0x9C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_flTurnToFaceOffset = 0xA0; // float32
+                constexpr std::ptrdiff_t m_bTurnToFace = 0xA4; // bool
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AimMatrixOpFixedSettings_t {
+                constexpr std::ptrdiff_t m_attachment = 0x0; // CAnimAttachment
+                constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping
+                constexpr std::ptrdiff_t m_poseCacheHandles = 0x90; // CPoseHandle[10]
+                constexpr std::ptrdiff_t m_eBlendMode = 0xB8; // AimMatrixBlendMode
+                constexpr std::ptrdiff_t m_flMaxYawAngle = 0xBC; // float32
+                constexpr std::ptrdiff_t m_flMaxPitchAngle = 0xC0; // float32
+                constexpr std::ptrdiff_t m_nSequenceMaxFrame = 0xC4; // int32
+                constexpr std::ptrdiff_t m_nBoneMaskIndex = 0xC8; // int32
+                constexpr std::ptrdiff_t m_bTargetIsPosition = 0xCC; // bool
+                constexpr std::ptrdiff_t m_bUseBiasAndClamp = 0xCD; // bool
+                constexpr std::ptrdiff_t m_flBiasAndClampYawOffset = 0xD0; // float32
+                constexpr std::ptrdiff_t m_flBiasAndClampPitchOffset = 0xD4; // float32
+                constexpr std::ptrdiff_t m_biasAndClampBlendCurve = 0xD8; // CBlendCurve
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimScriptComponentUpdater {
+                constexpr std::ptrdiff_t m_hScript = 0x30; // AnimScriptHandle
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRagdollUpdateNode {
+                constexpr std::ptrdiff_t m_nWeightListIndex = 0x68; // int32
+                constexpr std::ptrdiff_t m_poseControlMethod = 0x6C; // RagdollPoseControl
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBoneConstraintBase {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmStateEventConditionNode__Condition_t {
+                constexpr std::ptrdiff_t m_eventID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_eventTypeCondition = 0x8; // NmStateEventTypeCondition_t
+            }
+            // Parent: CPathAnimMotorUpdaterBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPathAnimMotorUpdater {
+            }
+            // Parent: CAnimTagBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CMaterialAttributeAnimTag {
+                constexpr std::ptrdiff_t m_AttributeName = 0x58; // CUtlString
+                constexpr std::ptrdiff_t m_AttributeType = 0x60; // MatterialAttributeTagType_t
+                constexpr std::ptrdiff_t m_flValue = 0x64; // float32
+                constexpr std::ptrdiff_t m_Color = 0x68; // Color
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFootEventConditionNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+                constexpr std::ptrdiff_t m_phaseCondition = 0x12; // NmFootPhaseCondition_t
+                constexpr std::ptrdiff_t m_eventConditionRules = 0x14; // CNmBitFlags
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmFootEvent {
+                constexpr std::ptrdiff_t m_phase = 0x18; // NmFootPhase_t
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPhysSurfacePropertiesAudio {
+                constexpr std::ptrdiff_t m_reflectivity = 0x0; // float32
+                constexpr std::ptrdiff_t m_hardnessFactor = 0x4; // float32
+                constexpr std::ptrdiff_t m_roughnessFactor = 0x8; // float32
+                constexpr std::ptrdiff_t m_roughThreshold = 0xC; // float32
+                constexpr std::ptrdiff_t m_hardThreshold = 0x10; // float32
+                constexpr std::ptrdiff_t m_hardVelocityThreshold = 0x14; // float32
+                constexpr std::ptrdiff_t m_flStaticImpactVolume = 0x18; // float32
+                constexpr std::ptrdiff_t m_flOcclusionFactor = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSeqAutoLayer {
+                constexpr std::ptrdiff_t m_nLocalReference = 0x0; // int16
+                constexpr std::ptrdiff_t m_nLocalPose = 0x2; // int16
+                constexpr std::ptrdiff_t m_flags = 0x4; // CSeqAutoLayerFlag
+                constexpr std::ptrdiff_t m_start = 0xC; // float32
+                constexpr std::ptrdiff_t m_peak = 0x10; // float32
+                constexpr std::ptrdiff_t m_tail = 0x14; // float32
+                constexpr std::ptrdiff_t m_end = 0x18; // float32
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmCurrentSyncEventPercentageThroughNode__CDefinition {
+                constexpr std::ptrdiff_t m_nSourceStateNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PhysSoftbodyDesc_t {
+                constexpr std::ptrdiff_t m_ParticleBoneHash = 0x0; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_Particles = 0x18; // CUtlVector<RnSoftbodyParticle_t>
+                constexpr std::ptrdiff_t m_Springs = 0x30; // CUtlVector<RnSoftbodySpring_t>
+                constexpr std::ptrdiff_t m_Capsules = 0x48; // CUtlVector<RnSoftbodyCapsule_t>
+                constexpr std::ptrdiff_t m_InitPose = 0x60; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_ParticleBoneName = 0x78; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimSequenceParams {
+                constexpr std::ptrdiff_t m_flFadeInTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_flFadeOutTime = 0x4; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CTargetWarpUpdateNode {
+                constexpr std::ptrdiff_t m_hPositionParameter = 0x6C; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hFacePositionParameter = 0x6E; // CAnimParamHandle
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVirtualParameterBoolNode__CDefinition {
+                constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFollowTargetUpdateNode {
+                constexpr std::ptrdiff_t m_opFixedData = 0x68; // FollowTargetOpFixedSettings_t
+                constexpr std::ptrdiff_t m_hParameterPosition = 0x80; // CAnimParamHandle
+                constexpr std::ptrdiff_t m_hParameterOrientation = 0x82; // CAnimParamHandle
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CCPPScriptComponentUpdater {
+                constexpr std::ptrdiff_t m_scriptsToRun = 0x30; // CUtlVector<CGlobalSymbol>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimData {
+                constexpr std::ptrdiff_t m_name = 0x10; // CBufferString
+                constexpr std::ptrdiff_t m_animArray = 0x20; // CUtlVector<CAnimDesc>
+                constexpr std::ptrdiff_t m_decoderArray = 0x38; // CUtlVector<CAnimDecoder>
+                constexpr std::ptrdiff_t m_nMaxUniqueFrameIndex = 0x50; // int32
+                constexpr std::ptrdiff_t m_segmentArray = 0x58; // CUtlVector<CAnimFrameSegment>
+            }
+            // Parent: None
+            // Field count: 3
+            namespace IKSolverSettings_t {
+                constexpr std::ptrdiff_t m_SolverType = 0x0; // IKSolverType
+                constexpr std::ptrdiff_t m_nNumIterations = 0x4; // int32
+                constexpr std::ptrdiff_t m_EndEffectorRotationFixUpMode = 0x8; // EIKEndEffectorRotationFixUpMode
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBinaryUpdateNode {
+                constexpr std::ptrdiff_t m_pChild1 = 0x58; // CAnimUpdateNodeRef
+                constexpr std::ptrdiff_t m_pChild2 = 0x68; // CAnimUpdateNodeRef
+                constexpr std::ptrdiff_t m_timingBehavior = 0x78; // BinaryNodeTiming
+                constexpr std::ptrdiff_t m_flTimingBlend = 0x7C; // float32
+                constexpr std::ptrdiff_t m_bResetChild1 = 0x80; // bool
+                constexpr std::ptrdiff_t m_bResetChild2 = 0x81; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmParameterizedBlendNode__BlendRange_t {
+                constexpr std::ptrdiff_t m_nInputIdx0 = 0x0; // int16
+                constexpr std::ptrdiff_t m_nInputIdx1 = 0x2; // int16
+                constexpr std::ptrdiff_t m_parameterValueRange = 0x4; // Range_t
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimKeyData {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+                constexpr std::ptrdiff_t m_boneArray = 0x10; // CUtlVector<CAnimBone>
+                constexpr std::ptrdiff_t m_userArray = 0x28; // CUtlVector<CAnimUser>
+                constexpr std::ptrdiff_t m_morphArray = 0x40; // CUtlVector<CBufferString>
+                constexpr std::ptrdiff_t m_nChannelElements = 0x58; // int32
+                constexpr std::ptrdiff_t m_dataChannelArray = 0x60; // CUtlVector<CAnimDataChannelDesc>
+            }
+            // Parent: None
+            // Field count: 1
+            namespace AttachmentHandle_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // uint8
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimMorphDifference {
+                constexpr std::ptrdiff_t m_name = 0x0; // CBufferString
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FootFixedData_t {
+                constexpr std::ptrdiff_t m_vToeOffset = 0x0; // VectorAligned
+                constexpr std::ptrdiff_t m_vHeelOffset = 0x10; // VectorAligned
+                constexpr std::ptrdiff_t m_nTargetBoneIndex = 0x20; // int32
+                constexpr std::ptrdiff_t m_nAnkleBoneIndex = 0x24; // int32
+                constexpr std::ptrdiff_t m_nIKAnchorBoneIndex = 0x28; // int32
+                constexpr std::ptrdiff_t m_ikChainIndex = 0x2C; // int32
+                constexpr std::ptrdiff_t m_flMaxIKLength = 0x30; // float32
+                constexpr std::ptrdiff_t m_nFootIndex = 0x34; // int32
+                constexpr std::ptrdiff_t m_nTagIndex = 0x38; // int32
+                constexpr std::ptrdiff_t m_flMaxRotationLeft = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flMaxRotationRight = 0x40; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CMotionGraphGroup {
+                constexpr std::ptrdiff_t m_searchDB = 0x0; // CMotionSearchDB
+                constexpr std::ptrdiff_t m_motionGraphs = 0xB8; // CUtlVector<CSmartPtr<CMotionGraph>>
+                constexpr std::ptrdiff_t m_motionGraphConfigs = 0xD0; // CUtlVector<CMotionGraphConfig>
+                constexpr std::ptrdiff_t m_sampleToConfig = 0xE8; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_hIsActiveScript = 0x100; // AnimScriptHandle
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmVectorNegateNode__CDefinition {
+                constexpr std::ptrdiff_t m_nInputValueNodeIdx = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmSyncTrack__Event_t {
+                constexpr std::ptrdiff_t m_ID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_startTime = 0x8; // NmPercent_t
+                constexpr std::ptrdiff_t m_duration = 0xC; // NmPercent_t
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmTarget {
+                constexpr std::ptrdiff_t m_transform = 0x0; // CTransform
+                constexpr std::ptrdiff_t m_boneID = 0x20; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_bIsBoneTarget = 0x28; // bool
+                constexpr std::ptrdiff_t m_bIsUsingBoneSpaceOffsets = 0x29; // bool
+                constexpr std::ptrdiff_t m_bHasOffsets = 0x2A; // bool
+                constexpr std::ptrdiff_t m_bIsSet = 0x2B; // bool
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CNmControlParameterIDNode__CDefinition {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CWayPointHelperUpdateNode {
+                constexpr std::ptrdiff_t m_flStartCycle = 0x6C; // float32
+                constexpr std::ptrdiff_t m_flEndCycle = 0x70; // float32
+                constexpr std::ptrdiff_t m_bOnlyGoals = 0x74; // bool
+                constexpr std::ptrdiff_t m_bPreventOvershoot = 0x75; // bool
+                constexpr std::ptrdiff_t m_bPreventUndershoot = 0x76; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataOverlayType
+            namespace CMoodVData {
+                constexpr std::ptrdiff_t m_sModelName = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_nMoodType = 0xE0; // MoodType_t
+                constexpr std::ptrdiff_t m_animationLayers = 0xE8; // CUtlVector<MoodAnimationLayer_t>
+            }
+            // Parent: CModelConfigElement
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CModelConfigElement_AttachedModel {
+                constexpr std::ptrdiff_t m_InstanceName = 0x48; // CUtlString
+                constexpr std::ptrdiff_t m_EntityClass = 0x50; // CUtlString
+                constexpr std::ptrdiff_t m_hModel = 0x58; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_vOffset = 0x60; // Vector
+                constexpr std::ptrdiff_t m_aAngOffset = 0x6C; // QAngle
+                constexpr std::ptrdiff_t m_AttachmentName = 0x78; // CUtlString
+                constexpr std::ptrdiff_t m_LocalAttachmentOffsetName = 0x80; // CUtlString
+                constexpr std::ptrdiff_t m_AttachmentType = 0x88; // ModelConfigAttachmentType_t
+                constexpr std::ptrdiff_t m_bBoneMergeFlex = 0x8C; // bool
+                constexpr std::ptrdiff_t m_bUserSpecifiedColor = 0x8D; // bool
+                constexpr std::ptrdiff_t m_bUserSpecifiedMaterialGroup = 0x8E; // bool
+                constexpr std::ptrdiff_t m_bAcceptParentMaterialDrivenDecals = 0x8F; // bool
+                constexpr std::ptrdiff_t m_BodygroupOnOtherModels = 0x90; // CUtlString
+                constexpr std::ptrdiff_t m_MaterialGroupOnOtherModels = 0x98; // CUtlString
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAnimTagManagerUpdater {
+                constexpr std::ptrdiff_t m_tags = 0x38; // CUtlVector<CSmartPtr<CAnimTagBase>>
+            }
+        }
+    }
+}
diff --git a/output/animationsystem_dll.json b/output/animationsystem_dll.json
new file mode 100644
index 0000000..3c7463b
--- /dev/null
+++ b/output/animationsystem_dll.json
@@ -0,0 +1,8437 @@
+{
+  "animationsystem.dll": {
+    "classes": {
+      "AimCameraOpFixedSettings_t": {
+        "fields": {
+          "m_nCameraJointIndex": 4,
+          "m_nChainIndex": 0,
+          "m_nClavicleLeftJointIndex": 12,
+          "m_nClavicleRightJointIndex": 16,
+          "m_nDepenetrationJointIndex": 20,
+          "m_nPelvisJointIndex": 8,
+          "m_propJoints": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AimMatrixOpFixedSettings_t": {
+        "fields": {
+          "m_attachment": 0,
+          "m_bTargetIsPosition": 204,
+          "m_bUseBiasAndClamp": 205,
+          "m_biasAndClampBlendCurve": 216,
+          "m_damping": 128,
+          "m_eBlendMode": 184,
+          "m_flBiasAndClampPitchOffset": 212,
+          "m_flBiasAndClampYawOffset": 208,
+          "m_flMaxPitchAngle": 192,
+          "m_flMaxYawAngle": 188,
+          "m_nBoneMaskIndex": 200,
+          "m_nSequenceMaxFrame": 196,
+          "m_poseCacheHandles": 144
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimComponentID": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimNodeID": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimNodeOutputID": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimParamID": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimScriptHandle": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimStateID": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimTagID": {
+        "fields": {
+          "m_id": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimationDecodeDebugDumpElement_t": {
+        "fields": {
+          "m_decodeOps": 40,
+          "m_decodedAnims": 88,
+          "m_internalOps": 64,
+          "m_modelName": 8,
+          "m_nEntityIndex": 0,
+          "m_poseParams": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimationDecodeDebugDump_t": {
+        "fields": {
+          "m_elems": 8,
+          "m_processingType": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimationSnapshotBase_t": {
+        "fields": {
+          "m_DecodeDump": 152,
+          "m_SnapshotType": 144,
+          "m_bBonesInWorldSpace": 64,
+          "m_bHasDecodeDump": 148,
+          "m_boneSetupMask": 72,
+          "m_boneTransforms": 96,
+          "m_flRealTime": 0,
+          "m_flexControllers": 120,
+          "m_rootToWorld": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AnimationSnapshot_t": {
+        "fields": {
+          "m_modelName": 280,
+          "m_nEntIndex": 272
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "AnimationSnapshotBase_t"
+      },
+      "AttachmentHandle_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "BlendItem_t": {
+        "fields": {
+          "m_bUseCustomDuration": 56,
+          "m_flDuration": 52,
+          "m_hSequence": 40,
+          "m_pChild": 24,
+          "m_tags": 0,
+          "m_vPos": 44
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "BoneDemoCaptureSettings_t": {
+        "fields": {
+          "m_boneName": 0,
+          "m_flErrorQuantizationRotationMax": 20,
+          "m_flErrorQuantizationScaleMax": 28,
+          "m_flErrorQuantizationTranslationMax": 24,
+          "m_flErrorSplineRotationMax": 8,
+          "m_flErrorSplineScaleMax": 16,
+          "m_flErrorSplineTranslationMax": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CActionComponentUpdater": {
+        "fields": {
+          "m_actions": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CAddUpdateNode": {
+        "fields": {
+          "m_bApplyChannelsSeparately": 145,
+          "m_bApplyScale": 147,
+          "m_bApplyToFootMotion": 144,
+          "m_bUseModelSpace": 146,
+          "m_footMotionTiming": 140
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBinaryUpdateNode"
+      },
+      "CAimCameraUpdateNode": {
+        "fields": {
+          "m_hParameterCameraClearanceDistance": 120,
+          "m_hParameterCameraOnly": 114,
+          "m_hParameterOrientation": 106,
+          "m_hParameterPelvisOffset": 110,
+          "m_hParameterPosition": 104,
+          "m_hParameterSpineRotationWeight": 108,
+          "m_hParameterUseIK": 112,
+          "m_hParameterWeaponDepenetrationDelta": 118,
+          "m_hParameterWeaponDepenetrationDistance": 116,
+          "m_opFixedSettings": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CAimConstraint": {
+        "fields": {
+          "m_nUpType": 128,
+          "m_qAimOffset": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CAimMatrixUpdateNode": {
+        "fields": {
+          "m_bLockWhenWaning": 357,
+          "m_bResetChild": 356,
+          "m_hSequence": 352,
+          "m_opFixedSettings": 112,
+          "m_paramIndex": 348,
+          "m_target": 344
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CAnimActionUpdater": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimActivity": {
+        "fields": {
+          "m_nActivity": 16,
+          "m_nFlags": 20,
+          "m_nWeight": 24,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimAttachment": {
+        "fields": {
+          "m_influenceIndices": 96,
+          "m_influenceOffsets": 48,
+          "m_influenceRotations": 0,
+          "m_influenceWeights": 108,
+          "m_numInfluences": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimBone": {
+        "fields": {
+          "m_flags": 68,
+          "m_name": 0,
+          "m_parent": 16,
+          "m_pos": 20,
+          "m_qAlignment": 52,
+          "m_quat": 32,
+          "m_scale": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimBoneDifference": {
+        "fields": {
+          "m_bHasMovement": 45,
+          "m_bHasRotation": 44,
+          "m_name": 0,
+          "m_parent": 16,
+          "m_posError": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimComponentUpdater": {
+        "fields": {
+          "m_bStartEnabled": 40,
+          "m_id": 32,
+          "m_name": 24,
+          "m_networkMode": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimCycle": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CCycleBase"
+      },
+      "CAnimData": {
+        "fields": {
+          "m_animArray": 32,
+          "m_decoderArray": 56,
+          "m_nMaxUniqueFrameIndex": 80,
+          "m_name": 16,
+          "m_segmentArray": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimDataChannelDesc": {
+        "fields": {
+          "m_nElementIndexArray": 96,
+          "m_nElementMaskArray": 120,
+          "m_nFlags": 32,
+          "m_nType": 36,
+          "m_szChannelClass": 0,
+          "m_szDescription": 56,
+          "m_szElementNameArray": 72,
+          "m_szGrouping": 40,
+          "m_szVariableName": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimDecoder": {
+        "fields": {
+          "m_nType": 20,
+          "m_nVersion": 16,
+          "m_szName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimDemoCaptureSettings": {
+        "fields": {
+          "m_baseSequence": 64,
+          "m_boneSelectionMode": 76,
+          "m_bones": 80,
+          "m_flIkRotation_MaxQuantizationError": 56,
+          "m_flIkRotation_MaxSplineError": 24,
+          "m_flIkTranslation_MaxQuantizationError": 60,
+          "m_flIkTranslation_MaxSplineError": 28,
+          "m_ikChains": 104,
+          "m_nBaseSequenceFrame": 72,
+          "m_vecErrorRangeQuantizationRotation": 32,
+          "m_vecErrorRangeQuantizationScale": 48,
+          "m_vecErrorRangeQuantizationTranslation": 40,
+          "m_vecErrorRangeSplineRotation": 0,
+          "m_vecErrorRangeSplineScale": 16,
+          "m_vecErrorRangeSplineTranslation": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimDesc": {
+        "fields": {
+          "fps": 24,
+          "framestalltime": 376,
+          "m_Data": 32,
+          "m_activityArray": 328,
+          "m_eventArray": 304,
+          "m_flags": 16,
+          "m_hierarchyArray": 352,
+          "m_movementArray": 248,
+          "m_name": 0,
+          "m_sequenceParams": 456,
+          "m_vecBoneWorldMax": 432,
+          "m_vecBoneWorldMin": 408,
+          "m_vecRootMax": 392,
+          "m_vecRootMin": 380,
+          "m_xInitialOffset": 272
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimDesc_Flag": {
+        "fields": {
+          "m_bAllZeros": 1,
+          "m_bAnimGraphAdditive": 7,
+          "m_bDelta": 3,
+          "m_bHidden": 2,
+          "m_bImplicitSeqIgnoreDelta": 6,
+          "m_bLegacyWorldspace": 4,
+          "m_bLooping": 0,
+          "m_bModelDoc": 5
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimEncodeDifference": {
+        "fields": {
+          "m_bHasMorphBitArray": 120,
+          "m_bHasMovementBitArray": 96,
+          "m_bHasRotationBitArray": 72,
+          "m_bHasUserBitArray": 144,
+          "m_boneArray": 0,
+          "m_morphArray": 24,
+          "m_userArray": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimEncodedFrames": {
+        "fields": {
+          "m_fileName": 0,
+          "m_frameblockArray": 24,
+          "m_nFrames": 16,
+          "m_nFramesPerBlock": 20,
+          "m_usageDifferences": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimEnum": {
+        "fields": {
+          "m_value": 0
+        },
+        "metadata": [
+          {
+            "name": "MPropertyEditClassAsString",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimEventDefinition": {
+        "fields": {
+          "m_EventData": 24,
+          "m_flCycle": 16,
+          "m_flDuration": 20,
+          "m_nEndFrame": 12,
+          "m_nFrame": 8,
+          "m_sEventName": 56,
+          "m_sLegacyOptions": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimFoot": {
+        "fields": {
+          "m_ankleBoneIndex": 32,
+          "m_name": 0,
+          "m_toeBoneIndex": 36,
+          "m_vBallOffset": 8,
+          "m_vHeelOffset": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimFrameBlockAnim": {
+        "fields": {
+          "m_nEndFrame": 4,
+          "m_nStartFrame": 0,
+          "m_segmentIndexArray": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimFrameSegment": {
+        "fields": {
+          "m_container": 16,
+          "m_nLocalChannel": 8,
+          "m_nLocalElementMasks": 4,
+          "m_nUniqueFrameIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimGraphDebugReplay": {
+        "fields": {
+          "m_animGraphFileName": 64,
+          "m_frameCount": 104,
+          "m_frameList": 72,
+          "m_startIndex": 96,
+          "m_writeIndex": 100
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimGraphModelBinding": {
+        "fields": {
+          "m_modelName": 8,
+          "m_pSharedData": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimGraphNetworkSettings": {
+        "fields": {
+          "m_bNetworkingEnabled": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimGraphSettingsGroup"
+      },
+      "CAnimGraphSettingsGroup": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimGraphSettingsManager": {
+        "fields": {
+          "m_settingsGroups": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimInputDamping": {
+        "fields": {
+          "m_fSpeedScale": 12,
+          "m_speedFunction": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimKeyData": {
+        "fields": {
+          "m_boneArray": 16,
+          "m_dataChannelArray": 96,
+          "m_morphArray": 64,
+          "m_nChannelElements": 88,
+          "m_name": 0,
+          "m_userArray": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimLocalHierarchy": {
+        "fields": {
+          "m_nEndFrame": 44,
+          "m_nPeakFrame": 36,
+          "m_nStartFrame": 32,
+          "m_nTailFrame": 40,
+          "m_sBone": 0,
+          "m_sNewParent": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimMorphDifference": {
+        "fields": {
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimMotorUpdaterBase": {
+        "fields": {
+          "m_bDefault": 24,
+          "m_name": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimMovement": {
+        "fields": {
+          "angle": 16,
+          "endframe": 0,
+          "motionflags": 4,
+          "position": 32,
+          "v0": 8,
+          "v1": 12,
+          "vector": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimNodePath": {
+        "fields": {
+          "m_nCount": 44,
+          "m_path": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimParamHandle": {
+        "fields": {
+          "m_index": 1,
+          "m_type": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimParamHandleMap": {
+        "fields": {
+          "m_list": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimParameterBase": {
+        "fields": {
+          "m_bIsReferenced": 105,
+          "m_bNetworkingRequested": 104,
+          "m_componentName": 72,
+          "m_group": 40,
+          "m_id": 48,
+          "m_name": 24,
+          "m_sComment": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimParameterManagerUpdater": {
+        "fields": {
+          "m_autoResetMap": 160,
+          "m_autoResetParams": 136,
+          "m_idToIndexMap": 48,
+          "m_indexToHandle": 112,
+          "m_nameToIndexMap": 80,
+          "m_parameters": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimReplayFrame": {
+        "fields": {
+          "m_inputDataBlocks": 16,
+          "m_instanceData": 40,
+          "m_localToWorldTransform": 96,
+          "m_startingLocalToWorldTransform": 64,
+          "m_timeStamp": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimScriptComponentUpdater": {
+        "fields": {
+          "m_hScript": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CAnimScriptManager": {
+        "fields": {
+          "m_scriptInfo": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimSequenceParams": {
+        "fields": {
+          "m_flFadeInTime": 0,
+          "m_flFadeOutTime": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimSkeleton": {
+        "fields": {
+          "m_boneNames": 64,
+          "m_children": 88,
+          "m_feet": 136,
+          "m_localSpaceTransforms": 16,
+          "m_lodBoneCounts": 184,
+          "m_modelSpaceTransforms": 40,
+          "m_morphNames": 160,
+          "m_parents": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimStateMachineUpdater": {
+        "fields": {
+          "m_startStateIndex": 80,
+          "m_states": 8,
+          "m_transitions": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimTagBase": {
+        "fields": {
+          "m_bIsReferenced": 72,
+          "m_group": 40,
+          "m_name": 24,
+          "m_sComment": 32,
+          "m_tagID": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimTagManagerUpdater": {
+        "fields": {
+          "m_tags": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimUpdateNodeBase": {
+        "fields": {
+          "m_name": 80,
+          "m_networkMode": 72,
+          "m_nodePath": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimUpdateNodeRef": {
+        "fields": {
+          "m_nodeIndex": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimUpdateSharedData": {
+        "fields": {
+          "m_components": 72,
+          "m_nodeIndexMap": 40,
+          "m_nodes": 16,
+          "m_pParamListUpdater": 96,
+          "m_pSkeleton": 176,
+          "m_pStaticPoseCache": 168,
+          "m_pTagManagerUpdater": 104,
+          "m_rootNodePath": 184,
+          "m_scriptManager": 112,
+          "m_settings": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimUser": {
+        "fields": {
+          "m_nType": 16,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimUserDifference": {
+        "fields": {
+          "m_nType": 16,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimationGraphVisualizerAxis": {
+        "fields": {
+          "m_flAxisSize": 96,
+          "m_xWsTransform": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimationGraphVisualizerPrimitiveBase"
+      },
+      "CAnimationGraphVisualizerLine": {
+        "fields": {
+          "m_Color": 96,
+          "m_vWsPositionEnd": 80,
+          "m_vWsPositionStart": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimationGraphVisualizerPrimitiveBase"
+      },
+      "CAnimationGraphVisualizerPie": {
+        "fields": {
+          "m_Color": 112,
+          "m_vWsCenter": 64,
+          "m_vWsEnd": 96,
+          "m_vWsStart": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimationGraphVisualizerPrimitiveBase"
+      },
+      "CAnimationGraphVisualizerPrimitiveBase": {
+        "fields": {
+          "m_OwningAnimNodePaths": 12,
+          "m_Type": 8,
+          "m_nOwningAnimNodePathCount": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimationGraphVisualizerSphere": {
+        "fields": {
+          "m_Color": 84,
+          "m_flRadius": 80,
+          "m_vWsPosition": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimationGraphVisualizerPrimitiveBase"
+      },
+      "CAnimationGraphVisualizerText": {
+        "fields": {
+          "m_Color": 80,
+          "m_Text": 88,
+          "m_vWsPosition": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimationGraphVisualizerPrimitiveBase"
+      },
+      "CAnimationGroup": {
+        "fields": {
+          "m_AdditionalExtRefs": 296,
+          "m_decodeKey": 152,
+          "m_directHSeqGroup_Handle": 144,
+          "m_includedGroupArray_Handle": 120,
+          "m_localHAnimArray_Handle": 96,
+          "m_nFlags": 16,
+          "m_name": 24,
+          "m_szScripts": 272
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAttachment": {
+        "fields": {
+          "m_bIgnoreRotation": 132,
+          "m_bInfluenceRootTransform": 128,
+          "m_influenceNames": 8,
+          "m_influenceWeights": 116,
+          "m_nInfluences": 131,
+          "m_name": 0,
+          "m_vInfluenceOffsets": 80,
+          "m_vInfluenceRotations": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAudioAnimTag": {
+        "fields": {
+          "m_attachmentName": 96,
+          "m_bPlayOnClient": 111,
+          "m_bPlayOnServer": 110,
+          "m_bStopWhenGraphEnds": 109,
+          "m_bStopWhenTagEnds": 108,
+          "m_clipName": 88,
+          "m_flVolume": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CBaseConstraint": {
+        "fields": {
+          "m_name": 40,
+          "m_slaves": 64,
+          "m_targets": 80,
+          "m_vUpVector": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBoneConstraintBase"
+      },
+      "CBinaryUpdateNode": {
+        "fields": {
+          "m_bResetChild1": 128,
+          "m_bResetChild2": 129,
+          "m_flTimingBlend": 124,
+          "m_pChild1": 88,
+          "m_pChild2": 104,
+          "m_timingBehavior": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CBindPoseUpdateNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CBlend2DUpdateNode": {
+        "fields": {
+          "m_bAnimEventsAndTagsOnMostWeightedOnly": 235,
+          "m_bLockBlendOnReset": 233,
+          "m_bLockWhenWaning": 234,
+          "m_bLoop": 232,
+          "m_blendSourceX": 208,
+          "m_blendSourceY": 216,
+          "m_damping": 192,
+          "m_eBlendMode": 224,
+          "m_items": 96,
+          "m_nodeItemIndices": 168,
+          "m_paramSpans": 144,
+          "m_paramX": 212,
+          "m_paramY": 220,
+          "m_playbackSpeed": 228,
+          "m_tags": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CBlendCurve": {
+        "fields": {
+          "m_flControlPoint1": 0,
+          "m_flControlPoint2": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CBlendUpdateNode": {
+        "fields": {
+          "m_bLockBlendOnReset": 204,
+          "m_bLockWhenWaning": 207,
+          "m_bLoop": 206,
+          "m_bSyncCycles": 205,
+          "m_blendKeyType": 200,
+          "m_blendValueSource": 172,
+          "m_children": 96,
+          "m_damping": 184,
+          "m_paramIndex": 176,
+          "m_sortedOrder": 120,
+          "m_targetValues": 144
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CBlockSelectionMetricEvaluator": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CBodyGroupAnimTag": {
+        "fields": {
+          "m_bodyGroupSettings": 96,
+          "m_nPriority": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CBodyGroupSetting": {
+        "fields": {
+          "m_BodyGroupName": 0,
+          "m_nBodyGroupOption": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyElementNameFn",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CBoneConstraintBase": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CBoneConstraintDotToMorph": {
+        "fields": {
+          "m_flRemap": 64,
+          "m_sBoneName": 40,
+          "m_sMorphChannelName": 56,
+          "m_sTargetBoneName": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBoneConstraintBase"
+      },
+      "CBoneConstraintPoseSpaceBone": {
+        "fields": {
+          "m_inputList": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CBoneConstraintPoseSpaceBone__Input_t": {
+        "fields": {
+          "m_inputValue": 0,
+          "m_outputTransformList": 16
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CBoneConstraintPoseSpaceMorph": {
+        "fields": {
+          "m_bClamp": 104,
+          "m_inputList": 80,
+          "m_outputMorph": 56,
+          "m_sAttachmentName": 48,
+          "m_sBoneName": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBoneConstraintBase"
+      },
+      "CBoneConstraintPoseSpaceMorph__Input_t": {
+        "fields": {
+          "m_inputValue": 0,
+          "m_outputWeightList": 16
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CBoneMaskUpdateNode": {
+        "fields": {
+          "m_bUseBlendScale": 156,
+          "m_blendSpace": 148,
+          "m_blendValueSource": 160,
+          "m_flRootMotionBlend": 144,
+          "m_footMotionTiming": 152,
+          "m_hBlendParameter": 164,
+          "m_nWeightListIndex": 140
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBinaryUpdateNode"
+      },
+      "CBonePositionMetricEvaluator": {
+        "fields": {
+          "m_nBoneIndex": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CBoneVelocityMetricEvaluator": {
+        "fields": {
+          "m_nBoneIndex": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CBoolAnimParameter": {
+        "fields": {
+          "m_bDefaultValue": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CCPPScriptComponentUpdater": {
+        "fields": {
+          "m_scriptsToRun": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CCachedPose": {
+        "fields": {
+          "m_flCycle": 60,
+          "m_hSequence": 56,
+          "m_morphWeights": 32,
+          "m_transforms": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CChoiceUpdateNode": {
+        "fields": {
+          "m_bCrossFade": 176,
+          "m_bDontResetSameSelection": 178,
+          "m_bResetChosen": 177,
+          "m_blendMethod": 168,
+          "m_blendTime": 172,
+          "m_blendTimes": 136,
+          "m_children": 88,
+          "m_choiceChangeMethod": 164,
+          "m_choiceMethod": 160,
+          "m_weights": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CChoreoUpdateNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CClothSettingsAnimTag": {
+        "fields": {
+          "m_flEaseIn": 92,
+          "m_flEaseOut": 96,
+          "m_flStiffness": 88,
+          "m_nVertexSet": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CCompressorGroup": {
+        "fields": {
+          "m_boolCompressor": 320,
+          "m_colorCompressor": 344,
+          "m_intCompressor": 296,
+          "m_nCompressorIndex": 128,
+          "m_nElementMask": 200,
+          "m_nElementUniqueID": 176,
+          "m_nFlags": 80,
+          "m_nTotalElementCount": 0,
+          "m_nType": 56,
+          "m_quaternionCompressor": 272,
+          "m_szChannelClass": 8,
+          "m_szElementNames": 152,
+          "m_szGrouping": 104,
+          "m_szVariableName": 32,
+          "m_vector2DCompressor": 368,
+          "m_vector4DCompressor": 392,
+          "m_vectorCompressor": 248
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CConcreteAnimParameter": {
+        "fields": {
+          "m_bAutoReset": 121,
+          "m_bGameWritable": 122,
+          "m_bGraphWritable": 123,
+          "m_bUseMostRecentValue": 120,
+          "m_eNetworkSetting": 116,
+          "m_previewButton": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimParameterBase"
+      },
+      "CConstraintSlave": {
+        "fields": {
+          "m_flWeight": 32,
+          "m_nBoneHash": 28,
+          "m_qBaseOrientation": 0,
+          "m_sName": 40,
+          "m_vBasePosition": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CConstraintTarget": {
+        "fields": {
+          "m_bIsAttachment": 89,
+          "m_flWeight": 72,
+          "m_nBoneHash": 60,
+          "m_qOffset": 32,
+          "m_sName": 64,
+          "m_vOffset": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCurrentRotationVelocityMetricEvaluator": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CCurrentVelocityMetricEvaluator": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CCycleBase": {
+        "fields": {
+          "m_flCycle": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCycleControlClipUpdateNode": {
+        "fields": {
+          "m_duration": 128,
+          "m_hSequence": 124,
+          "m_paramIndex": 136,
+          "m_tags": 96,
+          "m_valueSource": 132
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CCycleControlUpdateNode": {
+        "fields": {
+          "m_paramIndex": 108,
+          "m_valueSource": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CDampedPathAnimMotorUpdater": {
+        "fields": {
+          "m_flAnticipationTime": 44,
+          "m_flMaxSpringTension": 64,
+          "m_flMinSpeedScale": 48,
+          "m_flMinSpringTension": 60,
+          "m_flSpringConstant": 56,
+          "m_hAnticipationHeadingParam": 54,
+          "m_hAnticipationPosParam": 52
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPathAnimMotorUpdaterBase"
+      },
+      "CDampedValueComponentUpdater": {
+        "fields": {
+          "m_items": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CDampedValueUpdateItem": {
+        "fields": {
+          "m_damping": 0,
+          "m_hParamIn": 24,
+          "m_hParamOut": 26
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CDemoSettingsComponentUpdater": {
+        "fields": {
+          "m_settings": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CDirectPlaybackTagData": {
+        "fields": {
+          "m_sequenceName": 0,
+          "m_tags": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CDirectPlaybackUpdateNode": {
+        "fields": {
+          "m_allTags": 112,
+          "m_bFinishEarly": 108,
+          "m_bResetOnFinish": 109
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CDirectionalBlendUpdateNode": {
+        "fields": {
+          "m_bLockBlendOnReset": 161,
+          "m_bLoop": 160,
+          "m_blendValueSource": 144,
+          "m_damping": 128,
+          "m_duration": 156,
+          "m_hSequences": 92,
+          "m_paramIndex": 148,
+          "m_playbackSpeed": 152
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CDistanceRemainingMetricEvaluator": {
+        "fields": {
+          "m_bFilterFixedMinDistance": 96,
+          "m_bFilterGoalDistance": 97,
+          "m_bFilterGoalOvershoot": 98,
+          "m_flMaxDistance": 80,
+          "m_flMaxGoalOvershootScale": 92,
+          "m_flMinDistance": 84,
+          "m_flStartGoalFilterDistance": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CDrawCullingData": {
+        "fields": {
+          "m_ConeAxis": 12,
+          "m_ConeCutoff": 15,
+          "m_vConeApex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CEditableMotionGraph": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionGraph"
+      },
+      "CEmitTagActionUpdater": {
+        "fields": {
+          "m_bIsZeroDuration": 28,
+          "m_nTagIndex": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimActionUpdater"
+      },
+      "CEnumAnimParameter": {
+        "fields": {
+          "m_defaultValue": 136,
+          "m_enumOptions": 144,
+          "m_vecEnumReferenced": 168
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CExpressionActionUpdater": {
+        "fields": {
+          "m_eParamType": 26,
+          "m_hParam": 24,
+          "m_hScript": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimActionUpdater"
+      },
+      "CFlexController": {
+        "fields": {
+          "m_szName": 0,
+          "m_szType": 8,
+          "max": 20,
+          "min": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFlexDesc": {
+        "fields": {
+          "m_szFacs": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFlexOp": {
+        "fields": {
+          "m_Data": 4,
+          "m_OpCode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFlexRule": {
+        "fields": {
+          "m_FlexOps": 8,
+          "m_nFlex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFloatAnimParameter": {
+        "fields": {
+          "m_bInterpolate": 140,
+          "m_fDefaultValue": 128,
+          "m_fMaxValue": 136,
+          "m_fMinValue": 132
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CFollowAttachmentUpdateNode": {
+        "fields": {
+          "m_opFixedData": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFollowPathUpdateNode": {
+        "fields": {
+          "m_bBlockNonPathMovement": 112,
+          "m_bScaleSpeed": 114,
+          "m_bStopFeetAtGoal": 113,
+          "m_bTurnToFace": 164,
+          "m_facingTarget": 152,
+          "m_flBlendOutTime": 108,
+          "m_flMaxAngle": 124,
+          "m_flMinAngle": 120,
+          "m_flScale": 116,
+          "m_flSpeedScaleBlending": 128,
+          "m_flTurnToFaceOffset": 160,
+          "m_hParam": 156,
+          "m_turnDamping": 136
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFollowTargetUpdateNode": {
+        "fields": {
+          "m_hParameterOrientation": 130,
+          "m_hParameterPosition": 128,
+          "m_opFixedData": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFootAdjustmentUpdateNode": {
+        "fields": {
+          "m_bAnimationDriven": 161,
+          "m_bResetChild": 160,
+          "m_clips": 112,
+          "m_facingTarget": 140,
+          "m_flStepHeightMax": 152,
+          "m_flStepHeightMaxAngle": 156,
+          "m_flTurnTimeMax": 148,
+          "m_flTurnTimeMin": 144,
+          "m_hBasePoseCacheHandle": 136
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFootCycle": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CCycleBase"
+      },
+      "CFootCycleDefinition": {
+        "fields": {
+          "m_flStanceDirectionMS": 24,
+          "m_footLandCycle": 56,
+          "m_footLiftCycle": 44,
+          "m_footOffCycle": 48,
+          "m_footStrikeCycle": 52,
+          "m_stanceCycle": 40,
+          "m_vMidpointPositionMS": 12,
+          "m_vStancePositionMS": 0,
+          "m_vToStrideStartPos": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFootCycleMetricEvaluator": {
+        "fields": {
+          "m_footIndices": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CFootDefinition": {
+        "fields": {
+          "m_ankleBoneName": 8,
+          "m_flBindPoseDirectionMS": 52,
+          "m_flFootLength": 48,
+          "m_flTraceHeight": 56,
+          "m_flTraceRadius": 60,
+          "m_name": 0,
+          "m_toeBoneName": 16,
+          "m_vBallOffset": 24,
+          "m_vHeelOffset": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFootFallAnimTag": {
+        "fields": {
+          "m_foot": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CFootLockUpdateNode": {
+        "fields": {
+          "m_bApplyFootRotationLimits": 304,
+          "m_bApplyHipShift": 305,
+          "m_bEnableRootHeightDamping": 309,
+          "m_bEnableVerticalCurvedPaths": 308,
+          "m_bModulateStepHeight": 306,
+          "m_bResetChild": 307,
+          "m_flBlendTime": 284,
+          "m_flHipShiftScale": 280,
+          "m_flMaxRootHeightOffset": 288,
+          "m_flMinRootHeightOffset": 292,
+          "m_flStepHeightDecreaseScale": 276,
+          "m_flStepHeightIncreaseScale": 272,
+          "m_flStrideCurveLimitScale": 268,
+          "m_flStrideCurveScale": 264,
+          "m_flTiltPlanePitchSpringStrength": 296,
+          "m_flTiltPlaneRollSpringStrength": 300,
+          "m_footSettings": 208,
+          "m_hipShiftDamping": 232,
+          "m_opFixedSettings": 104,
+          "m_rootHeightDamping": 248
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFootMotion": {
+        "fields": {
+          "m_bAdditive": 32,
+          "m_name": 24,
+          "m_strides": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFootPinningUpdateNode": {
+        "fields": {
+          "m_bResetChild": 192,
+          "m_eTimingSource": 160,
+          "m_params": 168,
+          "m_poseOpFixedData": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFootPositionMetricEvaluator": {
+        "fields": {
+          "m_bIgnoreSlope": 104,
+          "m_footIndices": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CFootStepTriggerUpdateNode": {
+        "fields": {
+          "m_flTolerance": 132,
+          "m_triggers": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CFootStride": {
+        "fields": {
+          "m_definition": 0,
+          "m_trajectories": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFootTrajectories": {
+        "fields": {
+          "m_trajectories": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFootTrajectory": {
+        "fields": {
+          "m_flProgression": 16,
+          "m_flRotationOffset": 12,
+          "m_vOffset": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFootstepLandedAnimTag": {
+        "fields": {
+          "m_BoneName": 112,
+          "m_DebugAnimSourceString": 104,
+          "m_FootstepType": 88,
+          "m_OverrideSoundName": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CFutureFacingMetricEvaluator": {
+        "fields": {
+          "m_flDistance": 80,
+          "m_flTime": 84
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CFutureVelocityMetricEvaluator": {
+        "fields": {
+          "m_eMode": 92,
+          "m_flDistance": 80,
+          "m_flStoppingDistance": 84,
+          "m_flTargetSpeed": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CHandshakeAnimTagBase": {
+        "fields": {
+          "m_bIsDisableTag": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CHitBox": {
+        "fields": {
+          "m_CRC": 64,
+          "m_bTranslationOnly": 61,
+          "m_cRenderColor": 68,
+          "m_flShapeRadius": 48,
+          "m_nBoneNameHash": 52,
+          "m_nGroupId": 56,
+          "m_nHitBoxIndex": 72,
+          "m_nShapeType": 60,
+          "m_name": 0,
+          "m_sBoneName": 16,
+          "m_sSurfaceProperty": 8,
+          "m_vMaxBounds": 36,
+          "m_vMinBounds": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CHitBoxSet": {
+        "fields": {
+          "m_HitBoxes": 16,
+          "m_SourceFilename": 40,
+          "m_nNameHash": 8,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CHitBoxSetList": {
+        "fields": {
+          "m_HitBoxSets": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CHitReactUpdateNode": {
+        "fields": {
+          "m_bResetChild": 196,
+          "m_flMinDelayBetweenHits": 192,
+          "m_hitBoneParam": 182,
+          "m_hitDirectionParam": 186,
+          "m_hitOffsetParam": 184,
+          "m_hitStrengthParam": 188,
+          "m_opFixedSettings": 104,
+          "m_triggerParam": 180
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CInputStreamUpdateNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CIntAnimParameter": {
+        "fields": {
+          "m_defaultValue": 128,
+          "m_maxValue": 136,
+          "m_minValue": 132
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CJiggleBoneUpdateNode": {
+        "fields": {
+          "m_opFixedData": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CJumpHelperUpdateNode": {
+        "fields": {
+          "m_bScaleSpeed": 203,
+          "m_bTranslationAxis": 200,
+          "m_eCorrectionMethod": 196,
+          "m_flJumpEndCycle": 192,
+          "m_flJumpStartCycle": 188,
+          "m_flOriginalJumpDuration": 184,
+          "m_flOriginalJumpMovement": 172,
+          "m_hTargetParam": 168
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSequenceUpdateNode"
+      },
+      "CLODComponentUpdater": {
+        "fields": {
+          "m_nServerLOD": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CLeafUpdateNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CLeanMatrixUpdateNode": {
+        "fields": {
+          "m_blendSource": 184,
+          "m_damping": 168,
+          "m_flMaxValue": 220,
+          "m_frameCorners": 92,
+          "m_hSequence": 216,
+          "m_horizontalAxis": 204,
+          "m_nSequenceMaxFrame": 224,
+          "m_paramIndex": 188,
+          "m_poses": 128,
+          "m_verticalAxis": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CLookAtUpdateNode": {
+        "fields": {
+          "m_bLockWhenWaning": 321,
+          "m_bResetChild": 320,
+          "m_opFixedSettings": 112,
+          "m_paramIndex": 316,
+          "m_target": 312,
+          "m_weightParamIndex": 318
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CLookComponentUpdater": {
+        "fields": {
+          "m_bNetworkLookTarget": 66,
+          "m_hLookDirection": 60,
+          "m_hLookDistance": 58,
+          "m_hLookHeading": 52,
+          "m_hLookHeadingVelocity": 54,
+          "m_hLookPitch": 56,
+          "m_hLookTarget": 62,
+          "m_hLookTargetWorldSpace": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CMaterialAttributeAnimTag": {
+        "fields": {
+          "m_AttributeName": 88,
+          "m_AttributeType": 96,
+          "m_Color": 104,
+          "m_flValue": 100
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CMaterialDrawDescriptor": {
+        "fields": {
+          "m_flAlpha": 16,
+          "m_flUvDensity": 0,
+          "m_indexBuffer": 152,
+          "m_material": 200,
+          "m_nBaseVertex": 36,
+          "m_nFirstMeshlet": 28,
+          "m_nIndexCount": 48,
+          "m_nNumMeshlets": 22,
+          "m_nPrimitiveType": 32,
+          "m_nStartIndex": 44,
+          "m_nVertexCount": 40,
+          "m_vTintColor": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMeshletDescriptor": {
+        "fields": {
+          "m_CullingData": 8,
+          "m_PackedAABB": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CModelConfig": {
+        "fields": {
+          "m_ConfigName": 0,
+          "m_Elements": 8,
+          "m_bTopLevel": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CModelConfigElement": {
+        "fields": {
+          "m_ElementName": 8,
+          "m_NestedElements": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CModelConfigElement_AttachedModel": {
+        "fields": {
+          "m_AttachmentName": 120,
+          "m_AttachmentType": 136,
+          "m_BodygroupOnOtherModels": 144,
+          "m_EntityClass": 80,
+          "m_InstanceName": 72,
+          "m_LocalAttachmentOffsetName": 128,
+          "m_MaterialGroupOnOtherModels": 152,
+          "m_aAngOffset": 108,
+          "m_bAcceptParentMaterialDrivenDecals": 143,
+          "m_bBoneMergeFlex": 140,
+          "m_bUserSpecifiedColor": 141,
+          "m_bUserSpecifiedMaterialGroup": 142,
+          "m_hModel": 88,
+          "m_vOffset": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_Command": {
+        "fields": {
+          "m_Args": 80,
+          "m_Command": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_RandomColor": {
+        "fields": {
+          "m_Gradient": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_RandomPick": {
+        "fields": {
+          "m_ChoiceWeights": 96,
+          "m_Choices": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_SetBodygroup": {
+        "fields": {
+          "m_GroupName": 72,
+          "m_nChoice": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_SetBodygroupOnAttachedModels": {
+        "fields": {
+          "m_GroupName": 72,
+          "m_nChoice": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_SetMaterialGroup": {
+        "fields": {
+          "m_MaterialGroupName": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_SetMaterialGroupOnAttachedModels": {
+        "fields": {
+          "m_MaterialGroupName": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_SetRenderColor": {
+        "fields": {
+          "m_Color": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigElement_UserPick": {
+        "fields": {
+          "m_Choices": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CModelConfigElement"
+      },
+      "CModelConfigList": {
+        "fields": {
+          "m_Configs": 8,
+          "m_bHideMaterialGroupInTools": 0,
+          "m_bHideRenderColorInTools": 1
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMoodVData": {
+        "fields": {
+          "m_animationLayers": 232,
+          "m_nMoodType": 224,
+          "m_sModelName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MVDataOverlayType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMorphBundleData": {
+        "fields": {
+          "m_flULeftSrc": 0,
+          "m_flVTopSrc": 4,
+          "m_offsets": 8,
+          "m_ranges": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMorphConstraint": {
+        "fields": {
+          "m_flMax": 120,
+          "m_flMin": 116,
+          "m_nSlaveChannel": 112,
+          "m_sTargetMorph": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CMorphData": {
+        "fields": {
+          "m_morphRectDatas": 8,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMorphRectData": {
+        "fields": {
+          "m_bundleDatas": 16,
+          "m_flUWidthSrc": 4,
+          "m_flVHeightSrc": 8,
+          "m_nXLeftDst": 0,
+          "m_nYTopDst": 2
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMorphSetData": {
+        "fields": {
+          "m_FlexControllers": 104,
+          "m_FlexDesc": 80,
+          "m_FlexRules": 128,
+          "m_bundleTypes": 24,
+          "m_morphDatas": 48,
+          "m_nHeight": 20,
+          "m_nWidth": 16,
+          "m_pTextureAtlas": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionDataSet": {
+        "fields": {
+          "m_groups": 0,
+          "m_nDimensionCount": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionGraph": {
+        "fields": {
+          "m_bLoop": 84,
+          "m_nConfigCount": 80,
+          "m_nConfigStartIndex": 76,
+          "m_nParameterCount": 72,
+          "m_pRootNode": 64,
+          "m_paramSpans": 16,
+          "m_tags": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionGraphConfig": {
+        "fields": {
+          "m_flDuration": 16,
+          "m_nMotionIndex": 20,
+          "m_nSampleCount": 28,
+          "m_nSampleStart": 24,
+          "m_paramValues": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionGraphGroup": {
+        "fields": {
+          "m_hIsActiveScript": 256,
+          "m_motionGraphConfigs": 208,
+          "m_motionGraphs": 184,
+          "m_sampleToConfig": 232,
+          "m_searchDB": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionGraphUpdateNode": {
+        "fields": {
+          "m_pMotionGraph": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CMotionMatchingUpdateNode": {
+        "fields": {
+          "m_bEnableDistanceScaling": 312,
+          "m_bEnableRotationCorrection": 264,
+          "m_bGoalAssist": 265,
+          "m_bLockClipWhenWaning": 252,
+          "m_bSearchEveryTick": 224,
+          "m_bSearchWhenClipEnds": 232,
+          "m_bSearchWhenGoalChanges": 233,
+          "m_blendCurve": 236,
+          "m_dataSet": 88,
+          "m_distanceScale_Damping": 280,
+          "m_flBlendTime": 248,
+          "m_flDistanceScale_InnerRadius": 300,
+          "m_flDistanceScale_MaxScale": 304,
+          "m_flDistanceScale_MinScale": 308,
+          "m_flDistanceScale_OuterRadius": 296,
+          "m_flGoalAssistDistance": 268,
+          "m_flGoalAssistTolerance": 272,
+          "m_flReselectionTimeWindow": 260,
+          "m_flSampleRate": 244,
+          "m_flSearchInterval": 228,
+          "m_flSelectionThreshold": 256,
+          "m_metrics": 120,
+          "m_weights": 144
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CMotionMetricEvaluator": {
+        "fields": {
+          "m_flWeight": 72,
+          "m_means": 24,
+          "m_nDimensionStartIndex": 76,
+          "m_standardDeviations": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionNode": {
+        "fields": {
+          "m_id": 32,
+          "m_name": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionNodeBlend1D": {
+        "fields": {
+          "m_blendItems": 40,
+          "m_nParamIndex": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionNode"
+      },
+      "CMotionNodeSequence": {
+        "fields": {
+          "m_flPlaybackSpeed": 68,
+          "m_hSequence": 64,
+          "m_tags": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionNode"
+      },
+      "CMotionSearchDB": {
+        "fields": {
+          "m_codeIndices": 160,
+          "m_residualQuantizer": 128,
+          "m_rootNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMotionSearchNode": {
+        "fields": {
+          "m_children": 0,
+          "m_quantizer": 24,
+          "m_sampleCodes": 56,
+          "m_sampleIndices": 80,
+          "m_selectableSamples": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CMovementComponentUpdater": {
+        "fields": {
+          "m_bMoveVarsDisabled": 104,
+          "m_bNetworkFacing": 106,
+          "m_bNetworkPath": 105,
+          "m_facingDamping": 72,
+          "m_flDefaultRunSpeed": 100,
+          "m_motors": 48,
+          "m_nDefaultMotorIndex": 96,
+          "m_paramHandles": 107
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CMovementHandshakeAnimTag": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CHandshakeAnimTagBase"
+      },
+      "CMoverUpdateNode": {
+        "fields": {
+          "m_bAdditive": 148,
+          "m_bApplyMovement": 149,
+          "m_bApplyRotation": 151,
+          "m_bLimitOnly": 152,
+          "m_bOrientMovement": 150,
+          "m_damping": 112,
+          "m_facingTarget": 128,
+          "m_flTurnToFaceLimit": 144,
+          "m_flTurnToFaceOffset": 140,
+          "m_hMoveHeadingParam": 134,
+          "m_hMoveVecParam": 132,
+          "m_hTurnToFaceParam": 136
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CNmAdditiveBlendTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmBlendTaskBase"
+      },
+      "CNmAndNode__CDefinition": {
+        "fields": {
+          "m_conditionNodeIndices": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmAnimationPoseNode__CDefinition": {
+        "fields": {
+          "m_bUseFramesAsInput": 32,
+          "m_flUserSpecifiedTime": 28,
+          "m_inputTimeRemapRange": 20,
+          "m_nDataSlotIdx": 18,
+          "m_nPoseTimeValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmBitFlags": {
+        "fields": {
+          "m_flags": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmBlend1DNode__CDefinition": {
+        "fields": {
+          "m_parameterization": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmParameterizedBlendNode::CDefinition"
+      },
+      "CNmBlend2DNode__CDefinition": {
+        "fields": {
+          "m_bAllowLooping": 264,
+          "m_hullIndices": 224,
+          "m_indices": 168,
+          "m_nInputParameterNodeIdx0": 56,
+          "m_nInputParameterNodeIdx1": 58,
+          "m_sourceNodeIndices": 16,
+          "m_values": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmBlendTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmBlendTaskBase"
+      },
+      "CNmBlendTaskBase": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmTask"
+      },
+      "CNmBoneMask": {
+        "fields": {
+          "m_ID": 0,
+          "m_weightInfo": 8,
+          "m_weights": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmBoneMaskBlendNode__CDefinition": {
+        "fields": {
+          "m_nBlendWeightValueNodeIdx": 20,
+          "m_nSourceMaskNodeIdx": 16,
+          "m_nTargetMaskNodeIdx": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoneMaskValueNode::CDefinition"
+      },
+      "CNmBoneMaskNode__CDefinition": {
+        "fields": {
+          "m_boneMaskID": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoneMaskValueNode::CDefinition"
+      },
+      "CNmBoneMaskSelectorNode__CDefinition": {
+        "fields": {
+          "m_defaultMaskNodeIdx": 16,
+          "m_flBlendTimeSeconds": 144,
+          "m_maskNodeIndices": 24,
+          "m_parameterValueNodeIdx": 18,
+          "m_parameterValues": 64,
+          "m_switchDynamically": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoneMaskValueNode::CDefinition"
+      },
+      "CNmBoneMaskValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmValueNode::CDefinition"
+      },
+      "CNmBoolValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmValueNode::CDefinition"
+      },
+      "CNmCachedBoolNode__CDefinition": {
+        "fields": {
+          "m_mode": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmCachedFloatNode__CDefinition": {
+        "fields": {
+          "m_mode": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmCachedIDNode__CDefinition": {
+        "fields": {
+          "m_mode": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmCachedPoseReadTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmTask"
+      },
+      "CNmCachedPoseWriteTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmTask"
+      },
+      "CNmCachedTargetNode__CDefinition": {
+        "fields": {
+          "m_mode": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmTargetValueNode::CDefinition"
+      },
+      "CNmCachedVectorNode__CDefinition": {
+        "fields": {
+          "m_mode": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmChildGraphNode__CDefinition": {
+        "fields": {
+          "m_nChildGraphIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmClip": {
+        "fields": {
+          "m_bIsAdditive": 416,
+          "m_compressedPoseData": 16,
+          "m_compressedPoseOffsets": 64,
+          "m_flDuration": 12,
+          "m_nNumFrames": 8,
+          "m_rootMotion": 336,
+          "m_skeleton": 0,
+          "m_syncTrack": 160,
+          "m_trackCompressionSettings": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmClipNode__CDefinition": {
+        "fields": {
+          "m_bAllowLooping": 21,
+          "m_bSampleRootMotion": 20,
+          "m_nDataSlotIdx": 22,
+          "m_nPlayInReverseValueNodeIdx": 16,
+          "m_nResetTimeValueNodeIdx": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmClipSelectorNode__CDefinition": {
+        "fields": {
+          "m_conditionNodeIndices": 40,
+          "m_optionNodeIndices": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmConstBoolNode__CDefinition": {
+        "fields": {
+          "m_bValue": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmConstFloatNode__CDefinition": {
+        "fields": {
+          "m_flValue": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmConstIDNode__CDefinition": {
+        "fields": {
+          "m_value": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmConstTargetNode__CDefinition": {
+        "fields": {
+          "m_value": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmTargetValueNode::CDefinition"
+      },
+      "CNmConstVectorNode__CDefinition": {
+        "fields": {
+          "m_value": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmControlParameterBoolNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmControlParameterFloatNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmControlParameterIDNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmControlParameterTargetNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmTargetValueNode::CDefinition"
+      },
+      "CNmControlParameterVectorNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmCurrentSyncEventIDNode__CDefinition": {
+        "fields": {
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmCurrentSyncEventIndexNode__CDefinition": {
+        "fields": {
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmCurrentSyncEventPercentageThroughNode__CDefinition": {
+        "fields": {
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmDurationScaleNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmSpeedScaleBaseNode::CDefinition"
+      },
+      "CNmEvent": {
+        "fields": {
+          "m_flDurationSeconds": 12,
+          "m_flStartTimeSeconds": 8,
+          "m_syncID": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmExternalGraphNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmFixedWeightBoneMaskNode__CDefinition": {
+        "fields": {
+          "m_flBoneWeight": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoneMaskValueNode::CDefinition"
+      },
+      "CNmFloatAbsNode__CDefinition": {
+        "fields": {
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatAngleMathNode__CDefinition": {
+        "fields": {
+          "m_nInputValueNodeIdx": 16,
+          "m_operation": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatClampNode__CDefinition": {
+        "fields": {
+          "m_clampRange": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatComparisonNode__CDefinition": {
+        "fields": {
+          "m_comparison": 20,
+          "m_flComparisonValue": 28,
+          "m_flEpsilon": 24,
+          "m_nComparandValueNodeIdx": 18,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmFloatCurveNode__CDefinition": {
+        "fields": {
+          "m_curve": 24,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatEaseNode__CDefinition": {
+        "fields": {
+          "m_bUseStartValue": 27,
+          "m_easingOp": 26,
+          "m_flEaseTime": 16,
+          "m_flStartValue": 20,
+          "m_nInputValueNodeIdx": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatMathNode__CDefinition": {
+        "fields": {
+          "m_bReturnAbsoluteResult": 20,
+          "m_flValueB": 24,
+          "m_nInputValueNodeIdxA": 16,
+          "m_nInputValueNodeIdxB": 18,
+          "m_operator": 21
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatRangeComparisonNode__CDefinition": {
+        "fields": {
+          "m_bIsInclusiveCheck": 26,
+          "m_nInputValueNodeIdx": 24,
+          "m_range": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmFloatRemapNode__CDefinition": {
+        "fields": {
+          "m_inputRange": 20,
+          "m_nInputValueNodeIdx": 16,
+          "m_outputRange": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatRemapNode__RemapRange_t": {
+        "fields": {
+          "m_flBegin": 0,
+          "m_flEnd": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmFloatSelectorNode__CDefinition": {
+        "fields": {
+          "m_conditionNodeIndices": 16,
+          "m_easingOp": 112,
+          "m_flDefaultValue": 104,
+          "m_flEaseTime": 108,
+          "m_values": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatSwitchNode__CDefinition": {
+        "fields": {
+          "m_nFalseValueNodeIdx": 20,
+          "m_nSwitchValueNodeIdx": 16,
+          "m_nTrueValueNodeIdx": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFloatValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmValueNode::CDefinition"
+      },
+      "CNmFootEvent": {
+        "fields": {
+          "m_phase": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmFootEventConditionNode__CDefinition": {
+        "fields": {
+          "m_eventConditionRules": 20,
+          "m_nSourceStateNodeIdx": 16,
+          "m_phaseCondition": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmFootstepEventIDNode__CDefinition": {
+        "fields": {
+          "m_eventConditionRules": 20,
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmFootstepEventPercentageThroughNode__CDefinition": {
+        "fields": {
+          "m_eventConditionRules": 20,
+          "m_nSourceStateNodeIdx": 16,
+          "m_phaseCondition": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmFrameSnapEvent": {
+        "fields": {
+          "m_frameSnapMode": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmGraphDataSet": {
+        "fields": {
+          "m_resources": 16,
+          "m_skeleton": 8,
+          "m_variationID": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmGraphDefinition": {
+        "fields": {
+          "m_childGraphSlots": 104,
+          "m_controlParameterIDs": 32,
+          "m_externalGraphSlots": 128,
+          "m_nRootNodeIdx": 24,
+          "m_nodePaths": 264,
+          "m_persistentNodeIndices": 0,
+          "m_runtimeVersionID": 288,
+          "m_virtualParameterIDs": 56,
+          "m_virtualParameterNodeIndices": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmGraphDefinition__ChildGraphSlot_t": {
+        "fields": {
+          "m_dataSlotIdx": 2,
+          "m_nNodeIdx": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmGraphDefinition__ExternalGraphSlot_t": {
+        "fields": {
+          "m_nNodeIdx": 0,
+          "m_slotID": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmGraphNode__CDefinition": {
+        "fields": {
+          "m_nNodeIdx": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmGraphVariation": {
+        "fields": {
+          "m_dataSet": 8,
+          "m_graphDefinition": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmIDComparisonNode__CDefinition": {
+        "fields": {
+          "m_comparisionIDs": 24,
+          "m_comparison": 18,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmIDEvent": {
+        "fields": {
+          "m_ID": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmIDEventConditionNode__CDefinition": {
+        "fields": {
+          "m_eventConditionRules": 20,
+          "m_eventIDs": 24,
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmIDEventNode__CDefinition": {
+        "fields": {
+          "m_defaultValue": 24,
+          "m_eventConditionRules": 20,
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmIDEventPercentageThroughNode__CDefinition": {
+        "fields": {
+          "m_eventConditionRules": 20,
+          "m_eventID": 24,
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmIDToFloatNode__CDefinition": {
+        "fields": {
+          "m_IDs": 24,
+          "m_defaultValue": 20,
+          "m_nInputValueNodeIdx": 16,
+          "m_values": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmIDValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmValueNode::CDefinition"
+      },
+      "CNmIKRig": {
+        "fields": {
+          "m_skeleton": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmIsTargetSetNode__CDefinition": {
+        "fields": {
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmLayerBlendNode__CDefinition": {
+        "fields": {
+          "m_bOnlySampleBaseRootMotion": 18,
+          "m_layerDefinition": 24,
+          "m_nBaseNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmLayerBlendNode__LayerDefinition_t": {
+        "fields": {
+          "m_bIgnoreEvents": 9,
+          "m_bIsStateMachineLayer": 10,
+          "m_bIsSynchronized": 8,
+          "m_blendMode": 11,
+          "m_nBoneMaskValueNodeIdx": 4,
+          "m_nInputNodeIdx": 0,
+          "m_nRootMotionWeightValueNodeIdx": 6,
+          "m_nWeightValueNodeIdx": 2
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmLegacyEvent": {
+        "fields": {
+          "m_KV": 32,
+          "m_animEventClassName": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmModelSpaceBlendTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmBlendTaskBase"
+      },
+      "CNmNotNode__CDefinition": {
+        "fields": {
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmOrNode__CDefinition": {
+        "fields": {
+          "m_conditionNodeIndices": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmOrientationWarpEvent": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmOrientationWarpNode__CDefinition": {
+        "fields": {
+          "m_bIsOffsetNode": 20,
+          "m_bIsOffsetRelativeToCharacter": 21,
+          "m_nClipReferenceNodeIdx": 16,
+          "m_nTargetValueNodeIdx": 18,
+          "m_samplingMode": 22
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmOverlayBlendTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmBlendTaskBase"
+      },
+      "CNmParameterizedBlendNode__BlendRange_t": {
+        "fields": {
+          "m_nInputIdx0": 0,
+          "m_nInputIdx1": 2,
+          "m_parameterValueRange": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmParameterizedBlendNode__CDefinition": {
+        "fields": {
+          "m_bAllowLooping": 58,
+          "m_nInputParameterValueNodeIdx": 56,
+          "m_sourceNodeIndices": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmParameterizedBlendNode__Parameterization_t": {
+        "fields": {
+          "m_blendRanges": 0,
+          "m_parameterRange": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmParameterizedClipSelectorNode__CDefinition": {
+        "fields": {
+          "m_optionNodeIndices": 16,
+          "m_parameterNodeIdx": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmParameterizedSelectorNode__CDefinition": {
+        "fields": {
+          "m_optionNodeIndices": 16,
+          "m_parameterNodeIdx": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmPassthroughNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmPoseNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmGraphNode::CDefinition"
+      },
+      "CNmReferencePoseNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmReferencePoseTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmTask"
+      },
+      "CNmRootMotionData": {
+        "fields": {
+          "m_flAverageAngularVelocityRadians": 32,
+          "m_flAverageLinearVelocity": 28,
+          "m_nNumFrames": 24,
+          "m_totalDelta": 48,
+          "m_transforms": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmRootMotionEvent": {
+        "fields": {
+          "m_flBlendTimeSeconds": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmRootMotionOverrideNode__CDefinition": {
+        "fields": {
+          "m_angularVelocityLimitNodeIdx": 30,
+          "m_desiredFacingDirectionNodeIdx": 26,
+          "m_desiredMovingVelocityNodeIdx": 24,
+          "m_linearVelocityLimitNodeIdx": 28,
+          "m_maxAngularVelocityRadians": 36,
+          "m_maxLinearVelocity": 32,
+          "m_overrideFlags": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPassthroughNode::CDefinition"
+      },
+      "CNmSampleTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmTask"
+      },
+      "CNmSelectorNode__CDefinition": {
+        "fields": {
+          "m_conditionNodeIndices": 40,
+          "m_optionNodeIndices": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmSkeleton": {
+        "fields": {
+          "m_ID": 0,
+          "m_boneIDs": 8,
+          "m_boneMasks": 104,
+          "m_modelSpaceReferencePose": 72,
+          "m_numBonesToSampleAtLowLOD": 96,
+          "m_parentIndices": 24,
+          "m_parentSpaceReferencePose": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmSpeedScaleBaseNode__CDefinition": {
+        "fields": {
+          "m_flDefaultInputValue": 28,
+          "m_nInputValueNodeIdx": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPassthroughNode::CDefinition"
+      },
+      "CNmSpeedScaleNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmSpeedScaleBaseNode::CDefinition"
+      },
+      "CNmStateCompletedConditionNode__CDefinition": {
+        "fields": {
+          "m_flTransitionDurationSeconds": 20,
+          "m_nSourceStateNodeIdx": 16,
+          "m_nTransitionDurationOverrideNodeIdx": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmStateEventConditionNode__CDefinition": {
+        "fields": {
+          "m_conditions": 24,
+          "m_eventConditionRules": 20,
+          "m_nSourceStateNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmStateEventConditionNode__Condition_t": {
+        "fields": {
+          "m_eventID": 0,
+          "m_eventTypeCondition": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmStateMachineNode__CDefinition": {
+        "fields": {
+          "m_nDefaultStateIndex": 304,
+          "m_stateDefinitions": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmStateMachineNode__StateDefinition_t": {
+        "fields": {
+          "m_nEntryConditionNodeIdx": 2,
+          "m_nStateNodeIdx": 0,
+          "m_transitionDefinitions": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmStateMachineNode__TransitionDefinition_t": {
+        "fields": {
+          "m_bCanBeForced": 6,
+          "m_nConditionNodeIdx": 2,
+          "m_nTargetStateIdx": 0,
+          "m_nTransitionNodeIdx": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmStateNode__CDefinition": {
+        "fields": {
+          "m_bIsOffState": 174,
+          "m_entryEvents": 24,
+          "m_executeEvents": 56,
+          "m_exitEvents": 88,
+          "m_nChildNodeIdx": 16,
+          "m_nLayerBoneMaskNodeIdx": 172,
+          "m_nLayerRootMotionWeightNodeIdx": 170,
+          "m_nLayerWeightNodeIdx": 168,
+          "m_timedElapsedEvents": 144,
+          "m_timedRemainingEvents": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmStateNode__TimedEvent_t": {
+        "fields": {
+          "m_ID": 0,
+          "m_flTimeValueSeconds": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmSyncEventIndexConditionNode__CDefinition": {
+        "fields": {
+          "m_nSourceStateNodeIdx": 16,
+          "m_syncEventIdx": 20,
+          "m_triggerMode": 18
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmSyncTrack": {
+        "fields": {
+          "m_nStartEventOffset": 168,
+          "m_syncEvents": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmSyncTrack__EventMarker_t": {
+        "fields": {
+          "m_ID": 8,
+          "m_startTime": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmSyncTrack__Event_t": {
+        "fields": {
+          "m_ID": 0,
+          "m_duration": 12,
+          "m_startTime": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmTarget": {
+        "fields": {
+          "m_bHasOffsets": 42,
+          "m_bIsBoneTarget": 40,
+          "m_bIsSet": 43,
+          "m_bIsUsingBoneSpaceOffsets": 41,
+          "m_boneID": 32,
+          "m_transform": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CNmTargetInfoNode__CDefinition": {
+        "fields": {
+          "m_bIsWorldSpaceTarget": 24,
+          "m_infoType": 20,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmTargetOffsetNode__CDefinition": {
+        "fields": {
+          "m_bIsBoneSpaceOffset": 18,
+          "m_nInputValueNodeIdx": 16,
+          "m_rotationOffset": 32,
+          "m_translationOffset": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmTargetValueNode::CDefinition"
+      },
+      "CNmTargetPointNode__CDefinition": {
+        "fields": {
+          "m_bIsWorldSpaceTarget": 18,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmTargetValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmValueNode::CDefinition"
+      },
+      "CNmTargetWarpEvent": {
+        "fields": {
+          "m_algorithm": 25,
+          "m_rule": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmTargetWarpNode__CDefinition": {
+        "fields": {
+          "m_bAllowTargetUpdate": 21,
+          "m_flLerpFallbackDistanceThreshold": 32,
+          "m_flMaxTangentLength": 28,
+          "m_flSamplingPositionErrorThresholdSq": 24,
+          "m_flTargetUpdateAngleThresholdRadians": 40,
+          "m_flTargetUpdateDistanceThreshold": 36,
+          "m_nClipReferenceNodeIdx": 16,
+          "m_nTargetValueNodeIdx": 18,
+          "m_samplingMode": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "CNmTimeConditionNode__CDefinition": {
+        "fields": {
+          "m_flComparand": 20,
+          "m_nInputValueNodeIdx": 18,
+          "m_operator": 25,
+          "m_sourceStateNodeIdx": 16,
+          "m_type": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmTransitionEvent": {
+        "fields": {
+          "m_ID": 32,
+          "m_rule": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmEvent"
+      },
+      "CNmTransitionEventConditionNode__CDefinition": {
+        "fields": {
+          "m_eventConditionRules": 24,
+          "m_nSourceStateNodeIdx": 28,
+          "m_requireRuleID": 16,
+          "m_ruleCondition": 30
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmTransitionNode__CDefinition": {
+        "fields": {
+          "m_blendWeightEasing": 42,
+          "m_boneMaskBlendInTimePercentage": 28,
+          "m_flDuration": 24,
+          "m_nDurationOverrideNodeIdx": 18,
+          "m_nTargetStateNodeIdx": 16,
+          "m_rootMotionBlend": 43,
+          "m_startBoneMaskNodeIdx": 22,
+          "m_syncEventOffset": 32,
+          "m_syncEventOffsetOverrideNodeIdx": 20,
+          "m_targetSyncIDNodeIdx": 40,
+          "m_transitionOptions": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmGraphNode::CDefinition"
+      },
+      "CNmVectorCreateNode__CDefinition": {
+        "fields": {
+          "m_inputValueXNodeIdx": 18,
+          "m_inputValueYNodeIdx": 20,
+          "m_inputValueZNodeIdx": 22,
+          "m_inputVectorValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmVectorInfoNode__CDefinition": {
+        "fields": {
+          "m_desiredInfo": 18,
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmVectorNegateNode__CDefinition": {
+        "fields": {
+          "m_nInputValueNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmVectorValueNode__CDefinition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmValueNode::CDefinition"
+      },
+      "CNmVelocityBasedSpeedScaleNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmSpeedScaleBaseNode::CDefinition"
+      },
+      "CNmVelocityBlendNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmParameterizedBlendNode::CDefinition"
+      },
+      "CNmVirtualParameterBoneMaskNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoneMaskValueNode::CDefinition"
+      },
+      "CNmVirtualParameterBoolNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmBoolValueNode::CDefinition"
+      },
+      "CNmVirtualParameterFloatNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmFloatValueNode::CDefinition"
+      },
+      "CNmVirtualParameterIDNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmIDValueNode::CDefinition"
+      },
+      "CNmVirtualParameterTargetNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmTargetValueNode::CDefinition"
+      },
+      "CNmVirtualParameterVectorNode__CDefinition": {
+        "fields": {
+          "m_nChildNodeIdx": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmVectorValueNode::CDefinition"
+      },
+      "CNmZeroPoseNode__CDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CNmPoseNode::CDefinition"
+      },
+      "CNmZeroPoseTask": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CNmTask"
+      },
+      "COrientConstraint": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "COrientationWarpUpdateNode": {
+        "fields": {
+          "m_hFacingPositionParameter": 108,
+          "m_turnDamping": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CPairedSequenceComponentUpdater": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CPairedSequenceUpdateNode": {
+        "fields": {
+          "m_sPairedSequenceRole": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSequenceUpdateNodeBase"
+      },
+      "CParamSpanUpdater": {
+        "fields": {
+          "m_spans": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CParentConstraint": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CParticleAnimTag": {
+        "fields": {
+          "m_attachmentCP1Name": 136,
+          "m_attachmentCP1Type": 144,
+          "m_attachmentName": 120,
+          "m_attachmentType": 128,
+          "m_bDetachFromOwner": 112,
+          "m_bStopWhenTagEnds": 113,
+          "m_bTagEndStopIsInstant": 114,
+          "m_configName": 104,
+          "m_hParticleSystem": 88,
+          "m_particleSystemName": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CPathAnimMotorUpdater": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPathAnimMotorUpdaterBase"
+      },
+      "CPathAnimMotorUpdaterBase": {
+        "fields": {
+          "m_bLockToPath": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimMotorUpdaterBase"
+      },
+      "CPathHelperUpdateNode": {
+        "fields": {
+          "m_flStoppingRadius": 104,
+          "m_flStoppingSpeedScale": 108
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CPathMetricEvaluator": {
+        "fields": {
+          "m_bExtrapolateMovement": 108,
+          "m_flDistance": 104,
+          "m_flMinExtrapolationSpeed": 112,
+          "m_pathTimeSamples": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CPhysSurfaceProperties": {
+        "fields": {
+          "m_audioParams": 168,
+          "m_audioSounds": 80,
+          "m_bHidden": 24,
+          "m_baseNameHash": 12,
+          "m_description": 32,
+          "m_name": 0,
+          "m_nameHash": 8,
+          "m_physics": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPhysSurfacePropertiesAudio": {
+        "fields": {
+          "m_flOcclusionFactor": 28,
+          "m_flStaticImpactVolume": 24,
+          "m_hardThreshold": 16,
+          "m_hardVelocityThreshold": 20,
+          "m_hardnessFactor": 4,
+          "m_reflectivity": 0,
+          "m_roughThreshold": 12,
+          "m_roughnessFactor": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPhysSurfacePropertiesPhysics": {
+        "fields": {
+          "m_density": 8,
+          "m_elasticity": 4,
+          "m_flashpoint": 32,
+          "m_friction": 0,
+          "m_heatConductivity": 28,
+          "m_softContactDampingRatio": 20,
+          "m_softContactFrequency": 16,
+          "m_thickness": 12,
+          "m_wheelDrag": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPhysSurfacePropertiesSoundNames": {
+        "fields": {
+          "m_break": 48,
+          "m_bulletImpact": 32,
+          "m_impactHard": 8,
+          "m_impactSoft": 0,
+          "m_meleeImpact": 64,
+          "m_pushOff": 72,
+          "m_rolling": 40,
+          "m_scrapeRough": 24,
+          "m_scrapeSmooth": 16,
+          "m_skidStop": 80,
+          "m_strain": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPlayerInputAnimMotorUpdater": {
+        "fields": {
+          "m_bUseAcceleration": 72,
+          "m_flAnticipationDistance": 64,
+          "m_flSpringConstant": 60,
+          "m_hAnticipationHeadingParam": 70,
+          "m_hAnticipationPosParam": 68,
+          "m_sampleTimes": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimMotorUpdaterBase"
+      },
+      "CPointConstraint": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CPoseHandle": {
+        "fields": {
+          "m_eType": 2,
+          "m_nIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CProductQuantizer": {
+        "fields": {
+          "m_nDimensions": 24,
+          "m_subQuantizers": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CQuaternionAnimParameter": {
+        "fields": {
+          "m_bInterpolate": 144,
+          "m_defaultValue": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CRagdollAnimTag": {
+        "fields": {
+          "m_bDestroy": 108,
+          "m_flDampingRatio": 96,
+          "m_flDecayBias": 104,
+          "m_flDecayDuration": 100,
+          "m_flFrequency": 92,
+          "m_nPoseControl": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CRagdollComponentUpdater": {
+        "fields": {
+          "m_bSolidCollisionAtZeroWeight": 156,
+          "m_boneIndices": 72,
+          "m_boneNames": 96,
+          "m_flMaxStretch": 152,
+          "m_flSpringFrequencyMax": 148,
+          "m_flSpringFrequencyMin": 144,
+          "m_ragdollNodePaths": 48,
+          "m_weightLists": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CRagdollUpdateNode": {
+        "fields": {
+          "m_nWeightListIndex": 104,
+          "m_poseControlMethod": 108
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CRenderBufferBinding": {
+        "fields": {
+          "m_hBuffer": 0,
+          "m_nBindOffsetBytes": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CRenderGroom": {
+        "fields": {
+          "m_bEnableSimulation": 100,
+          "m_hSimParamsMat": 64,
+          "m_hairPositionOffsets": 24,
+          "m_hairs": 0,
+          "m_nAttachBoneIdx": 88,
+          "m_nAttachMeshDrawCallIdx": 96,
+          "m_nAttachMeshIdx": 92,
+          "m_nGroomGroupID": 84,
+          "m_nGuideHairCount": 76,
+          "m_nHairCount": 80,
+          "m_nSegmentsPerHairStrand": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CRenderMesh": {
+        "fields": {
+          "m_constraints": 120,
+          "m_meshDeformParams": 424,
+          "m_pGroomData": 440,
+          "m_sceneObjects": 16,
+          "m_skeleton": 136
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CRenderSkeleton": {
+        "fields": {
+          "m_boneParents": 48,
+          "m_bones": 0,
+          "m_nBoneWeightCount": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CRootUpdateNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CSceneObjectData": {
+        "fields": {
+          "m_drawBounds": 40,
+          "m_drawCalls": 24,
+          "m_meshlets": 56,
+          "m_vMaxBounds": 12,
+          "m_vMinBounds": 0,
+          "m_vTintColor": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSelectorUpdateNode": {
+        "fields": {
+          "m_bLockWhenWaning": 169,
+          "m_bResetOnChange": 168,
+          "m_bSyncCyclesOnChange": 170,
+          "m_blendCurve": 140,
+          "m_children": 88,
+          "m_eTagBehavior": 164,
+          "m_flBlendTime": 148,
+          "m_hParameter": 156,
+          "m_nTagIndex": 160,
+          "m_tags": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CSeqAutoLayer": {
+        "fields": {
+          "m_end": 24,
+          "m_flags": 4,
+          "m_nLocalPose": 2,
+          "m_nLocalReference": 0,
+          "m_peak": 16,
+          "m_start": 12,
+          "m_tail": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqAutoLayerFlag": {
+        "fields": {
+          "m_bFetchFrame": 6,
+          "m_bLocal": 4,
+          "m_bNoBlend": 3,
+          "m_bPose": 5,
+          "m_bPost": 0,
+          "m_bSpline": 1,
+          "m_bSubtract": 7,
+          "m_bXFade": 2
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqBoneMaskList": {
+        "fields": {
+          "m_flBoneWeightArray": 40,
+          "m_flDefaultMorphCtrlWeight": 64,
+          "m_morphCtrlWeightArray": 72,
+          "m_nLocalBoneArray": 16,
+          "m_sName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqCmdLayer": {
+        "fields": {
+          "m_bSpline": 10,
+          "m_cmd": 0,
+          "m_flVar1": 12,
+          "m_flVar2": 16,
+          "m_nDstResult": 6,
+          "m_nLineNumber": 20,
+          "m_nLocalBonemask": 4,
+          "m_nLocalReference": 2,
+          "m_nSrcResult": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqCmdSeqDesc": {
+        "fields": {
+          "m_activityArray": 96,
+          "m_cmdLayerArray": 48,
+          "m_eventArray": 72,
+          "m_flFPS": 40,
+          "m_flags": 16,
+          "m_nFrameCount": 38,
+          "m_nFrameRangeSequence": 36,
+          "m_nSubCycles": 44,
+          "m_numLocalResults": 46,
+          "m_poseSettingArray": 120,
+          "m_sName": 0,
+          "m_transition": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqIKLock": {
+        "fields": {
+          "m_bBonesOrientedAlongPositiveX": 10,
+          "m_flAngleWeight": 4,
+          "m_flPosWeight": 0,
+          "m_nLocalBone": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqMultiFetch": {
+        "fields": {
+          "m_bCalculatePoseParameters": 100,
+          "m_bFixedBlendWeight": 101,
+          "m_flFixedBlendWeightVals": 104,
+          "m_flags": 0,
+          "m_localReferenceArray": 8,
+          "m_nGroupSize": 32,
+          "m_nLocalCyclePoseParameter": 96,
+          "m_nLocalPose": 40,
+          "m_poseKeyArray0": 48,
+          "m_poseKeyArray1": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqMultiFetchFlag": {
+        "fields": {
+          "m_b0D": 2,
+          "m_b1D": 3,
+          "m_b2D": 4,
+          "m_b2D_TRI": 5,
+          "m_bCylepose": 1,
+          "m_bRealtime": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqPoseParamDesc": {
+        "fields": {
+          "m_bLooping": 28,
+          "m_flEnd": 20,
+          "m_flLoop": 24,
+          "m_flStart": 16,
+          "m_sName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqPoseSetting": {
+        "fields": {
+          "m_bX": 52,
+          "m_bY": 53,
+          "m_bZ": 54,
+          "m_eType": 56,
+          "m_flValue": 48,
+          "m_sAttachment": 16,
+          "m_sPoseParameter": 0,
+          "m_sReferenceSequence": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqS1SeqDesc": {
+        "fields": {
+          "m_IKLockArray": 176,
+          "m_LegacyKeyValueText": 224,
+          "m_SequenceKeys": 208,
+          "m_activityArray": 240,
+          "m_autoLayerArray": 152,
+          "m_fetch": 32,
+          "m_flags": 16,
+          "m_footMotion": 264,
+          "m_nLocalWeightlist": 144,
+          "m_sName": 0,
+          "m_transition": 200
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqScaleSet": {
+        "fields": {
+          "m_bRootOffset": 16,
+          "m_flBoneScaleArray": 56,
+          "m_nLocalBoneArray": 32,
+          "m_sName": 0,
+          "m_vRootOffset": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqSeqDescFlag": {
+        "fields": {
+          "m_bAutoplay": 2,
+          "m_bHidden": 4,
+          "m_bLegacyCyclepose": 8,
+          "m_bLegacyDelta": 6,
+          "m_bLegacyRealtime": 9,
+          "m_bLegacyWorldspace": 7,
+          "m_bLooping": 0,
+          "m_bModelDoc": 10,
+          "m_bMulti": 5,
+          "m_bPost": 3,
+          "m_bSnap": 1
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqSynthAnimDesc": {
+        "fields": {
+          "m_activityArray": 40,
+          "m_flags": 16,
+          "m_nLocalBaseReference": 36,
+          "m_nLocalBoneMask": 38,
+          "m_sName": 0,
+          "m_transition": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSeqTransition": {
+        "fields": {
+          "m_flFadeInTime": 0,
+          "m_flFadeOutTime": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSequenceFinishedAnimTag": {
+        "fields": {
+          "m_sequenceName": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CSequenceGroupData": {
+        "fields": {
+          "m_keyValues": 272,
+          "m_localBoneMaskArray": 160,
+          "m_localBoneNameArray": 208,
+          "m_localCmdSeqDescArray": 136,
+          "m_localIKAutoplayLockArray": 288,
+          "m_localMultiSeqDescArray": 88,
+          "m_localNodeName": 232,
+          "m_localPoseParamArray": 248,
+          "m_localS1SeqDescArray": 64,
+          "m_localScaleSetArray": 184,
+          "m_localSequenceNameArray": 40,
+          "m_localSynthAnimDescArray": 112,
+          "m_nFlags": 32,
+          "m_sName": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSequenceTagSpans": {
+        "fields": {
+          "m_sSequenceName": 0,
+          "m_tags": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSequenceUpdateNode": {
+        "fields": {
+          "m_duration": 116,
+          "m_hSequence": 112,
+          "m_paramSpans": 120,
+          "m_tags": 144
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSequenceUpdateNodeBase"
+      },
+      "CSequenceUpdateNodeBase": {
+        "fields": {
+          "m_bLoop": 104,
+          "m_playbackSpeed": 100
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CSetParameterActionUpdater": {
+        "fields": {
+          "m_hParam": 24,
+          "m_value": 26
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimActionUpdater"
+      },
+      "CSingleFrameUpdateNode": {
+        "fields": {
+          "m_actions": 88,
+          "m_flCycle": 120,
+          "m_hPoseCacheHandle": 112,
+          "m_hSequence": 116
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "CSlopeComponentUpdater": {
+        "fields": {
+          "m_flTraceDistance": 52,
+          "m_hSlopeAngle": 56,
+          "m_hSlopeAngleFront": 58,
+          "m_hSlopeAngleSide": 60,
+          "m_hSlopeHeading": 62,
+          "m_hSlopeNormal": 64,
+          "m_hSlopeNormal_WorldSpace": 66
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CSlowDownOnSlopesUpdateNode": {
+        "fields": {
+          "m_flSlowDownStrength": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CSolveIKChainUpdateNode": {
+        "fields": {
+          "m_opFixedData": 128,
+          "m_targetHandles": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CSolveIKTargetHandle_t": {
+        "fields": {
+          "m_orientationHandle": 2,
+          "m_positionHandle": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSpeedScaleUpdateNode": {
+        "fields": {
+          "m_paramIndex": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CStanceOverrideUpdateNode": {
+        "fields": {
+          "m_eMode": 148,
+          "m_footStanceInfo": 104,
+          "m_hParameter": 144,
+          "m_pStanceSourceNode": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CStanceScaleUpdateNode": {
+        "fields": {
+          "m_hParam": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CStateActionUpdater": {
+        "fields": {
+          "m_eBehavior": 8,
+          "m_pAction": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CStateMachineComponentUpdater": {
+        "fields": {
+          "m_stateMachine": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimComponentUpdater"
+      },
+      "CStateMachineUpdateNode": {
+        "fields": {
+          "m_bBlockWaningTags": 244,
+          "m_bLockStateWhenWaning": 245,
+          "m_stateData": 192,
+          "m_stateMachine": 104,
+          "m_transitionData": 216
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CStateNodeStateData": {
+        "fields": {
+          "m_bExclusiveRootMotion": 0,
+          "m_bExclusiveRootMotionFirstFrame": 0,
+          "m_pChild": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CStateNodeTransitionData": {
+        "fields": {
+          "m_bReset": 0,
+          "m_blendDuration": 8,
+          "m_curve": 0,
+          "m_resetCycleOption": 0,
+          "m_resetCycleValue": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CStateUpdateData": {
+        "fields": {
+          "m_actions": 40,
+          "m_bIsEndState": 0,
+          "m_bIsPassthrough": 0,
+          "m_bIsStartState": 0,
+          "m_hScript": 8,
+          "m_name": 0,
+          "m_stateID": 64,
+          "m_transitionIndices": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CStaticPoseCache": {
+        "fields": {
+          "m_nBoneCount": 40,
+          "m_nMorphCount": 44,
+          "m_poses": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CStaticPoseCacheBuilder": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CStaticPoseCache"
+      },
+      "CStepsRemainingMetricEvaluator": {
+        "fields": {
+          "m_flMinStepsRemaining": 104,
+          "m_footIndices": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CStopAtGoalUpdateNode": {
+        "fields": {
+          "m_damping": 128,
+          "m_flInnerRadius": 112,
+          "m_flMaxScale": 116,
+          "m_flMinScale": 120,
+          "m_flOuterRadius": 108
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CStringAnimTag": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CSubtractUpdateNode": {
+        "fields": {
+          "m_bApplyChannelsSeparately": 145,
+          "m_bApplyToFootMotion": 144,
+          "m_bUseModelSpace": 146,
+          "m_footMotionTiming": 140
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBinaryUpdateNode"
+      },
+      "CSymbolAnimParameter": {
+        "fields": {
+          "m_defaultValue": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CTargetSelectorUpdateNode": {
+        "fields": {
+          "m_children": 88,
+          "m_hFacePositionParameter": 118,
+          "m_hPositionParameter": 116
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CTargetWarpUpdateNode": {
+        "fields": {
+          "m_hFacePositionParameter": 110,
+          "m_hPositionParameter": 108
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CTaskHandshakeAnimTag": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CHandshakeAnimTagBase"
+      },
+      "CTaskStatusAnimTag": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimTagBase"
+      },
+      "CTiltTwistConstraint": {
+        "fields": {
+          "m_nSlaveAxis": 108,
+          "m_nTargetAxis": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CTimeRemainingMetricEvaluator": {
+        "fields": {
+          "m_bFilterByTimeRemaining": 88,
+          "m_bMatchByTimeRemaining": 80,
+          "m_flMaxTimeRemaining": 84,
+          "m_flMinTimeRemaining": 92
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CMotionMetricEvaluator"
+      },
+      "CToggleComponentActionUpdater": {
+        "fields": {
+          "m_bSetEnabled": 28,
+          "m_componentID": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimActionUpdater"
+      },
+      "CTransitionUpdateData": {
+        "fields": {
+          "m_bDisabled": 0,
+          "m_destStateIndex": 1,
+          "m_nHandshakeMaskToDisableFirst": 0,
+          "m_srcStateIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CTurnHelperUpdateNode": {
+        "fields": {
+          "m_bMatchChildDuration": 120,
+          "m_bUseManualTurnOffset": 128,
+          "m_facingTarget": 108,
+          "m_manualTurnOffset": 124,
+          "m_turnDuration": 116,
+          "m_turnStartTimeOffset": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CTwistConstraint": {
+        "fields": {
+          "m_bInverse": 104,
+          "m_qChildBindRotation": 128,
+          "m_qParentBindRotation": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseConstraint"
+      },
+      "CTwoBoneIKUpdateNode": {
+        "fields": {
+          "m_opFixedData": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CUnaryUpdateNode": {
+        "fields": {
+          "m_pChildNode": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimUpdateNodeBase"
+      },
+      "CVPhysXSurfacePropertiesList": {
+        "fields": {
+          "m_surfacePropertiesList": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVectorAnimParameter": {
+        "fields": {
+          "m_bInterpolate": 140,
+          "m_defaultValue": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CConcreteAnimParameter"
+      },
+      "CVectorQuantizer": {
+        "fields": {
+          "m_centroidVectors": 0,
+          "m_nCentroids": 24,
+          "m_nDimensions": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVirtualAnimParameter": {
+        "fields": {
+          "m_eParamType": 120,
+          "m_expressionString": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CAnimParameterBase"
+      },
+      "CWayPointHelperUpdateNode": {
+        "fields": {
+          "m_bOnlyGoals": 116,
+          "m_bPreventOvershoot": 117,
+          "m_bPreventUndershoot": 118,
+          "m_flEndCycle": 112,
+          "m_flStartCycle": 108
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CUnaryUpdateNode"
+      },
+      "CZeroPoseUpdateNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CLeafUpdateNode"
+      },
+      "ChainToSolveData_t": {
+        "fields": {
+          "m_DebugSetting": 56,
+          "m_SolverSettings": 4,
+          "m_TargetSettings": 16,
+          "m_flDebugNormalizedValue": 60,
+          "m_nChainIndex": 0,
+          "m_vDebugOffset": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ConfigIndex": {
+        "fields": {
+          "m_nConfig": 2,
+          "m_nGroup": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "DynamicMeshDeformParams_t": {
+        "fields": {
+          "m_bComputeDynamicMeshTensionAfterAnimation": 9,
+          "m_bRecomputeSmoothNormalsAfterAnimation": 8,
+          "m_bSmoothNormalsAcrossUvSeams": 10,
+          "m_flTensionCompressScale": 0,
+          "m_flTensionStretchScale": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FollowAttachmentSettings_t": {
+        "fields": {
+          "m_attachment": 0,
+          "m_bMatchRotation": 133,
+          "m_bMatchTranslation": 132,
+          "m_boneIndex": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FollowTargetOpFixedSettings_t": {
+        "fields": {
+          "m_bBoneTarget": 4,
+          "m_bMatchTargetOrientation": 13,
+          "m_bWorldCoodinateTarget": 12,
+          "m_boneIndex": 0,
+          "m_boneTargetIndex": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FootFixedData_t": {
+        "fields": {
+          "m_flMaxIKLength": 48,
+          "m_flMaxRotationLeft": 60,
+          "m_flMaxRotationRight": 64,
+          "m_ikChainIndex": 44,
+          "m_nAnkleBoneIndex": 36,
+          "m_nFootIndex": 52,
+          "m_nIKAnchorBoneIndex": 40,
+          "m_nTagIndex": 56,
+          "m_nTargetBoneIndex": 32,
+          "m_vHeelOffset": 16,
+          "m_vToeOffset": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FootFixedSettings": {
+        "fields": {
+          "m_bEnableTracing": 48,
+          "m_flFootBaseLength": 32,
+          "m_flMaxRotationLeft": 36,
+          "m_flMaxRotationRight": 40,
+          "m_flTraceAngleBlend": 52,
+          "m_footstepLandedTagIndex": 44,
+          "m_nDisableTagIndex": 56,
+          "m_nFootIndex": 60,
+          "m_traceSettings": 0,
+          "m_vFootBaseBindPosePositionMS": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FootLockPoseOpFixedSettings": {
+        "fields": {
+          "m_bAlwaysUseFallbackHinge": 50,
+          "m_bApplyFootRotationLimits": 51,
+          "m_bApplyHipDrop": 49,
+          "m_bApplyLegTwistLimits": 52,
+          "m_bApplyTilt": 48,
+          "m_bEnableLockBreaking": 68,
+          "m_bEnableStretching": 80,
+          "m_flExtensionScale": 60,
+          "m_flLockBlendTime": 76,
+          "m_flLockBreakTolerance": 72,
+          "m_flMaxFootHeight": 56,
+          "m_flMaxLegTwist": 64,
+          "m_flMaxStretchAmount": 84,
+          "m_flStretchExtensionScale": 88,
+          "m_footInfo": 0,
+          "m_hipDampingSettings": 24,
+          "m_ikSolverType": 44,
+          "m_nHipBoneIndex": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FootPinningPoseOpFixedData_t": {
+        "fields": {
+          "m_bApplyFootRotationLimits": 41,
+          "m_bApplyLegTwistLimits": 40,
+          "m_flBlendTime": 24,
+          "m_flLockBreakDistance": 28,
+          "m_flMaxLegTwist": 32,
+          "m_footInfo": 0,
+          "m_nHipBoneIndex": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FootStepTrigger": {
+        "fields": {
+          "m_nFootIndex": 24,
+          "m_tags": 0,
+          "m_triggerPhase": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "HSequence": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "HitReactFixedSettings_t": {
+        "fields": {
+          "m_flCounterRotationScale": 20,
+          "m_flDistanceFadeScale": 24,
+          "m_flHipBoneTranslationScale": 52,
+          "m_flHipDipDelay": 64,
+          "m_flHipDipImpactScale": 60,
+          "m_flHipDipSpringStrength": 56,
+          "m_flMaxAngleRadians": 44,
+          "m_flMaxImpactForce": 8,
+          "m_flMinImpactForce": 12,
+          "m_flPropagationScale": 28,
+          "m_flSpringStrength": 36,
+          "m_flWhipDelay": 32,
+          "m_flWhipImpactScale": 16,
+          "m_flWhipSpringStrength": 40,
+          "m_nEffectedBoneCount": 4,
+          "m_nHipBoneIndex": 48,
+          "m_nWeightListIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "IKBoneNameAndIndex_t": {
+        "fields": {
+          "m_Name": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "IKDemoCaptureSettings_t": {
+        "fields": {
+          "m_eMode": 8,
+          "m_ikChainName": 16,
+          "m_oneBoneEnd": 32,
+          "m_oneBoneStart": 24,
+          "m_parentBoneName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "IKSolverSettings_t": {
+        "fields": {
+          "m_EndEffectorRotationFixUpMode": 8,
+          "m_SolverType": 0,
+          "m_nNumIterations": 4
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "IKTargetSettings_t": {
+        "fields": {
+          "m_AnimgraphParameterNameOrientation": 28,
+          "m_AnimgraphParameterNamePosition": 24,
+          "m_Bone": 8,
+          "m_TargetCoordSystem": 32,
+          "m_TargetSource": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "JiggleBoneSettingsList_t": {
+        "fields": {
+          "m_boneSettings": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "JiggleBoneSettings_t": {
+        "fields": {
+          "m_eSimSpace": 40,
+          "m_flDamping": 12,
+          "m_flMaxTimeStep": 8,
+          "m_flSpringStrength": 4,
+          "m_nBoneIndex": 0,
+          "m_vBoundsMaxLS": 16,
+          "m_vBoundsMinLS": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "LookAtBone_t": {
+        "fields": {
+          "m_index": 0,
+          "m_weight": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "LookAtOpFixedSettings_t": {
+        "fields": {
+          "m_attachment": 0,
+          "m_bMaintainUpDirection": 185,
+          "m_bRotateYawForward": 184,
+          "m_bTargetIsPosition": 186,
+          "m_bUseHysteresis": 187,
+          "m_bones": 144,
+          "m_damping": 128,
+          "m_flHysteresisInnerAngle": 176,
+          "m_flHysteresisOuterAngle": 180,
+          "m_flPitchLimit": 172,
+          "m_flYawLimit": 168
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MaterialGroup_t": {
+        "fields": {
+          "m_materials": 8,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ModelBoneFlexDriverControl_t": {
+        "fields": {
+          "m_flMax": 24,
+          "m_flMin": 20,
+          "m_flexController": 8,
+          "m_flexControllerToken": 16,
+          "m_nBoneComponent": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ModelBoneFlexDriver_t": {
+        "fields": {
+          "m_boneName": 0,
+          "m_boneNameToken": 8,
+          "m_controls": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ModelSkeletonData_t": {
+        "fields": {
+          "m_boneName": 0,
+          "m_bonePosParent": 96,
+          "m_boneRotParent": 120,
+          "m_boneScaleParent": 144,
+          "m_boneSphere": 48,
+          "m_nFlag": 72,
+          "m_nParent": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MoodAnimationLayer_t": {
+        "fields": {
+          "m_bActiveListening": 8,
+          "m_bActiveTalking": 9,
+          "m_bScaleWithInts": 56,
+          "m_flDurationScale": 48,
+          "m_flEndOffset": 76,
+          "m_flFadeIn": 84,
+          "m_flFadeOut": 88,
+          "m_flIntensity": 40,
+          "m_flNextStart": 60,
+          "m_flStartOffset": 68,
+          "m_layerAnimations": 16,
+          "m_sName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyArrayElementNameKey",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MoodAnimation_t": {
+        "fields": {
+          "m_flWeight": 8,
+          "m_sName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyArrayElementNameKey",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MotionBlendItem": {
+        "fields": {
+          "m_flKeyValue": 8,
+          "m_pChild": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MotionDBIndex": {
+        "fields": {
+          "m_nIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MotionIndex": {
+        "fields": {
+          "m_nGroup": 0,
+          "m_nMotion": 2
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "NmCompressionSettings_t": {
+        "fields": {
+          "m_bIsRotationStatic": 48,
+          "m_bIsScaleStatic": 50,
+          "m_bIsTranslationStatic": 49,
+          "m_constantRotation": 32,
+          "m_scaleRange": 24,
+          "m_translationRangeX": 0,
+          "m_translationRangeY": 8,
+          "m_translationRangeZ": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "NmCompressionSettings_t__QuantizationRange_t": {
+        "fields": {
+          "m_flRangeLength": 4,
+          "m_flRangeStart": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "NmPercent_t": {
+        "fields": {
+          "m_flValue": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "NmSyncTrackTimeRange_t": {
+        "fields": {
+          "m_endTime": 8,
+          "m_startTime": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "NmSyncTrackTime_t": {
+        "fields": {
+          "m_nEventIdx": 0,
+          "m_percentageThrough": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParamSpanSample_t": {
+        "fields": {
+          "m_flCycle": 20,
+          "m_value": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParamSpan_t": {
+        "fields": {
+          "m_eParamType": 26,
+          "m_flEndCycle": 32,
+          "m_flStartCycle": 28,
+          "m_hParam": 24,
+          "m_samples": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PermModelDataAnimatedMaterialAttribute_t": {
+        "fields": {
+          "m_AttributeName": 0,
+          "m_nNumChannels": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PermModelData_t": {
+        "fields": {
+          "m_AnimatedMaterialAttributes": 688,
+          "m_BodyGroupsHiddenInTools": 640,
+          "m_ExtParts": 96,
+          "m_boneFlexDrivers": 608,
+          "m_lodGroupSwitchDistances": 216,
+          "m_materialGroups": 360,
+          "m_meshGroups": 336,
+          "m_modelInfo": 8,
+          "m_modelSkeleton": 392,
+          "m_nDefaultMeshGroupMask": 384,
+          "m_name": 0,
+          "m_pModelConfigList": 632,
+          "m_refAnimGroups": 288,
+          "m_refAnimIncludeModels": 664,
+          "m_refLODGroupMasks": 192,
+          "m_refMeshGroupMasks": 144,
+          "m_refMeshes": 120,
+          "m_refPhysGroupMasks": 168,
+          "m_refPhysicsData": 240,
+          "m_refPhysicsHitboxData": 264,
+          "m_refSequenceGroups": 312,
+          "m_remappingTable": 560,
+          "m_remappingTableStarts": 584
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PermModelExtPart_t": {
+        "fields": {
+          "m_Name": 32,
+          "m_Transform": 0,
+          "m_nParent": 40,
+          "m_refModel": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PermModelInfo_t": {
+        "fields": {
+          "m_flMass": 52,
+          "m_flMaxEyeDeflection": 68,
+          "m_keyValueText": 80,
+          "m_nFlags": 0,
+          "m_sSurfaceProperty": 72,
+          "m_vEyePosition": 56,
+          "m_vHullMax": 16,
+          "m_vHullMin": 4,
+          "m_vViewMax": 40,
+          "m_vViewMin": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PhysSoftbodyDesc_t": {
+        "fields": {
+          "m_Capsules": 72,
+          "m_InitPose": 96,
+          "m_ParticleBoneHash": 0,
+          "m_ParticleBoneName": 120,
+          "m_Particles": 24,
+          "m_Springs": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RenderHairStrandInfo_t": {
+        "fields": {
+          "m_nGuideHairIndices_nSurfaceTriIndex": 0,
+          "m_nPackedBaseUv": 24,
+          "m_nPackedSurfaceNormalOs": 28,
+          "m_nPackedSurfaceTangentOs": 32,
+          "m_vGuideBary_vBaseBary": 8,
+          "m_vRootOffset_flLengthScale": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RenderSkeletonBone_t": {
+        "fields": {
+          "m_bbox": 64,
+          "m_boneName": 0,
+          "m_flSphereRadius": 88,
+          "m_invBindPose": 16,
+          "m_parentName": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SampleCode": {
+        "fields": {
+          "m_subCode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ScriptInfo_t": {
+        "fields": {
+          "m_code": 0,
+          "m_eScriptType": 80,
+          "m_paramsModified": 8,
+          "m_proxyReadParams": 32,
+          "m_proxyWriteParams": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonAnimCapture_t": {
+        "fields": {
+          "m_CaptureName": 40,
+          "m_FeModelInitPose": 72,
+          "m_Frames": 168,
+          "m_ImportedCollision": 8,
+          "m_ModelBindPose": 48,
+          "m_ModelName": 32,
+          "m_bPredicted": 100,
+          "m_nEntIndex": 0,
+          "m_nEntParent": 4,
+          "m_nFlexControllers": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonAnimCapture_t__Bone_t": {
+        "fields": {
+          "m_BindPose": 16,
+          "m_Name": 0,
+          "m_nParent": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonAnimCapture_t__Camera_t": {
+        "fields": {
+          "m_flTime": 32,
+          "m_tmCamera": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonAnimCapture_t__FrameStamp_t": {
+        "fields": {
+          "m_bPredicted": 9,
+          "m_bTeleportTick": 8,
+          "m_flCurTime": 12,
+          "m_flEntitySimTime": 4,
+          "m_flRealTime": 16,
+          "m_flTime": 0,
+          "m_nFrameCount": 20,
+          "m_nTickCount": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonAnimCapture_t__Frame_t": {
+        "fields": {
+          "m_CompositeBones": 72,
+          "m_FeModelAnims": 120,
+          "m_FeModelPos": 144,
+          "m_FlexControllerWeights": 168,
+          "m_SimStateBones": 96,
+          "m_Stamp": 4,
+          "m_Transform": 32,
+          "m_bTeleport": 64,
+          "m_flTime": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonBoneBounds_t": {
+        "fields": {
+          "m_vecCenter": 0,
+          "m_vecSize": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SkeletonDemoDb_t": {
+        "fields": {
+          "m_AnimCaptures": 0,
+          "m_CameraTrack": 24,
+          "m_flRecordingTime": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SolveIKChainPoseOpFixedSettings_t": {
+        "fields": {
+          "m_ChainsToSolveData": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "StanceInfo_t": {
+        "fields": {
+          "m_flDirection": 12,
+          "m_vPosition": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "TagSpan_t": {
+        "fields": {
+          "m_endCycle": 8,
+          "m_startCycle": 4,
+          "m_tagIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "TraceSettings_t": {
+        "fields": {
+          "m_flTraceHeight": 0,
+          "m_flTraceRadius": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "TwoBoneIKSettings_t": {
+        "fields": {
+          "m_bAlwaysUseFallbackHinge": 296,
+          "m_bConstrainTwist": 333,
+          "m_bMatchTargetOrientation": 332,
+          "m_endEffectorAttachment": 16,
+          "m_endEffectorType": 0,
+          "m_flMaxTwist": 336,
+          "m_hPositionParam": 292,
+          "m_hRotationParam": 294,
+          "m_nEndBoneIndex": 328,
+          "m_nFixedBoneIndex": 320,
+          "m_nMiddleBoneIndex": 324,
+          "m_targetAttachment": 160,
+          "m_targetBoneIndex": 288,
+          "m_targetType": 144,
+          "m_vLsFallbackHingeAxis": 304
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXAggregateData_t": {
+        "fields": {
+          "m_bindPose": 104,
+          "m_boneNames": 32,
+          "m_boneParents": 208,
+          "m_bonesHash": 8,
+          "m_collisionAttributes": 256,
+          "m_constraints2": 152,
+          "m_debugPartNames": 280,
+          "m_embeddedKeyvalues": 304,
+          "m_indexHash": 80,
+          "m_indexNames": 56,
+          "m_joints": 176,
+          "m_nFlags": 0,
+          "m_nRefCounter": 2,
+          "m_pFeModel": 200,
+          "m_parts": 128,
+          "m_surfacePropertyHashes": 232
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXBodyPart_t": {
+        "fields": {
+          "m_bOverrideMassCenter": 144,
+          "m_flAngularDamping": 140,
+          "m_flInertiaScale": 132,
+          "m_flLinearDamping": 136,
+          "m_flMass": 4,
+          "m_nCollisionAttributeIndex": 128,
+          "m_nFlags": 0,
+          "m_nReserved": 130,
+          "m_rnShape": 8,
+          "m_vMassCenterOverride": 148
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXCollisionAttributes_t": {
+        "fields": {
+          "m_CollisionGroup": 0,
+          "m_CollisionGroupString": 80,
+          "m_InteractAs": 8,
+          "m_InteractAsStrings": 88,
+          "m_InteractExclude": 56,
+          "m_InteractExcludeStrings": 136,
+          "m_InteractWith": 32,
+          "m_InteractWithStrings": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXConstraint2_t": {
+        "fields": {
+          "m_nChild": 6,
+          "m_nFlags": 0,
+          "m_nParent": 4,
+          "m_params": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXConstraintParams_t": {
+        "fields": {
+          "m_anchor": 4,
+          "m_axes": 28,
+          "m_driveDampingSlerp": 232,
+          "m_driveDampingSwing": 228,
+          "m_driveDampingTwist": 224,
+          "m_driveDampingX": 200,
+          "m_driveDampingY": 204,
+          "m_driveDampingZ": 208,
+          "m_driveSpringSlerp": 220,
+          "m_driveSpringSwing": 216,
+          "m_driveSpringTwist": 212,
+          "m_driveSpringX": 188,
+          "m_driveSpringY": 192,
+          "m_driveSpringZ": 196,
+          "m_goalAngularVelocity": 176,
+          "m_goalOrientation": 160,
+          "m_goalPosition": 148,
+          "m_linearLimitDamping": 80,
+          "m_linearLimitRestitution": 72,
+          "m_linearLimitSpring": 76,
+          "m_linearLimitValue": 68,
+          "m_maxForce": 60,
+          "m_maxTorque": 64,
+          "m_nFlags": 3,
+          "m_nRotateMotion": 2,
+          "m_nTranslateMotion": 1,
+          "m_nType": 0,
+          "m_projectionAngularTolerance": 244,
+          "m_projectionLinearTolerance": 240,
+          "m_solverIterationCount": 236,
+          "m_swing1LimitDamping": 128,
+          "m_swing1LimitRestitution": 120,
+          "m_swing1LimitSpring": 124,
+          "m_swing1LimitValue": 116,
+          "m_swing2LimitDamping": 144,
+          "m_swing2LimitRestitution": 136,
+          "m_swing2LimitSpring": 140,
+          "m_swing2LimitValue": 132,
+          "m_twistHighLimitDamping": 112,
+          "m_twistHighLimitRestitution": 104,
+          "m_twistHighLimitSpring": 108,
+          "m_twistHighLimitValue": 100,
+          "m_twistLowLimitDamping": 96,
+          "m_twistLowLimitRestitution": 88,
+          "m_twistLowLimitSpring": 92,
+          "m_twistLowLimitValue": 84
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXJoint_t": {
+        "fields": {
+          "m_Frame1": 16,
+          "m_Frame2": 48,
+          "m_LinearLimit": 84,
+          "m_SwingLimit": 116,
+          "m_TwistLimit": 128,
+          "m_bEnableAngularMotor": 136,
+          "m_bEnableCollision": 80,
+          "m_bEnableLinearLimit": 81,
+          "m_bEnableLinearMotor": 92,
+          "m_bEnableSwingLimit": 112,
+          "m_bEnableTwistLimit": 124,
+          "m_flAngularDampingRatio": 168,
+          "m_flAngularFrequency": 164,
+          "m_flElasticDamping": 180,
+          "m_flElasticity": 176,
+          "m_flFriction": 172,
+          "m_flLinearDampingRatio": 160,
+          "m_flLinearFrequency": 156,
+          "m_flMaxForce": 108,
+          "m_flMaxTorque": 152,
+          "m_flPlasticity": 184,
+          "m_nBody1": 2,
+          "m_nBody2": 4,
+          "m_nFlags": 6,
+          "m_nType": 0,
+          "m_vAngularTargetVelocity": 140,
+          "m_vLinearTargetVelocity": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysXRange_t": {
+        "fields": {
+          "m_flMax": 4,
+          "m_flMin": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VPhysics2ShapeDef_t": {
+        "fields": {
+          "m_CollisionAttributeIndices": 96,
+          "m_capsules": 24,
+          "m_hulls": 48,
+          "m_meshes": 72,
+          "m_spheres": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "WeightList": {
+        "fields": {
+          "m_name": 0,
+          "m_weights": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "AimMatrixBlendMode": {
+        "alignment": 4,
+        "members": {
+          "AimMatrixBlendMode_Additive": 1,
+          "AimMatrixBlendMode_BoneMask": 3,
+          "AimMatrixBlendMode_ModelSpaceAdditive": 2,
+          "AimMatrixBlendMode_None": 0
+        },
+        "type": "uint32"
+      },
+      "AnimNodeNetworkMode": {
+        "alignment": 4,
+        "members": {
+          "ClientSimulate": 1,
+          "ServerAuthoritative": 0
+        },
+        "type": "uint32"
+      },
+      "AnimParamButton_t": {
+        "alignment": 4,
+        "members": {
+          "ANIMPARAM_BUTTON_A": 5,
+          "ANIMPARAM_BUTTON_B": 6,
+          "ANIMPARAM_BUTTON_DPAD_DOWN": 3,
+          "ANIMPARAM_BUTTON_DPAD_LEFT": 4,
+          "ANIMPARAM_BUTTON_DPAD_RIGHT": 2,
+          "ANIMPARAM_BUTTON_DPAD_UP": 1,
+          "ANIMPARAM_BUTTON_LEFT_SHOULDER": 9,
+          "ANIMPARAM_BUTTON_LTRIGGER": 11,
+          "ANIMPARAM_BUTTON_NONE": 0,
+          "ANIMPARAM_BUTTON_RIGHT_SHOULDER": 10,
+          "ANIMPARAM_BUTTON_RTRIGGER": 12,
+          "ANIMPARAM_BUTTON_X": 7,
+          "ANIMPARAM_BUTTON_Y": 8
+        },
+        "type": "uint32"
+      },
+      "AnimParamNetworkSetting": {
+        "alignment": 4,
+        "members": {
+          "AlwaysNetwork": 1,
+          "Auto": 0,
+          "NeverNetwork": 2
+        },
+        "type": "uint32"
+      },
+      "AnimParamType_t": {
+        "alignment": 1,
+        "members": {
+          "ANIMPARAM_BOOL": 1,
+          "ANIMPARAM_COUNT": 8,
+          "ANIMPARAM_ENUM": 2,
+          "ANIMPARAM_FLOAT": 4,
+          "ANIMPARAM_GLOBALSYMBOL": 7,
+          "ANIMPARAM_INT": 3,
+          "ANIMPARAM_QUATERNION": 6,
+          "ANIMPARAM_UNKNOWN": 0,
+          "ANIMPARAM_VECTOR": 5
+        },
+        "type": "uint8"
+      },
+      "AnimPoseControl": {
+        "alignment": 4,
+        "members": {
+          "AbsolutePoseControl": 1,
+          "NoPoseControl": 0,
+          "RelativePoseControl": 2
+        },
+        "type": "uint32"
+      },
+      "AnimScriptType": {
+        "alignment": 2,
+        "members": {
+          "ANIMSCRIPT_FUSE_GENERAL": 0,
+          "ANIMSCRIPT_FUSE_STATEMACHINE": 1,
+          "ANIMSCRIPT_TYPE_INVALID": -1
+        },
+        "type": "uint16"
+      },
+      "AnimValueSource": {
+        "alignment": 4,
+        "members": {
+          "AccelerationFrontBack": 22,
+          "AccelerationHeading": 14,
+          "AccelerationLeftRight": 21,
+          "AccelerationSpeed": 15,
+          "BoundaryRadius": 11,
+          "FacingHeading": 4,
+          "FingerCurl_Index": 28,
+          "FingerCurl_Middle": 29,
+          "FingerCurl_Pinky": 31,
+          "FingerCurl_Ring": 30,
+          "FingerCurl_Thumb": 27,
+          "FingerSplay_Index_Middle": 33,
+          "FingerSplay_Middle_Ring": 34,
+          "FingerSplay_Ring_Pinky": 35,
+          "FingerSplay_Thumb_Index": 32,
+          "ForwardSpeed": 2,
+          "GoalDistance": 20,
+          "LookDistance": 7,
+          "LookHeading": 5,
+          "LookPitch": 6,
+          "MaxMoveSpeed": 26,
+          "MoveHeading": 0,
+          "MoveHeadingRelativeToLookHeading": 25,
+          "MoveSpeed": 1,
+          "Parameter": 8,
+          "RootMotionSpeed": 23,
+          "RootMotionTurnSpeed": 24,
+          "SlopeAngle": 17,
+          "SlopeHeading": 16,
+          "SlopePitch": 18,
+          "SlopeYaw": 19,
+          "StrafeSpeed": 3,
+          "TargetMoveHeading": 12,
+          "TargetMoveSpeed": 13,
+          "WayPointDistance": 10,
+          "WayPointHeading": 9
+        },
+        "type": "uint32"
+      },
+      "AnimVectorSource": {
+        "alignment": 4,
+        "members": {
+          "Acceleration": 5,
+          "FacingPosition": 1,
+          "GoalPosition": 11,
+          "LookDirection": 2,
+          "LookTarget": 8,
+          "LookTarget_WorldSpace": 9,
+          "ManualTarget_WorldSpace": 13,
+          "MoveDirection": 0,
+          "RootMotionVelocity": 12,
+          "SlopeNormal": 6,
+          "SlopeNormal_WorldSpace": 7,
+          "VectorParameter": 3,
+          "WayPointDirection": 4,
+          "WayPointPosition": 10
+        },
+        "type": "uint32"
+      },
+      "AnimationProcessingType_t": {
+        "alignment": 4,
+        "members": {
+          "ANIMATION_PROCESSING_CLIENT_INTERPOLATION": 3,
+          "ANIMATION_PROCESSING_CLIENT_PREDICTION": 2,
+          "ANIMATION_PROCESSING_CLIENT_RENDER": 4,
+          "ANIMATION_PROCESSING_CLIENT_SIMULATION": 1,
+          "ANIMATION_PROCESSING_MAX": 5,
+          "ANIMATION_PROCESSING_SERVER_SIMULATION": 0
+        },
+        "type": "uint32"
+      },
+      "AnimationSnapshotType_t": {
+        "alignment": 4,
+        "members": {
+          "ANIMATION_SNAPSHOT_CLIENT_INTERPOLATION": 3,
+          "ANIMATION_SNAPSHOT_CLIENT_PREDICTION": 2,
+          "ANIMATION_SNAPSHOT_CLIENT_RENDER": 4,
+          "ANIMATION_SNAPSHOT_CLIENT_SIMULATION": 1,
+          "ANIMATION_SNAPSHOT_FINAL_COMPOSITE": 5,
+          "ANIMATION_SNAPSHOT_MAX": 6,
+          "ANIMATION_SNAPSHOT_SERVER_SIMULATION": 0
+        },
+        "type": "uint32"
+      },
+      "BinaryNodeChildOption": {
+        "alignment": 4,
+        "members": {
+          "Child1": 0,
+          "Child2": 1
+        },
+        "type": "uint32"
+      },
+      "BinaryNodeTiming": {
+        "alignment": 4,
+        "members": {
+          "SyncChildren": 2,
+          "UseChild1": 0,
+          "UseChild2": 1
+        },
+        "type": "uint32"
+      },
+      "Blend2DMode": {
+        "alignment": 4,
+        "members": {
+          "Blend2DMode_Directional": 1,
+          "Blend2DMode_General": 0
+        },
+        "type": "uint32"
+      },
+      "BlendKeyType": {
+        "alignment": 4,
+        "members": {
+          "BlendKey_Distance": 2,
+          "BlendKey_RemainingDistance": 3,
+          "BlendKey_UserValue": 0,
+          "BlendKey_Velocity": 1
+        },
+        "type": "uint32"
+      },
+      "BoneMaskBlendSpace": {
+        "alignment": 4,
+        "members": {
+          "BlendSpace_Model": 1,
+          "BlendSpace_Model_RotationOnly": 2,
+          "BlendSpace_Model_TranslationOnly": 3,
+          "BlendSpace_Parent": 0
+        },
+        "type": "uint32"
+      },
+      "BoneTransformSpace_t": {
+        "alignment": 4,
+        "members": {
+          "BoneTransformSpace_Invalid": -1,
+          "BoneTransformSpace_Model": 1,
+          "BoneTransformSpace_Parent": 0,
+          "BoneTransformSpace_World": 2
+        },
+        "type": "uint32"
+      },
+      "CAnimationGraphVisualizerPrimitiveType": {
+        "alignment": 4,
+        "members": {
+          "ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis": 4,
+          "ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line": 2,
+          "ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie": 3,
+          "ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere": 1,
+          "ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text": 0
+        },
+        "type": "uint32"
+      },
+      "CNmBoneMask__WeightInfo_t": {
+        "alignment": 1,
+        "members": {
+          "Mixed": 1,
+          "One": 2,
+          "Zero": 0
+        },
+        "type": "uint8"
+      },
+      "CNmFloatAngleMathNode__Operation_t": {
+        "alignment": 1,
+        "members": {
+          "ClampTo180": 0,
+          "ClampTo360": 1,
+          "FlipHemisphere": 2,
+          "FlipHemisphereNegate": 3
+        },
+        "type": "uint8"
+      },
+      "CNmFloatComparisonNode__Comparison_t": {
+        "alignment": 1,
+        "members": {
+          "GreaterThan": 3,
+          "GreaterThanEqual": 0,
+          "LessThan": 4,
+          "LessThanEqual": 1,
+          "NearEqual": 2
+        },
+        "type": "uint8"
+      },
+      "CNmFloatMathNode__Operator_t": {
+        "alignment": 1,
+        "members": {
+          "Add": 0,
+          "Div": 3,
+          "Mul": 2,
+          "Sub": 1
+        },
+        "type": "uint8"
+      },
+      "CNmIDComparisonNode__Comparison_t": {
+        "alignment": 1,
+        "members": {
+          "DoesntMatch": 1,
+          "Matches": 0
+        },
+        "type": "uint8"
+      },
+      "CNmRootMotionData__SamplingMode_t": {
+        "alignment": 1,
+        "members": {
+          "Delta": 0,
+          "WorldSpace": 1
+        },
+        "type": "uint8"
+      },
+      "CNmRootMotionOverrideNode__OverrideFlags_t": {
+        "alignment": 1,
+        "members": {
+          "AllowFacingPitch": 3,
+          "AllowMoveX": 0,
+          "AllowMoveY": 1,
+          "AllowMoveZ": 2,
+          "ListenForEvents": 4
+        },
+        "type": "uint8"
+      },
+      "CNmSyncEventIndexConditionNode__TriggerMode_t": {
+        "alignment": 1,
+        "members": {
+          "ExactlyAtEventIndex": 0,
+          "GreaterThanEqualToEventIndex": 1
+        },
+        "type": "uint8"
+      },
+      "CNmTargetInfoNode__Info_t": {
+        "alignment": 4,
+        "members": {
+          "AngleHorizontal": 0,
+          "AngleVertical": 1,
+          "DeltaOrientationX": 5,
+          "DeltaOrientationY": 6,
+          "DeltaOrientationZ": 7,
+          "Distance": 2,
+          "DistanceHorizontalOnly": 3,
+          "DistanceVerticalOnly": 4
+        },
+        "type": "uint32"
+      },
+      "CNmTimeConditionNode__ComparisonType_t": {
+        "alignment": 1,
+        "members": {
+          "ElapsedTime": 2,
+          "LoopCount": 3,
+          "PercentageThroughState": 0,
+          "PercentageThroughSyncEvent": 1
+        },
+        "type": "uint8"
+      },
+      "CNmTimeConditionNode__Operator_t": {
+        "alignment": 1,
+        "members": {
+          "GreaterThan": 2,
+          "GreaterThanEqual": 3,
+          "LessThan": 0,
+          "LessThanEqual": 1
+        },
+        "type": "uint8"
+      },
+      "CNmTransitionNode__TransitionOptions_t": {
+        "alignment": 1,
+        "members": {
+          "ClampDuration": 1,
+          "MatchSourceTime": 3,
+          "MatchSyncEventID": 5,
+          "MatchSyncEventIndex": 4,
+          "MatchSyncEventPercentage": 6,
+          "None": 0,
+          "PreferClosestSyncEventID": 7,
+          "Synchronized": 2
+        },
+        "type": "uint8"
+      },
+      "CNmVectorInfoNode__Info_t": {
+        "alignment": 1,
+        "members": {
+          "AngleHorizontal": 4,
+          "AngleVertical": 5,
+          "Length": 3,
+          "X": 0,
+          "Y": 1,
+          "Z": 2
+        },
+        "type": "uint8"
+      },
+      "ChoiceBlendMethod": {
+        "alignment": 4,
+        "members": {
+          "PerChoiceBlendTimes": 1,
+          "SingleBlendTime": 0
+        },
+        "type": "uint32"
+      },
+      "ChoiceChangeMethod": {
+        "alignment": 4,
+        "members": {
+          "OnCycleEnd": 1,
+          "OnReset": 0,
+          "OnResetOrCycleEnd": 2
+        },
+        "type": "uint32"
+      },
+      "ChoiceMethod": {
+        "alignment": 4,
+        "members": {
+          "Iterate": 2,
+          "IterateRandom": 3,
+          "WeightedRandom": 0,
+          "WeightedRandomNoRepeat": 1
+        },
+        "type": "uint32"
+      },
+      "DampingSpeedFunction": {
+        "alignment": 4,
+        "members": {
+          "Constant": 1,
+          "NoDamping": 0,
+          "Spring": 2
+        },
+        "type": "uint32"
+      },
+      "EDemoBoneSelectionMode": {
+        "alignment": 4,
+        "members": {
+          "CaptureAllBones": 0,
+          "CaptureSelectedBones": 1
+        },
+        "type": "uint32"
+      },
+      "EIKEndEffectorRotationFixUpMode": {
+        "alignment": 4,
+        "members": {
+          "Count": 4,
+          "LookAtTargetForward": 2,
+          "MaintainParentOrientation": 3,
+          "MatchTargetOrientation": 1,
+          "None": 0
+        },
+        "type": "uint32"
+      },
+      "FacingMode": {
+        "alignment": 1,
+        "members": {
+          "FacingMode_Invalid": 0,
+          "FacingMode_LookTarget": 3,
+          "FacingMode_Manual": 1,
+          "FacingMode_ManualPosition": 4,
+          "FacingMode_Path": 2
+        },
+        "type": "uint8"
+      },
+      "FieldNetworkOption": {
+        "alignment": 4,
+        "members": {
+          "Auto": 0,
+          "ForceDisable": 2,
+          "ForceEnable": 1
+        },
+        "type": "uint32"
+      },
+      "FlexOpCode_t": {
+        "alignment": 4,
+        "members": {
+          "FLEX_OP_2WAY_0": 15,
+          "FLEX_OP_2WAY_1": 16,
+          "FLEX_OP_ABS": 26,
+          "FLEX_OP_ADD": 4,
+          "FLEX_OP_CLOSE": 11,
+          "FLEX_OP_COMBO": 18,
+          "FLEX_OP_COMMA": 12,
+          "FLEX_OP_CONST": 1,
+          "FLEX_OP_COS": 25,
+          "FLEX_OP_DIV": 7,
+          "FLEX_OP_DME_LOWER_EYELID": 20,
+          "FLEX_OP_DME_UPPER_EYELID": 21,
+          "FLEX_OP_DOMINATE": 19,
+          "FLEX_OP_EXP": 9,
+          "FLEX_OP_FETCH1": 2,
+          "FLEX_OP_FETCH2": 3,
+          "FLEX_OP_MAX": 13,
+          "FLEX_OP_MIN": 14,
+          "FLEX_OP_MUL": 6,
+          "FLEX_OP_NEG": 8,
+          "FLEX_OP_NWAY": 17,
+          "FLEX_OP_OPEN": 10,
+          "FLEX_OP_REMAPVALCLAMPED": 23,
+          "FLEX_OP_SIN": 24,
+          "FLEX_OP_SQRT": 22,
+          "FLEX_OP_SUB": 5
+        },
+        "type": "uint32"
+      },
+      "FootFallTagFoot_t": {
+        "alignment": 4,
+        "members": {
+          "FOOT1": 0,
+          "FOOT2": 1,
+          "FOOT3": 2,
+          "FOOT4": 3,
+          "FOOT5": 4,
+          "FOOT6": 5,
+          "FOOT7": 6,
+          "FOOT8": 7
+        },
+        "type": "uint32"
+      },
+      "FootLockSubVisualization": {
+        "alignment": 4,
+        "members": {
+          "FOOTLOCKSUBVISUALIZATION_IKSolve": 1,
+          "FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis": 0
+        },
+        "type": "uint32"
+      },
+      "FootPinningTimingSource": {
+        "alignment": 4,
+        "members": {
+          "FootMotion": 0,
+          "Parameter": 2,
+          "Tag": 1
+        },
+        "type": "uint32"
+      },
+      "FootstepLandedFootSoundType_t": {
+        "alignment": 4,
+        "members": {
+          "FOOTSOUND_Left": 0,
+          "FOOTSOUND_Right": 1,
+          "FOOTSOUND_UseOverrideSound": 2
+        },
+        "type": "uint32"
+      },
+      "HandshakeTagType_t": {
+        "alignment": 4,
+        "members": {
+          "eCount": 2,
+          "eInvalid": -1,
+          "eMovement": 1,
+          "eTask": 0
+        },
+        "type": "uint32"
+      },
+      "IKChannelMode": {
+        "alignment": 4,
+        "members": {
+          "OneBone": 2,
+          "OneBone_Translate": 3,
+          "TwoBone": 0,
+          "TwoBone_Translate": 1
+        },
+        "type": "uint32"
+      },
+      "IKSolverType": {
+        "alignment": 4,
+        "members": {
+          "IKSOLVER_CCD": 4,
+          "IKSOLVER_COUNT": 5,
+          "IKSOLVER_DogLeg3Bone": 3,
+          "IKSOLVER_Fabrik": 2,
+          "IKSOLVER_Perlin": 0,
+          "IKSOLVER_TwoBone": 1
+        },
+        "type": "uint32"
+      },
+      "IKTargetCoordinateSystem": {
+        "alignment": 4,
+        "members": {
+          "IKTARGETCOORDINATESYSTEM_COUNT": 2,
+          "IKTARGETCOORDINATESYSTEM_ModelSpace": 1,
+          "IKTARGETCOORDINATESYSTEM_WorldSpace": 0
+        },
+        "type": "uint32"
+      },
+      "IKTargetSource": {
+        "alignment": 4,
+        "members": {
+          "IKTARGETSOURCE_AnimgraphParameter": 1,
+          "IKTARGETSOURCE_Bone": 0,
+          "IKTARGETSOURCE_COUNT": 2
+        },
+        "type": "uint32"
+      },
+      "IkEndEffectorType": {
+        "alignment": 4,
+        "members": {
+          "IkEndEffector_Attachment": 0,
+          "IkEndEffector_Bone": 1
+        },
+        "type": "uint32"
+      },
+      "IkTargetType": {
+        "alignment": 4,
+        "members": {
+          "IkTarget_Attachment": 0,
+          "IkTarget_Bone": 1,
+          "IkTarget_Parameter_ModelSpace": 2,
+          "IkTarget_Parameter_WorldSpace": 3
+        },
+        "type": "uint32"
+      },
+      "JiggleBoneSimSpace": {
+        "alignment": 4,
+        "members": {
+          "SimSpace_Local": 0,
+          "SimSpace_Model": 1,
+          "SimSpace_World": 2
+        },
+        "type": "uint32"
+      },
+      "JumpCorrectionMethod": {
+        "alignment": 4,
+        "members": {
+          "AddCorrectionDelta": 1,
+          "ScaleMotion": 0
+        },
+        "type": "uint32"
+      },
+      "MatterialAttributeTagType_t": {
+        "alignment": 4,
+        "members": {
+          "MATERIAL_ATTRIBUTE_TAG_COLOR": 1,
+          "MATERIAL_ATTRIBUTE_TAG_VALUE": 0
+        },
+        "type": "uint32"
+      },
+      "MeshDrawPrimitiveFlags_t": {
+        "alignment": 4,
+        "members": {
+          "MESH_DRAW_FLAGS_CAN_BATCH_WITH_DYNAMIC_SHADER_CONSTANTS": 64,
+          "MESH_DRAW_FLAGS_DRAW_LAST": 128,
+          "MESH_DRAW_FLAGS_NONE": 0,
+          "MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT": 2,
+          "MESH_DRAW_FLAGS_USE_COMPRESSED_PER_VERTEX_LIGHTING": 16,
+          "MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH": 1,
+          "MESH_DRAW_FLAGS_USE_UNCOMPRESSED_PER_VERTEX_LIGHTING": 32,
+          "MESH_DRAW_INPUT_LAYOUT_IS_NOT_MATCHED_TO_MATERIAL": 8
+        },
+        "type": "uint32"
+      },
+      "ModelBoneFlexComponent_t": {
+        "alignment": 4,
+        "members": {
+          "MODEL_BONE_FLEX_INVALID": -1,
+          "MODEL_BONE_FLEX_TX": 0,
+          "MODEL_BONE_FLEX_TY": 1,
+          "MODEL_BONE_FLEX_TZ": 2
+        },
+        "type": "uint32"
+      },
+      "ModelConfigAttachmentType_t": {
+        "alignment": 4,
+        "members": {
+          "MODEL_CONFIG_ATTACHMENT_BONEMERGE": 2,
+          "MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT": 0,
+          "MODEL_CONFIG_ATTACHMENT_COUNT": 3,
+          "MODEL_CONFIG_ATTACHMENT_INVALID": -1,
+          "MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE": 1
+        },
+        "type": "uint32"
+      },
+      "ModelSkeletonData_t__BoneFlags_t": {
+        "alignment": 4,
+        "members": {
+          "BLEND_PREALIGNED": 1048576,
+          "FLAG_ALL_BONE_FLAGS": 1048575,
+          "FLAG_ANIMATION": 64,
+          "FLAG_ATTACHMENT": 32,
+          "FLAG_BONEFLEXDRIVER": 4,
+          "FLAG_BONE_MERGE_READ": 262144,
+          "FLAG_BONE_MERGE_WRITE": 524288,
+          "FLAG_BONE_USED_BY_VERTEX_LOD0": 1024,
+          "FLAG_BONE_USED_BY_VERTEX_LOD1": 2048,
+          "FLAG_BONE_USED_BY_VERTEX_LOD2": 4096,
+          "FLAG_BONE_USED_BY_VERTEX_LOD3": 8192,
+          "FLAG_BONE_USED_BY_VERTEX_LOD4": 16384,
+          "FLAG_BONE_USED_BY_VERTEX_LOD5": 32768,
+          "FLAG_BONE_USED_BY_VERTEX_LOD6": 65536,
+          "FLAG_BONE_USED_BY_VERTEX_LOD7": 131072,
+          "FLAG_CLOTH": 8,
+          "FLAG_HITBOX": 256,
+          "FLAG_MESH": 128,
+          "FLAG_NO_BONE_FLAGS": 0,
+          "FLAG_PHYSICS": 16,
+          "FLAG_PROCEDURAL": 4194304,
+          "FLAG_RIGIDLENGTH": 2097152
+        },
+        "type": "uint32"
+      },
+      "MoodType_t": {
+        "alignment": 4,
+        "members": {
+          "eMoodType_Body": 1,
+          "eMoodType_Head": 0
+        },
+        "type": "uint32"
+      },
+      "MorphBundleType_t": {
+        "alignment": 4,
+        "members": {
+          "MORPH_BUNDLE_TYPE_COUNT": 3,
+          "MORPH_BUNDLE_TYPE_NONE": 0,
+          "MORPH_BUNDLE_TYPE_NORMAL_WRINKLE": 2,
+          "MORPH_BUNDLE_TYPE_POSITION_SPEED": 1
+        },
+        "type": "uint32"
+      },
+      "MorphFlexControllerRemapType_t": {
+        "alignment": 4,
+        "members": {
+          "MORPH_FLEXCONTROLLER_REMAP_2WAY": 1,
+          "MORPH_FLEXCONTROLLER_REMAP_EYELID": 3,
+          "MORPH_FLEXCONTROLLER_REMAP_NWAY": 2,
+          "MORPH_FLEXCONTROLLER_REMAP_PASSTHRU": 0
+        },
+        "type": "uint32"
+      },
+      "MovementGait_t": {
+        "alignment": 1,
+        "members": {
+          "eCount": 4,
+          "eFast": 2,
+          "eInvalid": -1,
+          "eMedium": 1,
+          "eSlow": 0,
+          "eVeryFast": 3
+        },
+        "type": "uint8"
+      },
+      "NmCachedValueMode_t": {
+        "alignment": 4,
+        "members": {
+          "OnEntry": 0,
+          "OnExit": 1
+        },
+        "type": "uint32"
+      },
+      "NmEasingFunction_t": {
+        "alignment": 1,
+        "members": {
+          "Back": 8,
+          "Circ": 7,
+          "Cubic": 2,
+          "Expo": 6,
+          "Linear": 0,
+          "Quad": 1,
+          "Quart": 3,
+          "Quint": 4,
+          "Sine": 5
+        },
+        "type": "uint8"
+      },
+      "NmEasingOperation_t": {
+        "alignment": 1,
+        "members": {
+          "InCirc": 19,
+          "InCubic": 4,
+          "InExpo": 16,
+          "InOutCirc": 21,
+          "InOutCubic": 6,
+          "InOutExpo": 18,
+          "InOutQuad": 3,
+          "InOutQuart": 9,
+          "InOutQuint": 12,
+          "InOutSine": 15,
+          "InQuad": 1,
+          "InQuart": 7,
+          "InQuint": 10,
+          "InSine": 13,
+          "Linear": 0,
+          "None": 22,
+          "OutCirc": 20,
+          "OutCubic": 5,
+          "OutExpo": 17,
+          "OutQuad": 2,
+          "OutQuart": 8,
+          "OutQuint": 11,
+          "OutSine": 14
+        },
+        "type": "uint8"
+      },
+      "NmEventConditionRules_t": {
+        "alignment": 1,
+        "members": {
+          "IgnoreInactiveEvents": 1,
+          "LimitSearchToSourceState": 0,
+          "OperatorAnd": 5,
+          "OperatorOr": 4,
+          "PreferHighestProgress": 3,
+          "PreferHighestWeight": 2,
+          "SearchBothStateAndAnimEvents": 8,
+          "SearchOnlyAnimEvents": 7,
+          "SearchOnlyStateEvents": 6
+        },
+        "type": "uint8"
+      },
+      "NmFootPhaseCondition_t": {
+        "alignment": 1,
+        "members": {
+          "LeftFootDown": 0,
+          "LeftFootPassing": 1,
+          "LeftPhase": 4,
+          "RightFootDown": 2,
+          "RightFootPassing": 3,
+          "RightPhase": 5
+        },
+        "type": "uint8"
+      },
+      "NmFootPhase_t": {
+        "alignment": 1,
+        "members": {
+          "LeftFootDown": 0,
+          "LeftFootPassing": 3,
+          "RightFootDown": 2,
+          "RightFootPassing": 1
+        },
+        "type": "uint8"
+      },
+      "NmFrameSnapEventMode_t": {
+        "alignment": 4,
+        "members": {
+          "Floor": 0,
+          "Round": 1
+        },
+        "type": "uint32"
+      },
+      "NmGraphValueType_t": {
+        "alignment": 1,
+        "members": {
+          "BoneMask": 6,
+          "Bool": 1,
+          "Float": 3,
+          "ID": 2,
+          "Pose": 7,
+          "Special": 8,
+          "Target": 5,
+          "Unknown": 0,
+          "Vector": 4
+        },
+        "type": "uint8"
+      },
+      "NmPoseBlendMode_t": {
+        "alignment": 1,
+        "members": {
+          "Additive": 1,
+          "ModelSpace": 2,
+          "Overlay": 0
+        },
+        "type": "uint8"
+      },
+      "NmRootMotionBlendMode_t": {
+        "alignment": 1,
+        "members": {
+          "Additive": 1,
+          "Blend": 0,
+          "IgnoreSource": 2,
+          "IgnoreTarget": 3
+        },
+        "type": "uint8"
+      },
+      "NmStateEventTypeCondition_t": {
+        "alignment": 1,
+        "members": {
+          "Any": 4,
+          "Entry": 0,
+          "Exit": 2,
+          "FullyInState": 1,
+          "Timed": 3
+        },
+        "type": "uint8"
+      },
+      "NmTargetWarpAlgorithm_t": {
+        "alignment": 1,
+        "members": {
+          "Bezier": 3,
+          "Hermite": 1,
+          "HermiteFeaturePreserving": 2,
+          "Lerp": 0
+        },
+        "type": "uint8"
+      },
+      "NmTargetWarpRule_t": {
+        "alignment": 1,
+        "members": {
+          "RotationOnly": 3,
+          "WarpXY": 0,
+          "WarpXYZ": 2,
+          "WarpZ": 1
+        },
+        "type": "uint8"
+      },
+      "NmTransitionRuleCondition_t": {
+        "alignment": 1,
+        "members": {
+          "AnyAllowed": 0,
+          "Blocked": 3,
+          "ConditionallyAllowed": 2,
+          "FullyAllowed": 1
+        },
+        "type": "uint8"
+      },
+      "NmTransitionRule_t": {
+        "alignment": 1,
+        "members": {
+          "AllowTransition": 0,
+          "BlockTransition": 2,
+          "ConditionallyAllowTransition": 1
+        },
+        "type": "uint8"
+      },
+      "ParticleAttachment_t": {
+        "alignment": 4,
+        "members": {
+          "MAX_PATTACH_TYPES": 16,
+          "PATTACH_ABSORIGIN": 0,
+          "PATTACH_ABSORIGIN_FOLLOW": 1,
+          "PATTACH_CENTER_FOLLOW": 13,
+          "PATTACH_CUSTOMORIGIN": 2,
+          "PATTACH_CUSTOMORIGIN_FOLLOW": 3,
+          "PATTACH_CUSTOM_GAME_STATE_1": 14,
+          "PATTACH_EYES_FOLLOW": 6,
+          "PATTACH_HEALTHBAR": 15,
+          "PATTACH_INVALID": -1,
+          "PATTACH_MAIN_VIEW": 11,
+          "PATTACH_OVERHEAD_FOLLOW": 7,
+          "PATTACH_POINT": 4,
+          "PATTACH_POINT_FOLLOW": 5,
+          "PATTACH_RENDERORIGIN_FOLLOW": 10,
+          "PATTACH_ROOTBONE_FOLLOW": 9,
+          "PATTACH_WATERWAKE": 12,
+          "PATTACH_WORLDORIGIN": 8
+        },
+        "type": "uint32"
+      },
+      "PermModelInfo_t__FlagEnum": {
+        "alignment": 4,
+        "members": {
+          "FLAG_ANIMATION_DRIVEN_FLEXES": 2097152,
+          "FLAG_DO_NOT_CAST_SHADOWS": 131072,
+          "FLAG_FORCE_PHONEME_CROSSFADE": 4096,
+          "FLAG_HAS_SKINNED_MESHES": 1024,
+          "FLAG_IMPLICIT_BIND_POSE_SEQUENCE": 4194304,
+          "FLAG_MODEL_DOC": 8388608,
+          "FLAG_MODEL_IS_RUNTIME_COMBINED": 4,
+          "FLAG_MODEL_PART_CHILD": 16,
+          "FLAG_NAV_GEN_HULL": 64,
+          "FLAG_NAV_GEN_NONE": 32,
+          "FLAG_NO_ANIM_EVENTS": 1048576,
+          "FLAG_NO_FORCED_FADE": 2048,
+          "FLAG_SOURCE1_IMPORT": 8,
+          "FLAG_TRANSLUCENT": 1,
+          "FLAG_TRANSLUCENT_TWO_PASS": 2
+        },
+        "type": "uint32"
+      },
+      "PoseType_t": {
+        "alignment": 1,
+        "members": {
+          "POSETYPE_DYNAMIC": 1,
+          "POSETYPE_INVALID": 255,
+          "POSETYPE_STATIC": 0
+        },
+        "type": "uint8"
+      },
+      "RagdollPoseControl": {
+        "alignment": 4,
+        "members": {
+          "Absolute": 0,
+          "Relative": 1
+        },
+        "type": "uint32"
+      },
+      "ResetCycleOption": {
+        "alignment": 4,
+        "members": {
+          "Beginning": 0,
+          "FixedValue": 3,
+          "InverseSourceCycle": 2,
+          "SameCycleAsSource": 1,
+          "SameTimeAsSource": 4
+        },
+        "type": "uint32"
+      },
+      "SelectorTagBehavior_t": {
+        "alignment": 4,
+        "members": {
+          "SelectorTagBehavior_OffBeforeFinished": 2,
+          "SelectorTagBehavior_OffWhenFinished": 1,
+          "SelectorTagBehavior_OnWhileCurrent": 0
+        },
+        "type": "uint32"
+      },
+      "SeqCmd_t": {
+        "alignment": 4,
+        "members": {
+          "SeqCmd_Add": 4,
+          "SeqCmd_Blend": 8,
+          "SeqCmd_Copy": 7,
+          "SeqCmd_FetchCycle": 11,
+          "SeqCmd_FetchFrame": 12,
+          "SeqCmd_FetchFrameRange": 2,
+          "SeqCmd_IKLockInPlace": 13,
+          "SeqCmd_IKRestoreAll": 14,
+          "SeqCmd_LinearDelta": 1,
+          "SeqCmd_Nop": 0,
+          "SeqCmd_ReverseSequence": 15,
+          "SeqCmd_Scale": 6,
+          "SeqCmd_Sequence": 10,
+          "SeqCmd_Slerp": 3,
+          "SeqCmd_Subtract": 5,
+          "SeqCmd_Transform": 16,
+          "SeqCmd_Worldspace": 9
+        },
+        "type": "uint32"
+      },
+      "SeqPoseSetting_t": {
+        "alignment": 4,
+        "members": {
+          "SEQ_POSE_SETTING_CONSTANT": 0,
+          "SEQ_POSE_SETTING_POSITION": 2,
+          "SEQ_POSE_SETTING_ROTATION": 1,
+          "SEQ_POSE_SETTING_VELOCITY": 3
+        },
+        "type": "uint32"
+      },
+      "SolveIKChainAnimNodeDebugSetting": {
+        "alignment": 4,
+        "members": {
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward": 4,
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_Left": 6,
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_None": 0,
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_Up": 5,
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle": 1,
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle": 2,
+          "SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle": 3
+        },
+        "type": "uint32"
+      },
+      "StanceOverrideMode": {
+        "alignment": 4,
+        "members": {
+          "Node": 1,
+          "Sequence": 0
+        },
+        "type": "uint32"
+      },
+      "StateActionBehavior": {
+        "alignment": 4,
+        "members": {
+          "STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT": 0,
+          "STATETAGBEHAVIOR_FIRE_ON_ENTER": 1,
+          "STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT": 3,
+          "STATETAGBEHAVIOR_FIRE_ON_EXIT": 2
+        },
+        "type": "uint32"
+      },
+      "StepPhase": {
+        "alignment": 4,
+        "members": {
+          "StepPhase_InAir": 1,
+          "StepPhase_OnGround": 0
+        },
+        "type": "uint32"
+      },
+      "VPhysXAggregateData_t__VPhysXFlagEnum_t": {
+        "alignment": 4,
+        "members": {
+          "FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE": 32,
+          "FLAG_IS_POLYSOUP_GEOMETRY": 1,
+          "FLAG_LEVEL_COLLISION": 16
+        },
+        "type": "uint32"
+      },
+      "VPhysXBodyPart_t__VPhysXFlagEnum_t": {
+        "alignment": 4,
+        "members": {
+          "FLAG_ALWAYS_DYNAMIC_ON_CLIENT": 16,
+          "FLAG_JOINT": 4,
+          "FLAG_KINEMATIC": 2,
+          "FLAG_MASS": 8,
+          "FLAG_STATIC": 1
+        },
+        "type": "uint32"
+      },
+      "VPhysXConstraintParams_t__EnumFlags0_t": {
+        "alignment": 4,
+        "members": {
+          "FLAG0_SHIFT_BREAKABLE_FORCE": 2,
+          "FLAG0_SHIFT_BREAKABLE_TORQUE": 3,
+          "FLAG0_SHIFT_CONSTRAIN": 1,
+          "FLAG0_SHIFT_INTERPENETRATE": 0
+        },
+        "type": "uint32"
+      },
+      "VPhysXJoint_t__Flags_t": {
+        "alignment": 4,
+        "members": {
+          "JOINT_FLAGS_BODY1_FIXED": 1,
+          "JOINT_FLAGS_NONE": 0,
+          "JOINT_FLAGS_USE_BLOCK_SOLVER": 2
+        },
+        "type": "uint32"
+      },
+      "VelocityMetricMode": {
+        "alignment": 1,
+        "members": {
+          "DirectionAndMagnitude": 2,
+          "DirectionOnly": 0,
+          "MagnitudeOnly": 1
+        },
+        "type": "uint8"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/animationsystem_dll.rs b/output/animationsystem_dll.rs
new file mode 100644
index 0000000..197ee27
--- /dev/null
+++ b/output/animationsystem_dll.rs
@@ -0,0 +1,6370 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: animationsystem.dll
+        // Class count: 497
+        // Enum count: 94
+        pub mod animationsystem_dll {
+            // Alignment: 4
+            // Member count: 17
+            #[repr(u32)]
+            pub enum SeqCmd_t {
+                SeqCmd_Nop = 0x0,
+                SeqCmd_LinearDelta = 0x1,
+                SeqCmd_FetchFrameRange = 0x2,
+                SeqCmd_Slerp = 0x3,
+                SeqCmd_Add = 0x4,
+                SeqCmd_Subtract = 0x5,
+                SeqCmd_Scale = 0x6,
+                SeqCmd_Copy = 0x7,
+                SeqCmd_Blend = 0x8,
+                SeqCmd_Worldspace = 0x9,
+                SeqCmd_Sequence = 0xA,
+                SeqCmd_FetchCycle = 0xB,
+                SeqCmd_FetchFrame = 0xC,
+                SeqCmd_IKLockInPlace = 0xD,
+                SeqCmd_IKRestoreAll = 0xE,
+                SeqCmd_ReverseSequence = 0xF,
+                SeqCmd_Transform = 0x10
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum BoneTransformSpace_t {
+                BoneTransformSpace_Invalid = u32::MAX,
+                BoneTransformSpace_Parent = 0x0,
+                BoneTransformSpace_Model = 0x1,
+                BoneTransformSpace_World = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum CAnimationGraphVisualizerPrimitiveType {
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie = 0x3,
+                ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum NmTransitionRule_t {
+                AllowTransition = 0x0,
+                ConditionallyAllowTransition = 0x1,
+                BlockTransition = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum BinaryNodeTiming {
+                UseChild1 = 0x0,
+                UseChild2 = 0x1,
+                SyncChildren = 0x2
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum SolveIKChainAnimNodeDebugSetting {
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle = 0x3,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward = 0x4,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Up = 0x5,
+                SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6
+            }
+            // Alignment: 1
+            // Member count: 6
+            #[repr(u8)]
+            pub enum MovementGait_t {
+                eInvalid = u8::MAX,
+                eSlow = 0x0,
+                eMedium = 0x1,
+                eFast = 0x2,
+                eVeryFast = 0x3,
+                eCount = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum IKTargetCoordinateSystem {
+                IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0,
+                IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1,
+                IKTARGETCOORDINATESYSTEM_COUNT = 0x2
+            }
+            // Alignment: 1
+            // Member count: 5
+            #[repr(u8)]
+            pub enum NmStateEventTypeCondition_t {
+                Entry = 0x0,
+                FullyInState = 0x1,
+                Exit = 0x2,
+                Timed = 0x3,
+                Any = 0x4
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum CNmFloatAngleMathNode__Operation_t {
+                ClampTo180 = 0x0,
+                ClampTo360 = 0x1,
+                FlipHemisphere = 0x2,
+                FlipHemisphereNegate = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum VPhysXAggregateData_t__VPhysXFlagEnum_t {
+                FLAG_IS_POLYSOUP_GEOMETRY = 0x1,
+                FLAG_LEVEL_COLLISION = 0x10,
+                FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE = 0x20
+            }
+            // Alignment: 1
+            // Member count: 5
+            #[repr(u8)]
+            pub enum CNmRootMotionOverrideNode__OverrideFlags_t {
+                AllowMoveX = 0x0,
+                AllowMoveY = 0x1,
+                AllowMoveZ = 0x2,
+                AllowFacingPitch = 0x3,
+                ListenForEvents = 0x4
+            }
+            // Alignment: 1
+            // Member count: 23
+            #[repr(u8)]
+            pub enum NmEasingOperation_t {
+                Linear = 0x0,
+                InQuad = 0x1,
+                OutQuad = 0x2,
+                InOutQuad = 0x3,
+                InCubic = 0x4,
+                OutCubic = 0x5,
+                InOutCubic = 0x6,
+                InQuart = 0x7,
+                OutQuart = 0x8,
+                InOutQuart = 0x9,
+                InQuint = 0xA,
+                OutQuint = 0xB,
+                InOutQuint = 0xC,
+                InSine = 0xD,
+                OutSine = 0xE,
+                InOutSine = 0xF,
+                InExpo = 0x10,
+                OutExpo = 0x11,
+                InOutExpo = 0x12,
+                InCirc = 0x13,
+                OutCirc = 0x14,
+                InOutCirc = 0x15,
+                None = 0x16
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum EIKEndEffectorRotationFixUpMode {
+                None = 0x0,
+                MatchTargetOrientation = 0x1,
+                LookAtTargetForward = 0x2,
+                MaintainParentOrientation = 0x3,
+                Count = 0x4
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum MatterialAttributeTagType_t {
+                MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0,
+                MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum NmTargetWarpAlgorithm_t {
+                Lerp = 0x0,
+                Hermite = 0x1,
+                HermiteFeaturePreserving = 0x2,
+                Bezier = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum AnimPoseControl {
+                NoPoseControl = 0x0,
+                AbsolutePoseControl = 0x1,
+                RelativePoseControl = 0x2
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum NmTransitionRuleCondition_t {
+                AnyAllowed = 0x0,
+                FullyAllowed = 0x1,
+                ConditionallyAllowed = 0x2,
+                Blocked = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum EDemoBoneSelectionMode {
+                CaptureAllBones = 0x0,
+                CaptureSelectedBones = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum StepPhase {
+                StepPhase_OnGround = 0x0,
+                StepPhase_InAir = 0x1
+            }
+            // Alignment: 4
+            // Member count: 26
+            #[repr(u32)]
+            pub enum FlexOpCode_t {
+                FLEX_OP_CONST = 0x1,
+                FLEX_OP_FETCH1 = 0x2,
+                FLEX_OP_FETCH2 = 0x3,
+                FLEX_OP_ADD = 0x4,
+                FLEX_OP_SUB = 0x5,
+                FLEX_OP_MUL = 0x6,
+                FLEX_OP_DIV = 0x7,
+                FLEX_OP_NEG = 0x8,
+                FLEX_OP_EXP = 0x9,
+                FLEX_OP_OPEN = 0xA,
+                FLEX_OP_CLOSE = 0xB,
+                FLEX_OP_COMMA = 0xC,
+                FLEX_OP_MAX = 0xD,
+                FLEX_OP_MIN = 0xE,
+                FLEX_OP_2WAY_0 = 0xF,
+                FLEX_OP_2WAY_1 = 0x10,
+                FLEX_OP_NWAY = 0x11,
+                FLEX_OP_COMBO = 0x12,
+                FLEX_OP_DOMINATE = 0x13,
+                FLEX_OP_DME_LOWER_EYELID = 0x14,
+                FLEX_OP_DME_UPPER_EYELID = 0x15,
+                FLEX_OP_SQRT = 0x16,
+                FLEX_OP_REMAPVALCLAMPED = 0x17,
+                FLEX_OP_SIN = 0x18,
+                FLEX_OP_COS = 0x19,
+                FLEX_OP_ABS = 0x1A
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum NmCachedValueMode_t {
+                OnEntry = 0x0,
+                OnExit = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum AnimNodeNetworkMode {
+                ServerAuthoritative = 0x0,
+                ClientSimulate = 0x1
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum VPhysXBodyPart_t__VPhysXFlagEnum_t {
+                FLAG_STATIC = 0x1,
+                FLAG_KINEMATIC = 0x2,
+                FLAG_JOINT = 0x4,
+                FLAG_MASS = 0x8,
+                FLAG_ALWAYS_DYNAMIC_ON_CLIENT = 0x10
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum AnimParamType_t {
+                ANIMPARAM_UNKNOWN = 0x0,
+                ANIMPARAM_BOOL = 0x1,
+                ANIMPARAM_ENUM = 0x2,
+                ANIMPARAM_INT = 0x3,
+                ANIMPARAM_FLOAT = 0x4,
+                ANIMPARAM_VECTOR = 0x5,
+                ANIMPARAM_QUATERNION = 0x6,
+                ANIMPARAM_GLOBALSYMBOL = 0x7,
+                ANIMPARAM_COUNT = 0x8
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum NmEasingFunction_t {
+                Linear = 0x0,
+                Quad = 0x1,
+                Cubic = 0x2,
+                Quart = 0x3,
+                Quint = 0x4,
+                Sine = 0x5,
+                Expo = 0x6,
+                Circ = 0x7,
+                Back = 0x8
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum IKTargetSource {
+                IKTARGETSOURCE_Bone = 0x0,
+                IKTARGETSOURCE_AnimgraphParameter = 0x1,
+                IKTARGETSOURCE_COUNT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 15
+            #[repr(u32)]
+            pub enum PermModelInfo_t__FlagEnum {
+                FLAG_TRANSLUCENT = 0x1,
+                FLAG_TRANSLUCENT_TWO_PASS = 0x2,
+                FLAG_MODEL_IS_RUNTIME_COMBINED = 0x4,
+                FLAG_SOURCE1_IMPORT = 0x8,
+                FLAG_MODEL_PART_CHILD = 0x10,
+                FLAG_NAV_GEN_NONE = 0x20,
+                FLAG_NAV_GEN_HULL = 0x40,
+                FLAG_NO_FORCED_FADE = 0x800,
+                FLAG_HAS_SKINNED_MESHES = 0x400,
+                FLAG_DO_NOT_CAST_SHADOWS = 0x20000,
+                FLAG_FORCE_PHONEME_CROSSFADE = 0x1000,
+                FLAG_NO_ANIM_EVENTS = 0x100000,
+                FLAG_ANIMATION_DRIVEN_FLEXES = 0x200000,
+                FLAG_IMPLICIT_BIND_POSE_SEQUENCE = 0x400000,
+                FLAG_MODEL_DOC = 0x800000
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum CNmFloatMathNode__Operator_t {
+                Add = 0x0,
+                Sub = 0x1,
+                Mul = 0x2,
+                Div = 0x3
+            }
+            // Alignment: 1
+            // Member count: 2
+            #[repr(u8)]
+            pub enum CNmSyncEventIndexConditionNode__TriggerMode_t {
+                ExactlyAtEventIndex = 0x0,
+                GreaterThanEqualToEventIndex = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum AnimParamNetworkSetting {
+                Auto = 0x0,
+                AlwaysNetwork = 0x1,
+                NeverNetwork = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum MorphFlexControllerRemapType_t {
+                MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0,
+                MORPH_FLEXCONTROLLER_REMAP_2WAY = 0x1,
+                MORPH_FLEXCONTROLLER_REMAP_NWAY = 0x2,
+                MORPH_FLEXCONTROLLER_REMAP_EYELID = 0x3
+            }
+            // Alignment: 4
+            // Member count: 8
+            #[repr(u32)]
+            pub enum MeshDrawPrimitiveFlags_t {
+                MESH_DRAW_FLAGS_NONE = 0x0,
+                MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH = 0x1,
+                MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT = 0x2,
+                MESH_DRAW_INPUT_LAYOUT_IS_NOT_MATCHED_TO_MATERIAL = 0x8,
+                MESH_DRAW_FLAGS_USE_COMPRESSED_PER_VERTEX_LIGHTING = 0x10,
+                MESH_DRAW_FLAGS_USE_UNCOMPRESSED_PER_VERTEX_LIGHTING = 0x20,
+                MESH_DRAW_FLAGS_CAN_BATCH_WITH_DYNAMIC_SHADER_CONSTANTS = 0x40,
+                MESH_DRAW_FLAGS_DRAW_LAST = 0x80
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ModelBoneFlexComponent_t {
+                MODEL_BONE_FLEX_INVALID = u32::MAX,
+                MODEL_BONE_FLEX_TX = 0x0,
+                MODEL_BONE_FLEX_TY = 0x1,
+                MODEL_BONE_FLEX_TZ = 0x2
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum PoseType_t {
+                POSETYPE_STATIC = 0x0,
+                POSETYPE_DYNAMIC = 0x1,
+                POSETYPE_INVALID = 0xFF
+            }
+            // Alignment: 1
+            // Member count: 2
+            #[repr(u8)]
+            pub enum CNmRootMotionData__SamplingMode_t {
+                Delta = 0x0,
+                WorldSpace = 0x1
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum NmEventConditionRules_t {
+                LimitSearchToSourceState = 0x0,
+                IgnoreInactiveEvents = 0x1,
+                PreferHighestWeight = 0x2,
+                PreferHighestProgress = 0x3,
+                OperatorOr = 0x4,
+                OperatorAnd = 0x5,
+                SearchOnlyStateEvents = 0x6,
+                SearchOnlyAnimEvents = 0x7,
+                SearchBothStateAndAnimEvents = 0x8
+            }
+            // Alignment: 4
+            // Member count: 36
+            #[repr(u32)]
+            pub enum AnimValueSource {
+                MoveHeading = 0x0,
+                MoveSpeed = 0x1,
+                ForwardSpeed = 0x2,
+                StrafeSpeed = 0x3,
+                FacingHeading = 0x4,
+                LookHeading = 0x5,
+                LookPitch = 0x6,
+                LookDistance = 0x7,
+                Parameter = 0x8,
+                WayPointHeading = 0x9,
+                WayPointDistance = 0xA,
+                BoundaryRadius = 0xB,
+                TargetMoveHeading = 0xC,
+                TargetMoveSpeed = 0xD,
+                AccelerationHeading = 0xE,
+                AccelerationSpeed = 0xF,
+                SlopeHeading = 0x10,
+                SlopeAngle = 0x11,
+                SlopePitch = 0x12,
+                SlopeYaw = 0x13,
+                GoalDistance = 0x14,
+                AccelerationLeftRight = 0x15,
+                AccelerationFrontBack = 0x16,
+                RootMotionSpeed = 0x17,
+                RootMotionTurnSpeed = 0x18,
+                MoveHeadingRelativeToLookHeading = 0x19,
+                MaxMoveSpeed = 0x1A,
+                FingerCurl_Thumb = 0x1B,
+                FingerCurl_Index = 0x1C,
+                FingerCurl_Middle = 0x1D,
+                FingerCurl_Ring = 0x1E,
+                FingerCurl_Pinky = 0x1F,
+                FingerSplay_Thumb_Index = 0x20,
+                FingerSplay_Index_Middle = 0x21,
+                FingerSplay_Middle_Ring = 0x22,
+                FingerSplay_Ring_Pinky = 0x23
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum CNmTimeConditionNode__Operator_t {
+                LessThan = 0x0,
+                LessThanEqual = 0x1,
+                GreaterThan = 0x2,
+                GreaterThanEqual = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum RagdollPoseControl {
+                Absolute = 0x0,
+                Relative = 0x1
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum IKSolverType {
+                IKSOLVER_Perlin = 0x0,
+                IKSOLVER_TwoBone = 0x1,
+                IKSOLVER_Fabrik = 0x2,
+                IKSOLVER_DogLeg3Bone = 0x3,
+                IKSOLVER_CCD = 0x4,
+                IKSOLVER_COUNT = 0x5
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum Blend2DMode {
+                Blend2DMode_General = 0x0,
+                Blend2DMode_Directional = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ChoiceChangeMethod {
+                OnReset = 0x0,
+                OnCycleEnd = 0x1,
+                OnResetOrCycleEnd = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ChoiceBlendMethod {
+                SingleBlendTime = 0x0,
+                PerChoiceBlendTimes = 0x1
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum VPhysXConstraintParams_t__EnumFlags0_t {
+                FLAG0_SHIFT_INTERPENETRATE = 0x0,
+                FLAG0_SHIFT_CONSTRAIN = 0x1,
+                FLAG0_SHIFT_BREAKABLE_FORCE = 0x2,
+                FLAG0_SHIFT_BREAKABLE_TORQUE = 0x3
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum BlendKeyType {
+                BlendKey_UserValue = 0x0,
+                BlendKey_Velocity = 0x1,
+                BlendKey_Distance = 0x2,
+                BlendKey_RemainingDistance = 0x3
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum StateActionBehavior {
+                STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0,
+                STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1,
+                STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2,
+                STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum NmRootMotionBlendMode_t {
+                Blend = 0x0,
+                Additive = 0x1,
+                IgnoreSource = 0x2,
+                IgnoreTarget = 0x3
+            }
+            // Alignment: 1
+            // Member count: 6
+            #[repr(u8)]
+            pub enum NmFootPhaseCondition_t {
+                LeftFootDown = 0x0,
+                LeftFootPassing = 0x1,
+                LeftPhase = 0x4,
+                RightFootDown = 0x2,
+                RightFootPassing = 0x3,
+                RightPhase = 0x5
+            }
+            // Alignment: 4
+            // Member count: 22
+            #[repr(u32)]
+            pub enum ModelSkeletonData_t__BoneFlags_t {
+                FLAG_NO_BONE_FLAGS = 0x0,
+                FLAG_BONEFLEXDRIVER = 0x4,
+                FLAG_CLOTH = 0x8,
+                FLAG_PHYSICS = 0x10,
+                FLAG_ATTACHMENT = 0x20,
+                FLAG_ANIMATION = 0x40,
+                FLAG_MESH = 0x80,
+                FLAG_HITBOX = 0x100,
+                FLAG_BONE_USED_BY_VERTEX_LOD0 = 0x400,
+                FLAG_BONE_USED_BY_VERTEX_LOD1 = 0x800,
+                FLAG_BONE_USED_BY_VERTEX_LOD2 = 0x1000,
+                FLAG_BONE_USED_BY_VERTEX_LOD3 = 0x2000,
+                FLAG_BONE_USED_BY_VERTEX_LOD4 = 0x4000,
+                FLAG_BONE_USED_BY_VERTEX_LOD5 = 0x8000,
+                FLAG_BONE_USED_BY_VERTEX_LOD6 = 0x10000,
+                FLAG_BONE_USED_BY_VERTEX_LOD7 = 0x20000,
+                FLAG_BONE_MERGE_READ = 0x40000,
+                FLAG_BONE_MERGE_WRITE = 0x80000,
+                FLAG_ALL_BONE_FLAGS = 0xFFFFF,
+                BLEND_PREALIGNED = 0x100000,
+                FLAG_RIGIDLENGTH = 0x200000,
+                FLAG_PROCEDURAL = 0x400000
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum MorphBundleType_t {
+                MORPH_BUNDLE_TYPE_NONE = 0x0,
+                MORPH_BUNDLE_TYPE_POSITION_SPEED = 0x1,
+                MORPH_BUNDLE_TYPE_NORMAL_WRINKLE = 0x2,
+                MORPH_BUNDLE_TYPE_COUNT = 0x3
+            }
+            // Alignment: 1
+            // Member count: 2
+            #[repr(u8)]
+            pub enum CNmIDComparisonNode__Comparison_t {
+                Matches = 0x0,
+                DoesntMatch = 0x1
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum NmPoseBlendMode_t {
+                Overlay = 0x0,
+                Additive = 0x1,
+                ModelSpace = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ResetCycleOption {
+                Beginning = 0x0,
+                SameCycleAsSource = 0x1,
+                InverseSourceCycle = 0x2,
+                FixedValue = 0x3,
+                SameTimeAsSource = 0x4
+            }
+            // Alignment: 1
+            // Member count: 6
+            #[repr(u8)]
+            pub enum CNmVectorInfoNode__Info_t {
+                X = 0x0,
+                Y = 0x1,
+                Z = 0x2,
+                Length = 0x3,
+                AngleHorizontal = 0x4,
+                AngleVertical = 0x5
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum IKChannelMode {
+                TwoBone = 0x0,
+                TwoBone_Translate = 0x1,
+                OneBone = 0x2,
+                OneBone_Translate = 0x3
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum NmGraphValueType_t {
+                Unknown = 0x0,
+                Bool = 0x1,
+                ID = 0x2,
+                Float = 0x3,
+                Vector = 0x4,
+                Target = 0x5,
+                BoneMask = 0x6,
+                Pose = 0x7,
+                Special = 0x8
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum NmFootPhase_t {
+                LeftFootDown = 0x0,
+                RightFootPassing = 0x1,
+                RightFootDown = 0x2,
+                LeftFootPassing = 0x3
+            }
+            // Alignment: 4
+            // Member count: 8
+            #[repr(u32)]
+            pub enum CNmTargetInfoNode__Info_t {
+                AngleHorizontal = 0x0,
+                AngleVertical = 0x1,
+                Distance = 0x2,
+                DistanceHorizontalOnly = 0x3,
+                DistanceVerticalOnly = 0x4,
+                DeltaOrientationX = 0x5,
+                DeltaOrientationY = 0x6,
+                DeltaOrientationZ = 0x7
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum FootstepLandedFootSoundType_t {
+                FOOTSOUND_Left = 0x0,
+                FOOTSOUND_Right = 0x1,
+                FOOTSOUND_UseOverrideSound = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum FootLockSubVisualization {
+                FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0,
+                FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum NmFrameSnapEventMode_t {
+                Floor = 0x0,
+                Round = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum FootPinningTimingSource {
+                FootMotion = 0x0,
+                Tag = 0x1,
+                Parameter = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum DampingSpeedFunction {
+                NoDamping = 0x0,
+                Constant = 0x1,
+                Spring = 0x2
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum AnimationProcessingType_t {
+                ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0,
+                ANIMATION_PROCESSING_CLIENT_SIMULATION = 0x1,
+                ANIMATION_PROCESSING_CLIENT_PREDICTION = 0x2,
+                ANIMATION_PROCESSING_CLIENT_INTERPOLATION = 0x3,
+                ANIMATION_PROCESSING_CLIENT_RENDER = 0x4,
+                ANIMATION_PROCESSING_MAX = 0x5
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum JiggleBoneSimSpace {
+                SimSpace_Local = 0x0,
+                SimSpace_Model = 0x1,
+                SimSpace_World = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum StanceOverrideMode {
+                Sequence = 0x0,
+                Node = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum IkEndEffectorType {
+                IkEndEffector_Attachment = 0x0,
+                IkEndEffector_Bone = 0x1
+            }
+            // Alignment: 2
+            // Member count: 3
+            #[repr(u16)]
+            pub enum AnimScriptType {
+                ANIMSCRIPT_TYPE_INVALID = u16::MAX,
+                ANIMSCRIPT_FUSE_GENERAL = 0x0,
+                ANIMSCRIPT_FUSE_STATEMACHINE = 0x1
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum CNmTimeConditionNode__ComparisonType_t {
+                PercentageThroughState = 0x0,
+                PercentageThroughSyncEvent = 0x1,
+                ElapsedTime = 0x2,
+                LoopCount = 0x3
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum SeqPoseSetting_t {
+                SEQ_POSE_SETTING_CONSTANT = 0x0,
+                SEQ_POSE_SETTING_ROTATION = 0x1,
+                SEQ_POSE_SETTING_POSITION = 0x2,
+                SEQ_POSE_SETTING_VELOCITY = 0x3
+            }
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum AnimParamButton_t {
+                ANIMPARAM_BUTTON_NONE = 0x0,
+                ANIMPARAM_BUTTON_DPAD_UP = 0x1,
+                ANIMPARAM_BUTTON_DPAD_RIGHT = 0x2,
+                ANIMPARAM_BUTTON_DPAD_DOWN = 0x3,
+                ANIMPARAM_BUTTON_DPAD_LEFT = 0x4,
+                ANIMPARAM_BUTTON_A = 0x5,
+                ANIMPARAM_BUTTON_B = 0x6,
+                ANIMPARAM_BUTTON_X = 0x7,
+                ANIMPARAM_BUTTON_Y = 0x8,
+                ANIMPARAM_BUTTON_LEFT_SHOULDER = 0x9,
+                ANIMPARAM_BUTTON_RIGHT_SHOULDER = 0xA,
+                ANIMPARAM_BUTTON_LTRIGGER = 0xB,
+                ANIMPARAM_BUTTON_RTRIGGER = 0xC
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum SelectorTagBehavior_t {
+                SelectorTagBehavior_OnWhileCurrent = 0x0,
+                SelectorTagBehavior_OffWhenFinished = 0x1,
+                SelectorTagBehavior_OffBeforeFinished = 0x2
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum CNmBoneMask__WeightInfo_t {
+                Zero = 0x0,
+                Mixed = 0x1,
+                One = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum HandshakeTagType_t {
+                eInvalid = u32::MAX,
+                eTask = 0x0,
+                eMovement = 0x1,
+                eCount = 0x2
+            }
+            // Alignment: 4
+            // Member count: 18
+            #[repr(u32)]
+            pub enum ParticleAttachment_t {
+                PATTACH_INVALID = u32::MAX,
+                PATTACH_ABSORIGIN = 0x0,
+                PATTACH_ABSORIGIN_FOLLOW = 0x1,
+                PATTACH_CUSTOMORIGIN = 0x2,
+                PATTACH_CUSTOMORIGIN_FOLLOW = 0x3,
+                PATTACH_POINT = 0x4,
+                PATTACH_POINT_FOLLOW = 0x5,
+                PATTACH_EYES_FOLLOW = 0x6,
+                PATTACH_OVERHEAD_FOLLOW = 0x7,
+                PATTACH_WORLDORIGIN = 0x8,
+                PATTACH_ROOTBONE_FOLLOW = 0x9,
+                PATTACH_RENDERORIGIN_FOLLOW = 0xA,
+                PATTACH_MAIN_VIEW = 0xB,
+                PATTACH_WATERWAKE = 0xC,
+                PATTACH_CENTER_FOLLOW = 0xD,
+                PATTACH_CUSTOM_GAME_STATE_1 = 0xE,
+                PATTACH_HEALTHBAR = 0xF,
+                MAX_PATTACH_TYPES = 0x10
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum FieldNetworkOption {
+                Auto = 0x0,
+                ForceEnable = 0x1,
+                ForceDisable = 0x2
+            }
+            // Alignment: 1
+            // Member count: 8
+            #[repr(u8)]
+            pub enum CNmTransitionNode__TransitionOptions_t {
+                None = 0x0,
+                ClampDuration = 0x1,
+                Synchronized = 0x2,
+                MatchSourceTime = 0x3,
+                MatchSyncEventIndex = 0x4,
+                MatchSyncEventID = 0x5,
+                MatchSyncEventPercentage = 0x6,
+                PreferClosestSyncEventID = 0x7
+            }
+            // Alignment: 1
+            // Member count: 5
+            #[repr(u8)]
+            pub enum CNmFloatComparisonNode__Comparison_t {
+                GreaterThanEqual = 0x0,
+                LessThanEqual = 0x1,
+                NearEqual = 0x2,
+                GreaterThan = 0x3,
+                LessThan = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum VPhysXJoint_t__Flags_t {
+                JOINT_FLAGS_NONE = 0x0,
+                JOINT_FLAGS_BODY1_FIXED = 0x1,
+                JOINT_FLAGS_USE_BLOCK_SOLVER = 0x2
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum VelocityMetricMode {
+                DirectionOnly = 0x0,
+                MagnitudeOnly = 0x1,
+                DirectionAndMagnitude = 0x2
+            }
+            // Alignment: 1
+            // Member count: 5
+            #[repr(u8)]
+            pub enum FacingMode {
+                FacingMode_Invalid = 0x0,
+                FacingMode_Manual = 0x1,
+                FacingMode_Path = 0x2,
+                FacingMode_LookTarget = 0x3,
+                FacingMode_ManualPosition = 0x4
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum AimMatrixBlendMode {
+                AimMatrixBlendMode_None = 0x0,
+                AimMatrixBlendMode_Additive = 0x1,
+                AimMatrixBlendMode_ModelSpaceAdditive = 0x2,
+                AimMatrixBlendMode_BoneMask = 0x3
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum AnimationSnapshotType_t {
+                ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0,
+                ANIMATION_SNAPSHOT_CLIENT_SIMULATION = 0x1,
+                ANIMATION_SNAPSHOT_CLIENT_PREDICTION = 0x2,
+                ANIMATION_SNAPSHOT_CLIENT_INTERPOLATION = 0x3,
+                ANIMATION_SNAPSHOT_CLIENT_RENDER = 0x4,
+                ANIMATION_SNAPSHOT_FINAL_COMPOSITE = 0x5,
+                ANIMATION_SNAPSHOT_MAX = 0x6
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum NmTargetWarpRule_t {
+                WarpXY = 0x0,
+                WarpZ = 0x1,
+                WarpXYZ = 0x2,
+                RotationOnly = 0x3
+            }
+            // Alignment: 4
+            // Member count: 8
+            #[repr(u32)]
+            pub enum FootFallTagFoot_t {
+                FOOT1 = 0x0,
+                FOOT2 = 0x1,
+                FOOT3 = 0x2,
+                FOOT4 = 0x3,
+                FOOT5 = 0x4,
+                FOOT6 = 0x5,
+                FOOT7 = 0x6,
+                FOOT8 = 0x7
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ChoiceMethod {
+                WeightedRandom = 0x0,
+                WeightedRandomNoRepeat = 0x1,
+                Iterate = 0x2,
+                IterateRandom = 0x3
+            }
+            // Alignment: 4
+            // Member count: 14
+            #[repr(u32)]
+            pub enum AnimVectorSource {
+                MoveDirection = 0x0,
+                FacingPosition = 0x1,
+                LookDirection = 0x2,
+                VectorParameter = 0x3,
+                WayPointDirection = 0x4,
+                Acceleration = 0x5,
+                SlopeNormal = 0x6,
+                SlopeNormal_WorldSpace = 0x7,
+                LookTarget = 0x8,
+                LookTarget_WorldSpace = 0x9,
+                WayPointPosition = 0xA,
+                GoalPosition = 0xB,
+                RootMotionVelocity = 0xC,
+                ManualTarget_WorldSpace = 0xD
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum IkTargetType {
+                IkTarget_Attachment = 0x0,
+                IkTarget_Bone = 0x1,
+                IkTarget_Parameter_ModelSpace = 0x2,
+                IkTarget_Parameter_WorldSpace = 0x3
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum BoneMaskBlendSpace {
+                BlendSpace_Parent = 0x0,
+                BlendSpace_Model = 0x1,
+                BlendSpace_Model_RotationOnly = 0x2,
+                BlendSpace_Model_TranslationOnly = 0x3
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ModelConfigAttachmentType_t {
+                MODEL_CONFIG_ATTACHMENT_INVALID = u32::MAX,
+                MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT = 0x0,
+                MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE = 0x1,
+                MODEL_CONFIG_ATTACHMENT_BONEMERGE = 0x2,
+                MODEL_CONFIG_ATTACHMENT_COUNT = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum BinaryNodeChildOption {
+                Child1 = 0x0,
+                Child2 = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum JumpCorrectionMethod {
+                ScaleMotion = 0x0,
+                AddCorrectionDelta = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum MoodType_t {
+                eMoodType_Head = 0x0,
+                eMoodType_Body = 0x1
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimFrameBlockAnim {
+                pub const m_nStartFrame: usize = 0x0; // int32
+                pub const m_nEndFrame: usize = 0x4; // int32
+                pub const m_segmentIndexArray: usize = 0x8; // CUtlVector<int32>
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CZeroPoseUpdateNode {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSlowDownOnSlopesUpdateNode {
+                pub const m_flSlowDownStrength: usize = 0x68; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod COrientationWarpUpdateNode {
+                pub const m_hFacingPositionParameter: usize = 0x6C; // CAnimParamHandle
+                pub const m_turnDamping: usize = 0x70; // CAnimInputDamping
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimParameterBase {
+                pub const m_name: usize = 0x18; // CGlobalSymbol
+                pub const m_sComment: usize = 0x20; // CUtlString
+                pub const m_group: usize = 0x28; // CUtlString
+                pub const m_id: usize = 0x30; // AnimParamID
+                pub const m_componentName: usize = 0x48; // CUtlString
+                pub const m_bNetworkingRequested: usize = 0x68; // bool
+                pub const m_bIsReferenced: usize = 0x69; // bool
+            }
+            // Parent: CAnimTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CSequenceFinishedAnimTag {
+                pub const m_sequenceName: usize = 0x58; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSceneObjectData {
+                pub const m_vMinBounds: usize = 0x0; // Vector
+                pub const m_vMaxBounds: usize = 0xC; // Vector
+                pub const m_drawCalls: usize = 0x18; // CUtlLeanVector<CMaterialDrawDescriptor>
+                pub const m_drawBounds: usize = 0x28; // CUtlLeanVector<AABB_t>
+                pub const m_meshlets: usize = 0x38; // CUtlLeanVector<CMeshletDescriptor>
+                pub const m_vTintColor: usize = 0x48; // Vector4D
+            }
+            // Parent: CCycleBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootCycle {
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CInputStreamUpdateNode {
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CIntAnimParameter {
+                pub const m_defaultValue: usize = 0x80; // int32
+                pub const m_minValue: usize = 0x84; // int32
+                pub const m_maxValue: usize = 0x88; // int32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmParameterizedBlendNode__CDefinition {
+                pub const m_sourceNodeIndices: usize = 0x10; // CUtlVectorFixedGrowable<int16,5>
+                pub const m_nInputParameterValueNodeIdx: usize = 0x38; // int16
+                pub const m_bAllowLooping: usize = 0x3A; // bool
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFrameSnapEvent {
+                pub const m_frameSnapMode: usize = 0x18; // NmFrameSnapEventMode_t
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod CNmTask {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimNodePath {
+                pub const m_path: usize = 0x0; // AnimNodeID[11]
+                pub const m_nCount: usize = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimNodeOutputID {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSyncTrack {
+                pub const m_syncEvents: usize = 0x0; // CUtlLeanVectorFixedGrowable<CNmSyncTrack::Event_t,10>
+                pub const m_nStartEventOffset: usize = 0xA8; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqBoneMaskList {
+                pub const m_sName: usize = 0x0; // CBufferString
+                pub const m_nLocalBoneArray: usize = 0x10; // CUtlVector<int16>
+                pub const m_flBoneWeightArray: usize = 0x28; // CUtlVector<float32>
+                pub const m_flDefaultMorphCtrlWeight: usize = 0x40; // float32
+                pub const m_morphCtrlWeightArray: usize = 0x48; // CUtlVector<CUtlPair<CBufferString,float32>>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimEncodedFrames {
+                pub const m_fileName: usize = 0x0; // CBufferString
+                pub const m_nFrames: usize = 0x10; // int32
+                pub const m_nFramesPerBlock: usize = 0x14; // int32
+                pub const m_frameblockArray: usize = 0x18; // CUtlVector<CAnimFrameBlockAnim>
+                pub const m_usageDifferences: usize = 0x30; // CAnimEncodeDifference
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SampleCode {
+                pub const m_subCode: usize = 0x0; // uint8[8]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCachedPose {
+                pub const m_transforms: usize = 0x8; // CUtlVector<CTransform>
+                pub const m_morphWeights: usize = 0x20; // CUtlVector<float32>
+                pub const m_hSequence: usize = 0x38; // HSequence
+                pub const m_flCycle: usize = 0x3C; // float32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTransitionEventConditionNode__CDefinition {
+                pub const m_requireRuleID: usize = 0x10; // CGlobalSymbol
+                pub const m_eventConditionRules: usize = 0x18; // CNmBitFlags
+                pub const m_nSourceStateNodeIdx: usize = 0x1C; // int16
+                pub const m_ruleCondition: usize = 0x1E; // NmTransitionRuleCondition_t
+            }
+            // Parent: CAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CTaskStatusAnimTag {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionGraphConfig {
+                pub const m_paramValues: usize = 0x0; // float32[4]
+                pub const m_flDuration: usize = 0x10; // float32
+                pub const m_nMotionIndex: usize = 0x14; // MotionIndex
+                pub const m_nSampleStart: usize = 0x18; // int32
+                pub const m_nSampleCount: usize = 0x1C; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionSearchNode {
+                pub const m_children: usize = 0x0; // CUtlVector<CMotionSearchNode*>
+                pub const m_quantizer: usize = 0x18; // CVectorQuantizer
+                pub const m_sampleCodes: usize = 0x38; // CUtlVector<CUtlVector<SampleCode>>
+                pub const m_sampleIndices: usize = 0x50; // CUtlVector<CUtlVector<int32>>
+                pub const m_selectableSamples: usize = 0x68; // CUtlVector<int32>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimActivity {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_nActivity: usize = 0x10; // int32
+                pub const m_nFlags: usize = 0x14; // int32
+                pub const m_nWeight: usize = 0x18; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimScriptManager {
+                pub const m_scriptInfo: usize = 0x10; // CUtlVector<ScriptInfo_t>
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AnimationDecodeDebugDumpElement_t {
+                pub const m_nEntityIndex: usize = 0x0; // int32
+                pub const m_modelName: usize = 0x8; // CUtlString
+                pub const m_poseParams: usize = 0x10; // CUtlVector<CUtlString>
+                pub const m_decodeOps: usize = 0x28; // CUtlVector<CUtlString>
+                pub const m_internalOps: usize = 0x40; // CUtlVector<CUtlString>
+                pub const m_decodedAnims: usize = 0x58; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ConfigIndex {
+                pub const m_nGroup: usize = 0x0; // uint16
+                pub const m_nConfig: usize = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXCollisionAttributes_t {
+                pub const m_CollisionGroup: usize = 0x0; // uint32
+                pub const m_InteractAs: usize = 0x8; // CUtlVector<uint32>
+                pub const m_InteractWith: usize = 0x20; // CUtlVector<uint32>
+                pub const m_InteractExclude: usize = 0x38; // CUtlVector<uint32>
+                pub const m_CollisionGroupString: usize = 0x50; // CUtlString
+                pub const m_InteractAsStrings: usize = 0x58; // CUtlVector<CUtlString>
+                pub const m_InteractWithStrings: usize = 0x70; // CUtlVector<CUtlString>
+                pub const m_InteractExcludeStrings: usize = 0x88; // CUtlVector<CUtlString>
+            }
+            // Parent: CSequenceUpdateNodeBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSequenceUpdateNode {
+                pub const m_hSequence: usize = 0x70; // HSequence
+                pub const m_duration: usize = 0x74; // float32
+                pub const m_paramSpans: usize = 0x78; // CParamSpanUpdater
+                pub const m_tags: usize = 0x90; // CUtlVector<TagSpan_t>
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmPassthroughNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmGraphDefinition__ExternalGraphSlot_t {
+                pub const m_nNodeIdx: usize = 0x0; // int16
+                pub const m_slotID: usize = 0x8; // CGlobalSymbol
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAimCameraUpdateNode {
+                pub const m_hParameterPosition: usize = 0x68; // CAnimParamHandle
+                pub const m_hParameterOrientation: usize = 0x6A; // CAnimParamHandle
+                pub const m_hParameterSpineRotationWeight: usize = 0x6C; // CAnimParamHandle
+                pub const m_hParameterPelvisOffset: usize = 0x6E; // CAnimParamHandle
+                pub const m_hParameterUseIK: usize = 0x70; // CAnimParamHandle
+                pub const m_hParameterCameraOnly: usize = 0x72; // CAnimParamHandle
+                pub const m_hParameterWeaponDepenetrationDistance: usize = 0x74; // CAnimParamHandle
+                pub const m_hParameterWeaponDepenetrationDelta: usize = 0x76; // CAnimParamHandle
+                pub const m_hParameterCameraClearanceDistance: usize = 0x78; // CAnimParamHandle
+                pub const m_opFixedSettings: usize = 0x80; // AimCameraOpFixedSettings_t
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqSeqDescFlag {
+                pub const m_bLooping: usize = 0x0; // bool
+                pub const m_bSnap: usize = 0x1; // bool
+                pub const m_bAutoplay: usize = 0x2; // bool
+                pub const m_bPost: usize = 0x3; // bool
+                pub const m_bHidden: usize = 0x4; // bool
+                pub const m_bMulti: usize = 0x5; // bool
+                pub const m_bLegacyDelta: usize = 0x6; // bool
+                pub const m_bLegacyWorldspace: usize = 0x7; // bool
+                pub const m_bLegacyCyclepose: usize = 0x8; // bool
+                pub const m_bLegacyRealtime: usize = 0x9; // bool
+                pub const m_bModelDoc: usize = 0xA; // bool
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PermModelInfo_t {
+                pub const m_nFlags: usize = 0x0; // uint32
+                pub const m_vHullMin: usize = 0x4; // Vector
+                pub const m_vHullMax: usize = 0x10; // Vector
+                pub const m_vViewMin: usize = 0x1C; // Vector
+                pub const m_vViewMax: usize = 0x28; // Vector
+                pub const m_flMass: usize = 0x34; // float32
+                pub const m_vEyePosition: usize = 0x38; // Vector
+                pub const m_flMaxEyeDeflection: usize = 0x44; // float32
+                pub const m_sSurfaceProperty: usize = 0x48; // CUtlString
+                pub const m_keyValueText: usize = 0x50; // CUtlString
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod StanceInfo_t {
+                pub const m_vPosition: usize = 0x0; // Vector
+                pub const m_flDirection: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod IKBoneNameAndIndex_t {
+                pub const m_Name: usize = 0x0; // CUtlString
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStanceScaleUpdateNode {
+                pub const m_hParam: usize = 0x68; // CAnimParamHandle
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBoneMaskBlendNode__CDefinition {
+                pub const m_nSourceMaskNodeIdx: usize = 0x10; // int16
+                pub const m_nTargetMaskNodeIdx: usize = 0x12; // int16
+                pub const m_nBlendWeightValueNodeIdx: usize = 0x14; // int16
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIDEventNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+                pub const m_defaultValue: usize = 0x18; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod HitReactFixedSettings_t {
+                pub const m_nWeightListIndex: usize = 0x0; // int32
+                pub const m_nEffectedBoneCount: usize = 0x4; // int32
+                pub const m_flMaxImpactForce: usize = 0x8; // float32
+                pub const m_flMinImpactForce: usize = 0xC; // float32
+                pub const m_flWhipImpactScale: usize = 0x10; // float32
+                pub const m_flCounterRotationScale: usize = 0x14; // float32
+                pub const m_flDistanceFadeScale: usize = 0x18; // float32
+                pub const m_flPropagationScale: usize = 0x1C; // float32
+                pub const m_flWhipDelay: usize = 0x20; // float32
+                pub const m_flSpringStrength: usize = 0x24; // float32
+                pub const m_flWhipSpringStrength: usize = 0x28; // float32
+                pub const m_flMaxAngleRadians: usize = 0x2C; // float32
+                pub const m_nHipBoneIndex: usize = 0x30; // int32
+                pub const m_flHipBoneTranslationScale: usize = 0x34; // float32
+                pub const m_flHipDipSpringStrength: usize = 0x38; // float32
+                pub const m_flHipDipImpactScale: usize = 0x3C; // float32
+                pub const m_flHipDipDelay: usize = 0x40; // float32
+            }
+            // Parent: CNmGraphNode__CDefinition
+            // Field count: 0
+            pub mod CNmPoseNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimTagBase {
+                pub const m_name: usize = 0x18; // CGlobalSymbol
+                pub const m_sComment: usize = 0x20; // CUtlString
+                pub const m_group: usize = 0x28; // CGlobalSymbol
+                pub const m_tagID: usize = 0x30; // AnimTagID
+                pub const m_bIsReferenced: usize = 0x48; // bool
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionGraph {
+                pub const m_paramSpans: usize = 0x10; // CParamSpanUpdater
+                pub const m_tags: usize = 0x28; // CUtlVector<TagSpan_t>
+                pub const m_pRootNode: usize = 0x40; // CSmartPtr<CMotionNode>
+                pub const m_nParameterCount: usize = 0x48; // int32
+                pub const m_nConfigStartIndex: usize = 0x4C; // int32
+                pub const m_nConfigCount: usize = 0x50; // int32
+                pub const m_bLoop: usize = 0x54; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVectorInfoNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_desiredInfo: usize = 0x12; // CNmVectorInfoNode::Info_t
+            }
+            // Parent: AnimationSnapshotBase_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AnimationSnapshot_t {
+                pub const m_nEntIndex: usize = 0x110; // int32
+                pub const m_modelName: usize = 0x118; // CUtlString
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            pub mod CNmBlendTask {
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            pub mod CNmVectorValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqTransition {
+                pub const m_flFadeInTime: usize = 0x0; // float32
+                pub const m_flFadeOutTime: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimGraphSettingsGroup {
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVirtualParameterTargetNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimGraphDebugReplay {
+                pub const m_animGraphFileName: usize = 0x40; // CUtlString
+                pub const m_frameList: usize = 0x48; // CUtlVector<CSmartPtr<CAnimReplayFrame>>
+                pub const m_startIndex: usize = 0x60; // int32
+                pub const m_writeIndex: usize = 0x64; // int32
+                pub const m_frameCount: usize = 0x68; // int32
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CVectorAnimParameter {
+                pub const m_defaultValue: usize = 0x80; // Vector
+                pub const m_bInterpolate: usize = 0x8C; // bool
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            pub mod CNmCachedPoseReadTask {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateMachineNode__StateDefinition_t {
+                pub const m_nStateNodeIdx: usize = 0x0; // int16
+                pub const m_nEntryConditionNodeIdx: usize = 0x2; // int16
+                pub const m_transitionDefinitions: usize = 0x8; // CUtlLeanVectorFixedGrowable<CNmStateMachineNode::TransitionDefinition_t,5>
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStanceOverrideUpdateNode {
+                pub const m_footStanceInfo: usize = 0x68; // CUtlVector<StanceInfo_t>
+                pub const m_pStanceSourceNode: usize = 0x80; // CAnimUpdateNodeRef
+                pub const m_hParameter: usize = 0x90; // CAnimParamHandle
+                pub const m_eMode: usize = 0x94; // StanceOverrideMode
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod LookAtBone_t {
+                pub const m_index: usize = 0x0; // int32
+                pub const m_weight: usize = 0x4; // float32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTransitionNode__CDefinition {
+                pub const m_nTargetStateNodeIdx: usize = 0x10; // int16
+                pub const m_nDurationOverrideNodeIdx: usize = 0x12; // int16
+                pub const m_syncEventOffsetOverrideNodeIdx: usize = 0x14; // int16
+                pub const m_startBoneMaskNodeIdx: usize = 0x16; // int16
+                pub const m_flDuration: usize = 0x18; // float32
+                pub const m_boneMaskBlendInTimePercentage: usize = 0x1C; // NmPercent_t
+                pub const m_syncEventOffset: usize = 0x20; // float32
+                pub const m_transitionOptions: usize = 0x24; // CNmBitFlags
+                pub const m_targetSyncIDNodeIdx: usize = 0x28; // int16
+                pub const m_blendWeightEasing: usize = 0x2A; // NmEasingOperation_t
+                pub const m_rootMotionBlend: usize = 0x2B; // NmRootMotionBlendMode_t
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatEaseNode__CDefinition {
+                pub const m_flEaseTime: usize = 0x10; // float32
+                pub const m_flStartValue: usize = 0x14; // float32
+                pub const m_nInputValueNodeIdx: usize = 0x18; // int16
+                pub const m_easingOp: usize = 0x1A; // NmEasingOperation_t
+                pub const m_bUseStartValue: usize = 0x1B; // bool
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimEncodeDifference {
+                pub const m_boneArray: usize = 0x0; // CUtlVector<CAnimBoneDifference>
+                pub const m_morphArray: usize = 0x18; // CUtlVector<CAnimMorphDifference>
+                pub const m_userArray: usize = 0x30; // CUtlVector<CAnimUserDifference>
+                pub const m_bHasRotationBitArray: usize = 0x48; // CUtlVector<uint8>
+                pub const m_bHasMovementBitArray: usize = 0x60; // CUtlVector<uint8>
+                pub const m_bHasMorphBitArray: usize = 0x78; // CUtlVector<uint8>
+                pub const m_bHasUserBitArray: usize = 0x90; // CUtlVector<uint8>
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRootUpdateNode {
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTargetOffsetNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_bIsBoneSpaceOffset: usize = 0x12; // bool
+                pub const m_rotationOffset: usize = 0x20; // Quaternion
+                pub const m_translationOffset: usize = 0x30; // Vector
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionGraphUpdateNode {
+                pub const m_pMotionGraph: usize = 0x58; // CSmartPtr<CMotionGraph>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatAngleMathNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_operation: usize = 0x12; // CNmFloatAngleMathNode::Operation_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimParamHandle {
+                pub const m_type: usize = 0x0; // AnimParamType_t
+                pub const m_index: usize = 0x1; // uint8
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod WeightList {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_weights: usize = 0x8; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MotionIndex {
+                pub const m_nGroup: usize = 0x0; // uint16
+                pub const m_nMotion: usize = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FollowAttachmentSettings_t {
+                pub const m_attachment: usize = 0x0; // CAnimAttachment
+                pub const m_boneIndex: usize = 0x80; // int32
+                pub const m_bMatchTranslation: usize = 0x84; // bool
+                pub const m_bMatchRotation: usize = 0x85; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimNodeID {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmClipSelectorNode__CDefinition {
+                pub const m_optionNodeIndices: usize = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                pub const m_conditionNodeIndices: usize = 0x28; // CUtlLeanVectorFixedGrowable<int16,5>
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CLookComponentUpdater {
+                pub const m_hLookHeading: usize = 0x34; // CAnimParamHandle
+                pub const m_hLookHeadingVelocity: usize = 0x36; // CAnimParamHandle
+                pub const m_hLookPitch: usize = 0x38; // CAnimParamHandle
+                pub const m_hLookDistance: usize = 0x3A; // CAnimParamHandle
+                pub const m_hLookDirection: usize = 0x3C; // CAnimParamHandle
+                pub const m_hLookTarget: usize = 0x3E; // CAnimParamHandle
+                pub const m_hLookTargetWorldSpace: usize = 0x40; // CAnimParamHandle
+                pub const m_bNetworkLookTarget: usize = 0x42; // bool
+            }
+            // Parent: CAnimGraphSettingsGroup
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CAnimGraphNetworkSettings {
+                pub const m_bNetworkingEnabled: usize = 0x20; // bool
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSingleFrameUpdateNode {
+                pub const m_actions: usize = 0x58; // CUtlVector<CSmartPtr<CAnimActionUpdater>>
+                pub const m_hPoseCacheHandle: usize = 0x70; // CPoseHandle
+                pub const m_hSequence: usize = 0x74; // HSequence
+                pub const m_flCycle: usize = 0x78; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBlockSelectionMetricEvaluator {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigList {
+                pub const m_bHideMaterialGroupInTools: usize = 0x0; // bool
+                pub const m_bHideRenderColorInTools: usize = 0x1; // bool
+                pub const m_Configs: usize = 0x8; // CUtlVector<CModelConfig*>
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqAutoLayerFlag {
+                pub const m_bPost: usize = 0x0; // bool
+                pub const m_bSpline: usize = 0x1; // bool
+                pub const m_bXFade: usize = 0x2; // bool
+                pub const m_bNoBlend: usize = 0x3; // bool
+                pub const m_bLocal: usize = 0x4; // bool
+                pub const m_bPose: usize = 0x5; // bool
+                pub const m_bFetchFrame: usize = 0x6; // bool
+                pub const m_bSubtract: usize = 0x7; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimStateID {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIDEventConditionNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+                pub const m_eventIDs: usize = 0x18; // CUtlVectorFixedGrowable<CGlobalSymbol,5>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ModelBoneFlexDriver_t {
+                pub const m_boneName: usize = 0x0; // CUtlString
+                pub const m_boneNameToken: usize = 0x8; // uint32
+                pub const m_controls: usize = 0x10; // CUtlVector<ModelBoneFlexDriverControl_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMorphData {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_morphRectDatas: usize = 0x8; // CUtlVector<CMorphRectData>
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootPinningUpdateNode {
+                pub const m_poseOpFixedData: usize = 0x70; // FootPinningPoseOpFixedData_t
+                pub const m_eTimingSource: usize = 0xA0; // FootPinningTimingSource
+                pub const m_params: usize = 0xA8; // CUtlVector<CAnimParamHandle>
+                pub const m_bResetChild: usize = 0xC0; // bool
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqPoseSetting {
+                pub const m_sPoseParameter: usize = 0x0; // CBufferString
+                pub const m_sAttachment: usize = 0x10; // CBufferString
+                pub const m_sReferenceSequence: usize = 0x20; // CBufferString
+                pub const m_flValue: usize = 0x30; // float32
+                pub const m_bX: usize = 0x34; // bool
+                pub const m_bY: usize = 0x35; // bool
+                pub const m_bZ: usize = 0x36; // bool
+                pub const m_eType: usize = 0x38; // int32
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVirtualParameterFloatNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAttachment {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_influenceNames: usize = 0x8; // CUtlString[3]
+                pub const m_vInfluenceRotations: usize = 0x20; // Quaternion[3]
+                pub const m_vInfluenceOffsets: usize = 0x50; // Vector[3]
+                pub const m_influenceWeights: usize = 0x74; // float32[3]
+                pub const m_bInfluenceRootTransform: usize = 0x80; // bool[3]
+                pub const m_nInfluences: usize = 0x83; // uint8
+                pub const m_bIgnoreRotation: usize = 0x84; // bool
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSequenceUpdateNodeBase {
+                pub const m_playbackSpeed: usize = 0x64; // float32
+                pub const m_bLoop: usize = 0x68; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDrawCullingData {
+                pub const m_vConeApex: usize = 0x0; // Vector
+                pub const m_ConeAxis: usize = 0xC; // int8[3]
+                pub const m_ConeCutoff: usize = 0xF; // int8
+            }
+            // Parent: None
+            // Field count: 27
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXJoint_t {
+                pub const m_nType: usize = 0x0; // uint16
+                pub const m_nBody1: usize = 0x2; // uint16
+                pub const m_nBody2: usize = 0x4; // uint16
+                pub const m_nFlags: usize = 0x6; // uint16
+                pub const m_Frame1: usize = 0x10; // CTransform
+                pub const m_Frame2: usize = 0x30; // CTransform
+                pub const m_bEnableCollision: usize = 0x50; // bool
+                pub const m_bEnableLinearLimit: usize = 0x51; // bool
+                pub const m_LinearLimit: usize = 0x54; // VPhysXRange_t
+                pub const m_bEnableLinearMotor: usize = 0x5C; // bool
+                pub const m_vLinearTargetVelocity: usize = 0x60; // Vector
+                pub const m_flMaxForce: usize = 0x6C; // float32
+                pub const m_bEnableSwingLimit: usize = 0x70; // bool
+                pub const m_SwingLimit: usize = 0x74; // VPhysXRange_t
+                pub const m_bEnableTwistLimit: usize = 0x7C; // bool
+                pub const m_TwistLimit: usize = 0x80; // VPhysXRange_t
+                pub const m_bEnableAngularMotor: usize = 0x88; // bool
+                pub const m_vAngularTargetVelocity: usize = 0x8C; // Vector
+                pub const m_flMaxTorque: usize = 0x98; // float32
+                pub const m_flLinearFrequency: usize = 0x9C; // float32
+                pub const m_flLinearDampingRatio: usize = 0xA0; // float32
+                pub const m_flAngularFrequency: usize = 0xA4; // float32
+                pub const m_flAngularDampingRatio: usize = 0xA8; // float32
+                pub const m_flFriction: usize = 0xAC; // float32
+                pub const m_flElasticity: usize = 0xB0; // float32
+                pub const m_flElasticDamping: usize = 0xB4; // float32
+                pub const m_flPlasticity: usize = 0xB8; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStateNodeTransitionData {
+                pub const m_curve: usize = 0x0; // CBlendCurve
+                pub const m_blendDuration: usize = 0x8; // CAnimValue<float32>
+                pub const m_resetCycleValue: usize = 0x10; // CAnimValue<float32>
+                pub const m_bReset: usize = 0x0; // bitfield:1
+                pub const m_resetCycleOption: usize = 0x0; // bitfield:3
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTimeRemainingMetricEvaluator {
+                pub const m_bMatchByTimeRemaining: usize = 0x50; // bool
+                pub const m_flMaxTimeRemaining: usize = 0x54; // float32
+                pub const m_bFilterByTimeRemaining: usize = 0x58; // bool
+                pub const m_flMinTimeRemaining: usize = 0x5C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement {
+                pub const m_ElementName: usize = 0x8; // CUtlString
+                pub const m_NestedElements: usize = 0x10; // CUtlVector<CModelConfigElement*>
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmControlParameterVectorNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FootFixedSettings {
+                pub const m_traceSettings: usize = 0x0; // TraceSettings_t
+                pub const m_vFootBaseBindPosePositionMS: usize = 0x10; // VectorAligned
+                pub const m_flFootBaseLength: usize = 0x20; // float32
+                pub const m_flMaxRotationLeft: usize = 0x24; // float32
+                pub const m_flMaxRotationRight: usize = 0x28; // float32
+                pub const m_footstepLandedTagIndex: usize = 0x2C; // int32
+                pub const m_bEnableTracing: usize = 0x30; // bool
+                pub const m_flTraceAngleBlend: usize = 0x34; // float32
+                pub const m_nDisableTagIndex: usize = 0x38; // int32
+                pub const m_nFootIndex: usize = 0x3C; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfig {
+                pub const m_ConfigName: usize = 0x0; // CUtlString
+                pub const m_Elements: usize = 0x8; // CUtlVector<CModelConfigElement*>
+                pub const m_bTopLevel: usize = 0x20; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimComponentID {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXAggregateData_t {
+                pub const m_nFlags: usize = 0x0; // uint16
+                pub const m_nRefCounter: usize = 0x2; // uint16
+                pub const m_bonesHash: usize = 0x8; // CUtlVector<uint32>
+                pub const m_boneNames: usize = 0x20; // CUtlVector<CUtlString>
+                pub const m_indexNames: usize = 0x38; // CUtlVector<uint16>
+                pub const m_indexHash: usize = 0x50; // CUtlVector<uint16>
+                pub const m_bindPose: usize = 0x68; // CUtlVector<matrix3x4a_t>
+                pub const m_parts: usize = 0x80; // CUtlVector<VPhysXBodyPart_t>
+                pub const m_constraints2: usize = 0x98; // CUtlVector<VPhysXConstraint2_t>
+                pub const m_joints: usize = 0xB0; // CUtlVector<VPhysXJoint_t>
+                pub const m_pFeModel: usize = 0xC8; // PhysFeModelDesc_t*
+                pub const m_boneParents: usize = 0xD0; // CUtlVector<uint16>
+                pub const m_surfacePropertyHashes: usize = 0xE8; // CUtlVector<uint32>
+                pub const m_collisionAttributes: usize = 0x100; // CUtlVector<VPhysXCollisionAttributes_t>
+                pub const m_debugPartNames: usize = 0x118; // CUtlVector<CUtlString>
+                pub const m_embeddedKeyvalues: usize = 0x130; // CUtlString
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmGraphDefinition {
+                pub const m_persistentNodeIndices: usize = 0x0; // CUtlVector<int16>
+                pub const m_nRootNodeIdx: usize = 0x18; // int16
+                pub const m_controlParameterIDs: usize = 0x20; // CUtlVector<CGlobalSymbol>
+                pub const m_virtualParameterIDs: usize = 0x38; // CUtlVector<CGlobalSymbol>
+                pub const m_virtualParameterNodeIndices: usize = 0x50; // CUtlVector<int16>
+                pub const m_childGraphSlots: usize = 0x68; // CUtlVector<CNmGraphDefinition::ChildGraphSlot_t>
+                pub const m_externalGraphSlots: usize = 0x80; // CUtlVector<CNmGraphDefinition::ExternalGraphSlot_t>
+                pub const m_nodePaths: usize = 0x108; // CUtlVector<CUtlString>
+                pub const m_runtimeVersionID: usize = 0x120; // V_uuid_t
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSelectorNode__CDefinition {
+                pub const m_optionNodeIndices: usize = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                pub const m_conditionNodeIndices: usize = 0x28; // CUtlLeanVectorFixedGrowable<int16,5>
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimDemoCaptureSettings {
+                pub const m_vecErrorRangeSplineRotation: usize = 0x0; // Vector2D
+                pub const m_vecErrorRangeSplineTranslation: usize = 0x8; // Vector2D
+                pub const m_vecErrorRangeSplineScale: usize = 0x10; // Vector2D
+                pub const m_flIkRotation_MaxSplineError: usize = 0x18; // float32
+                pub const m_flIkTranslation_MaxSplineError: usize = 0x1C; // float32
+                pub const m_vecErrorRangeQuantizationRotation: usize = 0x20; // Vector2D
+                pub const m_vecErrorRangeQuantizationTranslation: usize = 0x28; // Vector2D
+                pub const m_vecErrorRangeQuantizationScale: usize = 0x30; // Vector2D
+                pub const m_flIkRotation_MaxQuantizationError: usize = 0x38; // float32
+                pub const m_flIkTranslation_MaxQuantizationError: usize = 0x3C; // float32
+                pub const m_baseSequence: usize = 0x40; // CUtlString
+                pub const m_nBaseSequenceFrame: usize = 0x48; // int32
+                pub const m_boneSelectionMode: usize = 0x4C; // EDemoBoneSelectionMode
+                pub const m_bones: usize = 0x50; // CUtlVector<BoneDemoCaptureSettings_t>
+                pub const m_ikChains: usize = 0x68; // CUtlVector<IKDemoCaptureSettings_t>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod IKDemoCaptureSettings_t {
+                pub const m_parentBoneName: usize = 0x0; // CUtlString
+                pub const m_eMode: usize = 0x8; // IKChannelMode
+                pub const m_ikChainName: usize = 0x10; // CUtlString
+                pub const m_oneBoneStart: usize = 0x18; // CUtlString
+                pub const m_oneBoneEnd: usize = 0x20; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqMultiFetchFlag {
+                pub const m_bRealtime: usize = 0x0; // bool
+                pub const m_bCylepose: usize = 0x1; // bool
+                pub const m_b0D: usize = 0x2; // bool
+                pub const m_b1D: usize = 0x3; // bool
+                pub const m_b2D: usize = 0x4; // bool
+                pub const m_b2D_TRI: usize = 0x5; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXRange_t {
+                pub const m_flMin: usize = 0x0; // float32
+                pub const m_flMax: usize = 0x4; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStopAtGoalUpdateNode {
+                pub const m_flOuterRadius: usize = 0x6C; // float32
+                pub const m_flInnerRadius: usize = 0x70; // float32
+                pub const m_flMaxScale: usize = 0x74; // float32
+                pub const m_flMinScale: usize = 0x78; // float32
+                pub const m_damping: usize = 0x80; // CAnimInputDamping
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIDEventPercentageThroughNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+                pub const m_eventID: usize = 0x18; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimBoneDifference {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_parent: usize = 0x10; // CBufferString
+                pub const m_posError: usize = 0x20; // Vector
+                pub const m_bHasRotation: usize = 0x2C; // bool
+                pub const m_bHasMovement: usize = 0x2D; // bool
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCachedBoolNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_mode: usize = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CCycleBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimCycle {
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CActionComponentUpdater {
+                pub const m_actions: usize = 0x30; // CUtlVector<CSmartPtr<CAnimActionUpdater>>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmGraphDataSet {
+                pub const m_variationID: usize = 0x0; // CGlobalSymbol
+                pub const m_skeleton: usize = 0x8; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+                pub const m_resources: usize = 0x10; // CUtlVector<CStrongHandleVoid>
+            }
+            // Parent: CPathAnimMotorUpdaterBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDampedPathAnimMotorUpdater {
+                pub const m_flAnticipationTime: usize = 0x2C; // float32
+                pub const m_flMinSpeedScale: usize = 0x30; // float32
+                pub const m_hAnticipationPosParam: usize = 0x34; // CAnimParamHandle
+                pub const m_hAnticipationHeadingParam: usize = 0x36; // CAnimParamHandle
+                pub const m_flSpringConstant: usize = 0x38; // float32
+                pub const m_flMinSpringTension: usize = 0x3C; // float32
+                pub const m_flMaxSpringTension: usize = 0x40; // float32
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCachedFloatNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_mode: usize = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatSwitchNode__CDefinition {
+                pub const m_nSwitchValueNodeIdx: usize = 0x10; // int16
+                pub const m_nTrueValueNodeIdx: usize = 0x12; // int16
+                pub const m_nFalseValueNodeIdx: usize = 0x14; // int16
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_SetMaterialGroupOnAttachedModels {
+                pub const m_MaterialGroupName: usize = 0x48; // CUtlString
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVirtualParameterBoneMaskNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPathHelperUpdateNode {
+                pub const m_flStoppingRadius: usize = 0x68; // float32
+                pub const m_flStoppingSpeedScale: usize = 0x6C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialGroup_t {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_materials: usize = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeIMaterial2>>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMorphBundleData {
+                pub const m_flULeftSrc: usize = 0x0; // float32
+                pub const m_flVTopSrc: usize = 0x4; // float32
+                pub const m_offsets: usize = 0x8; // CUtlVector<float32>
+                pub const m_ranges: usize = 0x20; // CUtlVector<float32>
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_UserPick {
+                pub const m_Choices: usize = 0x48; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSolveIKTargetHandle_t {
+                pub const m_positionHandle: usize = 0x0; // CAnimParamHandle
+                pub const m_orientationHandle: usize = 0x2; // CAnimParamHandle
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootAdjustmentUpdateNode {
+                pub const m_clips: usize = 0x70; // CUtlVector<HSequence>
+                pub const m_hBasePoseCacheHandle: usize = 0x88; // CPoseHandle
+                pub const m_facingTarget: usize = 0x8C; // CAnimParamHandle
+                pub const m_flTurnTimeMin: usize = 0x90; // float32
+                pub const m_flTurnTimeMax: usize = 0x94; // float32
+                pub const m_flStepHeightMax: usize = 0x98; // float32
+                pub const m_flStepHeightMaxAngle: usize = 0x9C; // float32
+                pub const m_bResetChild: usize = 0xA0; // bool
+                pub const m_bAnimationDriven: usize = 0xA1; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CChoreoUpdateNode {
+            }
+            // Parent: CBaseConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAimConstraint {
+                pub const m_qAimOffset: usize = 0x70; // Quaternion
+                pub const m_nUpType: usize = 0x80; // uint32
+            }
+            // Parent: CAnimTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CFootFallAnimTag {
+                pub const m_foot: usize = 0x58; // FootFallTagFoot_t
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMaterialDrawDescriptor {
+                pub const m_flUvDensity: usize = 0x0; // float32
+                pub const m_vTintColor: usize = 0x4; // Vector
+                pub const m_flAlpha: usize = 0x10; // float32
+                pub const m_nNumMeshlets: usize = 0x16; // uint16
+                pub const m_nFirstMeshlet: usize = 0x1C; // uint32
+                pub const m_nPrimitiveType: usize = 0x20; // RenderPrimitiveType_t
+                pub const m_nBaseVertex: usize = 0x24; // int32
+                pub const m_nVertexCount: usize = 0x28; // int32
+                pub const m_nStartIndex: usize = 0x2C; // int32
+                pub const m_nIndexCount: usize = 0x30; // int32
+                pub const m_indexBuffer: usize = 0x98; // CRenderBufferBinding
+                pub const m_material: usize = 0xC8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSkeleton {
+                pub const m_ID: usize = 0x0; // CGlobalSymbol
+                pub const m_boneIDs: usize = 0x8; // CUtlLeanVector<CGlobalSymbol>
+                pub const m_parentIndices: usize = 0x18; // CUtlVector<int32>
+                pub const m_parentSpaceReferencePose: usize = 0x30; // CUtlVector<CTransform>
+                pub const m_modelSpaceReferencePose: usize = 0x48; // CUtlVector<CTransform>
+                pub const m_numBonesToSampleAtLowLOD: usize = 0x60; // int32
+                pub const m_boneMasks: usize = 0x68; // CUtlLeanVector<CNmBoneMask>
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStepsRemainingMetricEvaluator {
+                pub const m_footIndices: usize = 0x50; // CUtlVector<int32>
+                pub const m_flMinStepsRemaining: usize = 0x68; // float32
+            }
+            // Parent: CNmParameterizedBlendNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVelocityBlendNode__CDefinition {
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            pub mod CNmZeroPoseTask {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyElementNameFn
+            pub mod CBodyGroupSetting {
+                pub const m_BodyGroupName: usize = 0x0; // CUtlString
+                pub const m_nBodyGroupOption: usize = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVectorQuantizer {
+                pub const m_centroidVectors: usize = 0x0; // CUtlVector<float32>
+                pub const m_nCentroids: usize = 0x18; // int32
+                pub const m_nDimensions: usize = 0x1C; // int32
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVectorCreateNode__CDefinition {
+                pub const m_inputVectorValueNodeIdx: usize = 0x10; // int16
+                pub const m_inputValueXNodeIdx: usize = 0x12; // int16
+                pub const m_inputValueYNodeIdx: usize = 0x14; // int16
+                pub const m_inputValueZNodeIdx: usize = 0x16; // int16
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+                pub const m_entryEvents: usize = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+                pub const m_executeEvents: usize = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+                pub const m_exitEvents: usize = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,3>
+                pub const m_timedRemainingEvents: usize = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t,1>
+                pub const m_timedElapsedEvents: usize = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t,1>
+                pub const m_nLayerWeightNodeIdx: usize = 0xA8; // int16
+                pub const m_nLayerRootMotionWeightNodeIdx: usize = 0xAA; // int16
+                pub const m_nLayerBoneMaskNodeIdx: usize = 0xAC; // int16
+                pub const m_bIsOffState: usize = 0xAE; // bool
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBoneMaskSelectorNode__CDefinition {
+                pub const m_defaultMaskNodeIdx: usize = 0x10; // int16
+                pub const m_parameterValueNodeIdx: usize = 0x12; // int16
+                pub const m_switchDynamically: usize = 0x14; // bool
+                pub const m_maskNodeIndices: usize = 0x18; // CUtlVectorFixedGrowable<int16,7>
+                pub const m_parameterValues: usize = 0x40; // CUtlVectorFixedGrowable<CGlobalSymbol,7>
+                pub const m_flBlendTimeSeconds: usize = 0x90; // float32
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVirtualParameterVectorNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootCycleMetricEvaluator {
+                pub const m_footIndices: usize = 0x50; // CUtlVector<int32>
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmConstIDNode__CDefinition {
+                pub const m_value: usize = 0x10; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CHitBox {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_sSurfaceProperty: usize = 0x8; // CUtlString
+                pub const m_sBoneName: usize = 0x10; // CUtlString
+                pub const m_vMinBounds: usize = 0x18; // Vector
+                pub const m_vMaxBounds: usize = 0x24; // Vector
+                pub const m_flShapeRadius: usize = 0x30; // float32
+                pub const m_nBoneNameHash: usize = 0x34; // uint32
+                pub const m_nGroupId: usize = 0x38; // int32
+                pub const m_nShapeType: usize = 0x3C; // uint8
+                pub const m_bTranslationOnly: usize = 0x3D; // bool
+                pub const m_CRC: usize = 0x40; // uint32
+                pub const m_cRenderColor: usize = 0x44; // Color
+                pub const m_nHitBoxIndex: usize = 0x48; // uint16
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmParameterizedSelectorNode__CDefinition {
+                pub const m_optionNodeIndices: usize = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                pub const m_parameterNodeIdx: usize = 0x28; // int16
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ModelSkeletonData_t {
+                pub const m_boneName: usize = 0x0; // CUtlVector<CUtlString>
+                pub const m_nParent: usize = 0x18; // CUtlVector<int16>
+                pub const m_boneSphere: usize = 0x30; // CUtlVector<float32>
+                pub const m_nFlag: usize = 0x48; // CUtlVector<uint32>
+                pub const m_bonePosParent: usize = 0x60; // CUtlVector<Vector>
+                pub const m_boneRotParent: usize = 0x78; // CUtlVector<QuaternionStorage>
+                pub const m_boneScaleParent: usize = 0x90; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmEvent {
+                pub const m_flStartTimeSeconds: usize = 0x8; // float32
+                pub const m_flDurationSeconds: usize = 0xC; // float32
+                pub const m_syncID: usize = 0x10; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod NmCompressionSettings_t__QuantizationRange_t {
+                pub const m_flRangeStart: usize = 0x0; // float32
+                pub const m_flRangeLength: usize = 0x4; // float32
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            pub mod CNmBlendTaskBase {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod TagSpan_t {
+                pub const m_tagIndex: usize = 0x0; // int32
+                pub const m_startCycle: usize = 0x4; // float32
+                pub const m_endCycle: usize = 0x8; // float32
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmConstTargetNode__CDefinition {
+                pub const m_value: usize = 0x10; // CNmTarget
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PermModelDataAnimatedMaterialAttribute_t {
+                pub const m_AttributeName: usize = 0x0; // CUtlString
+                pub const m_nNumChannels: usize = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionDataSet {
+                pub const m_groups: usize = 0x0; // CUtlVector<CMotionGraphGroup>
+                pub const m_nDimensionCount: usize = 0x18; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CProductQuantizer {
+                pub const m_subQuantizers: usize = 0x0; // CUtlVector<CVectorQuantizer>
+                pub const m_nDimensions: usize = 0x18; // int32
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CChoiceUpdateNode {
+                pub const m_children: usize = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+                pub const m_weights: usize = 0x70; // CUtlVector<float32>
+                pub const m_blendTimes: usize = 0x88; // CUtlVector<float32>
+                pub const m_choiceMethod: usize = 0xA0; // ChoiceMethod
+                pub const m_choiceChangeMethod: usize = 0xA4; // ChoiceChangeMethod
+                pub const m_blendMethod: usize = 0xA8; // ChoiceBlendMethod
+                pub const m_blendTime: usize = 0xAC; // float32
+                pub const m_bCrossFade: usize = 0xB0; // bool
+                pub const m_bResetChosen: usize = 0xB1; // bool
+                pub const m_bDontResetSameSelection: usize = 0xB2; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonAnimCapture_t__Bone_t {
+                pub const m_Name: usize = 0x0; // CUtlString
+                pub const m_BindPose: usize = 0x10; // CTransform
+                pub const m_nParent: usize = 0x30; // int32
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CExpressionActionUpdater {
+                pub const m_hParam: usize = 0x18; // CAnimParamHandle
+                pub const m_eParamType: usize = 0x1A; // AnimParamType_t
+                pub const m_hScript: usize = 0x1C; // AnimScriptHandle
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatMathNode__CDefinition {
+                pub const m_nInputValueNodeIdxA: usize = 0x10; // int16
+                pub const m_nInputValueNodeIdxB: usize = 0x12; // int16
+                pub const m_bReturnAbsoluteResult: usize = 0x14; // bool
+                pub const m_operator: usize = 0x15; // CNmFloatMathNode::Operator_t
+                pub const m_flValueB: usize = 0x18; // float32
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGraphVisualizerLine {
+                pub const m_vWsPositionStart: usize = 0x40; // VectorAligned
+                pub const m_vWsPositionEnd: usize = 0x50; // VectorAligned
+                pub const m_Color: usize = 0x60; // Color
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCycleControlUpdateNode {
+                pub const m_valueSource: usize = 0x68; // AnimValueSource
+                pub const m_paramIndex: usize = 0x6C; // CAnimParamHandle
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTargetInfoNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_infoType: usize = 0x14; // CNmTargetInfoNode::Info_t
+                pub const m_bIsWorldSpaceTarget: usize = 0x18; // bool
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDampedValueComponentUpdater {
+                pub const m_items: usize = 0x30; // CUtlVector<CDampedValueUpdateItem>
+            }
+            // Parent: CBoneConstraintBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBaseConstraint {
+                pub const m_name: usize = 0x28; // CUtlString
+                pub const m_vUpVector: usize = 0x30; // Vector
+                pub const m_slaves: usize = 0x40; // CUtlLeanVector<CConstraintSlave>
+                pub const m_targets: usize = 0x50; // CUtlVector<CConstraintTarget>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmControlParameterFloatNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod BlendItem_t {
+                pub const m_tags: usize = 0x0; // CUtlVector<TagSpan_t>
+                pub const m_pChild: usize = 0x18; // CAnimUpdateNodeRef
+                pub const m_hSequence: usize = 0x28; // HSequence
+                pub const m_vPos: usize = 0x2C; // Vector2D
+                pub const m_flDuration: usize = 0x34; // float32
+                pub const m_bUseCustomDuration: usize = 0x38; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmClipNode__CDefinition {
+                pub const m_nPlayInReverseValueNodeIdx: usize = 0x10; // int16
+                pub const m_nResetTimeValueNodeIdx: usize = 0x12; // int16
+                pub const m_bSampleRootMotion: usize = 0x14; // bool
+                pub const m_bAllowLooping: usize = 0x15; // bool
+                pub const m_nDataSlotIdx: usize = 0x16; // int16
+            }
+            // Parent: CNmParameterizedBlendNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBlend1DNode__CDefinition {
+                pub const m_parameterization: usize = 0x40; // CNmParameterizedBlendNode::Parameterization_t
+            }
+            // Parent: CAnimParameterBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CConcreteAnimParameter {
+                pub const m_previewButton: usize = 0x70; // AnimParamButton_t
+                pub const m_eNetworkSetting: usize = 0x74; // AnimParamNetworkSetting
+                pub const m_bUseMostRecentValue: usize = 0x78; // bool
+                pub const m_bAutoReset: usize = 0x79; // bool
+                pub const m_bGameWritable: usize = 0x7A; // bool
+                pub const m_bGraphWritable: usize = 0x7B; // bool
+            }
+            // Parent: CSequenceUpdateNodeBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPairedSequenceUpdateNode {
+                pub const m_sPairedSequenceRole: usize = 0x70; // CGlobalSymbol
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_RandomPick {
+                pub const m_Choices: usize = 0x48; // CUtlVector<CUtlString>
+                pub const m_ChoiceWeights: usize = 0x60; // CUtlVector<float32>
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            pub mod CNmReferencePoseTask {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXConstraint2_t {
+                pub const m_nFlags: usize = 0x0; // uint32
+                pub const m_nParent: usize = 0x4; // uint16
+                pub const m_nChild: usize = 0x6; // uint16
+                pub const m_params: usize = 0x8; // VPhysXConstraintParams_t
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CConstraintTarget {
+                pub const m_qOffset: usize = 0x20; // Quaternion
+                pub const m_vOffset: usize = 0x30; // Vector
+                pub const m_nBoneHash: usize = 0x3C; // uint32
+                pub const m_sName: usize = 0x40; // CUtlString
+                pub const m_flWeight: usize = 0x48; // float32
+                pub const m_bIsAttachment: usize = 0x59; // bool
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonAnimCapture_t {
+                pub const m_nEntIndex: usize = 0x0; // CEntityIndex
+                pub const m_nEntParent: usize = 0x4; // CEntityIndex
+                pub const m_ImportedCollision: usize = 0x8; // CUtlVector<CEntityIndex>
+                pub const m_ModelName: usize = 0x20; // CUtlString
+                pub const m_CaptureName: usize = 0x28; // CUtlString
+                pub const m_ModelBindPose: usize = 0x30; // CUtlVector<SkeletonAnimCapture_t::Bone_t>
+                pub const m_FeModelInitPose: usize = 0x48; // CUtlVector<SkeletonAnimCapture_t::Bone_t>
+                pub const m_nFlexControllers: usize = 0x60; // int32
+                pub const m_bPredicted: usize = 0x64; // bool
+                pub const m_Frames: usize = 0xA8; // CUtlVector<SkeletonAnimCapture_t::Frame_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimUser {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_nType: usize = 0x10; // int32
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRagdollComponentUpdater {
+                pub const m_ragdollNodePaths: usize = 0x30; // CUtlVector<CAnimNodePath>
+                pub const m_boneIndices: usize = 0x48; // CUtlVector<int32>
+                pub const m_boneNames: usize = 0x60; // CUtlVector<CUtlString>
+                pub const m_weightLists: usize = 0x78; // CUtlVector<WeightList>
+                pub const m_flSpringFrequencyMin: usize = 0x90; // float32
+                pub const m_flSpringFrequencyMax: usize = 0x94; // float32
+                pub const m_flMaxStretch: usize = 0x98; // float32
+                pub const m_bSolidCollisionAtZeroWeight: usize = 0x9C; // bool
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootDefinition {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_ankleBoneName: usize = 0x8; // CUtlString
+                pub const m_toeBoneName: usize = 0x10; // CUtlString
+                pub const m_vBallOffset: usize = 0x18; // Vector
+                pub const m_vHeelOffset: usize = 0x24; // Vector
+                pub const m_flFootLength: usize = 0x30; // float32
+                pub const m_flBindPoseDirectionMS: usize = 0x34; // float32
+                pub const m_flTraceHeight: usize = 0x38; // float32
+                pub const m_flTraceRadius: usize = 0x3C; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqSynthAnimDesc {
+                pub const m_sName: usize = 0x0; // CBufferString
+                pub const m_flags: usize = 0x10; // CSeqSeqDescFlag
+                pub const m_transition: usize = 0x1C; // CSeqTransition
+                pub const m_nLocalBaseReference: usize = 0x24; // int16
+                pub const m_nLocalBoneMask: usize = 0x26; // int16
+                pub const m_activityArray: usize = 0x28; // CUtlVector<CAnimActivity>
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmLayerBlendNode__LayerDefinition_t {
+                pub const m_nInputNodeIdx: usize = 0x0; // int16
+                pub const m_nWeightValueNodeIdx: usize = 0x2; // int16
+                pub const m_nBoneMaskValueNodeIdx: usize = 0x4; // int16
+                pub const m_nRootMotionWeightValueNodeIdx: usize = 0x6; // int16
+                pub const m_bIsSynchronized: usize = 0x8; // bool
+                pub const m_bIgnoreEvents: usize = 0x9; // bool
+                pub const m_bIsStateMachineLayer: usize = 0xA; // bool
+                pub const m_blendMode: usize = 0xB; // NmPoseBlendMode_t
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimComponentUpdater {
+                pub const m_name: usize = 0x18; // CUtlString
+                pub const m_id: usize = 0x20; // AnimComponentID
+                pub const m_networkMode: usize = 0x24; // AnimNodeNetworkMode
+                pub const m_bStartEnabled: usize = 0x28; // bool
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBlend2DUpdateNode {
+                pub const m_items: usize = 0x60; // CUtlVector<BlendItem_t>
+                pub const m_tags: usize = 0x78; // CUtlVector<TagSpan_t>
+                pub const m_paramSpans: usize = 0x90; // CParamSpanUpdater
+                pub const m_nodeItemIndices: usize = 0xA8; // CUtlVector<int32>
+                pub const m_damping: usize = 0xC0; // CAnimInputDamping
+                pub const m_blendSourceX: usize = 0xD0; // AnimValueSource
+                pub const m_paramX: usize = 0xD4; // CAnimParamHandle
+                pub const m_blendSourceY: usize = 0xD8; // AnimValueSource
+                pub const m_paramY: usize = 0xDC; // CAnimParamHandle
+                pub const m_eBlendMode: usize = 0xE0; // Blend2DMode
+                pub const m_playbackSpeed: usize = 0xE4; // float32
+                pub const m_bLoop: usize = 0xE8; // bool
+                pub const m_bLockBlendOnReset: usize = 0xE9; // bool
+                pub const m_bLockWhenWaning: usize = 0xEA; // bool
+                pub const m_bAnimEventsAndTagsOnMostWeightedOnly: usize = 0xEB; // bool
+            }
+            // Parent: CNmSpeedScaleBaseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVelocityBasedSpeedScaleNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PermModelExtPart_t {
+                pub const m_Transform: usize = 0x0; // CTransform
+                pub const m_Name: usize = 0x20; // CUtlString
+                pub const m_nParent: usize = 0x28; // int32
+                pub const m_refModel: usize = 0x30; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCachedIDNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_mode: usize = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CLeanMatrixUpdateNode {
+                pub const m_frameCorners: usize = 0x5C; // int32[3][3]
+                pub const m_poses: usize = 0x80; // CPoseHandle[9]
+                pub const m_damping: usize = 0xA8; // CAnimInputDamping
+                pub const m_blendSource: usize = 0xB8; // AnimVectorSource
+                pub const m_paramIndex: usize = 0xBC; // CAnimParamHandle
+                pub const m_verticalAxis: usize = 0xC0; // Vector
+                pub const m_horizontalAxis: usize = 0xCC; // Vector
+                pub const m_hSequence: usize = 0xD8; // HSequence
+                pub const m_flMaxValue: usize = 0xDC; // float32
+                pub const m_nSequenceMaxFrame: usize = 0xE0; // int32
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CSymbolAnimParameter {
+                pub const m_defaultValue: usize = 0x80; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateMachineNode__TransitionDefinition_t {
+                pub const m_nTargetStateIdx: usize = 0x0; // int16
+                pub const m_nConditionNodeIdx: usize = 0x2; // int16
+                pub const m_nTransitionNodeIdx: usize = 0x4; // int16
+                pub const m_bCanBeForced: usize = 0x6; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatSelectorNode__CDefinition {
+                pub const m_conditionNodeIndices: usize = 0x10; // CUtlVectorFixedGrowable<int16,5>
+                pub const m_values: usize = 0x38; // CUtlVectorFixedGrowable<float32,5>
+                pub const m_flDefaultValue: usize = 0x68; // float32
+                pub const m_flEaseTime: usize = 0x6C; // float32
+                pub const m_easingOp: usize = 0x70; // NmEasingOperation_t
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTargetSelectorUpdateNode {
+                pub const m_children: usize = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+                pub const m_hPositionParameter: usize = 0x74; // CAnimParamHandle
+                pub const m_hFacePositionParameter: usize = 0x76; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CHitBoxSetList {
+                pub const m_HitBoxSets: usize = 0x0; // CUtlVector<CHitBoxSet>
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MotionDBIndex {
+                pub const m_nIndex: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDirectPlaybackTagData {
+                pub const m_sequenceName: usize = 0x0; // CUtlString
+                pub const m_tags: usize = 0x8; // CUtlVector<TagSpan_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatRemapNode__RemapRange_t {
+                pub const m_flBegin: usize = 0x0; // float32
+                pub const m_flEnd: usize = 0x4; // float32
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCurrentSyncEventIDNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateCompletedConditionNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_nTransitionDurationOverrideNodeIdx: usize = 0x12; // int16
+                pub const m_flTransitionDurationSeconds: usize = 0x14; // float32
+            }
+            // Parent: CNmEvent
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTargetWarpEvent {
+                pub const m_rule: usize = 0x18; // NmTargetWarpRule_t
+                pub const m_algorithm: usize = 0x19; // NmTargetWarpAlgorithm_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParamSpanUpdater {
+                pub const m_spans: usize = 0x0; // CUtlVector<ParamSpan_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimActionUpdater {
+            }
+            // Parent: CAnimTagBase
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CParticleAnimTag {
+                pub const m_hParticleSystem: usize = 0x58; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_particleSystemName: usize = 0x60; // CUtlString
+                pub const m_configName: usize = 0x68; // CUtlString
+                pub const m_bDetachFromOwner: usize = 0x70; // bool
+                pub const m_bStopWhenTagEnds: usize = 0x71; // bool
+                pub const m_bTagEndStopIsInstant: usize = 0x72; // bool
+                pub const m_attachmentName: usize = 0x78; // CUtlString
+                pub const m_attachmentType: usize = 0x80; // ParticleAttachment_t
+                pub const m_attachmentCP1Name: usize = 0x88; // CUtlString
+                pub const m_attachmentCP1Type: usize = 0x90; // ParticleAttachment_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCycleBase {
+                pub const m_flCycle: usize = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FollowTargetOpFixedSettings_t {
+                pub const m_boneIndex: usize = 0x0; // int32
+                pub const m_bBoneTarget: usize = 0x4; // bool
+                pub const m_boneTargetIndex: usize = 0x8; // int32
+                pub const m_bWorldCoodinateTarget: usize = 0xC; // bool
+                pub const m_bMatchTargetOrientation: usize = 0xD; // bool
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmRootMotionEvent {
+                pub const m_flBlendTimeSeconds: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AnimationSnapshotBase_t {
+                pub const m_flRealTime: usize = 0x0; // float32
+                pub const m_rootToWorld: usize = 0x10; // matrix3x4a_t
+                pub const m_bBonesInWorldSpace: usize = 0x40; // bool
+                pub const m_boneSetupMask: usize = 0x48; // CUtlVector<uint32>
+                pub const m_boneTransforms: usize = 0x60; // CUtlVector<matrix3x4a_t>
+                pub const m_flexControllers: usize = 0x78; // CUtlVector<float32>
+                pub const m_SnapshotType: usize = 0x90; // AnimationSnapshotType_t
+                pub const m_bHasDecodeDump: usize = 0x94; // bool
+                pub const m_DecodeDump: usize = 0x98; // AnimationDecodeDebugDumpElement_t
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CEmitTagActionUpdater {
+                pub const m_nTagIndex: usize = 0x18; // int32
+                pub const m_bIsZeroDuration: usize = 0x1C; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod DynamicMeshDeformParams_t {
+                pub const m_flTensionCompressScale: usize = 0x0; // float32
+                pub const m_flTensionStretchScale: usize = 0x4; // float32
+                pub const m_bRecomputeSmoothNormalsAfterAnimation: usize = 0x8; // bool
+                pub const m_bComputeDynamicMeshTensionAfterAnimation: usize = 0x9; // bool
+                pub const m_bSmoothNormalsAcrossUvSeams: usize = 0xA; // bool
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTimeConditionNode__CDefinition {
+                pub const m_sourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_nInputValueNodeIdx: usize = 0x12; // int16
+                pub const m_flComparand: usize = 0x14; // float32
+                pub const m_type: usize = 0x18; // CNmTimeConditionNode::ComparisonType_t
+                pub const m_operator: usize = 0x19; // CNmTimeConditionNode::Operator_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSyncEventIndexConditionNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_triggerMode: usize = 0x12; // CNmSyncEventIndexConditionNode::TriggerMode_t
+                pub const m_syncEventIdx: usize = 0x14; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimStateMachineUpdater {
+                pub const m_states: usize = 0x8; // CUtlVector<CStateUpdateData>
+                pub const m_transitions: usize = 0x20; // CUtlVector<CTransitionUpdateData>
+                pub const m_startStateIndex: usize = 0x50; // int32
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CUnaryUpdateNode {
+                pub const m_pChildNode: usize = 0x58; // CAnimUpdateNodeRef
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIDToFloatNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_defaultValue: usize = 0x14; // float32
+                pub const m_IDs: usize = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,5>
+                pub const m_values: usize = 0x48; // CUtlLeanVectorFixedGrowable<float32,5>
+            }
+            // Parent: None
+            // Field count: 17
+            pub mod CCompressorGroup {
+                pub const m_nTotalElementCount: usize = 0x0; // int32
+                pub const m_szChannelClass: usize = 0x8; // CUtlVector<char*>
+                pub const m_szVariableName: usize = 0x20; // CUtlVector<char*>
+                pub const m_nType: usize = 0x38; // CUtlVector<fieldtype_t>
+                pub const m_nFlags: usize = 0x50; // CUtlVector<int32>
+                pub const m_szGrouping: usize = 0x68; // CUtlVector<CUtlString>
+                pub const m_nCompressorIndex: usize = 0x80; // CUtlVector<int32>
+                pub const m_szElementNames: usize = 0x98; // CUtlVector<CUtlVector<char*>>
+                pub const m_nElementUniqueID: usize = 0xB0; // CUtlVector<CUtlVector<int32>>
+                pub const m_nElementMask: usize = 0xC8; // CUtlVector<uint32>
+                pub const m_vectorCompressor: usize = 0xF8; // CUtlVector<CCompressor<Vector>*>
+                pub const m_quaternionCompressor: usize = 0x110; // CUtlVector<CCompressor<QuaternionStorage>*>
+                pub const m_intCompressor: usize = 0x128; // CUtlVector<CCompressor<int32>*>
+                pub const m_boolCompressor: usize = 0x140; // CUtlVector<CCompressor<bool>*>
+                pub const m_colorCompressor: usize = 0x158; // CUtlVector<CCompressor<Color>*>
+                pub const m_vector2DCompressor: usize = 0x170; // CUtlVector<CCompressor<Vector2D>*>
+                pub const m_vector4DCompressor: usize = 0x188; // CUtlVector<CCompressor<Vector4D>*>
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSelectorUpdateNode {
+                pub const m_children: usize = 0x58; // CUtlVector<CAnimUpdateNodeRef>
+                pub const m_tags: usize = 0x70; // CUtlVector<int8>
+                pub const m_blendCurve: usize = 0x8C; // CBlendCurve
+                pub const m_flBlendTime: usize = 0x94; // CAnimValue<float32>
+                pub const m_hParameter: usize = 0x9C; // CAnimParamHandle
+                pub const m_nTagIndex: usize = 0xA0; // int32
+                pub const m_eTagBehavior: usize = 0xA4; // SelectorTagBehavior_t
+                pub const m_bResetOnChange: usize = 0xA8; // bool
+                pub const m_bLockWhenWaning: usize = 0xA9; // bool
+                pub const m_bSyncCyclesOnChange: usize = 0xAA; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod NmPercent_t {
+                pub const m_flValue: usize = 0x0; // float32
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStateMachineComponentUpdater {
+                pub const m_stateMachine: usize = 0x30; // CAnimStateMachineUpdater
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimUpdateNodeRef {
+                pub const m_nodeIndex: usize = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPhysSurfaceProperties {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_nameHash: usize = 0x8; // uint32
+                pub const m_baseNameHash: usize = 0xC; // uint32
+                pub const m_bHidden: usize = 0x18; // bool
+                pub const m_description: usize = 0x20; // CUtlString
+                pub const m_physics: usize = 0x28; // CPhysSurfacePropertiesPhysics
+                pub const m_audioSounds: usize = 0x50; // CPhysSurfacePropertiesSoundNames
+                pub const m_audioParams: usize = 0xA8; // CPhysSurfacePropertiesAudio
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            pub mod CNmBoneMaskValueNode__CDefinition {
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatAbsNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqPoseParamDesc {
+                pub const m_sName: usize = 0x0; // CBufferString
+                pub const m_flStart: usize = 0x10; // float32
+                pub const m_flEnd: usize = 0x14; // float32
+                pub const m_flLoop: usize = 0x18; // float32
+                pub const m_bLooping: usize = 0x1C; // bool
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_SetBodygroup {
+                pub const m_GroupName: usize = 0x48; // CUtlString
+                pub const m_nChoice: usize = 0x50; // int32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimMovement {
+                pub const endframe: usize = 0x0; // int32
+                pub const motionflags: usize = 0x4; // int32
+                pub const v0: usize = 0x8; // float32
+                pub const v1: usize = 0xC; // float32
+                pub const angle: usize = 0x10; // float32
+                pub const vector: usize = 0x14; // Vector
+                pub const position: usize = 0x20; // Vector
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FootStepTrigger {
+                pub const m_tags: usize = 0x0; // CUtlVector<int32>
+                pub const m_nFootIndex: usize = 0x18; // int32
+                pub const m_triggerPhase: usize = 0x1C; // StepPhase
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSyncTrack__EventMarker_t {
+                pub const m_startTime: usize = 0x0; // NmPercent_t
+                pub const m_ID: usize = 0x8; // CGlobalSymbol
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPathMetricEvaluator {
+                pub const m_pathTimeSamples: usize = 0x50; // CUtlVector<float32>
+                pub const m_flDistance: usize = 0x68; // float32
+                pub const m_bExtrapolateMovement: usize = 0x6C; // bool
+                pub const m_flMinExtrapolationSpeed: usize = 0x70; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 20
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootLockUpdateNode {
+                pub const m_opFixedSettings: usize = 0x68; // FootLockPoseOpFixedSettings
+                pub const m_footSettings: usize = 0xD0; // CUtlVector<FootFixedSettings>
+                pub const m_hipShiftDamping: usize = 0xE8; // CAnimInputDamping
+                pub const m_rootHeightDamping: usize = 0xF8; // CAnimInputDamping
+                pub const m_flStrideCurveScale: usize = 0x108; // float32
+                pub const m_flStrideCurveLimitScale: usize = 0x10C; // float32
+                pub const m_flStepHeightIncreaseScale: usize = 0x110; // float32
+                pub const m_flStepHeightDecreaseScale: usize = 0x114; // float32
+                pub const m_flHipShiftScale: usize = 0x118; // float32
+                pub const m_flBlendTime: usize = 0x11C; // float32
+                pub const m_flMaxRootHeightOffset: usize = 0x120; // float32
+                pub const m_flMinRootHeightOffset: usize = 0x124; // float32
+                pub const m_flTiltPlanePitchSpringStrength: usize = 0x128; // float32
+                pub const m_flTiltPlaneRollSpringStrength: usize = 0x12C; // float32
+                pub const m_bApplyFootRotationLimits: usize = 0x130; // bool
+                pub const m_bApplyHipShift: usize = 0x131; // bool
+                pub const m_bModulateStepHeight: usize = 0x132; // bool
+                pub const m_bResetChild: usize = 0x133; // bool
+                pub const m_bEnableVerticalCurvedPaths: usize = 0x134; // bool
+                pub const m_bEnableRootHeightDamping: usize = 0x135; // bool
+            }
+            // Parent: CNmEvent
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmOrientationWarpEvent {
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            pub mod CNmIDValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod JiggleBoneSettings_t {
+                pub const m_nBoneIndex: usize = 0x0; // int32
+                pub const m_flSpringStrength: usize = 0x4; // float32
+                pub const m_flMaxTimeStep: usize = 0x8; // float32
+                pub const m_flDamping: usize = 0xC; // float32
+                pub const m_vBoundsMaxLS: usize = 0x10; // Vector
+                pub const m_vBoundsMinLS: usize = 0x1C; // Vector
+                pub const m_eSimSpace: usize = 0x28; // JiggleBoneSimSpace
+            }
+            // Parent: CSequenceUpdateNode
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CJumpHelperUpdateNode {
+                pub const m_hTargetParam: usize = 0xA8; // CAnimParamHandle
+                pub const m_flOriginalJumpMovement: usize = 0xAC; // Vector
+                pub const m_flOriginalJumpDuration: usize = 0xB8; // float32
+                pub const m_flJumpStartCycle: usize = 0xBC; // float32
+                pub const m_flJumpEndCycle: usize = 0xC0; // float32
+                pub const m_eCorrectionMethod: usize = 0xC4; // JumpCorrectionMethod
+                pub const m_bTranslationAxis: usize = 0xC8; // bool[3]
+                pub const m_bScaleSpeed: usize = 0xCB; // bool
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmControlParameterBoolNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 18
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FootLockPoseOpFixedSettings {
+                pub const m_footInfo: usize = 0x0; // CUtlVector<FootFixedData_t>
+                pub const m_hipDampingSettings: usize = 0x18; // CAnimInputDamping
+                pub const m_nHipBoneIndex: usize = 0x28; // int32
+                pub const m_ikSolverType: usize = 0x2C; // IKSolverType
+                pub const m_bApplyTilt: usize = 0x30; // bool
+                pub const m_bApplyHipDrop: usize = 0x31; // bool
+                pub const m_bAlwaysUseFallbackHinge: usize = 0x32; // bool
+                pub const m_bApplyFootRotationLimits: usize = 0x33; // bool
+                pub const m_bApplyLegTwistLimits: usize = 0x34; // bool
+                pub const m_flMaxFootHeight: usize = 0x38; // float32
+                pub const m_flExtensionScale: usize = 0x3C; // float32
+                pub const m_flMaxLegTwist: usize = 0x40; // float32
+                pub const m_bEnableLockBreaking: usize = 0x44; // bool
+                pub const m_flLockBreakTolerance: usize = 0x48; // float32
+                pub const m_flLockBlendTime: usize = 0x4C; // float32
+                pub const m_bEnableStretching: usize = 0x50; // bool
+                pub const m_flMaxStretchAmount: usize = 0x54; // float32
+                pub const m_flStretchExtensionScale: usize = 0x58; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBoneVelocityMetricEvaluator {
+                pub const m_nBoneIndex: usize = 0x50; // int32
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_RandomColor {
+                pub const m_Gradient: usize = 0x48; // CColorGradient
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootMotion {
+                pub const m_strides: usize = 0x0; // CUtlVector<CFootStride>
+                pub const m_name: usize = 0x18; // CUtlString
+                pub const m_bAdditive: usize = 0x20; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CJiggleBoneUpdateNode {
+                pub const m_opFixedData: usize = 0x68; // JiggleBoneSettingsList_t
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmConstVectorNode__CDefinition {
+                pub const m_value: usize = 0x10; // Vector
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyArrayElementNameKey
+            pub mod MoodAnimation_t {
+                pub const m_sName: usize = 0x0; // CUtlString
+                pub const m_flWeight: usize = 0x8; // float32
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CLODComponentUpdater {
+                pub const m_nServerLOD: usize = 0x30; // int32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIsTargetSetNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimDataChannelDesc {
+                pub const m_szChannelClass: usize = 0x0; // CBufferString
+                pub const m_szVariableName: usize = 0x10; // CBufferString
+                pub const m_nFlags: usize = 0x20; // int32
+                pub const m_nType: usize = 0x24; // int32
+                pub const m_szGrouping: usize = 0x28; // CBufferString
+                pub const m_szDescription: usize = 0x38; // CBufferString
+                pub const m_szElementNameArray: usize = 0x48; // CUtlVector<CBufferString>
+                pub const m_nElementIndexArray: usize = 0x60; // CUtlVector<int32>
+                pub const m_nElementMaskArray: usize = 0x78; // CUtlVector<uint32>
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPairedSequenceComponentUpdater {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMorphRectData {
+                pub const m_nXLeftDst: usize = 0x0; // int16
+                pub const m_nYTopDst: usize = 0x2; // int16
+                pub const m_flUWidthSrc: usize = 0x4; // float32
+                pub const m_flVHeightSrc: usize = 0x8; // float32
+                pub const m_bundleDatas: usize = 0x10; // CUtlVector<CMorphBundleData>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimFoot {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_vBallOffset: usize = 0x8; // Vector
+                pub const m_vHeelOffset: usize = 0x14; // Vector
+                pub const m_ankleBoneIndex: usize = 0x20; // int32
+                pub const m_toeBoneIndex: usize = 0x24; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBoneMask {
+                pub const m_ID: usize = 0x0; // CGlobalSymbol
+                pub const m_weightInfo: usize = 0x8; // CNmBoneMask::WeightInfo_t
+                pub const m_weights: usize = 0x18; // CUtlVector<float32>
+            }
+            // Parent: CBaseConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParentConstraint {
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCachedVectorNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_mode: usize = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateNode__TimedEvent_t {
+                pub const m_ID: usize = 0x0; // CGlobalSymbol
+                pub const m_flTimeValueSeconds: usize = 0x8; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootPositionMetricEvaluator {
+                pub const m_footIndices: usize = 0x50; // CUtlVector<int32>
+                pub const m_bIgnoreSlope: usize = 0x68; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod HSequence {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDampedValueUpdateItem {
+                pub const m_damping: usize = 0x0; // CAnimInputDamping
+                pub const m_hParamIn: usize = 0x18; // CAnimParamHandle
+                pub const m_hParamOut: usize = 0x1A; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimLocalHierarchy {
+                pub const m_sBone: usize = 0x0; // CBufferString
+                pub const m_sNewParent: usize = 0x10; // CBufferString
+                pub const m_nStartFrame: usize = 0x20; // int32
+                pub const m_nPeakFrame: usize = 0x24; // int32
+                pub const m_nTailFrame: usize = 0x28; // int32
+                pub const m_nEndFrame: usize = 0x2C; // int32
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBlendUpdateNode {
+                pub const m_children: usize = 0x60; // CUtlVector<CAnimUpdateNodeRef>
+                pub const m_sortedOrder: usize = 0x78; // CUtlVector<uint8>
+                pub const m_targetValues: usize = 0x90; // CUtlVector<float32>
+                pub const m_blendValueSource: usize = 0xAC; // AnimValueSource
+                pub const m_paramIndex: usize = 0xB0; // CAnimParamHandle
+                pub const m_damping: usize = 0xB8; // CAnimInputDamping
+                pub const m_blendKeyType: usize = 0xC8; // BlendKeyType
+                pub const m_bLockBlendOnReset: usize = 0xCC; // bool
+                pub const m_bSyncCycles: usize = 0xCD; // bool
+                pub const m_bLoop: usize = 0xCE; // bool
+                pub const m_bLockWhenWaning: usize = 0xCF; // bool
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CQuaternionAnimParameter {
+                pub const m_defaultValue: usize = 0x80; // Quaternion
+                pub const m_bInterpolate: usize = 0x90; // bool
+            }
+            // Parent: None
+            // Field count: 23
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PermModelData_t {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_modelInfo: usize = 0x8; // PermModelInfo_t
+                pub const m_ExtParts: usize = 0x60; // CUtlVector<PermModelExtPart_t>
+                pub const m_refMeshes: usize = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCRenderMesh>>
+                pub const m_refMeshGroupMasks: usize = 0x90; // CUtlVector<uint64>
+                pub const m_refPhysGroupMasks: usize = 0xA8; // CUtlVector<uint64>
+                pub const m_refLODGroupMasks: usize = 0xC0; // CUtlVector<uint8>
+                pub const m_lodGroupSwitchDistances: usize = 0xD8; // CUtlVector<float32>
+                pub const m_refPhysicsData: usize = 0xF0; // CUtlVector<CStrongHandle<InfoForResourceTypeCPhysAggregateData>>
+                pub const m_refPhysicsHitboxData: usize = 0x108; // CUtlVector<CStrongHandle<InfoForResourceTypeCPhysAggregateData>>
+                pub const m_refAnimGroups: usize = 0x120; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
+                pub const m_refSequenceGroups: usize = 0x138; // CUtlVector<CStrongHandle<InfoForResourceTypeCSequenceGroupData>>
+                pub const m_meshGroups: usize = 0x150; // CUtlVector<CUtlString>
+                pub const m_materialGroups: usize = 0x168; // CUtlVector<MaterialGroup_t>
+                pub const m_nDefaultMeshGroupMask: usize = 0x180; // uint64
+                pub const m_modelSkeleton: usize = 0x188; // ModelSkeletonData_t
+                pub const m_remappingTable: usize = 0x230; // CUtlVector<int16>
+                pub const m_remappingTableStarts: usize = 0x248; // CUtlVector<uint16>
+                pub const m_boneFlexDrivers: usize = 0x260; // CUtlVector<ModelBoneFlexDriver_t>
+                pub const m_pModelConfigList: usize = 0x278; // CModelConfigList*
+                pub const m_BodyGroupsHiddenInTools: usize = 0x280; // CUtlVector<CUtlString>
+                pub const m_refAnimIncludeModels: usize = 0x298; // CUtlVector<CStrongHandle<InfoForResourceTypeCModel>>
+                pub const m_AnimatedMaterialAttributes: usize = 0x2B0; // CUtlVector<PermModelDataAnimatedMaterialAttribute_t>
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            pub mod CNmSampleTask {
+            }
+            // Parent: CStaticPoseCache
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStaticPoseCacheBuilder {
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSequenceGroupData {
+                pub const m_sName: usize = 0x10; // CBufferString
+                pub const m_nFlags: usize = 0x20; // uint32
+                pub const m_localSequenceNameArray: usize = 0x28; // CUtlVector<CBufferString>
+                pub const m_localS1SeqDescArray: usize = 0x40; // CUtlVector<CSeqS1SeqDesc>
+                pub const m_localMultiSeqDescArray: usize = 0x58; // CUtlVector<CSeqS1SeqDesc>
+                pub const m_localSynthAnimDescArray: usize = 0x70; // CUtlVector<CSeqSynthAnimDesc>
+                pub const m_localCmdSeqDescArray: usize = 0x88; // CUtlVector<CSeqCmdSeqDesc>
+                pub const m_localBoneMaskArray: usize = 0xA0; // CUtlVector<CSeqBoneMaskList>
+                pub const m_localScaleSetArray: usize = 0xB8; // CUtlVector<CSeqScaleSet>
+                pub const m_localBoneNameArray: usize = 0xD0; // CUtlVector<CBufferString>
+                pub const m_localNodeName: usize = 0xE8; // CBufferString
+                pub const m_localPoseParamArray: usize = 0xF8; // CUtlVector<CSeqPoseParamDesc>
+                pub const m_keyValues: usize = 0x110; // KeyValues3
+                pub const m_localIKAutoplayLockArray: usize = 0x120; // CUtlVector<CSeqIKLock>
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStateMachineUpdateNode {
+                pub const m_stateMachine: usize = 0x68; // CAnimStateMachineUpdater
+                pub const m_stateData: usize = 0xC0; // CUtlVector<CStateNodeStateData>
+                pub const m_transitionData: usize = 0xD8; // CUtlVector<CStateNodeTransitionData>
+                pub const m_bBlockWaningTags: usize = 0xF4; // bool
+                pub const m_bLockStateWhenWaning: usize = 0xF5; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAimMatrixUpdateNode {
+                pub const m_opFixedSettings: usize = 0x70; // AimMatrixOpFixedSettings_t
+                pub const m_target: usize = 0x158; // AnimVectorSource
+                pub const m_paramIndex: usize = 0x15C; // CAnimParamHandle
+                pub const m_hSequence: usize = 0x160; // HSequence
+                pub const m_bResetChild: usize = 0x164; // bool
+                pub const m_bLockWhenWaning: usize = 0x165; // bool
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonAnimCapture_t__Frame_t {
+                pub const m_flTime: usize = 0x0; // float32
+                pub const m_Stamp: usize = 0x4; // SkeletonAnimCapture_t::FrameStamp_t
+                pub const m_Transform: usize = 0x20; // CTransform
+                pub const m_bTeleport: usize = 0x40; // bool
+                pub const m_CompositeBones: usize = 0x48; // CUtlVector<CTransform>
+                pub const m_SimStateBones: usize = 0x60; // CUtlVector<CTransform>
+                pub const m_FeModelAnims: usize = 0x78; // CUtlVector<CTransform>
+                pub const m_FeModelPos: usize = 0x90; // CUtlVector<VectorAligned>
+                pub const m_FlexControllerWeights: usize = 0xA8; // CUtlVector<float32>
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_Command {
+                pub const m_Command: usize = 0x48; // CUtlString
+                pub const m_Args: usize = 0x50; // KeyValues3
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimEventDefinition {
+                pub const m_nFrame: usize = 0x8; // int32
+                pub const m_nEndFrame: usize = 0xC; // int32
+                pub const m_flCycle: usize = 0x10; // float32
+                pub const m_flDuration: usize = 0x14; // float32
+                pub const m_EventData: usize = 0x18; // KeyValues3
+                pub const m_sLegacyOptions: usize = 0x28; // CBufferString
+                pub const m_sEventName: usize = 0x38; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmRootMotionData {
+                pub const m_transforms: usize = 0x0; // CUtlVector<CTransform>
+                pub const m_nNumFrames: usize = 0x18; // int32
+                pub const m_flAverageLinearVelocity: usize = 0x1C; // float32
+                pub const m_flAverageAngularVelocityRadians: usize = 0x20; // float32
+                pub const m_totalDelta: usize = 0x30; // CTransform
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimScriptHandle {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFlexOp {
+                pub const m_OpCode: usize = 0x0; // FlexOpCode_t
+                pub const m_Data: usize = 0x4; // int32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CHitReactUpdateNode {
+                pub const m_opFixedSettings: usize = 0x68; // HitReactFixedSettings_t
+                pub const m_triggerParam: usize = 0xB4; // CAnimParamHandle
+                pub const m_hitBoneParam: usize = 0xB6; // CAnimParamHandle
+                pub const m_hitOffsetParam: usize = 0xB8; // CAnimParamHandle
+                pub const m_hitDirectionParam: usize = 0xBA; // CAnimParamHandle
+                pub const m_hitStrengthParam: usize = 0xBC; // CAnimParamHandle
+                pub const m_flMinDelayBetweenHits: usize = 0xC0; // float32
+                pub const m_bResetChild: usize = 0xC4; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CLookAtUpdateNode {
+                pub const m_opFixedSettings: usize = 0x70; // LookAtOpFixedSettings_t
+                pub const m_target: usize = 0x138; // AnimVectorSource
+                pub const m_paramIndex: usize = 0x13C; // CAnimParamHandle
+                pub const m_weightParamIndex: usize = 0x13E; // CAnimParamHandle
+                pub const m_bResetChild: usize = 0x140; // bool
+                pub const m_bLockWhenWaning: usize = 0x141; // bool
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimBone {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_parent: usize = 0x10; // int32
+                pub const m_pos: usize = 0x14; // Vector
+                pub const m_quat: usize = 0x20; // QuaternionStorage
+                pub const m_scale: usize = 0x30; // float32
+                pub const m_qAlignment: usize = 0x34; // QuaternionStorage
+                pub const m_flags: usize = 0x44; // int32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimParameterManagerUpdater {
+                pub const m_parameters: usize = 0x18; // CUtlVector<CSmartPtr<CAnimParameterBase>>
+                pub const m_idToIndexMap: usize = 0x30; // CUtlHashtable<AnimParamID,int32>
+                pub const m_nameToIndexMap: usize = 0x50; // CUtlHashtable<CUtlString,int32>
+                pub const m_indexToHandle: usize = 0x70; // CUtlVector<CAnimParamHandle>
+                pub const m_autoResetParams: usize = 0x88; // CUtlVector<CUtlPair<CAnimParamHandle,CAnimVariant>>
+                pub const m_autoResetMap: usize = 0xA0; // CUtlHashtable<CAnimParamHandle,int16>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod BoneDemoCaptureSettings_t {
+                pub const m_boneName: usize = 0x0; // CUtlString
+                pub const m_flErrorSplineRotationMax: usize = 0x8; // float32
+                pub const m_flErrorSplineTranslationMax: usize = 0xC; // float32
+                pub const m_flErrorSplineScaleMax: usize = 0x10; // float32
+                pub const m_flErrorQuantizationRotationMax: usize = 0x14; // float32
+                pub const m_flErrorQuantizationTranslationMax: usize = 0x18; // float32
+                pub const m_flErrorQuantizationScaleMax: usize = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod CBoneConstraintPoseSpaceMorph__Input_t {
+                pub const m_inputValue: usize = 0x0; // Vector
+                pub const m_outputWeightList: usize = 0x10; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyArrayElementNameKey
+            pub mod MoodAnimationLayer_t {
+                pub const m_sName: usize = 0x0; // CUtlString
+                pub const m_bActiveListening: usize = 0x8; // bool
+                pub const m_bActiveTalking: usize = 0x9; // bool
+                pub const m_layerAnimations: usize = 0x10; // CUtlVector<MoodAnimation_t>
+                pub const m_flIntensity: usize = 0x28; // CRangeFloat
+                pub const m_flDurationScale: usize = 0x30; // CRangeFloat
+                pub const m_bScaleWithInts: usize = 0x38; // bool
+                pub const m_flNextStart: usize = 0x3C; // CRangeFloat
+                pub const m_flStartOffset: usize = 0x44; // CRangeFloat
+                pub const m_flEndOffset: usize = 0x4C; // CRangeFloat
+                pub const m_flFadeIn: usize = 0x54; // float32
+                pub const m_flFadeOut: usize = 0x58; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSpeedScaleUpdateNode {
+                pub const m_paramIndex: usize = 0x68; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSequenceTagSpans {
+                pub const m_sSequenceName: usize = 0x0; // CGlobalSymbol
+                pub const m_tags: usize = 0x8; // CUtlVector<TagSpan_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmGraphDefinition__ChildGraphSlot_t {
+                pub const m_nNodeIdx: usize = 0x0; // int16
+                pub const m_dataSlotIdx: usize = 0x2; // int16
+            }
+            // Parent: CModelConfigElement
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_SetBodygroupOnAttachedModels {
+                pub const m_GroupName: usize = 0x48; // CUtlString
+                pub const m_nChoice: usize = 0x50; // int32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCurrentVelocityMetricEvaluator {
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            pub mod CNmBoolValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimReplayFrame {
+                pub const m_inputDataBlocks: usize = 0x10; // CUtlVector<CUtlBinaryBlock>
+                pub const m_instanceData: usize = 0x28; // CUtlBinaryBlock
+                pub const m_startingLocalToWorldTransform: usize = 0x40; // CTransform
+                pub const m_localToWorldTransform: usize = 0x60; // CTransform
+                pub const m_timeStamp: usize = 0x80; // float32
+            }
+            // Parent: CNmEvent
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTransitionEvent {
+                pub const m_rule: usize = 0x18; // NmTransitionRule_t
+                pub const m_ID: usize = 0x20; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIKRig {
+                pub const m_skeleton: usize = 0x0; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+            }
+            // Parent: CAnimMotorUpdaterBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPathAnimMotorUpdaterBase {
+                pub const m_bLockToPath: usize = 0x20; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFootstepEventPercentageThroughNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_phaseCondition: usize = 0x12; // NmFootPhaseCondition_t
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AimCameraOpFixedSettings_t {
+                pub const m_nChainIndex: usize = 0x0; // int32
+                pub const m_nCameraJointIndex: usize = 0x4; // int32
+                pub const m_nPelvisJointIndex: usize = 0x8; // int32
+                pub const m_nClavicleLeftJointIndex: usize = 0xC; // int32
+                pub const m_nClavicleRightJointIndex: usize = 0x10; // int32
+                pub const m_nDepenetrationJointIndex: usize = 0x14; // int32
+                pub const m_propJoints: usize = 0x18; // CUtlVector<int32>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonAnimCapture_t__Camera_t {
+                pub const m_tmCamera: usize = 0x0; // CTransform
+                pub const m_flTime: usize = 0x20; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFollowAttachmentUpdateNode {
+                pub const m_opFixedData: usize = 0x70; // FollowAttachmentSettings_t
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMovementComponentUpdater {
+                pub const m_motors: usize = 0x30; // CUtlVector<CSmartPtr<CAnimMotorUpdaterBase>>
+                pub const m_facingDamping: usize = 0x48; // CAnimInputDamping
+                pub const m_nDefaultMotorIndex: usize = 0x60; // int32
+                pub const m_flDefaultRunSpeed: usize = 0x64; // float32
+                pub const m_bMoveVarsDisabled: usize = 0x68; // bool
+                pub const m_bNetworkPath: usize = 0x69; // bool
+                pub const m_bNetworkFacing: usize = 0x6A; // bool
+                pub const m_paramHandles: usize = 0x6B; // CAnimParamHandle[30]
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_SetMaterialGroup {
+                pub const m_MaterialGroupName: usize = 0x48; // CUtlString
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFutureFacingMetricEvaluator {
+                pub const m_flDistance: usize = 0x50; // float32
+                pub const m_flTime: usize = 0x54; // float32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod NmCompressionSettings_t {
+                pub const m_translationRangeX: usize = 0x0; // NmCompressionSettings_t::QuantizationRange_t
+                pub const m_translationRangeY: usize = 0x8; // NmCompressionSettings_t::QuantizationRange_t
+                pub const m_translationRangeZ: usize = 0x10; // NmCompressionSettings_t::QuantizationRange_t
+                pub const m_scaleRange: usize = 0x18; // NmCompressionSettings_t::QuantizationRange_t
+                pub const m_constantRotation: usize = 0x20; // Quaternion
+                pub const m_bIsRotationStatic: usize = 0x30; // bool
+                pub const m_bIsTranslationStatic: usize = 0x31; // bool
+                pub const m_bIsScaleStatic: usize = 0x32; // bool
+            }
+            // Parent: CBinaryUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAddUpdateNode {
+                pub const m_footMotionTiming: usize = 0x8C; // BinaryNodeChildOption
+                pub const m_bApplyToFootMotion: usize = 0x90; // bool
+                pub const m_bApplyChannelsSeparately: usize = 0x91; // bool
+                pub const m_bUseModelSpace: usize = 0x92; // bool
+                pub const m_bApplyScale: usize = 0x93; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MPropertyEditClassAsString
+            pub mod CAnimEnum {
+                pub const m_value: usize = 0x0; // uint8
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDemoSettingsComponentUpdater {
+                pub const m_settings: usize = 0x30; // CAnimDemoCaptureSettings
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimDecoder {
+                pub const m_szName: usize = 0x0; // CBufferString
+                pub const m_nVersion: usize = 0x10; // int32
+                pub const m_nType: usize = 0x14; // int32
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCachedTargetNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_mode: usize = 0x14; // NmCachedValueMode_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmConstBoolNode__CDefinition {
+                pub const m_bValue: usize = 0x10; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBitFlags {
+                pub const m_flags: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootStride {
+                pub const m_definition: usize = 0x0; // CFootCycleDefinition
+                pub const m_trajectories: usize = 0x40; // CFootTrajectories
+            }
+            // Parent: CNmEvent
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmLegacyEvent {
+                pub const m_animEventClassName: usize = 0x18; // CUtlString
+                pub const m_KV: usize = 0x20; // KeyValues3
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStateNodeStateData {
+                pub const m_pChild: usize = 0x0; // CAnimUpdateNodeRef
+                pub const m_bExclusiveRootMotion: usize = 0x0; // bitfield:1
+                pub const m_bExclusiveRootMotionFirstFrame: usize = 0x0; // bitfield:1
+            }
+            // Parent: CAnimTagBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CFootstepLandedAnimTag {
+                pub const m_FootstepType: usize = 0x58; // FootstepLandedFootSoundType_t
+                pub const m_OverrideSoundName: usize = 0x60; // CUtlString
+                pub const m_DebugAnimSourceString: usize = 0x68; // CUtlString
+                pub const m_BoneName: usize = 0x70; // CUtlString
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CEnumAnimParameter {
+                pub const m_defaultValue: usize = 0x88; // uint8
+                pub const m_enumOptions: usize = 0x90; // CUtlVector<CUtlString>
+                pub const m_vecEnumReferenced: usize = 0xA8; // CUtlVector<uint64>
+            }
+            // Parent: CAnimTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CHandshakeAnimTagBase {
+                pub const m_bIsDisableTag: usize = 0x50; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimTagID {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimFrameSegment {
+                pub const m_nUniqueFrameIndex: usize = 0x0; // int32
+                pub const m_nLocalElementMasks: usize = 0x4; // uint32
+                pub const m_nLocalChannel: usize = 0x8; // int32
+                pub const m_container: usize = 0x10; // CUtlBinaryBlock
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSlopeComponentUpdater {
+                pub const m_flTraceDistance: usize = 0x34; // float32
+                pub const m_hSlopeAngle: usize = 0x38; // CAnimParamHandle
+                pub const m_hSlopeAngleFront: usize = 0x3A; // CAnimParamHandle
+                pub const m_hSlopeAngleSide: usize = 0x3C; // CAnimParamHandle
+                pub const m_hSlopeHeading: usize = 0x3E; // CAnimParamHandle
+                pub const m_hSlopeNormal: usize = 0x40; // CAnimParamHandle
+                pub const m_hSlopeNormal_WorldSpace: usize = 0x42; // CAnimParamHandle
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CAnimInputDamping {
+                pub const m_speedFunction: usize = 0x8; // DampingSpeedFunction
+                pub const m_fSpeedScale: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CHitBoxSet {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_nNameHash: usize = 0x8; // uint32
+                pub const m_HitBoxes: usize = 0x10; // CUtlVector<CHitBox>
+                pub const m_SourceFilename: usize = 0x28; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ChainToSolveData_t {
+                pub const m_nChainIndex: usize = 0x0; // int32
+                pub const m_SolverSettings: usize = 0x4; // IKSolverSettings_t
+                pub const m_TargetSettings: usize = 0x10; // IKTargetSettings_t
+                pub const m_DebugSetting: usize = 0x38; // SolveIKChainAnimNodeDebugSetting
+                pub const m_flDebugNormalizedValue: usize = 0x3C; // float32
+                pub const m_vDebugOffset: usize = 0x40; // VectorAligned
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CConstraintSlave {
+                pub const m_qBaseOrientation: usize = 0x0; // Quaternion
+                pub const m_vBasePosition: usize = 0x10; // Vector
+                pub const m_nBoneHash: usize = 0x1C; // uint32
+                pub const m_flWeight: usize = 0x20; // float32
+                pub const m_sName: usize = 0x28; // CUtlString
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootCycleDefinition {
+                pub const m_vStancePositionMS: usize = 0x0; // Vector
+                pub const m_vMidpointPositionMS: usize = 0xC; // Vector
+                pub const m_flStanceDirectionMS: usize = 0x18; // float32
+                pub const m_vToStrideStartPos: usize = 0x1C; // Vector
+                pub const m_stanceCycle: usize = 0x28; // CAnimCycle
+                pub const m_footLiftCycle: usize = 0x2C; // CFootCycle
+                pub const m_footOffCycle: usize = 0x30; // CFootCycle
+                pub const m_footStrikeCycle: usize = 0x34; // CFootCycle
+                pub const m_footLandCycle: usize = 0x38; // CFootCycle
+            }
+            // Parent: CAnimParameterBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVirtualAnimParameter {
+                pub const m_expressionString: usize = 0x70; // CUtlString
+                pub const m_eParamType: usize = 0x78; // AnimParamType_t
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionMetricEvaluator {
+                pub const m_means: usize = 0x18; // CUtlVector<float32>
+                pub const m_standardDeviations: usize = 0x30; // CUtlVector<float32>
+                pub const m_flWeight: usize = 0x48; // float32
+                pub const m_nDimensionStartIndex: usize = 0x4C; // int32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFutureVelocityMetricEvaluator {
+                pub const m_flDistance: usize = 0x50; // float32
+                pub const m_flStoppingDistance: usize = 0x54; // float32
+                pub const m_flTargetSpeed: usize = 0x58; // float32
+                pub const m_eMode: usize = 0x5C; // VelocityMetricMode
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimUpdateNodeBase {
+                pub const m_nodePath: usize = 0x18; // CAnimNodePath
+                pub const m_networkMode: usize = 0x48; // AnimNodeNetworkMode
+                pub const m_name: usize = 0x50; // CUtlString
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSetParameterActionUpdater {
+                pub const m_hParam: usize = 0x18; // CAnimParamHandle
+                pub const m_value: usize = 0x1A; // CAnimVariant
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFixedWeightBoneMaskNode__CDefinition {
+                pub const m_flBoneWeight: usize = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmGraphVariation {
+                pub const m_graphDefinition: usize = 0x0; // CStrongHandle<InfoForResourceTypeCNmGraphDefinition>
+                pub const m_dataSet: usize = 0x8; // CNmGraphDataSet
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonAnimCapture_t__FrameStamp_t {
+                pub const m_flTime: usize = 0x0; // float32
+                pub const m_flEntitySimTime: usize = 0x4; // float32
+                pub const m_bTeleportTick: usize = 0x8; // bool
+                pub const m_bPredicted: usize = 0x9; // bool
+                pub const m_flCurTime: usize = 0xC; // float32
+                pub const m_flRealTime: usize = 0x10; // float32
+                pub const m_nFrameCount: usize = 0x14; // int32
+                pub const m_nTickCount: usize = 0x18; // int32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBonePositionMetricEvaluator {
+                pub const m_nBoneIndex: usize = 0x50; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRenderBufferBinding {
+                pub const m_hBuffer: usize = 0x0; // uint64
+                pub const m_nBindOffsetBytes: usize = 0x10; // uint32
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmExternalGraphNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmParameterizedBlendNode__Parameterization_t {
+                pub const m_blendRanges: usize = 0x0; // CUtlLeanVectorFixedGrowable<CNmParameterizedBlendNode::BlendRange_t,5>
+                pub const m_parameterRange: usize = 0x48; // Range_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmNotNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMeshletDescriptor {
+                pub const m_PackedAABB: usize = 0x0; // PackedAABB_t
+                pub const m_CullingData: usize = 0x8; // CDrawCullingData
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMorphSetData {
+                pub const m_nWidth: usize = 0x10; // int32
+                pub const m_nHeight: usize = 0x14; // int32
+                pub const m_bundleTypes: usize = 0x18; // CUtlVector<MorphBundleType_t>
+                pub const m_morphDatas: usize = 0x30; // CUtlVector<CMorphData>
+                pub const m_pTextureAtlas: usize = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_FlexDesc: usize = 0x50; // CUtlVector<CFlexDesc>
+                pub const m_FlexControllers: usize = 0x68; // CUtlVector<CFlexController>
+                pub const m_FlexRules: usize = 0x80; // CUtlVector<CFlexRule>
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmAndNode__CDefinition {
+                pub const m_conditionNodeIndices: usize = 0x10; // CUtlLeanVectorFixedGrowable<int16,4>
+            }
+            // Parent: CBaseConstraint
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMorphConstraint {
+                pub const m_sTargetMorph: usize = 0x68; // CUtlString
+                pub const m_nSlaveChannel: usize = 0x70; // int32
+                pub const m_flMin: usize = 0x74; // float32
+                pub const m_flMax: usize = 0x78; // float32
+            }
+            // Parent: CAnimTagBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CClothSettingsAnimTag {
+                pub const m_flStiffness: usize = 0x58; // float32
+                pub const m_flEaseIn: usize = 0x5C; // float32
+                pub const m_flEaseOut: usize = 0x60; // float32
+                pub const m_nVertexSet: usize = 0x68; // CUtlString
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimDesc_Flag {
+                pub const m_bLooping: usize = 0x0; // bool
+                pub const m_bAllZeros: usize = 0x1; // bool
+                pub const m_bHidden: usize = 0x2; // bool
+                pub const m_bDelta: usize = 0x3; // bool
+                pub const m_bLegacyWorldspace: usize = 0x4; // bool
+                pub const m_bModelDoc: usize = 0x5; // bool
+                pub const m_bImplicitSeqIgnoreDelta: usize = 0x6; // bool
+                pub const m_bAnimGraphAdditive: usize = 0x7; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBlend2DNode__CDefinition {
+                pub const m_sourceNodeIndices: usize = 0x10; // CUtlVectorFixedGrowable<int16,5>
+                pub const m_nInputParameterNodeIdx0: usize = 0x38; // int16
+                pub const m_nInputParameterNodeIdx1: usize = 0x3A; // int16
+                pub const m_values: usize = 0x40; // CUtlVectorFixedGrowable<Vector2D,10>
+                pub const m_indices: usize = 0xA8; // CUtlVectorFixedGrowable<uint8,30>
+                pub const m_hullIndices: usize = 0xE0; // CUtlVectorFixedGrowable<uint8,10>
+                pub const m_bAllowLooping: usize = 0x108; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBlendCurve {
+                pub const m_flControlPoint1: usize = 0x0; // float32
+                pub const m_flControlPoint2: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmGraphNode__CDefinition {
+                pub const m_nNodeIdx: usize = 0x8; // int16
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGraphVisualizerSphere {
+                pub const m_vWsPosition: usize = 0x40; // VectorAligned
+                pub const m_flRadius: usize = 0x50; // float32
+                pub const m_Color: usize = 0x54; // Color
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimUserDifference {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_nType: usize = 0x10; // int32
+            }
+            // Parent: CNmSpeedScaleBaseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmDurationScaleNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTransitionUpdateData {
+                pub const m_srcStateIndex: usize = 0x0; // uint8
+                pub const m_destStateIndex: usize = 0x1; // uint8
+                pub const m_nHandshakeMaskToDisableFirst: usize = 0x0; // bitfield:7
+                pub const m_bDisabled: usize = 0x0; // bitfield:1
+            }
+            // Parent: CHandshakeAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CMovementHandshakeAnimTag {
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod CBoneConstraintPoseSpaceBone__Input_t {
+                pub const m_inputValue: usize = 0x0; // Vector
+                pub const m_outputTransformList: usize = 0x10; // CUtlVector<CTransform>
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqMultiFetch {
+                pub const m_flags: usize = 0x0; // CSeqMultiFetchFlag
+                pub const m_localReferenceArray: usize = 0x8; // CUtlVector<int16>
+                pub const m_nGroupSize: usize = 0x20; // int32[2]
+                pub const m_nLocalPose: usize = 0x28; // int32[2]
+                pub const m_poseKeyArray0: usize = 0x30; // CUtlVector<float32>
+                pub const m_poseKeyArray1: usize = 0x48; // CUtlVector<float32>
+                pub const m_nLocalCyclePoseParameter: usize = 0x60; // int32
+                pub const m_bCalculatePoseParameters: usize = 0x64; // bool
+                pub const m_bFixedBlendWeight: usize = 0x65; // bool
+                pub const m_flFixedBlendWeightVals: usize = 0x68; // float32[2]
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPhysSurfacePropertiesSoundNames {
+                pub const m_impactSoft: usize = 0x0; // CUtlString
+                pub const m_impactHard: usize = 0x8; // CUtlString
+                pub const m_scrapeSmooth: usize = 0x10; // CUtlString
+                pub const m_scrapeRough: usize = 0x18; // CUtlString
+                pub const m_bulletImpact: usize = 0x20; // CUtlString
+                pub const m_rolling: usize = 0x28; // CUtlString
+                pub const m_break: usize = 0x30; // CUtlString
+                pub const m_strain: usize = 0x38; // CUtlString
+                pub const m_meleeImpact: usize = 0x40; // CUtlString
+                pub const m_pushOff: usize = 0x48; // CUtlString
+                pub const m_skidStop: usize = 0x50; // CUtlString
+            }
+            // Parent: CAnimTagBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CAudioAnimTag {
+                pub const m_clipName: usize = 0x58; // CUtlString
+                pub const m_attachmentName: usize = 0x60; // CUtlString
+                pub const m_flVolume: usize = 0x68; // float32
+                pub const m_bStopWhenTagEnds: usize = 0x6C; // bool
+                pub const m_bStopWhenGraphEnds: usize = 0x6D; // bool
+                pub const m_bPlayOnServer: usize = 0x6E; // bool
+                pub const m_bPlayOnClient: usize = 0x6F; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTurnHelperUpdateNode {
+                pub const m_facingTarget: usize = 0x6C; // AnimValueSource
+                pub const m_turnStartTimeOffset: usize = 0x70; // float32
+                pub const m_turnDuration: usize = 0x74; // float32
+                pub const m_bMatchChildDuration: usize = 0x78; // bool
+                pub const m_manualTurnOffset: usize = 0x7C; // float32
+                pub const m_bUseManualTurnOffset: usize = 0x80; // bool
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGroup {
+                pub const m_nFlags: usize = 0x10; // uint32
+                pub const m_name: usize = 0x18; // CBufferString
+                pub const m_localHAnimArray_Handle: usize = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
+                pub const m_includedGroupArray_Handle: usize = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
+                pub const m_directHSeqGroup_Handle: usize = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
+                pub const m_decodeKey: usize = 0x98; // CAnimKeyData
+                pub const m_szScripts: usize = 0x110; // CUtlVector<CBufferString>
+                pub const m_AdditionalExtRefs: usize = 0x128; // CUtlVector<CStrongHandleVoid>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod NmSyncTrackTime_t {
+                pub const m_nEventIdx: usize = 0x0; // int32
+                pub const m_percentageThrough: usize = 0x4; // NmPercent_t
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmClip {
+                pub const m_skeleton: usize = 0x0; // CStrongHandle<InfoForResourceTypeCNmSkeleton>
+                pub const m_nNumFrames: usize = 0x8; // uint32
+                pub const m_flDuration: usize = 0xC; // float32
+                pub const m_compressedPoseData: usize = 0x10; // CUtlBinaryBlock
+                pub const m_trackCompressionSettings: usize = 0x28; // CUtlVector<NmCompressionSettings_t>
+                pub const m_compressedPoseOffsets: usize = 0x40; // CUtlVector<uint32>
+                pub const m_syncTrack: usize = 0xA0; // CNmSyncTrack
+                pub const m_rootMotion: usize = 0x150; // CNmRootMotionData
+                pub const m_bIsAdditive: usize = 0x1A0; // bool
+            }
+            // Parent: CAnimActionUpdater
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CToggleComponentActionUpdater {
+                pub const m_componentID: usize = 0x18; // AnimComponentID
+                pub const m_bSetEnabled: usize = 0x1C; // bool
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            pub mod CNmOverlayBlendTask {
+            }
+            // Parent: CNmPassthroughNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSpeedScaleBaseNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x18; // int16
+                pub const m_flDefaultInputValue: usize = 0x1C; // float32
+            }
+            // Parent: CNmGraphNode__CDefinition
+            // Field count: 0
+            pub mod CNmValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGraphVisualizerPrimitiveBase {
+                pub const m_Type: usize = 0x8; // CAnimationGraphVisualizerPrimitiveType
+                pub const m_OwningAnimNodePaths: usize = 0xC; // AnimNodeID[11]
+                pub const m_nOwningAnimNodePathCount: usize = 0x38; // int32
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBindPoseUpdateNode {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod NmSyncTrackTimeRange_t {
+                pub const m_startTime: usize = 0x0; // NmSyncTrackTime_t
+                pub const m_endTime: usize = 0x8; // NmSyncTrackTime_t
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGraphVisualizerText {
+                pub const m_vWsPosition: usize = 0x40; // VectorAligned
+                pub const m_Color: usize = 0x50; // Color
+                pub const m_Text: usize = 0x58; // CUtlString
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootTrajectory {
+                pub const m_vOffset: usize = 0x0; // Vector
+                pub const m_flRotationOffset: usize = 0xC; // float32
+                pub const m_flProgression: usize = 0x10; // float32
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 23
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionMatchingUpdateNode {
+                pub const m_dataSet: usize = 0x58; // CMotionDataSet
+                pub const m_metrics: usize = 0x78; // CUtlVector<CSmartPtr<CMotionMetricEvaluator>>
+                pub const m_weights: usize = 0x90; // CUtlVector<float32>
+                pub const m_bSearchEveryTick: usize = 0xE0; // bool
+                pub const m_flSearchInterval: usize = 0xE4; // float32
+                pub const m_bSearchWhenClipEnds: usize = 0xE8; // bool
+                pub const m_bSearchWhenGoalChanges: usize = 0xE9; // bool
+                pub const m_blendCurve: usize = 0xEC; // CBlendCurve
+                pub const m_flSampleRate: usize = 0xF4; // float32
+                pub const m_flBlendTime: usize = 0xF8; // float32
+                pub const m_bLockClipWhenWaning: usize = 0xFC; // bool
+                pub const m_flSelectionThreshold: usize = 0x100; // float32
+                pub const m_flReselectionTimeWindow: usize = 0x104; // float32
+                pub const m_bEnableRotationCorrection: usize = 0x108; // bool
+                pub const m_bGoalAssist: usize = 0x109; // bool
+                pub const m_flGoalAssistDistance: usize = 0x10C; // float32
+                pub const m_flGoalAssistTolerance: usize = 0x110; // float32
+                pub const m_distanceScale_Damping: usize = 0x118; // CAnimInputDamping
+                pub const m_flDistanceScale_OuterRadius: usize = 0x128; // float32
+                pub const m_flDistanceScale_InnerRadius: usize = 0x12C; // float32
+                pub const m_flDistanceScale_MaxScale: usize = 0x130; // float32
+                pub const m_flDistanceScale_MinScale: usize = 0x134; // float32
+                pub const m_bEnableDistanceScaling: usize = 0x138; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmReferencePoseNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqS1SeqDesc {
+                pub const m_sName: usize = 0x0; // CBufferString
+                pub const m_flags: usize = 0x10; // CSeqSeqDescFlag
+                pub const m_fetch: usize = 0x20; // CSeqMultiFetch
+                pub const m_nLocalWeightlist: usize = 0x90; // int32
+                pub const m_autoLayerArray: usize = 0x98; // CUtlVector<CSeqAutoLayer>
+                pub const m_IKLockArray: usize = 0xB0; // CUtlVector<CSeqIKLock>
+                pub const m_transition: usize = 0xC8; // CSeqTransition
+                pub const m_SequenceKeys: usize = 0xD0; // KeyValues3
+                pub const m_LegacyKeyValueText: usize = 0xE0; // CBufferString
+                pub const m_activityArray: usize = 0xF0; // CUtlVector<CAnimActivity>
+                pub const m_footMotion: usize = 0x108; // CUtlVector<CFootMotion>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFlexController {
+                pub const m_szName: usize = 0x0; // CUtlString
+                pub const m_szType: usize = 0x8; // CUtlString
+                pub const min: usize = 0x10; // float32
+                pub const max: usize = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonDemoDb_t {
+                pub const m_AnimCaptures: usize = 0x0; // CUtlVector<SkeletonAnimCapture_t*>
+                pub const m_CameraTrack: usize = 0x18; // CUtlVector<SkeletonAnimCapture_t::Camera_t>
+                pub const m_flRecordingTime: usize = 0x30; // float32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateEventConditionNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+                pub const m_conditions: usize = 0x18; // CUtlVectorFixedGrowable<CNmStateEventConditionNode::Condition_t,5>
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatRangeComparisonNode__CDefinition {
+                pub const m_range: usize = 0x10; // Range_t
+                pub const m_nInputValueNodeIdx: usize = 0x18; // int16
+                pub const m_bIsInclusiveCheck: usize = 0x1A; // bool
+            }
+            // Parent: CMotionNode
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionNodeSequence {
+                pub const m_tags: usize = 0x28; // CUtlVector<TagSpan_t>
+                pub const m_hSequence: usize = 0x40; // HSequence
+                pub const m_flPlaybackSpeed: usize = 0x44; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFlexDesc {
+                pub const m_szFacs: usize = 0x0; // CUtlString
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRenderMesh {
+                pub const m_sceneObjects: usize = 0x10; // CUtlLeanVectorFixedGrowable<CSceneObjectData,1>
+                pub const m_constraints: usize = 0x78; // CUtlLeanVector<CBaseConstraint*>
+                pub const m_skeleton: usize = 0x88; // CRenderSkeleton
+                pub const m_meshDeformParams: usize = 0x1A8; // DynamicMeshDeformParams_t
+                pub const m_pGroomData: usize = 0x1B8; // CRenderGroom*
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimSkeleton {
+                pub const m_localSpaceTransforms: usize = 0x10; // CUtlVector<CTransform>
+                pub const m_modelSpaceTransforms: usize = 0x28; // CUtlVector<CTransform>
+                pub const m_boneNames: usize = 0x40; // CUtlVector<CUtlString>
+                pub const m_children: usize = 0x58; // CUtlVector<CUtlVector<int32>>
+                pub const m_parents: usize = 0x70; // CUtlVector<int32>
+                pub const m_feet: usize = 0x88; // CUtlVector<CAnimFoot>
+                pub const m_morphNames: usize = 0xA0; // CUtlVector<CUtlString>
+                pub const m_lodBoneCounts: usize = 0xB8; // CUtlVector<int32>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysics2ShapeDef_t {
+                pub const m_spheres: usize = 0x0; // CUtlVector<RnSphereDesc_t>
+                pub const m_capsules: usize = 0x18; // CUtlVector<RnCapsuleDesc_t>
+                pub const m_hulls: usize = 0x30; // CUtlVector<RnHullDesc_t>
+                pub const m_meshes: usize = 0x48; // CUtlVector<RnMeshDesc_t>
+                pub const m_CollisionAttributeIndices: usize = 0x60; // CUtlVector<uint16>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatCurveNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_curve: usize = 0x18; // CPiecewiseCurve
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGraphVisualizerAxis {
+                pub const m_xWsTransform: usize = 0x40; // CTransform
+                pub const m_flAxisSize: usize = 0x60; // float32
+            }
+            // Parent: CBaseConstraint
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTwistConstraint {
+                pub const m_bInverse: usize = 0x68; // bool
+                pub const m_qParentBindRotation: usize = 0x70; // Quaternion
+                pub const m_qChildBindRotation: usize = 0x80; // Quaternion
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ModelBoneFlexDriverControl_t {
+                pub const m_nBoneComponent: usize = 0x0; // ModelBoneFlexComponent_t
+                pub const m_flexController: usize = 0x8; // CUtlString
+                pub const m_flexControllerToken: usize = 0x10; // uint32
+                pub const m_flMin: usize = 0x14; // float32
+                pub const m_flMax: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqCmdLayer {
+                pub const m_cmd: usize = 0x0; // int16
+                pub const m_nLocalReference: usize = 0x2; // int16
+                pub const m_nLocalBonemask: usize = 0x4; // int16
+                pub const m_nDstResult: usize = 0x6; // int16
+                pub const m_nSrcResult: usize = 0x8; // int16
+                pub const m_bSpline: usize = 0xA; // bool
+                pub const m_flVar1: usize = 0xC; // float32
+                pub const m_flVar2: usize = 0x10; // float32
+                pub const m_nLineNumber: usize = 0x14; // int16
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FootPinningPoseOpFixedData_t {
+                pub const m_footInfo: usize = 0x0; // CUtlVector<FootFixedData_t>
+                pub const m_flBlendTime: usize = 0x18; // float32
+                pub const m_flLockBreakDistance: usize = 0x1C; // float32
+                pub const m_flMaxLegTwist: usize = 0x20; // float32
+                pub const m_nHipBoneIndex: usize = 0x24; // int32
+                pub const m_bApplyLegTwistLimits: usize = 0x28; // bool
+                pub const m_bApplyFootRotationLimits: usize = 0x29; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RenderSkeletonBone_t {
+                pub const m_boneName: usize = 0x0; // CUtlString
+                pub const m_parentName: usize = 0x8; // CUtlString
+                pub const m_invBindPose: usize = 0x10; // matrix3x4_t
+                pub const m_bbox: usize = 0x40; // SkeletonBoneBounds_t
+                pub const m_flSphereRadius: usize = 0x58; // float32
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDistanceRemainingMetricEvaluator {
+                pub const m_flMaxDistance: usize = 0x50; // float32
+                pub const m_flMinDistance: usize = 0x54; // float32
+                pub const m_flStartGoalFilterDistance: usize = 0x58; // float32
+                pub const m_flMaxGoalOvershootScale: usize = 0x5C; // float32
+                pub const m_bFilterFixedMinDistance: usize = 0x60; // bool
+                pub const m_bFilterGoalDistance: usize = 0x61; // bool
+                pub const m_bFilterGoalOvershoot: usize = 0x62; // bool
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDirectPlaybackUpdateNode {
+                pub const m_bFinishEarly: usize = 0x6C; // bool
+                pub const m_bResetOnFinish: usize = 0x6D; // bool
+                pub const m_allTags: usize = 0x70; // CUtlVector<CDirectPlaybackTagData>
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIDEvent {
+                pub const m_ID: usize = 0x18; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFlexRule {
+                pub const m_nFlex: usize = 0x0; // int32
+                pub const m_FlexOps: usize = 0x8; // CUtlVector<CFlexOp>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ScriptInfo_t {
+                pub const m_code: usize = 0x0; // CUtlString
+                pub const m_paramsModified: usize = 0x8; // CUtlVector<CAnimParamHandle>
+                pub const m_proxyReadParams: usize = 0x20; // CUtlVector<int32>
+                pub const m_proxyWriteParams: usize = 0x38; // CUtlVector<int32>
+                pub const m_eScriptType: usize = 0x50; // AnimScriptType
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRenderGroom {
+                pub const m_hairs: usize = 0x0; // CUtlVector<RenderHairStrandInfo_t>
+                pub const m_hairPositionOffsets: usize = 0x18; // CUtlVector<uint32>
+                pub const m_hSimParamsMat: usize = 0x40; // CStrongHandleCopyable<InfoForResourceTypeIMaterial2>
+                pub const m_nSegmentsPerHairStrand: usize = 0x48; // int32
+                pub const m_nGuideHairCount: usize = 0x4C; // int32
+                pub const m_nHairCount: usize = 0x50; // int32
+                pub const m_nGroomGroupID: usize = 0x54; // int32
+                pub const m_nAttachBoneIdx: usize = 0x58; // int32
+                pub const m_nAttachMeshIdx: usize = 0x5C; // int32
+                pub const m_nAttachMeshDrawCallIdx: usize = 0x60; // int32
+                pub const m_bEnableSimulation: usize = 0x64; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmParameterizedClipSelectorNode__CDefinition {
+                pub const m_optionNodeIndices: usize = 0x10; // CUtlLeanVectorFixedGrowable<int16,5>
+                pub const m_parameterNodeIdx: usize = 0x28; // int16
+            }
+            // Parent: CBaseConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTiltTwistConstraint {
+                pub const m_nTargetAxis: usize = 0x68; // int32
+                pub const m_nSlaveAxis: usize = 0x6C; // int32
+            }
+            // Parent: CNmSpeedScaleBaseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSpeedScaleNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVPhysXSurfacePropertiesList {
+                pub const m_surfacePropertiesList: usize = 0x0; // CUtlVector<CPhysSurfaceProperties*>
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RenderHairStrandInfo_t {
+                pub const m_nGuideHairIndices_nSurfaceTriIndex: usize = 0x0; // uint32[2]
+                pub const m_vGuideBary_vBaseBary: usize = 0x8; // uint16[4]
+                pub const m_vRootOffset_flLengthScale: usize = 0x10; // uint16[4]
+                pub const m_nPackedBaseUv: usize = 0x18; // uint16[2]
+                pub const m_nPackedSurfaceNormalOs: usize = 0x1C; // uint32
+                pub const m_nPackedSurfaceTangentOs: usize = 0x20; // uint32
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCycleControlClipUpdateNode {
+                pub const m_tags: usize = 0x60; // CUtlVector<TagSpan_t>
+                pub const m_hSequence: usize = 0x7C; // HSequence
+                pub const m_duration: usize = 0x80; // float32
+                pub const m_valueSource: usize = 0x84; // AnimValueSource
+                pub const m_paramIndex: usize = 0x88; // CAnimParamHandle
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTargetPointNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_bIsWorldSpaceTarget: usize = 0x12; // bool
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            pub mod CNmFloatValueNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStaticPoseCache {
+                pub const m_poses: usize = 0x10; // CUtlVector<CCachedPose>
+                pub const m_nBoneCount: usize = 0x28; // int32
+                pub const m_nMorphCount: usize = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod LookAtOpFixedSettings_t {
+                pub const m_attachment: usize = 0x0; // CAnimAttachment
+                pub const m_damping: usize = 0x80; // CAnimInputDamping
+                pub const m_bones: usize = 0x90; // CUtlVector<LookAtBone_t>
+                pub const m_flYawLimit: usize = 0xA8; // float32
+                pub const m_flPitchLimit: usize = 0xAC; // float32
+                pub const m_flHysteresisInnerAngle: usize = 0xB0; // float32
+                pub const m_flHysteresisOuterAngle: usize = 0xB4; // float32
+                pub const m_bRotateYawForward: usize = 0xB8; // bool
+                pub const m_bMaintainUpDirection: usize = 0xB9; // bool
+                pub const m_bTargetIsPosition: usize = 0xBA; // bool
+                pub const m_bUseHysteresis: usize = 0xBB; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimGraphSettingsManager {
+                pub const m_settingsGroups: usize = 0x18; // CUtlVector<CSmartPtr<CAnimGraphSettingsGroup>>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimGraphModelBinding {
+                pub const m_modelName: usize = 0x8; // CUtlString
+                pub const m_pSharedData: usize = 0x10; // CSmartPtr<CAnimUpdateSharedData>
+            }
+            // Parent: CBaseConstraint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBoneConstraintPoseSpaceBone {
+                pub const m_inputList: usize = 0x68; // CUtlVector<CBoneConstraintPoseSpaceBone::Input_t>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MotionBlendItem {
+                pub const m_pChild: usize = 0x0; // CSmartPtr<CMotionNode>
+                pub const m_flKeyValue: usize = 0x8; // float32
+            }
+            // Parent: CBoneConstraintBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBoneConstraintPoseSpaceMorph {
+                pub const m_sBoneName: usize = 0x28; // CUtlString
+                pub const m_sAttachmentName: usize = 0x30; // CUtlString
+                pub const m_outputMorph: usize = 0x38; // CUtlVector<CUtlString>
+                pub const m_inputList: usize = 0x50; // CUtlVector<CBoneConstraintPoseSpaceMorph::Input_t>
+                pub const m_bClamp: usize = 0x68; // bool
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CFloatAnimParameter {
+                pub const m_fDefaultValue: usize = 0x80; // float32
+                pub const m_fMinValue: usize = 0x84; // float32
+                pub const m_fMaxValue: usize = 0x88; // float32
+                pub const m_bInterpolate: usize = 0x8C; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStateActionUpdater {
+                pub const m_pAction: usize = 0x0; // CSmartPtr<CAnimActionUpdater>
+                pub const m_eBehavior: usize = 0x8; // StateActionBehavior
+            }
+            // Parent: CAnimMotorUpdaterBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPlayerInputAnimMotorUpdater {
+                pub const m_sampleTimes: usize = 0x20; // CUtlVector<float32>
+                pub const m_flSpringConstant: usize = 0x3C; // float32
+                pub const m_flAnticipationDistance: usize = 0x40; // float32
+                pub const m_hAnticipationPosParam: usize = 0x44; // CAnimParamHandle
+                pub const m_hAnticipationHeadingParam: usize = 0x46; // CAnimParamHandle
+                pub const m_bUseAcceleration: usize = 0x48; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRenderSkeleton {
+                pub const m_bones: usize = 0x0; // CUtlVector<RenderSkeletonBone_t>
+                pub const m_boneParents: usize = 0x30; // CUtlVector<int32>
+                pub const m_nBoneWeightCount: usize = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqIKLock {
+                pub const m_flPosWeight: usize = 0x0; // float32
+                pub const m_flAngleWeight: usize = 0x4; // float32
+                pub const m_nLocalBone: usize = 0x8; // int16
+                pub const m_bBonesOrientedAlongPositiveX: usize = 0xA; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimParamHandleMap {
+                pub const m_list: usize = 0x0; // CUtlHashtable<uint16,int16>
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatClampNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_clampRange: usize = 0x14; // Range_t
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimDesc {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_flags: usize = 0x10; // CAnimDesc_Flag
+                pub const fps: usize = 0x18; // float32
+                pub const m_Data: usize = 0x20; // CAnimEncodedFrames
+                pub const m_movementArray: usize = 0xF8; // CUtlVector<CAnimMovement>
+                pub const m_xInitialOffset: usize = 0x110; // CTransform
+                pub const m_eventArray: usize = 0x130; // CUtlVector<CAnimEventDefinition>
+                pub const m_activityArray: usize = 0x148; // CUtlVector<CAnimActivity>
+                pub const m_hierarchyArray: usize = 0x160; // CUtlVector<CAnimLocalHierarchy>
+                pub const framestalltime: usize = 0x178; // float32
+                pub const m_vecRootMin: usize = 0x17C; // Vector
+                pub const m_vecRootMax: usize = 0x188; // Vector
+                pub const m_vecBoneWorldMin: usize = 0x198; // CUtlVector<Vector>
+                pub const m_vecBoneWorldMax: usize = 0x1B0; // CUtlVector<Vector>
+                pub const m_sequenceParams: usize = 0x1C8; // CAnimSequenceParams
+            }
+            // Parent: CNmPassthroughNode__CDefinition
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmRootMotionOverrideNode__CDefinition {
+                pub const m_desiredMovingVelocityNodeIdx: usize = 0x18; // int16
+                pub const m_desiredFacingDirectionNodeIdx: usize = 0x1A; // int16
+                pub const m_linearVelocityLimitNodeIdx: usize = 0x1C; // int16
+                pub const m_angularVelocityLimitNodeIdx: usize = 0x1E; // int16
+                pub const m_maxLinearVelocity: usize = 0x20; // float32
+                pub const m_maxAngularVelocityRadians: usize = 0x24; // float32
+                pub const m_overrideFlags: usize = 0x28; // CNmBitFlags
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTargetWarpNode__CDefinition {
+                pub const m_nClipReferenceNodeIdx: usize = 0x10; // int16
+                pub const m_nTargetValueNodeIdx: usize = 0x12; // int16
+                pub const m_samplingMode: usize = 0x14; // CNmRootMotionData::SamplingMode_t
+                pub const m_bAllowTargetUpdate: usize = 0x15; // bool
+                pub const m_flSamplingPositionErrorThresholdSq: usize = 0x18; // float32
+                pub const m_flMaxTangentLength: usize = 0x1C; // float32
+                pub const m_flLerpFallbackDistanceThreshold: usize = 0x20; // float32
+                pub const m_flTargetUpdateDistanceThreshold: usize = 0x24; // float32
+                pub const m_flTargetUpdateAngleThresholdRadians: usize = 0x28; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPhysSurfacePropertiesPhysics {
+                pub const m_friction: usize = 0x0; // float32
+                pub const m_elasticity: usize = 0x4; // float32
+                pub const m_density: usize = 0x8; // float32
+                pub const m_thickness: usize = 0xC; // float32
+                pub const m_softContactFrequency: usize = 0x10; // float32
+                pub const m_softContactDampingRatio: usize = 0x14; // float32
+                pub const m_wheelDrag: usize = 0x18; // float32
+                pub const m_heatConductivity: usize = 0x1C; // float32
+                pub const m_flashpoint: usize = 0x20; // float32
+            }
+            // Parent: CAnimationGraphVisualizerPrimitiveBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimationGraphVisualizerPie {
+                pub const m_vWsCenter: usize = 0x40; // VectorAligned
+                pub const m_vWsStart: usize = 0x50; // VectorAligned
+                pub const m_vWsEnd: usize = 0x60; // VectorAligned
+                pub const m_Color: usize = 0x70; // Color
+            }
+            // Parent: CBoneConstraintBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBoneConstraintDotToMorph {
+                pub const m_sBoneName: usize = 0x28; // CUtlString
+                pub const m_sTargetBoneName: usize = 0x30; // CUtlString
+                pub const m_sMorphChannelName: usize = 0x38; // CUtlString
+                pub const m_flRemap: usize = 0x40; // float32[4]
+            }
+            // Parent: CBaseConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPointConstraint {
+            }
+            // Parent: CMotionMetricEvaluator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCurrentRotationVelocityMetricEvaluator {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod TraceSettings_t {
+                pub const m_flTraceHeight: usize = 0x0; // float32
+                pub const m_flTraceRadius: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParamSpanSample_t {
+                pub const m_value: usize = 0x0; // CAnimVariant
+                pub const m_flCycle: usize = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 46
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXConstraintParams_t {
+                pub const m_nType: usize = 0x0; // int8
+                pub const m_nTranslateMotion: usize = 0x1; // int8
+                pub const m_nRotateMotion: usize = 0x2; // int8
+                pub const m_nFlags: usize = 0x3; // int8
+                pub const m_anchor: usize = 0x4; // Vector[2]
+                pub const m_axes: usize = 0x1C; // QuaternionStorage[2]
+                pub const m_maxForce: usize = 0x3C; // float32
+                pub const m_maxTorque: usize = 0x40; // float32
+                pub const m_linearLimitValue: usize = 0x44; // float32
+                pub const m_linearLimitRestitution: usize = 0x48; // float32
+                pub const m_linearLimitSpring: usize = 0x4C; // float32
+                pub const m_linearLimitDamping: usize = 0x50; // float32
+                pub const m_twistLowLimitValue: usize = 0x54; // float32
+                pub const m_twistLowLimitRestitution: usize = 0x58; // float32
+                pub const m_twistLowLimitSpring: usize = 0x5C; // float32
+                pub const m_twistLowLimitDamping: usize = 0x60; // float32
+                pub const m_twistHighLimitValue: usize = 0x64; // float32
+                pub const m_twistHighLimitRestitution: usize = 0x68; // float32
+                pub const m_twistHighLimitSpring: usize = 0x6C; // float32
+                pub const m_twistHighLimitDamping: usize = 0x70; // float32
+                pub const m_swing1LimitValue: usize = 0x74; // float32
+                pub const m_swing1LimitRestitution: usize = 0x78; // float32
+                pub const m_swing1LimitSpring: usize = 0x7C; // float32
+                pub const m_swing1LimitDamping: usize = 0x80; // float32
+                pub const m_swing2LimitValue: usize = 0x84; // float32
+                pub const m_swing2LimitRestitution: usize = 0x88; // float32
+                pub const m_swing2LimitSpring: usize = 0x8C; // float32
+                pub const m_swing2LimitDamping: usize = 0x90; // float32
+                pub const m_goalPosition: usize = 0x94; // Vector
+                pub const m_goalOrientation: usize = 0xA0; // QuaternionStorage
+                pub const m_goalAngularVelocity: usize = 0xB0; // Vector
+                pub const m_driveSpringX: usize = 0xBC; // float32
+                pub const m_driveSpringY: usize = 0xC0; // float32
+                pub const m_driveSpringZ: usize = 0xC4; // float32
+                pub const m_driveDampingX: usize = 0xC8; // float32
+                pub const m_driveDampingY: usize = 0xCC; // float32
+                pub const m_driveDampingZ: usize = 0xD0; // float32
+                pub const m_driveSpringTwist: usize = 0xD4; // float32
+                pub const m_driveSpringSwing: usize = 0xD8; // float32
+                pub const m_driveSpringSlerp: usize = 0xDC; // float32
+                pub const m_driveDampingTwist: usize = 0xE0; // float32
+                pub const m_driveDampingSwing: usize = 0xE4; // float32
+                pub const m_driveDampingSlerp: usize = 0xE8; // float32
+                pub const m_solverIterationCount: usize = 0xEC; // int32
+                pub const m_projectionLinearTolerance: usize = 0xF0; // float32
+                pub const m_projectionAngularTolerance: usize = 0xF4; // float32
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatComparisonNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_nComparandValueNodeIdx: usize = 0x12; // int16
+                pub const m_comparison: usize = 0x14; // CNmFloatComparisonNode::Comparison_t
+                pub const m_flEpsilon: usize = 0x18; // float32
+                pub const m_flComparisonValue: usize = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CStateUpdateData {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_hScript: usize = 0x8; // AnimScriptHandle
+                pub const m_transitionIndices: usize = 0x10; // CUtlVector<int32>
+                pub const m_actions: usize = 0x28; // CUtlVector<CStateActionUpdater>
+                pub const m_stateID: usize = 0x40; // AnimStateID
+                pub const m_bIsStartState: usize = 0x0; // bitfield:1
+                pub const m_bIsEndState: usize = 0x0; // bitfield:1
+                pub const m_bIsPassthrough: usize = 0x0; // bitfield:1
+            }
+            // Parent: CNmValueNode__CDefinition
+            // Field count: 0
+            pub mod CNmTargetValueNode__CDefinition {
+            }
+            // Parent: CBaseConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod COrientConstraint {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMoverUpdateNode {
+                pub const m_damping: usize = 0x70; // CAnimInputDamping
+                pub const m_facingTarget: usize = 0x80; // AnimValueSource
+                pub const m_hMoveVecParam: usize = 0x84; // CAnimParamHandle
+                pub const m_hMoveHeadingParam: usize = 0x86; // CAnimParamHandle
+                pub const m_hTurnToFaceParam: usize = 0x88; // CAnimParamHandle
+                pub const m_flTurnToFaceOffset: usize = 0x8C; // float32
+                pub const m_flTurnToFaceLimit: usize = 0x90; // float32
+                pub const m_bAdditive: usize = 0x94; // bool
+                pub const m_bApplyMovement: usize = 0x95; // bool
+                pub const m_bOrientMovement: usize = 0x96; // bool
+                pub const m_bApplyRotation: usize = 0x97; // bool
+                pub const m_bLimitOnly: usize = 0x98; // bool
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmLayerBlendNode__CDefinition {
+                pub const m_nBaseNodeIdx: usize = 0x10; // int16
+                pub const m_bOnlySampleBaseRootMotion: usize = 0x12; // bool
+                pub const m_layerDefinition: usize = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t,3>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimMotorUpdaterBase {
+                pub const m_name: usize = 0x10; // CUtlString
+                pub const m_bDefault: usize = 0x18; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod JiggleBoneSettingsList_t {
+                pub const m_boneSettings: usize = 0x0; // CUtlVector<JiggleBoneSettings_t>
+            }
+            // Parent: CBinaryUpdateNode
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSubtractUpdateNode {
+                pub const m_footMotionTiming: usize = 0x8C; // BinaryNodeChildOption
+                pub const m_bApplyToFootMotion: usize = 0x90; // bool
+                pub const m_bApplyChannelsSeparately: usize = 0x91; // bool
+                pub const m_bUseModelSpace: usize = 0x92; // bool
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFloatRemapNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_inputRange: usize = 0x14; // CNmFloatRemapNode::RemapRange_t
+                pub const m_outputRange: usize = 0x1C; // CNmFloatRemapNode::RemapRange_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPoseHandle {
+                pub const m_nIndex: usize = 0x0; // uint16
+                pub const m_eType: usize = 0x2; // PoseType_t
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFootstepEventIDNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSolveIKChainUpdateNode {
+                pub const m_targetHandles: usize = 0x68; // CUtlVector<CSolveIKTargetHandle_t>
+                pub const m_opFixedData: usize = 0x80; // SolveIKChainPoseOpFixedSettings_t
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmOrNode__CDefinition {
+                pub const m_conditionNodeIndices: usize = 0x10; // CUtlLeanVectorFixedGrowable<int16,4>
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqCmdSeqDesc {
+                pub const m_sName: usize = 0x0; // CBufferString
+                pub const m_flags: usize = 0x10; // CSeqSeqDescFlag
+                pub const m_transition: usize = 0x1C; // CSeqTransition
+                pub const m_nFrameRangeSequence: usize = 0x24; // int16
+                pub const m_nFrameCount: usize = 0x26; // int16
+                pub const m_flFPS: usize = 0x28; // float32
+                pub const m_nSubCycles: usize = 0x2C; // int16
+                pub const m_numLocalResults: usize = 0x2E; // int16
+                pub const m_cmdLayerArray: usize = 0x30; // CUtlVector<CSeqCmdLayer>
+                pub const m_eventArray: usize = 0x48; // CUtlVector<CAnimEventDefinition>
+                pub const m_activityArray: usize = 0x60; // CUtlVector<CAnimActivity>
+                pub const m_poseSettingArray: usize = 0x78; // CUtlVector<CSeqPoseSetting>
+            }
+            // Parent: CBinaryUpdateNode
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBoneMaskUpdateNode {
+                pub const m_nWeightListIndex: usize = 0x8C; // int32
+                pub const m_flRootMotionBlend: usize = 0x90; // float32
+                pub const m_blendSpace: usize = 0x94; // BoneMaskBlendSpace
+                pub const m_footMotionTiming: usize = 0x98; // BinaryNodeChildOption
+                pub const m_bUseBlendScale: usize = 0x9C; // bool
+                pub const m_blendValueSource: usize = 0xA0; // AnimValueSource
+                pub const m_hBlendParameter: usize = 0xA4; // CAnimParamHandle
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CLeafUpdateNode {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SolveIKChainPoseOpFixedSettings_t {
+                pub const m_ChainsToSolveData: usize = 0x0; // CUtlVector<ChainToSolveData_t>
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod TwoBoneIKSettings_t {
+                pub const m_endEffectorType: usize = 0x0; // IkEndEffectorType
+                pub const m_endEffectorAttachment: usize = 0x10; // CAnimAttachment
+                pub const m_targetType: usize = 0x90; // IkTargetType
+                pub const m_targetAttachment: usize = 0xA0; // CAnimAttachment
+                pub const m_targetBoneIndex: usize = 0x120; // int32
+                pub const m_hPositionParam: usize = 0x124; // CAnimParamHandle
+                pub const m_hRotationParam: usize = 0x126; // CAnimParamHandle
+                pub const m_bAlwaysUseFallbackHinge: usize = 0x128; // bool
+                pub const m_vLsFallbackHingeAxis: usize = 0x130; // VectorAligned
+                pub const m_nFixedBoneIndex: usize = 0x140; // int32
+                pub const m_nMiddleBoneIndex: usize = 0x144; // int32
+                pub const m_nEndBoneIndex: usize = 0x148; // int32
+                pub const m_bMatchTargetOrientation: usize = 0x14C; // bool
+                pub const m_bConstrainTwist: usize = 0x14D; // bool
+                pub const m_flMaxTwist: usize = 0x150; // float32
+            }
+            // Parent: CNmTask
+            // Field count: 0
+            pub mod CNmCachedPoseWriteTask {
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimUpdateSharedData {
+                pub const m_nodes: usize = 0x10; // CUtlVector<CSmartPtr<CAnimUpdateNodeBase>>
+                pub const m_nodeIndexMap: usize = 0x28; // CUtlHashtable<CAnimNodePath,int32>
+                pub const m_components: usize = 0x48; // CUtlVector<CSmartPtr<CAnimComponentUpdater>>
+                pub const m_pParamListUpdater: usize = 0x60; // CSmartPtr<CAnimParameterManagerUpdater>
+                pub const m_pTagManagerUpdater: usize = 0x68; // CSmartPtr<CAnimTagManagerUpdater>
+                pub const m_scriptManager: usize = 0x70; // CSmartPtr<CAnimScriptManager>
+                pub const m_settings: usize = 0x78; // CAnimGraphSettingsManager
+                pub const m_pStaticPoseCache: usize = 0xA8; // CSmartPtr<CStaticPoseCacheBuilder>
+                pub const m_pSkeleton: usize = 0xB0; // CSmartPtr<CAnimSkeleton>
+                pub const m_rootNodePath: usize = 0xB8; // CAnimNodePath
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimAttachment {
+                pub const m_influenceRotations: usize = 0x0; // Quaternion[3]
+                pub const m_influenceOffsets: usize = 0x30; // VectorAligned[3]
+                pub const m_influenceIndices: usize = 0x60; // int32[3]
+                pub const m_influenceWeights: usize = 0x6C; // float32[3]
+                pub const m_numInfluences: usize = 0x78; // uint8
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootTrajectories {
+                pub const m_trajectories: usize = 0x0; // CUtlVector<CFootTrajectory>
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmIDComparisonNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+                pub const m_comparison: usize = 0x12; // CNmIDComparisonNode::Comparison_t
+                pub const m_comparisionIDs: usize = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol,4>
+            }
+            // Parent: CMotionGraph
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CEditableMotionGraph {
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmConstFloatNode__CDefinition {
+                pub const m_flValue: usize = 0x10; // float32
+            }
+            // Parent: CAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CStringAnimTag {
+            }
+            // Parent: CConcreteAnimParameter
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CBoolAnimParameter {
+                pub const m_bDefaultValue: usize = 0x80; // bool
+            }
+            // Parent: CAnimTagBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CRagdollAnimTag {
+                pub const m_nPoseControl: usize = 0x58; // AnimPoseControl
+                pub const m_flFrequency: usize = 0x5C; // float32
+                pub const m_flDampingRatio: usize = 0x60; // float32
+                pub const m_flDecayDuration: usize = 0x64; // float32
+                pub const m_flDecayBias: usize = 0x68; // float32
+                pub const m_bDestroy: usize = 0x6C; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionNode {
+                pub const m_name: usize = 0x18; // CUtlString
+                pub const m_id: usize = 0x20; // AnimNodeID
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateMachineNode__CDefinition {
+                pub const m_stateDefinitions: usize = 0x10; // CUtlLeanVectorFixedGrowable<CNmStateMachineNode::StateDefinition_t,5>
+                pub const m_nDefaultStateIndex: usize = 0x130; // int16
+            }
+            // Parent: CAnimTagBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CBodyGroupAnimTag {
+                pub const m_nPriority: usize = 0x58; // int32
+                pub const m_bodyGroupSettings: usize = 0x60; // CUtlVector<CBodyGroupSetting>
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            pub mod CNmModelSpaceBlendTask {
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmZeroPoseNode__CDefinition {
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmOrientationWarpNode__CDefinition {
+                pub const m_nClipReferenceNodeIdx: usize = 0x10; // int16
+                pub const m_nTargetValueNodeIdx: usize = 0x12; // int16
+                pub const m_bIsOffsetNode: usize = 0x14; // bool
+                pub const m_bIsOffsetRelativeToCharacter: usize = 0x15; // bool
+                pub const m_samplingMode: usize = 0x16; // CNmRootMotionData::SamplingMode_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyEditClassAsString
+            pub mod AnimParamID {
+                pub const m_id: usize = 0x0; // uint32
+            }
+            // Parent: CNmBoneMaskValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmBoneMaskNode__CDefinition {
+                pub const m_boneMaskID: usize = 0x10; // CGlobalSymbol
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmChildGraphNode__CDefinition {
+                pub const m_nChildGraphIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AnimationDecodeDebugDump_t {
+                pub const m_processingType: usize = 0x0; // AnimationProcessingType_t
+                pub const m_elems: usize = 0x8; // CUtlVector<AnimationDecodeDebugDumpElement_t>
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVirtualParameterIDNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqScaleSet {
+                pub const m_sName: usize = 0x0; // CBufferString
+                pub const m_bRootOffset: usize = 0x10; // bool
+                pub const m_vRootOffset: usize = 0x14; // Vector
+                pub const m_nLocalBoneArray: usize = 0x20; // CUtlVector<int16>
+                pub const m_flBoneScaleArray: usize = 0x38; // CUtlVector<float32>
+            }
+            // Parent: CLeafUpdateNode
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDirectionalBlendUpdateNode {
+                pub const m_hSequences: usize = 0x5C; // HSequence[8]
+                pub const m_damping: usize = 0x80; // CAnimInputDamping
+                pub const m_blendValueSource: usize = 0x90; // AnimValueSource
+                pub const m_paramIndex: usize = 0x94; // CAnimParamHandle
+                pub const m_playbackSpeed: usize = 0x98; // float32
+                pub const m_duration: usize = 0x9C; // float32
+                pub const m_bLoop: usize = 0xA0; // bool
+                pub const m_bLockBlendOnReset: usize = 0xA1; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParamSpan_t {
+                pub const m_samples: usize = 0x0; // CUtlVector<ParamSpanSample_t>
+                pub const m_hParam: usize = 0x18; // CAnimParamHandle
+                pub const m_eParamType: usize = 0x1A; // AnimParamType_t
+                pub const m_flStartCycle: usize = 0x1C; // float32
+                pub const m_flEndCycle: usize = 0x20; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFootStepTriggerUpdateNode {
+                pub const m_triggers: usize = 0x68; // CUtlVector<FootStepTrigger>
+                pub const m_flTolerance: usize = 0x84; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            pub mod IKTargetSettings_t {
+                pub const m_TargetSource: usize = 0x0; // IKTargetSource
+                pub const m_Bone: usize = 0x8; // IKBoneNameAndIndex_t
+                pub const m_AnimgraphParameterNamePosition: usize = 0x18; // AnimParamID
+                pub const m_AnimgraphParameterNameOrientation: usize = 0x1C; // AnimParamID
+                pub const m_TargetCoordSystem: usize = 0x20; // IKTargetCoordinateSystem
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCurrentSyncEventIndexNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: CModelConfigElement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_SetRenderColor {
+                pub const m_Color: usize = 0x48; // Color
+            }
+            // Parent: CNmBlendTaskBase
+            // Field count: 0
+            pub mod CNmAdditiveBlendTask {
+            }
+            // Parent: CNmPoseNode__CDefinition
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmAnimationPoseNode__CDefinition {
+                pub const m_nPoseTimeValueNodeIdx: usize = 0x10; // int16
+                pub const m_nDataSlotIdx: usize = 0x12; // int16
+                pub const m_inputTimeRemapRange: usize = 0x14; // Range_t
+                pub const m_flUserSpecifiedTime: usize = 0x1C; // float32
+                pub const m_bUseFramesAsInput: usize = 0x20; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionSearchDB {
+                pub const m_rootNode: usize = 0x0; // CMotionSearchNode
+                pub const m_residualQuantizer: usize = 0x80; // CProductQuantizer
+                pub const m_codeIndices: usize = 0xA0; // CUtlVector<MotionDBIndex>
+            }
+            // Parent: CMotionNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionNodeBlend1D {
+                pub const m_blendItems: usize = 0x28; // CUtlVector<MotionBlendItem>
+                pub const m_nParamIndex: usize = 0x40; // int32
+            }
+            // Parent: CNmTargetValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmControlParameterTargetNode__CDefinition {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SkeletonBoneBounds_t {
+                pub const m_vecCenter: usize = 0x0; // Vector
+                pub const m_vecSize: usize = 0xC; // Vector
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTwoBoneIKUpdateNode {
+                pub const m_opFixedData: usize = 0x70; // TwoBoneIKSettings_t
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VPhysXBodyPart_t {
+                pub const m_nFlags: usize = 0x0; // uint32
+                pub const m_flMass: usize = 0x4; // float32
+                pub const m_rnShape: usize = 0x8; // VPhysics2ShapeDef_t
+                pub const m_nCollisionAttributeIndex: usize = 0x80; // uint16
+                pub const m_nReserved: usize = 0x82; // uint16
+                pub const m_flInertiaScale: usize = 0x84; // float32
+                pub const m_flLinearDamping: usize = 0x88; // float32
+                pub const m_flAngularDamping: usize = 0x8C; // float32
+                pub const m_bOverrideMassCenter: usize = 0x90; // bool
+                pub const m_vMassCenterOverride: usize = 0x94; // Vector
+            }
+            // Parent: CHandshakeAnimTagBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CTaskHandshakeAnimTag {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFollowPathUpdateNode {
+                pub const m_flBlendOutTime: usize = 0x6C; // float32
+                pub const m_bBlockNonPathMovement: usize = 0x70; // bool
+                pub const m_bStopFeetAtGoal: usize = 0x71; // bool
+                pub const m_bScaleSpeed: usize = 0x72; // bool
+                pub const m_flScale: usize = 0x74; // float32
+                pub const m_flMinAngle: usize = 0x78; // float32
+                pub const m_flMaxAngle: usize = 0x7C; // float32
+                pub const m_flSpeedScaleBlending: usize = 0x80; // float32
+                pub const m_turnDamping: usize = 0x88; // CAnimInputDamping
+                pub const m_facingTarget: usize = 0x98; // AnimValueSource
+                pub const m_hParam: usize = 0x9C; // CAnimParamHandle
+                pub const m_flTurnToFaceOffset: usize = 0xA0; // float32
+                pub const m_bTurnToFace: usize = 0xA4; // bool
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AimMatrixOpFixedSettings_t {
+                pub const m_attachment: usize = 0x0; // CAnimAttachment
+                pub const m_damping: usize = 0x80; // CAnimInputDamping
+                pub const m_poseCacheHandles: usize = 0x90; // CPoseHandle[10]
+                pub const m_eBlendMode: usize = 0xB8; // AimMatrixBlendMode
+                pub const m_flMaxYawAngle: usize = 0xBC; // float32
+                pub const m_flMaxPitchAngle: usize = 0xC0; // float32
+                pub const m_nSequenceMaxFrame: usize = 0xC4; // int32
+                pub const m_nBoneMaskIndex: usize = 0xC8; // int32
+                pub const m_bTargetIsPosition: usize = 0xCC; // bool
+                pub const m_bUseBiasAndClamp: usize = 0xCD; // bool
+                pub const m_flBiasAndClampYawOffset: usize = 0xD0; // float32
+                pub const m_flBiasAndClampPitchOffset: usize = 0xD4; // float32
+                pub const m_biasAndClampBlendCurve: usize = 0xD8; // CBlendCurve
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimScriptComponentUpdater {
+                pub const m_hScript: usize = 0x30; // AnimScriptHandle
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRagdollUpdateNode {
+                pub const m_nWeightListIndex: usize = 0x68; // int32
+                pub const m_poseControlMethod: usize = 0x6C; // RagdollPoseControl
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBoneConstraintBase {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmStateEventConditionNode__Condition_t {
+                pub const m_eventID: usize = 0x0; // CGlobalSymbol
+                pub const m_eventTypeCondition: usize = 0x8; // NmStateEventTypeCondition_t
+            }
+            // Parent: CPathAnimMotorUpdaterBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPathAnimMotorUpdater {
+            }
+            // Parent: CAnimTagBase
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CMaterialAttributeAnimTag {
+                pub const m_AttributeName: usize = 0x58; // CUtlString
+                pub const m_AttributeType: usize = 0x60; // MatterialAttributeTagType_t
+                pub const m_flValue: usize = 0x64; // float32
+                pub const m_Color: usize = 0x68; // Color
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFootEventConditionNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+                pub const m_phaseCondition: usize = 0x12; // NmFootPhaseCondition_t
+                pub const m_eventConditionRules: usize = 0x14; // CNmBitFlags
+            }
+            // Parent: CNmEvent
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmFootEvent {
+                pub const m_phase: usize = 0x18; // NmFootPhase_t
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPhysSurfacePropertiesAudio {
+                pub const m_reflectivity: usize = 0x0; // float32
+                pub const m_hardnessFactor: usize = 0x4; // float32
+                pub const m_roughnessFactor: usize = 0x8; // float32
+                pub const m_roughThreshold: usize = 0xC; // float32
+                pub const m_hardThreshold: usize = 0x10; // float32
+                pub const m_hardVelocityThreshold: usize = 0x14; // float32
+                pub const m_flStaticImpactVolume: usize = 0x18; // float32
+                pub const m_flOcclusionFactor: usize = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSeqAutoLayer {
+                pub const m_nLocalReference: usize = 0x0; // int16
+                pub const m_nLocalPose: usize = 0x2; // int16
+                pub const m_flags: usize = 0x4; // CSeqAutoLayerFlag
+                pub const m_start: usize = 0xC; // float32
+                pub const m_peak: usize = 0x10; // float32
+                pub const m_tail: usize = 0x14; // float32
+                pub const m_end: usize = 0x18; // float32
+            }
+            // Parent: CNmFloatValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmCurrentSyncEventPercentageThroughNode__CDefinition {
+                pub const m_nSourceStateNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PhysSoftbodyDesc_t {
+                pub const m_ParticleBoneHash: usize = 0x0; // CUtlVector<uint32>
+                pub const m_Particles: usize = 0x18; // CUtlVector<RnSoftbodyParticle_t>
+                pub const m_Springs: usize = 0x30; // CUtlVector<RnSoftbodySpring_t>
+                pub const m_Capsules: usize = 0x48; // CUtlVector<RnSoftbodyCapsule_t>
+                pub const m_InitPose: usize = 0x60; // CUtlVector<CTransform>
+                pub const m_ParticleBoneName: usize = 0x78; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimSequenceParams {
+                pub const m_flFadeInTime: usize = 0x0; // float32
+                pub const m_flFadeOutTime: usize = 0x4; // float32
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CTargetWarpUpdateNode {
+                pub const m_hPositionParameter: usize = 0x6C; // CAnimParamHandle
+                pub const m_hFacePositionParameter: usize = 0x6E; // CAnimParamHandle
+            }
+            // Parent: CNmBoolValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVirtualParameterBoolNode__CDefinition {
+                pub const m_nChildNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFollowTargetUpdateNode {
+                pub const m_opFixedData: usize = 0x68; // FollowTargetOpFixedSettings_t
+                pub const m_hParameterPosition: usize = 0x80; // CAnimParamHandle
+                pub const m_hParameterOrientation: usize = 0x82; // CAnimParamHandle
+            }
+            // Parent: CAnimComponentUpdater
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CCPPScriptComponentUpdater {
+                pub const m_scriptsToRun: usize = 0x30; // CUtlVector<CGlobalSymbol>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimData {
+                pub const m_name: usize = 0x10; // CBufferString
+                pub const m_animArray: usize = 0x20; // CUtlVector<CAnimDesc>
+                pub const m_decoderArray: usize = 0x38; // CUtlVector<CAnimDecoder>
+                pub const m_nMaxUniqueFrameIndex: usize = 0x50; // int32
+                pub const m_segmentArray: usize = 0x58; // CUtlVector<CAnimFrameSegment>
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod IKSolverSettings_t {
+                pub const m_SolverType: usize = 0x0; // IKSolverType
+                pub const m_nNumIterations: usize = 0x4; // int32
+                pub const m_EndEffectorRotationFixUpMode: usize = 0x8; // EIKEndEffectorRotationFixUpMode
+            }
+            // Parent: CAnimUpdateNodeBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBinaryUpdateNode {
+                pub const m_pChild1: usize = 0x58; // CAnimUpdateNodeRef
+                pub const m_pChild2: usize = 0x68; // CAnimUpdateNodeRef
+                pub const m_timingBehavior: usize = 0x78; // BinaryNodeTiming
+                pub const m_flTimingBlend: usize = 0x7C; // float32
+                pub const m_bResetChild1: usize = 0x80; // bool
+                pub const m_bResetChild2: usize = 0x81; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmParameterizedBlendNode__BlendRange_t {
+                pub const m_nInputIdx0: usize = 0x0; // int16
+                pub const m_nInputIdx1: usize = 0x2; // int16
+                pub const m_parameterValueRange: usize = 0x4; // Range_t
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimKeyData {
+                pub const m_name: usize = 0x0; // CBufferString
+                pub const m_boneArray: usize = 0x10; // CUtlVector<CAnimBone>
+                pub const m_userArray: usize = 0x28; // CUtlVector<CAnimUser>
+                pub const m_morphArray: usize = 0x40; // CUtlVector<CBufferString>
+                pub const m_nChannelElements: usize = 0x58; // int32
+                pub const m_dataChannelArray: usize = 0x60; // CUtlVector<CAnimDataChannelDesc>
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod AttachmentHandle_t {
+                pub const m_Value: usize = 0x0; // uint8
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimMorphDifference {
+                pub const m_name: usize = 0x0; // CBufferString
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FootFixedData_t {
+                pub const m_vToeOffset: usize = 0x0; // VectorAligned
+                pub const m_vHeelOffset: usize = 0x10; // VectorAligned
+                pub const m_nTargetBoneIndex: usize = 0x20; // int32
+                pub const m_nAnkleBoneIndex: usize = 0x24; // int32
+                pub const m_nIKAnchorBoneIndex: usize = 0x28; // int32
+                pub const m_ikChainIndex: usize = 0x2C; // int32
+                pub const m_flMaxIKLength: usize = 0x30; // float32
+                pub const m_nFootIndex: usize = 0x34; // int32
+                pub const m_nTagIndex: usize = 0x38; // int32
+                pub const m_flMaxRotationLeft: usize = 0x3C; // float32
+                pub const m_flMaxRotationRight: usize = 0x40; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CMotionGraphGroup {
+                pub const m_searchDB: usize = 0x0; // CMotionSearchDB
+                pub const m_motionGraphs: usize = 0xB8; // CUtlVector<CSmartPtr<CMotionGraph>>
+                pub const m_motionGraphConfigs: usize = 0xD0; // CUtlVector<CMotionGraphConfig>
+                pub const m_sampleToConfig: usize = 0xE8; // CUtlVector<int32>
+                pub const m_hIsActiveScript: usize = 0x100; // AnimScriptHandle
+            }
+            // Parent: CNmVectorValueNode__CDefinition
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmVectorNegateNode__CDefinition {
+                pub const m_nInputValueNodeIdx: usize = 0x10; // int16
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmSyncTrack__Event_t {
+                pub const m_ID: usize = 0x0; // CGlobalSymbol
+                pub const m_startTime: usize = 0x8; // NmPercent_t
+                pub const m_duration: usize = 0xC; // NmPercent_t
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmTarget {
+                pub const m_transform: usize = 0x0; // CTransform
+                pub const m_boneID: usize = 0x20; // CGlobalSymbol
+                pub const m_bIsBoneTarget: usize = 0x28; // bool
+                pub const m_bIsUsingBoneSpaceOffsets: usize = 0x29; // bool
+                pub const m_bHasOffsets: usize = 0x2A; // bool
+                pub const m_bIsSet: usize = 0x2B; // bool
+            }
+            // Parent: CNmIDValueNode__CDefinition
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CNmControlParameterIDNode__CDefinition {
+            }
+            // Parent: CUnaryUpdateNode
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CWayPointHelperUpdateNode {
+                pub const m_flStartCycle: usize = 0x6C; // float32
+                pub const m_flEndCycle: usize = 0x70; // float32
+                pub const m_bOnlyGoals: usize = 0x74; // bool
+                pub const m_bPreventOvershoot: usize = 0x75; // bool
+                pub const m_bPreventUndershoot: usize = 0x76; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataOverlayType
+            pub mod CMoodVData {
+                pub const m_sModelName: usize = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_nMoodType: usize = 0xE0; // MoodType_t
+                pub const m_animationLayers: usize = 0xE8; // CUtlVector<MoodAnimationLayer_t>
+            }
+            // Parent: CModelConfigElement
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CModelConfigElement_AttachedModel {
+                pub const m_InstanceName: usize = 0x48; // CUtlString
+                pub const m_EntityClass: usize = 0x50; // CUtlString
+                pub const m_hModel: usize = 0x58; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_vOffset: usize = 0x60; // Vector
+                pub const m_aAngOffset: usize = 0x6C; // QAngle
+                pub const m_AttachmentName: usize = 0x78; // CUtlString
+                pub const m_LocalAttachmentOffsetName: usize = 0x80; // CUtlString
+                pub const m_AttachmentType: usize = 0x88; // ModelConfigAttachmentType_t
+                pub const m_bBoneMergeFlex: usize = 0x8C; // bool
+                pub const m_bUserSpecifiedColor: usize = 0x8D; // bool
+                pub const m_bUserSpecifiedMaterialGroup: usize = 0x8E; // bool
+                pub const m_bAcceptParentMaterialDrivenDecals: usize = 0x8F; // bool
+                pub const m_BodygroupOnOtherModels: usize = 0x90; // CUtlString
+                pub const m_MaterialGroupOnOtherModels: usize = 0x98; // CUtlString
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAnimTagManagerUpdater {
+                pub const m_tags: usize = 0x38; // CUtlVector<CSmartPtr<CAnimTagBase>>
+            }
+        }
+    }
+}
diff --git a/output/buttons.cs b/output/buttons.cs
new file mode 100644
index 0000000..d619ca8
--- /dev/null
+++ b/output/buttons.cs
@@ -0,0 +1,24 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper {
+    // Module: client.dll
+    public static class Buttons {
+        public const nint attack = 0x186C850;
+        public const nint attack2 = 0x186C8E0;
+        public const nint back = 0x186CB20;
+        public const nint duck = 0x186CDF0;
+        public const nint forward = 0x186CA90;
+        public const nint jump = 0x186CD60;
+        public const nint left = 0x186CBB0;
+        public const nint lookatweapon = 0x1A92F10;
+        public const nint reload = 0x186C7C0;
+        public const nint right = 0x186CC40;
+        public const nint showscores = 0x1A92DF0;
+        public const nint sprint = 0x186C730;
+        public const nint turnleft = 0x186C970;
+        public const nint turnright = 0x186CA00;
+        public const nint use = 0x186CCD0;
+        public const nint zoom = 0x1A92E80;
+    }
+}
diff --git a/output/buttons.hpp b/output/buttons.hpp
new file mode 100644
index 0000000..e9096c3
--- /dev/null
+++ b/output/buttons.hpp
@@ -0,0 +1,28 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    // Module: client.dll
+    namespace buttons {
+        constexpr std::ptrdiff_t attack = 0x186C850;
+        constexpr std::ptrdiff_t attack2 = 0x186C8E0;
+        constexpr std::ptrdiff_t back = 0x186CB20;
+        constexpr std::ptrdiff_t duck = 0x186CDF0;
+        constexpr std::ptrdiff_t forward = 0x186CA90;
+        constexpr std::ptrdiff_t jump = 0x186CD60;
+        constexpr std::ptrdiff_t left = 0x186CBB0;
+        constexpr std::ptrdiff_t lookatweapon = 0x1A92F10;
+        constexpr std::ptrdiff_t reload = 0x186C7C0;
+        constexpr std::ptrdiff_t right = 0x186CC40;
+        constexpr std::ptrdiff_t showscores = 0x1A92DF0;
+        constexpr std::ptrdiff_t sprint = 0x186C730;
+        constexpr std::ptrdiff_t turnleft = 0x186C970;
+        constexpr std::ptrdiff_t turnright = 0x186CA00;
+        constexpr std::ptrdiff_t use = 0x186CCD0;
+        constexpr std::ptrdiff_t zoom = 0x1A92E80;
+    }
+}
diff --git a/output/buttons.json b/output/buttons.json
new file mode 100644
index 0000000..2269a64
--- /dev/null
+++ b/output/buttons.json
@@ -0,0 +1,20 @@
+{
+  "client.dll": {
+    "attack": 25610320,
+    "attack2": 25610464,
+    "back": 25611040,
+    "duck": 25611760,
+    "forward": 25610896,
+    "jump": 25611616,
+    "left": 25611184,
+    "lookatweapon": 27864848,
+    "reload": 25610176,
+    "right": 25611328,
+    "showscores": 27864560,
+    "sprint": 25610032,
+    "turnleft": 25610608,
+    "turnright": 25610752,
+    "use": 25611472,
+    "zoom": 27864704
+  }
+}
\ No newline at end of file
diff --git a/output/buttons.rs b/output/buttons.rs
new file mode 100644
index 0000000..fff0245
--- /dev/null
+++ b/output/buttons.rs
@@ -0,0 +1,26 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, unused)]
+
+pub mod cs2_dumper {
+    // Module: client.dll
+    pub mod buttons {
+        pub const attack: usize = 0x186C850;
+        pub const attack2: usize = 0x186C8E0;
+        pub const back: usize = 0x186CB20;
+        pub const duck: usize = 0x186CDF0;
+        pub const forward: usize = 0x186CA90;
+        pub const jump: usize = 0x186CD60;
+        pub const left: usize = 0x186CBB0;
+        pub const lookatweapon: usize = 0x1A92F10;
+        pub const reload: usize = 0x186C7C0;
+        pub const right: usize = 0x186CC40;
+        pub const showscores: usize = 0x1A92DF0;
+        pub const sprint: usize = 0x186C730;
+        pub const turnleft: usize = 0x186C970;
+        pub const turnright: usize = 0x186CA00;
+        pub const r#use: usize = 0x186CCD0;
+        pub const zoom: usize = 0x1A92E80;
+    }
+}
diff --git a/output/client_dll.cs b/output/client_dll.cs
new file mode 100644
index 0000000..bfec950
--- /dev/null
+++ b/output/client_dll.cs
@@ -0,0 +1,6851 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: client.dll
+    // Class count: 414
+    // Enum count: 7
+    public static class ClientDll {
+        // Alignment: 4
+        // Member count: 15
+        public enum CompositeMaterialInputLooseVariableType_t : uint {
+            LOOSE_VARIABLE_TYPE_BOOLEAN = 0x0,
+            LOOSE_VARIABLE_TYPE_INTEGER1 = 0x1,
+            LOOSE_VARIABLE_TYPE_INTEGER2 = 0x2,
+            LOOSE_VARIABLE_TYPE_INTEGER3 = 0x3,
+            LOOSE_VARIABLE_TYPE_INTEGER4 = 0x4,
+            LOOSE_VARIABLE_TYPE_FLOAT1 = 0x5,
+            LOOSE_VARIABLE_TYPE_FLOAT2 = 0x6,
+            LOOSE_VARIABLE_TYPE_FLOAT3 = 0x7,
+            LOOSE_VARIABLE_TYPE_FLOAT4 = 0x8,
+            LOOSE_VARIABLE_TYPE_COLOR4 = 0x9,
+            LOOSE_VARIABLE_TYPE_STRING = 0xA,
+            LOOSE_VARIABLE_TYPE_SYSTEMVAR = 0xB,
+            LOOSE_VARIABLE_TYPE_RESOURCE_MATERIAL = 0xC,
+            LOOSE_VARIABLE_TYPE_RESOURCE_TEXTURE = 0xD,
+            LOOSE_VARIABLE_TYPE_PANORAMA_RENDER = 0xE
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum CompositeMaterialInputTextureType_t : uint {
+            INPUT_TEXTURE_TYPE_DEFAULT = 0x0,
+            INPUT_TEXTURE_TYPE_NORMALMAP = 0x1,
+            INPUT_TEXTURE_TYPE_COLOR = 0x2,
+            INPUT_TEXTURE_TYPE_MASKS = 0x3,
+            INPUT_TEXTURE_TYPE_ROUGHNESS = 0x4,
+            INPUT_TEXTURE_TYPE_PEARLESCENCE_MASK = 0x5,
+            INPUT_TEXTURE_TYPE_AO = 0x6
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum CompositeMaterialInputContainerSourceType_t : uint {
+            CONTAINER_SOURCE_TYPE_TARGET_MATERIAL = 0x0,
+            CONTAINER_SOURCE_TYPE_MATERIAL_FROM_TARGET_ATTR = 0x1,
+            CONTAINER_SOURCE_TYPE_SPECIFIC_MATERIAL = 0x2,
+            CONTAINER_SOURCE_TYPE_LOOSE_VARIABLES = 0x3,
+            CONTAINER_SOURCE_TYPE_VARIABLE_FROM_TARGET_ATTR = 0x4,
+            CONTAINER_SOURCE_TYPE_TARGET_INSTANCE_MATERIAL = 0x5
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum CompMatPropertyMutatorType_t : uint {
+            COMP_MAT_PROPERTY_MUTATOR_INIT = 0x0,
+            COMP_MAT_PROPERTY_MUTATOR_COPY_MATCHING_KEYS = 0x1,
+            COMP_MAT_PROPERTY_MUTATOR_COPY_KEYS_WITH_SUFFIX = 0x2,
+            COMP_MAT_PROPERTY_MUTATOR_COPY_PROPERTY = 0x3,
+            COMP_MAT_PROPERTY_MUTATOR_SET_VALUE = 0x4,
+            COMP_MAT_PROPERTY_MUTATOR_GENERATE_TEXTURE = 0x5,
+            COMP_MAT_PROPERTY_MUTATOR_CONDITIONAL_MUTATORS = 0x6,
+            COMP_MAT_PROPERTY_MUTATOR_POP_INPUT_QUEUE = 0x7,
+            COMP_MAT_PROPERTY_MUTATOR_DRAW_TEXT = 0x8,
+            COMP_MAT_PROPERTY_MUTATOR_RANDOM_ROLL_INPUT_VARIABLES = 0x9
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum CompositeMaterialVarSystemVar_t : uint {
+            COMPMATSYSVAR_COMPOSITETIME = 0x0,
+            COMPMATSYSVAR_EMPTY_RESOURCE_SPACER = 0x1
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum CompositeMaterialMatchFilterType_t : uint {
+            MATCH_FILTER_MATERIAL_ATTRIBUTE_EXISTS = 0x0,
+            MATCH_FILTER_MATERIAL_SHADER = 0x1,
+            MATCH_FILTER_MATERIAL_NAME_SUBSTR = 0x2,
+            MATCH_FILTER_MATERIAL_ATTRIBUTE_EQUALS = 0x3,
+            MATCH_FILTER_MATERIAL_PROPERTY_EXISTS = 0x4,
+            MATCH_FILTER_MATERIAL_PROPERTY_EQUALS = 0x5
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum CompMatPropertyMutatorConditionType_t : uint {
+            COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_EXISTS = 0x0,
+            COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EXISTS = 0x1,
+            COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EQUALS = 0x2
+        }
+        // Parent: C_CSGO_TeamPreviewCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_TeamSelectCharacterPosition {
+        }
+        // Parent: C_BaseCSGrenade
+        // Field count: 0
+        public static class C_HEGrenade {
+        }
+        // Parent: C_BaseToggle
+        // Field count: 0
+        public static class C_FuncMover {
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 0
+        public static class C_TriggerLerpObject {
+        }
+        // Parent: CPlayer_MovementServices_Humanoid
+        // Field count: 38
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecLadderNormal (Vector)
+        // NetworkVarNames: m_nLadderSurfacePropIndex (int)
+        // NetworkVarNames: m_flDuckAmount (float)
+        // NetworkVarNames: m_flDuckSpeed (float)
+        // NetworkVarNames: m_bDuckOverride (bool)
+        // NetworkVarNames: m_bDesiresDuck (bool)
+        // NetworkVarNames: m_nDuckTimeMsecs (uint32)
+        // NetworkVarNames: m_nDuckJumpTimeMsecs (uint32)
+        // NetworkVarNames: m_nJumpTimeMsecs (uint32)
+        // NetworkVarNames: m_flLastDuckTime (float)
+        // NetworkVarNames: m_nGameCodeHasMovedPlayerAfterCommand (int)
+        // NetworkVarNames: m_bOldJumpPressed (bool)
+        // NetworkVarNames: m_fStashGrenadeParameterWhen (GameTime_t)
+        // NetworkVarNames: m_nButtonDownMaskPrev (ButtonBitMask_t)
+        // NetworkVarNames: m_flOffsetTickCompleteTime (float)
+        // NetworkVarNames: m_flOffsetTickStashedSpeed (float)
+        // NetworkVarNames: m_flStamina (float)
+        public static class CCSPlayer_MovementServices {
+            public const nint m_vecLadderNormal = 0x218; // Vector
+            public const nint m_nLadderSurfacePropIndex = 0x224; // int32
+            public const nint m_flDuckAmount = 0x228; // float32
+            public const nint m_flDuckSpeed = 0x22C; // float32
+            public const nint m_bDuckOverride = 0x230; // bool
+            public const nint m_bDesiresDuck = 0x231; // bool
+            public const nint m_flDuckOffset = 0x234; // float32
+            public const nint m_nDuckTimeMsecs = 0x238; // uint32
+            public const nint m_nDuckJumpTimeMsecs = 0x23C; // uint32
+            public const nint m_nJumpTimeMsecs = 0x240; // uint32
+            public const nint m_flLastDuckTime = 0x244; // float32
+            public const nint m_vecLastPositionAtFullCrouchSpeed = 0x250; // Vector2D
+            public const nint m_duckUntilOnGround = 0x258; // bool
+            public const nint m_bHasWalkMovedSinceLastJump = 0x259; // bool
+            public const nint m_bInStuckTest = 0x25A; // bool
+            public const nint m_flStuckCheckTime = 0x268; // float32[64][2]
+            public const nint m_nTraceCount = 0x468; // int32
+            public const nint m_StuckLast = 0x46C; // int32
+            public const nint m_bSpeedCropped = 0x470; // bool
+            public const nint m_flGroundMoveEfficiency = 0x474; // float32
+            public const nint m_nOldWaterLevel = 0x478; // int32
+            public const nint m_flWaterEntryTime = 0x47C; // float32
+            public const nint m_vecForward = 0x480; // Vector
+            public const nint m_vecLeft = 0x48C; // Vector
+            public const nint m_vecUp = 0x498; // Vector
+            public const nint m_nGameCodeHasMovedPlayerAfterCommand = 0x4A4; // int32
+            public const nint m_bOldJumpPressed = 0x4A8; // bool
+            public const nint m_flJumpPressedTime = 0x4AC; // float32
+            public const nint m_fStashGrenadeParameterWhen = 0x4B0; // GameTime_t
+            public const nint m_nButtonDownMaskPrev = 0x4B8; // uint64
+            public const nint m_flOffsetTickCompleteTime = 0x4C0; // float32
+            public const nint m_flOffsetTickStashedSpeed = 0x4C4; // float32
+            public const nint m_flStamina = 0x4C8; // float32
+            public const nint m_flHeightAtJumpStart = 0x4CC; // float32
+            public const nint m_flMaxJumpHeightThisJump = 0x4D0; // float32
+            public const nint m_flMaxJumpHeightLastJump = 0x4D4; // float32
+            public const nint m_flStaminaAtJumpStart = 0x4D8; // float32
+            public const nint m_flAccumulatedJumpError = 0x4DC; // float32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: scale (int16)
+        // NetworkVarNames: origin (Vector)
+        // NetworkVarNames: bClip3DSkyBoxNearToWorldFar (bool)
+        // NetworkVarNames: flClip3DSkyBoxNearToWorldFarOffset (float32)
+        // NetworkVarNames: fog (fogparams_t)
+        // NetworkVarNames: m_nWorldGroupID (WorldGroupId_t)
+        public static class sky3dparams_t {
+            public const nint scale = 0x8; // int16
+            public const nint origin = 0xC; // Vector
+            public const nint bClip3DSkyBoxNearToWorldFar = 0x18; // bool
+            public const nint flClip3DSkyBoxNearToWorldFarOffset = 0x1C; // float32
+            public const nint fog = 0x20; // fogparams_t
+            public const nint m_nWorldGroupID = 0x88; // WorldGroupId_t
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponM4A1 {
+        }
+        // Parent: C_EconEntity
+        // Field count: 1
+        public static class C_Item {
+            public const nint m_pReticleHintTextName = 0x1668; // char[256]
+        }
+        // Parent: C_SoundEventEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecCornerPairsNetworked (SoundeventPathCornerPairNetworked_t)
+        public static class C_SoundEventPathCornerEntity {
+            public const nint m_vecCornerPairsNetworked = 0x628; // C_NetworkUtlVectorBase<SoundeventPathCornerPairNetworked_t>
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponM249 {
+        }
+        // Parent: C_TeamplayRules
+        // Field count: 101
+        //
+        // Metadata:
+        // NetworkVarNames: m_bFreezePeriod (bool)
+        // NetworkVarNames: m_bWarmupPeriod (bool)
+        // NetworkVarNames: m_fWarmupPeriodEnd (GameTime_t)
+        // NetworkVarNames: m_fWarmupPeriodStart (GameTime_t)
+        // NetworkVarNames: m_bServerPaused (bool)
+        // NetworkVarNames: m_bTerroristTimeOutActive (bool)
+        // NetworkVarNames: m_bCTTimeOutActive (bool)
+        // NetworkVarNames: m_flTerroristTimeOutRemaining (float)
+        // NetworkVarNames: m_flCTTimeOutRemaining (float)
+        // NetworkVarNames: m_nTerroristTimeOuts (int)
+        // NetworkVarNames: m_nCTTimeOuts (int)
+        // NetworkVarNames: m_bTechnicalTimeOut (bool)
+        // NetworkVarNames: m_bMatchWaitingForResume (bool)
+        // NetworkVarNames: m_iRoundTime (int)
+        // NetworkVarNames: m_fMatchStartTime (float)
+        // NetworkVarNames: m_fRoundStartTime (GameTime_t)
+        // NetworkVarNames: m_flRestartRoundTime (GameTime_t)
+        // NetworkVarNames: m_bGameRestart (bool)
+        // NetworkVarNames: m_flGameStartTime (float)
+        // NetworkVarNames: m_timeUntilNextPhaseStarts (float)
+        // NetworkVarNames: m_gamePhase (int)
+        // NetworkVarNames: m_totalRoundsPlayed (int)
+        // NetworkVarNames: m_nRoundsPlayedThisPhase (int)
+        // NetworkVarNames: m_nOvertimePlaying (int)
+        // NetworkVarNames: m_iHostagesRemaining (int)
+        // NetworkVarNames: m_bAnyHostageReached (bool)
+        // NetworkVarNames: m_bMapHasBombTarget (bool)
+        // NetworkVarNames: m_bMapHasRescueZone (bool)
+        // NetworkVarNames: m_bMapHasBuyZone (bool)
+        // NetworkVarNames: m_bIsQueuedMatchmaking (bool)
+        // NetworkVarNames: m_nQueuedMatchmakingMode (int)
+        // NetworkVarNames: m_bIsValveDS (bool)
+        // NetworkVarNames: m_bLogoMap (bool)
+        // NetworkVarNames: m_bPlayAllStepSoundsOnServer (bool)
+        // NetworkVarNames: m_iSpectatorSlotCount (int)
+        // NetworkVarNames: m_MatchDevice (int)
+        // NetworkVarNames: m_bHasMatchStarted (bool)
+        // NetworkVarNames: m_nNextMapInMapgroup (int)
+        // NetworkVarNames: m_szTournamentEventName (char)
+        // NetworkVarNames: m_szTournamentEventStage (char)
+        // NetworkVarNames: m_szMatchStatTxt (char)
+        // NetworkVarNames: m_szTournamentPredictionsTxt (char)
+        // NetworkVarNames: m_nTournamentPredictionsPct (int)
+        // NetworkVarNames: m_flCMMItemDropRevealStartTime (GameTime_t)
+        // NetworkVarNames: m_flCMMItemDropRevealEndTime (GameTime_t)
+        // NetworkVarNames: m_bIsDroppingItems (bool)
+        // NetworkVarNames: m_bIsQuestEligible (bool)
+        // NetworkVarNames: m_bIsHltvActive (bool)
+        // NetworkVarNames: m_arrProhibitedItemIndices (uint16)
+        // NetworkVarNames: m_arrTournamentActiveCasterAccounts (uint32)
+        // NetworkVarNames: m_numBestOfMaps (int)
+        // NetworkVarNames: m_nHalloweenMaskListSeed (int)
+        // NetworkVarNames: m_bBombDropped (bool)
+        // NetworkVarNames: m_bBombPlanted (bool)
+        // NetworkVarNames: m_iRoundWinStatus (int)
+        // NetworkVarNames: m_eRoundWinReason (int)
+        // NetworkVarNames: m_bTCantBuy (bool)
+        // NetworkVarNames: m_bCTCantBuy (bool)
+        // NetworkVarNames: m_iMatchStats_RoundResults (int)
+        // NetworkVarNames: m_iMatchStats_PlayersAlive_CT (int)
+        // NetworkVarNames: m_iMatchStats_PlayersAlive_T (int)
+        // NetworkVarNames: m_TeamRespawnWaveTimes (float)
+        // NetworkVarNames: m_flNextRespawnWave (GameTime_t)
+        // NetworkVarNames: m_nServerQuestID (int)
+        // NetworkVarNames: m_vMinimapMins (Vector)
+        // NetworkVarNames: m_vMinimapMaxs (Vector)
+        // NetworkVarNames: m_MinimapVerticalSectionHeights (float)
+        // NetworkVarNames: m_nEndMatchMapGroupVoteTypes (int)
+        // NetworkVarNames: m_nEndMatchMapGroupVoteOptions (int)
+        // NetworkVarNames: m_nEndMatchMapVoteWinner (int)
+        // NetworkVarNames: m_iNumConsecutiveCTLoses (int)
+        // NetworkVarNames: m_iNumConsecutiveTerroristLoses (int)
+        // NetworkVarNames: m_nMatchAbortedEarlyReason (int)
+        // NetworkVarNames: m_pGameModeRules (CCSGameModeRules*)
+        // NetworkVarNames: m_RetakeRules (CRetakeGameRules)
+        // NetworkVarNames: m_nMatchEndCount (uint8)
+        // NetworkVarNames: m_nTTeamIntroVariant (int)
+        // NetworkVarNames: m_nCTTeamIntroVariant (int)
+        // NetworkVarNames: m_bTeamIntroPeriod (bool)
+        // NetworkVarNames: m_iRoundEndWinnerTeam (int)
+        // NetworkVarNames: m_eRoundEndReason (int)
+        // NetworkVarNames: m_bRoundEndShowTimerDefend (bool)
+        // NetworkVarNames: m_iRoundEndTimerTime (int)
+        // NetworkVarNames: m_sRoundEndFunFactToken (CUtlString)
+        // NetworkVarNames: m_iRoundEndFunFactPlayerSlot (CPlayerSlot)
+        // NetworkVarNames: m_iRoundEndFunFactData1 (int)
+        // NetworkVarNames: m_iRoundEndFunFactData2 (int)
+        // NetworkVarNames: m_iRoundEndFunFactData3 (int)
+        // NetworkVarNames: m_sRoundEndMessage (CUtlString)
+        // NetworkVarNames: m_iRoundEndPlayerCount (int)
+        // NetworkVarNames: m_bRoundEndNoMusic (bool)
+        // NetworkVarNames: m_iRoundEndLegacy (int)
+        // NetworkVarNames: m_nRoundEndCount (uint8)
+        // NetworkVarNames: m_iRoundStartRoundNumber (int)
+        // NetworkVarNames: m_nRoundStartCount (uint8)
+        public static class C_CSGameRules {
+            public const nint m_bFreezePeriod = 0x40; // bool
+            public const nint m_bWarmupPeriod = 0x41; // bool
+            public const nint m_fWarmupPeriodEnd = 0x44; // GameTime_t
+            public const nint m_fWarmupPeriodStart = 0x48; // GameTime_t
+            public const nint m_bServerPaused = 0x4C; // bool
+            public const nint m_bTerroristTimeOutActive = 0x4D; // bool
+            public const nint m_bCTTimeOutActive = 0x4E; // bool
+            public const nint m_flTerroristTimeOutRemaining = 0x50; // float32
+            public const nint m_flCTTimeOutRemaining = 0x54; // float32
+            public const nint m_nTerroristTimeOuts = 0x58; // int32
+            public const nint m_nCTTimeOuts = 0x5C; // int32
+            public const nint m_bTechnicalTimeOut = 0x60; // bool
+            public const nint m_bMatchWaitingForResume = 0x61; // bool
+            public const nint m_iRoundTime = 0x64; // int32
+            public const nint m_fMatchStartTime = 0x68; // float32
+            public const nint m_fRoundStartTime = 0x6C; // GameTime_t
+            public const nint m_flRestartRoundTime = 0x70; // GameTime_t
+            public const nint m_bGameRestart = 0x74; // bool
+            public const nint m_flGameStartTime = 0x78; // float32
+            public const nint m_timeUntilNextPhaseStarts = 0x7C; // float32
+            public const nint m_gamePhase = 0x80; // int32
+            public const nint m_totalRoundsPlayed = 0x84; // int32
+            public const nint m_nRoundsPlayedThisPhase = 0x88; // int32
+            public const nint m_nOvertimePlaying = 0x8C; // int32
+            public const nint m_iHostagesRemaining = 0x90; // int32
+            public const nint m_bAnyHostageReached = 0x94; // bool
+            public const nint m_bMapHasBombTarget = 0x95; // bool
+            public const nint m_bMapHasRescueZone = 0x96; // bool
+            public const nint m_bMapHasBuyZone = 0x97; // bool
+            public const nint m_bIsQueuedMatchmaking = 0x98; // bool
+            public const nint m_nQueuedMatchmakingMode = 0x9C; // int32
+            public const nint m_bIsValveDS = 0xA0; // bool
+            public const nint m_bLogoMap = 0xA1; // bool
+            public const nint m_bPlayAllStepSoundsOnServer = 0xA2; // bool
+            public const nint m_iSpectatorSlotCount = 0xA4; // int32
+            public const nint m_MatchDevice = 0xA8; // int32
+            public const nint m_bHasMatchStarted = 0xAC; // bool
+            public const nint m_nNextMapInMapgroup = 0xB0; // int32
+            public const nint m_szTournamentEventName = 0xB4; // char[512]
+            public const nint m_szTournamentEventStage = 0x2B4; // char[512]
+            public const nint m_szMatchStatTxt = 0x4B4; // char[512]
+            public const nint m_szTournamentPredictionsTxt = 0x6B4; // char[512]
+            public const nint m_nTournamentPredictionsPct = 0x8B4; // int32
+            public const nint m_flCMMItemDropRevealStartTime = 0x8B8; // GameTime_t
+            public const nint m_flCMMItemDropRevealEndTime = 0x8BC; // GameTime_t
+            public const nint m_bIsDroppingItems = 0x8C0; // bool
+            public const nint m_bIsQuestEligible = 0x8C1; // bool
+            public const nint m_bIsHltvActive = 0x8C2; // bool
+            public const nint m_arrProhibitedItemIndices = 0x8C4; // uint16[100]
+            public const nint m_arrTournamentActiveCasterAccounts = 0x98C; // uint32[4]
+            public const nint m_numBestOfMaps = 0x99C; // int32
+            public const nint m_nHalloweenMaskListSeed = 0x9A0; // int32
+            public const nint m_bBombDropped = 0x9A4; // bool
+            public const nint m_bBombPlanted = 0x9A5; // bool
+            public const nint m_iRoundWinStatus = 0x9A8; // int32
+            public const nint m_eRoundWinReason = 0x9AC; // int32
+            public const nint m_bTCantBuy = 0x9B0; // bool
+            public const nint m_bCTCantBuy = 0x9B1; // bool
+            public const nint m_iMatchStats_RoundResults = 0x9B4; // int32[30]
+            public const nint m_iMatchStats_PlayersAlive_CT = 0xA2C; // int32[30]
+            public const nint m_iMatchStats_PlayersAlive_T = 0xAA4; // int32[30]
+            public const nint m_TeamRespawnWaveTimes = 0xB1C; // float32[32]
+            public const nint m_flNextRespawnWave = 0xB9C; // GameTime_t[32]
+            public const nint m_nServerQuestID = 0xC1C; // int32
+            public const nint m_vMinimapMins = 0xC20; // Vector
+            public const nint m_vMinimapMaxs = 0xC2C; // Vector
+            public const nint m_MinimapVerticalSectionHeights = 0xC38; // float32[8]
+            public const nint m_bSpawnedTerrorHuntHeavy = 0xC58; // bool
+            public const nint m_ullLocalMatchID = 0xC60; // uint64
+            public const nint m_nEndMatchMapGroupVoteTypes = 0xC68; // int32[10]
+            public const nint m_nEndMatchMapGroupVoteOptions = 0xC90; // int32[10]
+            public const nint m_nEndMatchMapVoteWinner = 0xCB8; // int32
+            public const nint m_iNumConsecutiveCTLoses = 0xCBC; // int32
+            public const nint m_iNumConsecutiveTerroristLoses = 0xCC0; // int32
+            public const nint m_bMarkClientStopRecordAtRoundEnd = 0xCE0; // bool
+            public const nint m_nMatchAbortedEarlyReason = 0xD88; // int32
+            public const nint m_bHasTriggeredRoundStartMusic = 0xD8C; // bool
+            public const nint m_bSwitchingTeamsAtRoundReset = 0xD8D; // bool
+            public const nint m_pGameModeRules = 0xDA8; // CCSGameModeRules*
+            public const nint m_RetakeRules = 0xDB0; // C_RetakeGameRules
+            public const nint m_nMatchEndCount = 0xEC8; // uint8
+            public const nint m_nTTeamIntroVariant = 0xECC; // int32
+            public const nint m_nCTTeamIntroVariant = 0xED0; // int32
+            public const nint m_bTeamIntroPeriod = 0xED4; // bool
+            public const nint m_iRoundEndWinnerTeam = 0xED8; // int32
+            public const nint m_eRoundEndReason = 0xEDC; // int32
+            public const nint m_bRoundEndShowTimerDefend = 0xEE0; // bool
+            public const nint m_iRoundEndTimerTime = 0xEE4; // int32
+            public const nint m_sRoundEndFunFactToken = 0xEE8; // CUtlString
+            public const nint m_iRoundEndFunFactPlayerSlot = 0xEF0; // CPlayerSlot
+            public const nint m_iRoundEndFunFactData1 = 0xEF4; // int32
+            public const nint m_iRoundEndFunFactData2 = 0xEF8; // int32
+            public const nint m_iRoundEndFunFactData3 = 0xEFC; // int32
+            public const nint m_sRoundEndMessage = 0xF00; // CUtlString
+            public const nint m_iRoundEndPlayerCount = 0xF08; // int32
+            public const nint m_bRoundEndNoMusic = 0xF0C; // bool
+            public const nint m_iRoundEndLegacy = 0xF10; // int32
+            public const nint m_nRoundEndCount = 0xF14; // uint8
+            public const nint m_iRoundStartRoundNumber = 0xF18; // int32
+            public const nint m_nRoundStartCount = 0xF1C; // uint8
+            public const nint m_flLastPerfSampleTime = 0x4F28; // float64
+        }
+        // Parent: CBodyComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_skeletonInstance (CSkeletonInstance)
+        public static class CBodyComponentSkeletonInstance {
+            public const nint m_skeletonInstance = 0x50; // CSkeletonInstance
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponCZ75a {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 33
+        //
+        // Metadata:
+        // NetworkVarNames: m_CRenderComponent (CRenderComponent::Storage_t)
+        // NetworkVarNames: m_CHitboxComponent (CHitboxComponent::Storage_t)
+        // NetworkVarNames: m_nRenderMode (RenderMode_t)
+        // NetworkVarNames: m_nRenderFX (RenderFx_t)
+        // NetworkVarNames: m_clrRender (Color)
+        // NetworkVarNames: m_vecRenderAttributes (EntityRenderAttribute_t)
+        // NetworkVarNames: m_bRenderToCubemaps (bool)
+        // NetworkVarNames: m_bNoInterpolate (bool)
+        // NetworkVarNames: m_Collision (CCollisionProperty)
+        // NetworkVarNames: m_Glow (CGlowProperty)
+        // NetworkVarNames: m_flGlowBackfaceMult (float)
+        // NetworkVarNames: m_fadeMinDist (float32)
+        // NetworkVarNames: m_fadeMaxDist (float32)
+        // NetworkVarNames: m_flFadeScale (float32)
+        // NetworkVarNames: m_flShadowStrength (float32)
+        // NetworkVarNames: m_nObjectCulling (uint8)
+        // NetworkVarNames: m_nAddDecal (int)
+        // NetworkVarNames: m_vDecalPosition (Vector)
+        // NetworkVarNames: m_vDecalForwardAxis (Vector)
+        // NetworkVarNames: m_flDecalHealBloodRate (float)
+        // NetworkVarNames: m_flDecalHealHeightRate (float)
+        // NetworkVarNames: m_ConfigEntitiesToPropagateMaterialDecalsTo (CHandle<C_BaseModelEntity>)
+        public static class C_BaseModelEntity {
+            public const nint m_CRenderComponent = 0xA50; // CRenderComponent*
+            public const nint m_CHitboxComponent = 0xA58; // CHitboxComponent
+            public const nint m_LastHitGroup = 0xA80; // HitGroup_t
+            public const nint m_bInitModelEffects = 0xAA8; // bool
+            public const nint m_bIsStaticProp = 0xAA9; // bool
+            public const nint m_nLastAddDecal = 0xAAC; // int32
+            public const nint m_nDecalsAdded = 0xAB0; // int32
+            public const nint m_iOldHealth = 0xAB4; // int32
+            public const nint m_nRenderMode = 0xAB8; // RenderMode_t
+            public const nint m_nRenderFX = 0xAB9; // RenderFx_t
+            public const nint m_bAllowFadeInView = 0xABA; // bool
+            public const nint m_clrRender = 0xAD8; // Color
+            public const nint m_vecRenderAttributes = 0xAE0; // C_UtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
+            public const nint m_bRenderToCubemaps = 0xB48; // bool
+            public const nint m_bNoInterpolate = 0xB49; // bool
+            public const nint m_Collision = 0xB50; // CCollisionProperty
+            public const nint m_Glow = 0xC00; // CGlowProperty
+            public const nint m_flGlowBackfaceMult = 0xC58; // float32
+            public const nint m_fadeMinDist = 0xC5C; // float32
+            public const nint m_fadeMaxDist = 0xC60; // float32
+            public const nint m_flFadeScale = 0xC64; // float32
+            public const nint m_flShadowStrength = 0xC68; // float32
+            public const nint m_nObjectCulling = 0xC6C; // uint8
+            public const nint m_nAddDecal = 0xC70; // int32
+            public const nint m_vDecalPosition = 0xC74; // Vector
+            public const nint m_vDecalForwardAxis = 0xC80; // Vector
+            public const nint m_flDecalHealBloodRate = 0xC8C; // float32
+            public const nint m_flDecalHealHeightRate = 0xC90; // float32
+            public const nint m_ConfigEntitiesToPropagateMaterialDecalsTo = 0xC98; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+            public const nint m_vecViewOffset = 0xCB0; // CNetworkViewOffsetVector
+            public const nint m_pClientAlphaProperty = 0xCE0; // CClientAlphaProperty*
+            public const nint m_ClientOverrideTint = 0xCE8; // Color
+            public const nint m_bUseClientOverrideTint = 0xCEC; // bool
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_source (string_t)
+        // NetworkVarNames: m_destination (string_t)
+        public static class C_FootstepControl {
+            public const nint m_source = 0xD30; // CUtlSymbolLarge
+            public const nint m_destination = 0xD38; // CUtlSymbolLarge
+        }
+        // Parent: C_BaseClientUIEntity
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIgnoreInput (bool)
+        // NetworkVarNames: m_flWidth (float)
+        // NetworkVarNames: m_flHeight (float)
+        // NetworkVarNames: m_flDPI (float)
+        // NetworkVarNames: m_flInteractDistance (float)
+        // NetworkVarNames: m_flDepthOffset (float)
+        // NetworkVarNames: m_unOwnerContext (uint32)
+        // NetworkVarNames: m_unHorizontalAlign (uint32)
+        // NetworkVarNames: m_unVerticalAlign (uint32)
+        // NetworkVarNames: m_unOrientation (uint32)
+        // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+        // NetworkVarNames: m_vecCSSClasses (string_t)
+        public static class C_PointClientUIHUD {
+            public const nint m_bCheckCSSClasses = 0xD60; // bool
+            public const nint m_bIgnoreInput = 0xEE0; // bool
+            public const nint m_flWidth = 0xEE4; // float32
+            public const nint m_flHeight = 0xEE8; // float32
+            public const nint m_flDPI = 0xEEC; // float32
+            public const nint m_flInteractDistance = 0xEF0; // float32
+            public const nint m_flDepthOffset = 0xEF4; // float32
+            public const nint m_unOwnerContext = 0xEF8; // uint32
+            public const nint m_unHorizontalAlign = 0xEFC; // uint32
+            public const nint m_unVerticalAlign = 0xF00; // uint32
+            public const nint m_unOrientation = 0xF04; // uint32
+            public const nint m_bAllowInteractionFromAllSceneWorlds = 0xF08; // bool
+            public const nint m_vecCSSClasses = 0xF10; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_flLightScale (float32)
+        // NetworkVarNames: m_Radius (float32)
+        public static class C_SpotlightEnd {
+            public const nint m_flLightScale = 0xD28; // float32
+            public const nint m_Radius = 0xD2C; // float32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_iAttributeDefinitionIndex (attrib_definition_index_t)
+        // NetworkVarNames: m_flValue (float)
+        // NetworkVarNames: m_flInitialValue (float)
+        // NetworkVarNames: m_nRefundableCurrency (int)
+        // NetworkVarNames: m_bSetBonus (bool)
+        public static class CEconItemAttribute {
+            public const nint m_iAttributeDefinitionIndex = 0x30; // uint16
+            public const nint m_flValue = 0x34; // float32
+            public const nint m_flInitialValue = 0x38; // float32
+            public const nint m_nRefundableCurrency = 0x3C; // int32
+            public const nint m_bSetBonus = 0x40; // bool
+        }
+        // Parent: C_BaseEntity
+        // Field count: 26
+        //
+        // Metadata:
+        // NetworkVarNames: m_FOV (float)
+        // NetworkVarNames: m_Resolution (float)
+        // NetworkVarNames: m_bFogEnable (bool)
+        // NetworkVarNames: m_FogColor (Color)
+        // NetworkVarNames: m_flFogStart (float)
+        // NetworkVarNames: m_flFogEnd (float)
+        // NetworkVarNames: m_flFogMaxDensity (float)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_bUseScreenAspectRatio (bool)
+        // NetworkVarNames: m_flAspectRatio (float)
+        // NetworkVarNames: m_bNoSky (bool)
+        // NetworkVarNames: m_fBrightness (float)
+        // NetworkVarNames: m_flZFar (float)
+        // NetworkVarNames: m_flZNear (float)
+        // NetworkVarNames: m_bCanHLTVUse (bool)
+        // NetworkVarNames: m_bAlignWithParent (bool)
+        // NetworkVarNames: m_bDofEnabled (bool)
+        // NetworkVarNames: m_flDofNearBlurry (float)
+        // NetworkVarNames: m_flDofNearCrisp (float)
+        // NetworkVarNames: m_flDofFarCrisp (float)
+        // NetworkVarNames: m_flDofFarBlurry (float)
+        // NetworkVarNames: m_flDofTiltToGround (float)
+        public static class C_PointCamera {
+            public const nint m_FOV = 0x568; // float32
+            public const nint m_Resolution = 0x56C; // float32
+            public const nint m_bFogEnable = 0x570; // bool
+            public const nint m_FogColor = 0x571; // Color
+            public const nint m_flFogStart = 0x578; // float32
+            public const nint m_flFogEnd = 0x57C; // float32
+            public const nint m_flFogMaxDensity = 0x580; // float32
+            public const nint m_bActive = 0x584; // bool
+            public const nint m_bUseScreenAspectRatio = 0x585; // bool
+            public const nint m_flAspectRatio = 0x588; // float32
+            public const nint m_bNoSky = 0x58C; // bool
+            public const nint m_fBrightness = 0x590; // float32
+            public const nint m_flZFar = 0x594; // float32
+            public const nint m_flZNear = 0x598; // float32
+            public const nint m_bCanHLTVUse = 0x59C; // bool
+            public const nint m_bAlignWithParent = 0x59D; // bool
+            public const nint m_bDofEnabled = 0x59E; // bool
+            public const nint m_flDofNearBlurry = 0x5A0; // float32
+            public const nint m_flDofNearCrisp = 0x5A4; // float32
+            public const nint m_flDofFarCrisp = 0x5A8; // float32
+            public const nint m_flDofFarBlurry = 0x5AC; // float32
+            public const nint m_flDofTiltToGround = 0x5B0; // float32
+            public const nint m_TargetFOV = 0x5B4; // float32
+            public const nint m_DegreesPerSecond = 0x5B8; // float32
+            public const nint m_bIsOn = 0x5BC; // bool
+            public const nint m_pNext = 0x5C0; // C_PointCamera*
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_weapon_cs_base {
+        }
+        // Parent: C_LightEntity
+        // Field count: 0
+        public static class C_LightSpotEntity {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+        public static class C_EnvWind {
+            public const nint m_EnvWindShared = 0x568; // C_EnvWindShared
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_GameRulesProxy {
+        }
+        // Parent: C_BaseFlex
+        // Field count: 6
+        //
+        // Metadata:
+        // MNetworkExcludeByUserGroup
+        // NetworkVarNames: m_hMyWearables (CHandle<C_EconWearable>)
+        public static class C_BaseCombatCharacter {
+            public const nint m_hMyWearables = 0x1120; // C_NetworkUtlVectorBase<CHandle<C_EconWearable>>
+            public const nint m_leftFootAttachment = 0x1138; // AttachmentHandle_t
+            public const nint m_rightFootAttachment = 0x1139; // AttachmentHandle_t
+            public const nint m_nWaterWakeMode = 0x113C; // C_BaseCombatCharacter::WaterWakeMode_t
+            public const nint m_flWaterWorldZ = 0x1140; // float32
+            public const nint m_flWaterNextTraceTime = 0x1144; // float32
+        }
+        // Parent: C_BaseCSGrenadeProjectile
+        // Field count: 0
+        public static class C_FlashbangProjectile {
+        }
+        // Parent: CEnvSoundscape
+        // Field count: 0
+        public static class CEnvSoundscapeTriggerable {
+        }
+        // Parent: C_SoundEventEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_flRadius (float)
+        public static class C_SoundEventSphereEntity {
+            public const nint m_flRadius = 0x628; // float32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_ViewModelServices {
+        }
+        // Parent: CCSGO_WingmanIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_WingmanIntroCounterTerroristPosition {
+        }
+        // Parent: C_DynamicProp
+        // Field count: 0
+        public static class C_DynamicPropAlias_cable_dynamic {
+        }
+        // Parent: C_PointEntity
+        // Field count: 0
+        public static class C_InfoInstructorHintHostageRescueZone {
+        }
+        // Parent: C_PointEntity
+        // Field count: 12
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsPlayingBack (bool)
+        // NetworkVarNames: m_bPaused (bool)
+        // NetworkVarNames: m_bMultiplayer (bool)
+        // NetworkVarNames: m_bAutogenerated (bool)
+        // NetworkVarNames: m_flForceClientTime (float32)
+        // NetworkVarNames: m_nSceneStringIndex (uint16)
+        // NetworkVarNames: m_hActorList (CHandle<C_BaseFlex>)
+        public static class C_SceneEntity {
+            public const nint m_bIsPlayingBack = 0x570; // bool
+            public const nint m_bPaused = 0x571; // bool
+            public const nint m_bMultiplayer = 0x572; // bool
+            public const nint m_bAutogenerated = 0x573; // bool
+            public const nint m_flForceClientTime = 0x574; // float32
+            public const nint m_nSceneStringIndex = 0x578; // uint16
+            public const nint m_bClientOnly = 0x57A; // bool
+            public const nint m_hOwner = 0x57C; // CHandle<C_BaseFlex>
+            public const nint m_hActorList = 0x580; // C_NetworkUtlVectorBase<CHandle<C_BaseFlex>>
+            public const nint m_bWasPlaying = 0x598; // bool
+            public const nint m_QueuedEvents = 0x5A8; // CUtlVector<C_SceneEntity::QueuedEvents_t>
+            public const nint m_flCurrentTime = 0x5C0; // float32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 20
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecCsViewPunchAngle (QAngle)
+        // NetworkVarNames: m_nCsViewPunchAngleTick (GameTick_t)
+        // NetworkVarNames: m_flCsViewPunchAngleTickRatio (float32)
+        // NetworkVarNames: m_PlayerFog (fogplayerparams_t)
+        // NetworkVarNames: m_hColorCorrectionCtrl (CHandle<CColorCorrection>)
+        // NetworkVarNames: m_hViewEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hTonemapController (CHandle<CTonemapController2>)
+        // NetworkVarNames: m_audio (audioparams_t)
+        // NetworkVarNames: m_PostProcessingVolumes (CHandle<C_PostProcessingVolume>)
+        public static class CPlayer_CameraServices {
+            public const nint m_vecCsViewPunchAngle = 0x40; // QAngle
+            public const nint m_nCsViewPunchAngleTick = 0x4C; // GameTick_t
+            public const nint m_flCsViewPunchAngleTickRatio = 0x50; // float32
+            public const nint m_PlayerFog = 0x58; // C_fogplayerparams_t
+            public const nint m_hColorCorrectionCtrl = 0x98; // CHandle<C_ColorCorrection>
+            public const nint m_hViewEntity = 0x9C; // CHandle<C_BaseEntity>
+            public const nint m_hTonemapController = 0xA0; // CHandle<C_TonemapController2>
+            public const nint m_audio = 0xA8; // audioparams_t
+            public const nint m_PostProcessingVolumes = 0x120; // C_NetworkUtlVectorBase<CHandle<C_PostProcessingVolume>>
+            public const nint m_flOldPlayerZ = 0x138; // float32
+            public const nint m_flOldPlayerViewOffsetZ = 0x13C; // float32
+            public const nint m_CurrentFog = 0x140; // fogparams_t
+            public const nint m_hOldFogController = 0x1A8; // CHandle<C_FogController>
+            public const nint m_bOverrideFogColor = 0x1AC; // bool[5]
+            public const nint m_OverrideFogColor = 0x1B1; // Color[5]
+            public const nint m_bOverrideFogStartEnd = 0x1C5; // bool[5]
+            public const nint m_fOverrideFogStart = 0x1CC; // float32[5]
+            public const nint m_fOverrideFogEnd = 0x1E0; // float32[5]
+            public const nint m_hActivePostProcessingVolume = 0x1F4; // CHandle<C_PostProcessingVolume>
+            public const nint m_angDemoViewAngles = 0x1F8; // QAngle
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_bRedraw (bool)
+        // NetworkVarNames: m_bIsHeldByPlayer (bool)
+        // NetworkVarNames: m_bPinPulled (bool)
+        // NetworkVarNames: m_bJumpThrow (bool)
+        // NetworkVarNames: m_bThrowAnimating (bool)
+        // NetworkVarNames: m_fThrowTime (GameTime_t)
+        // NetworkVarNames: m_flThrowStrength (float)
+        // NetworkVarNames: m_flThrowStrengthApproach (float)
+        // NetworkVarNames: m_fDropTime (GameTime_t)
+        // NetworkVarNames: m_fPinPullTime (GameTime_t)
+        // NetworkVarNames: m_bJustPulledPin (bool)
+        // NetworkVarNames: m_nNextHoldTick (GameTick_t)
+        // NetworkVarNames: m_flNextHoldFrac (float)
+        // NetworkVarNames: m_hSwitchToWeaponAfterThrow (CHandle<CCSWeaponBase>)
+        public static class C_BaseCSGrenade {
+            public const nint m_bClientPredictDelete = 0x1B20; // bool
+            public const nint m_bRedraw = 0x1B21; // bool
+            public const nint m_bIsHeldByPlayer = 0x1B22; // bool
+            public const nint m_bPinPulled = 0x1B23; // bool
+            public const nint m_bJumpThrow = 0x1B24; // bool
+            public const nint m_bThrowAnimating = 0x1B25; // bool
+            public const nint m_fThrowTime = 0x1B28; // GameTime_t
+            public const nint m_flThrowStrength = 0x1B2C; // float32
+            public const nint m_flThrowStrengthApproach = 0x1B30; // float32
+            public const nint m_fDropTime = 0x1B34; // GameTime_t
+            public const nint m_fPinPullTime = 0x1B38; // GameTime_t
+            public const nint m_bJustPulledPin = 0x1B3C; // bool
+            public const nint m_nNextHoldTick = 0x1B40; // GameTick_t
+            public const nint m_flNextHoldFrac = 0x1B44; // float32
+            public const nint m_hSwitchToWeaponAfterThrow = 0x1B48; // CHandle<C_CSWeaponBase>
+        }
+        // Parent: C_FuncBrush
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_targetCamera (CUtlString)
+        // NetworkVarNames: m_nResolutionEnum (int)
+        // NetworkVarNames: m_bRenderShadows (bool)
+        // NetworkVarNames: m_bUseUniqueColorTarget (bool)
+        // NetworkVarNames: m_brushModelName (CUtlString)
+        // NetworkVarNames: m_hTargetCamera (EHANDLE)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bDraw3DSkybox (bool)
+        public static class C_FuncMonitor {
+            public const nint m_targetCamera = 0xD28; // CUtlString
+            public const nint m_nResolutionEnum = 0xD30; // int32
+            public const nint m_bRenderShadows = 0xD34; // bool
+            public const nint m_bUseUniqueColorTarget = 0xD35; // bool
+            public const nint m_brushModelName = 0xD38; // CUtlString
+            public const nint m_hTargetCamera = 0xD40; // CHandle<C_BaseEntity>
+            public const nint m_bEnabled = 0xD44; // bool
+            public const nint m_bDraw3DSkybox = 0xD45; // bool
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 0
+        public static class C_TriggerMultiple {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class C_RopeKeyframe__CPhysicsDelegate {
+            public const nint m_pKeyframe = 0x8; // C_RopeKeyframe*
+        }
+        // Parent: CEntityComponent
+        // Field count: 2
+        public static class CBodyComponent {
+            public const nint m_pSceneNode = 0x8; // CGameSceneNode*
+            public const nint __m_pChainEntity = 0x20; // CNetworkVarChainer
+        }
+        // Parent: C_SoundAreaEntityBase
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_flRadius (float)
+        public static class C_SoundAreaEntitySphere {
+            public const nint m_flRadius = 0x590; // float32
+        }
+        // Parent: CPlayer_MovementServices
+        // Field count: 0
+        public static class CCSObserver_MovementServices {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_nHorizontalSize (uint32)
+        // NetworkVarNames: m_nVerticalSize (uint32)
+        // NetworkVarNames: m_nMinDist (uint32)
+        // NetworkVarNames: m_nMaxDist (uint32)
+        // NetworkVarNames: m_nOuterMaxDist (uint32)
+        // NetworkVarNames: m_flGlowProxySize (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        public static class C_LightGlow {
+            public const nint m_nHorizontalSize = 0xD28; // uint32
+            public const nint m_nVerticalSize = 0xD2C; // uint32
+            public const nint m_nMinDist = 0xD30; // uint32
+            public const nint m_nMaxDist = 0xD34; // uint32
+            public const nint m_nOuterMaxDist = 0xD38; // uint32
+            public const nint m_flGlowProxySize = 0xD3C; // float32
+            public const nint m_flHDRColorScale = 0xD40; // float32
+            public const nint m_GlowOverlay = 0xD48; // C_LightGlowOverlay
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_duration (float32)
+        // NetworkVarNames: m_timestamp (GameTime_t)
+        // NetworkVarNames: m_timescale (float32)
+        // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+        public static class CountdownTimer {
+            public const nint m_duration = 0x8; // float32
+            public const nint m_timestamp = 0xC; // GameTime_t
+            public const nint m_timescale = 0x10; // float32
+            public const nint m_nWorldGroupId = 0x14; // WorldGroupId_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hOwner (CEntityHandle)
+        // NetworkVarNames: m_name (CUtlStringToken)
+        public static class CGameSceneNodeHandle {
+            public const nint m_hOwner = 0x8; // CEntityHandle
+            public const nint m_name = 0xC; // CUtlStringToken
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: nTagTick (GameTick_t)
+        // NetworkVarNames: flFlinchModSmall (float)
+        // NetworkVarNames: flFlinchModLarge (float)
+        // NetworkVarNames: flFriendlyFireDamageReductionRatio (float)
+        public static class PredictedDamageTag_t {
+            public const nint nTagTick = 0x30; // GameTick_t
+            public const nint flFlinchModSmall = 0x34; // float32
+            public const nint flFlinchModLarge = 0x38; // float32
+            public const nint flFriendlyFireDamageReductionRatio = 0x3C; // float32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 14
+        public static class C_ClientRagdoll {
+            public const nint m_bFadeOut = 0xF88; // bool
+            public const nint m_bImportant = 0xF89; // bool
+            public const nint m_flEffectTime = 0xF8C; // GameTime_t
+            public const nint m_gibDespawnTime = 0xF90; // GameTime_t
+            public const nint m_iCurrentFriction = 0xF94; // int32
+            public const nint m_iMinFriction = 0xF98; // int32
+            public const nint m_iMaxFriction = 0xF9C; // int32
+            public const nint m_iFrictionAnimState = 0xFA0; // int32
+            public const nint m_bReleaseRagdoll = 0xFA4; // bool
+            public const nint m_iEyeAttachment = 0xFA5; // AttachmentHandle_t
+            public const nint m_bFadingOut = 0xFA6; // bool
+            public const nint m_flScaleEnd = 0xFA8; // float32[10]
+            public const nint m_flScaleTimeStart = 0xFD0; // GameTime_t[10]
+            public const nint m_flScaleTimeEnd = 0xFF8; // GameTime_t[10]
+        }
+        // Parent: C_BaseEntity
+        // Field count: 1
+        public static class C_GlobalLight {
+            public const nint m_WindClothForceHandle = 0xA30; // uint16
+        }
+        // Parent: C_BaseEntity
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_bHostageAlive (bool)
+        // NetworkVarNames: m_isHostageFollowingSomeone (bool)
+        // NetworkVarNames: m_iHostageEntityIDs (CEntityIndex)
+        // NetworkVarNames: m_bombsiteCenterA (Vector)
+        // NetworkVarNames: m_bombsiteCenterB (Vector)
+        // NetworkVarNames: m_hostageRescueX (int)
+        // NetworkVarNames: m_hostageRescueY (int)
+        // NetworkVarNames: m_hostageRescueZ (int)
+        // NetworkVarNames: m_bEndMatchNextMapAllVoted (bool)
+        public static class C_CSPlayerResource {
+            public const nint m_bHostageAlive = 0x568; // bool[12]
+            public const nint m_isHostageFollowingSomeone = 0x574; // bool[12]
+            public const nint m_iHostageEntityIDs = 0x580; // CEntityIndex[12]
+            public const nint m_bombsiteCenterA = 0x5B0; // Vector
+            public const nint m_bombsiteCenterB = 0x5BC; // Vector
+            public const nint m_hostageRescueX = 0x5C8; // int32[4]
+            public const nint m_hostageRescueY = 0x5D8; // int32[4]
+            public const nint m_hostageRescueZ = 0x5E8; // int32[4]
+            public const nint m_bEndMatchNextMapAllVoted = 0x5F8; // bool
+            public const nint m_foundGoalPositions = 0x5F9; // bool
+        }
+        // Parent: CGameSceneNode
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_modelState (CModelState)
+        // NetworkVarNames: m_bIsAnimationEnabled (bool)
+        // NetworkVarNames: m_bUseParentRenderBounds (bool)
+        // NetworkVarNames: m_materialGroup (CUtlStringToken)
+        // NetworkVarNames: m_nHitboxSet (uint8)
+        public static class CSkeletonInstance {
+            public const nint m_modelState = 0x170; // CModelState
+            public const nint m_bIsAnimationEnabled = 0x3A0; // bool
+            public const nint m_bUseParentRenderBounds = 0x3A1; // bool
+            public const nint m_bDisableSolidCollisionsForHierarchy = 0x3A2; // bool
+            public const nint m_bDirtyMotionType = 0x0; // bitfield:1
+            public const nint m_bIsGeneratingLatchedParentSpaceState = 0x0; // bitfield:1
+            public const nint m_materialGroup = 0x3A4; // CUtlStringToken
+            public const nint m_nHitboxSet = 0x3A8; // uint8
+        }
+        // Parent: CBodyComponentSkeletonInstance
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_animationController (CBaseAnimGraphController)
+        public static class CBodyComponentBaseAnimGraph {
+            public const nint m_animationController = 0x490; // CBaseAnimGraphController
+        }
+        // Parent: CBodyComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_sceneNode (CGameSceneNode)
+        public static class CBodyComponentPoint {
+            public const nint m_sceneNode = 0x50; // CGameSceneNode
+        }
+        // Parent: C_BaseCSGrenadeProjectile
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_nSmokeEffectTickBegin (int)
+        // NetworkVarNames: m_bDidSmokeEffect (bool)
+        // NetworkVarNames: m_nRandomSeed (int)
+        // NetworkVarNames: m_vSmokeColor (Vector)
+        // NetworkVarNames: m_vSmokeDetonationPos (Vector)
+        // NetworkVarNames: m_VoxelFrameData (uint8)
+        // NetworkVarNames: m_nVoxelFrameDataSize (int)
+        // NetworkVarNames: m_nVoxelUpdate (int)
+        public static class C_SmokeGrenadeProjectile {
+            public const nint m_nSmokeEffectTickBegin = 0x1210; // int32
+            public const nint m_bDidSmokeEffect = 0x1214; // bool
+            public const nint m_nRandomSeed = 0x1218; // int32
+            public const nint m_vSmokeColor = 0x121C; // Vector
+            public const nint m_vSmokeDetonationPos = 0x1228; // Vector
+            public const nint m_VoxelFrameData = 0x1238; // C_NetworkUtlVectorBase<uint8>
+            public const nint m_nVoxelFrameDataSize = 0x1250; // int32
+            public const nint m_nVoxelUpdate = 0x1254; // int32
+            public const nint m_bSmokeVolumeDataReceived = 0x1258; // bool
+            public const nint m_bSmokeEffectSpawned = 0x1259; // bool
+        }
+        // Parent: C_SoundEventEntity
+        // Field count: 0
+        public static class C_SoundEventEntityAlias_snd_event_point {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 8
+        public static class C_CSGO_MapPreviewCameraPath {
+            public const nint m_flZFar = 0x568; // float32
+            public const nint m_flZNear = 0x56C; // float32
+            public const nint m_bLoop = 0x570; // bool
+            public const nint m_bVerticalFOV = 0x571; // bool
+            public const nint m_bConstantSpeed = 0x572; // bool
+            public const nint m_flDuration = 0x574; // float32
+            public const nint m_flPathLength = 0x5B8; // float32
+            public const nint m_flPathDuration = 0x5BC; // float32
+        }
+        // Parent: CCSGO_WingmanIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_WingmanIntroTerroristPosition {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_firePositions (Vector)
+        // NetworkVarNames: m_fireParentPositions (Vector)
+        // NetworkVarNames: m_bFireIsBurning (bool)
+        // NetworkVarNames: m_BurnNormal (Vector)
+        // NetworkVarNames: m_fireCount (int)
+        // NetworkVarNames: m_nInfernoType (int)
+        // NetworkVarNames: m_nFireLifetime (float)
+        // NetworkVarNames: m_bInPostEffectTime (bool)
+        // NetworkVarNames: m_nFireEffectTickBegin (int)
+        public static class C_Inferno {
+            public const nint m_nfxFireDamageEffect = 0xD68; // ParticleIndex_t
+            public const nint m_hInfernoPointsSnapshot = 0xD70; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_hInfernoFillerPointsSnapshot = 0xD78; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_hInfernoOutlinePointsSnapshot = 0xD80; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_hInfernoClimbingOutlinePointsSnapshot = 0xD88; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_hInfernoDecalsSnapshot = 0xD90; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_firePositions = 0xD98; // Vector[64]
+            public const nint m_fireParentPositions = 0x1098; // Vector[64]
+            public const nint m_bFireIsBurning = 0x1398; // bool[64]
+            public const nint m_BurnNormal = 0x13D8; // Vector[64]
+            public const nint m_fireCount = 0x16D8; // int32
+            public const nint m_nInfernoType = 0x16DC; // int32
+            public const nint m_nFireLifetime = 0x16E0; // float32
+            public const nint m_bInPostEffectTime = 0x16E4; // bool
+            public const nint m_lastFireCount = 0x16E8; // int32
+            public const nint m_nFireEffectTickBegin = 0x16EC; // int32
+            public const nint m_drawableCount = 0x82F0; // int32
+            public const nint m_blosCheck = 0x82F4; // bool
+            public const nint m_nlosperiod = 0x82F8; // int32
+            public const nint m_maxFireHalfWidth = 0x82FC; // float32
+            public const nint m_maxFireHeight = 0x8300; // float32
+            public const nint m_minBounds = 0x8304; // Vector
+            public const nint m_maxBounds = 0x8310; // Vector
+            public const nint m_flLastGrassBurnThink = 0x831C; // float32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class C_HostageCarriableProp {
+        }
+        // Parent: C_CSGO_TeamPreviewCamera
+        // Field count: 0
+        public static class C_CSGO_TerroristWingmanIntroCamera {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_hPlayer (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hPingedEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_iType (int)
+        // NetworkVarNames: m_bUrgent (bool)
+        // NetworkVarNames: m_szPlaceName (char)
+        public static class C_PlayerPing {
+            public const nint m_hPlayer = 0x598; // CHandle<C_CSPlayerPawn>
+            public const nint m_hPingedEntity = 0x59C; // CHandle<C_BaseEntity>
+            public const nint m_iType = 0x5A0; // int32
+            public const nint m_bUrgent = 0x5A4; // bool
+            public const nint m_szPlaceName = 0x5A5; // char[18]
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponMP7 {
+        }
+        // Parent: C_Team
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_szTeamMatchStat (char)
+        // NetworkVarNames: m_numMapVictories (int)
+        // NetworkVarNames: m_bSurrendered (bool)
+        // NetworkVarNames: m_scoreFirstHalf (int32)
+        // NetworkVarNames: m_scoreSecondHalf (int32)
+        // NetworkVarNames: m_scoreOvertime (int32)
+        // NetworkVarNames: m_szClanTeamname (char)
+        // NetworkVarNames: m_iClanID (uint32)
+        // NetworkVarNames: m_szTeamFlagImage (char)
+        // NetworkVarNames: m_szTeamLogoImage (char)
+        public static class C_CSTeam {
+            public const nint m_szTeamMatchStat = 0x620; // char[512]
+            public const nint m_numMapVictories = 0x820; // int32
+            public const nint m_bSurrendered = 0x824; // bool
+            public const nint m_scoreFirstHalf = 0x828; // int32
+            public const nint m_scoreSecondHalf = 0x82C; // int32
+            public const nint m_scoreOvertime = 0x830; // int32
+            public const nint m_szClanTeamname = 0x834; // char[129]
+            public const nint m_iClanID = 0x8B8; // uint32
+            public const nint m_szTeamFlagImage = 0x8BC; // char[8]
+            public const nint m_szTeamLogoImage = 0x8C4; // char[8]
+        }
+        // Parent: C_BaseEntity
+        // Field count: 10
+        public static class C_CSGO_MapPreviewCameraPathNode {
+            public const nint m_szParentPathUniqueID = 0x568; // CUtlSymbolLarge
+            public const nint m_nPathIndex = 0x570; // int32
+            public const nint m_vInTangentLocal = 0x574; // Vector
+            public const nint m_vOutTangentLocal = 0x580; // Vector
+            public const nint m_flFOV = 0x58C; // float32
+            public const nint m_flCameraSpeed = 0x590; // float32
+            public const nint m_flEaseIn = 0x594; // float32
+            public const nint m_flEaseOut = 0x598; // float32
+            public const nint m_vInTangentWorld = 0x59C; // Vector
+            public const nint m_vOutTangentWorld = 0x5A8; // Vector
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponMag7 {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_DEagle {
+        }
+        // Parent: C_CSPlayerPawnBase
+        // Field count: 104
+        //
+        // Metadata:
+        // NetworkVarNames: m_pBulletServices (CCSPlayer_BulletServices*)
+        // NetworkVarNames: m_pHostageServices (CCSPlayer_HostageServices*)
+        // NetworkVarNames: m_pBuyServices (CCSPlayer_BuyServices*)
+        // NetworkVarNames: m_pGlowServices (CCSPlayer_GlowServices*)
+        // NetworkVarNames: m_pActionTrackingServices (CCSPlayer_ActionTrackingServices*)
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_flHealthShotBoostExpirationTime (GameTime_t)
+        // NetworkVarNames: m_bHasFemaleVoice (bool)
+        // NetworkVarNames: m_szLastPlaceName (char)
+        // NetworkVarNames: m_bInBuyZone (bool)
+        // NetworkVarNames: m_aimPunchAngle (QAngle)
+        // NetworkVarNames: m_aimPunchAngleVel (QAngle)
+        // NetworkVarNames: m_aimPunchTickBase (int)
+        // NetworkVarNames: m_aimPunchTickFraction (float)
+        // NetworkVarNames: m_bInHostageRescueZone (bool)
+        // NetworkVarNames: m_bInBombZone (bool)
+        // NetworkVarNames: m_bIsBuyMenuOpen (bool)
+        // NetworkVarNames: m_flTimeOfLastInjury (GameTime_t)
+        // NetworkVarNames: m_flNextSprayDecalTime (GameTime_t)
+        // NetworkVarNames: m_iRetakesOffering (int)
+        // NetworkVarNames: m_iRetakesOfferingCard (int)
+        // NetworkVarNames: m_bRetakesHasDefuseKit (bool)
+        // NetworkVarNames: m_bRetakesMVPLastRound (bool)
+        // NetworkVarNames: m_iRetakesMVPBoostItem (int)
+        // NetworkVarNames: m_RetakesMVPBoostExtraUtility (loadout_slot_t)
+        // NetworkVarNames: m_EconGloves (CEconItemView)
+        // NetworkVarNames: m_nEconGlovesChanged (uint8)
+        // NetworkVarNames: m_nRagdollDamageBone (int)
+        // NetworkVarNames: m_vRagdollDamageForce (Vector)
+        // NetworkVarNames: m_vRagdollDamagePosition (Vector)
+        // NetworkVarNames: m_szRagdollDamageWeaponName (char)
+        // NetworkVarNames: m_bRagdollDamageHeadshot (bool)
+        // NetworkVarNames: m_vRagdollServerOrigin (Vector)
+        // MNetworkReplayCompatField
+        // NetworkVarNames: m_qDeathEyeAngles (QAngle)
+        // NetworkVarNames: m_bLeftHanded (bool)
+        // NetworkVarNames: m_fSwitchedHandednessTime (GameTime_t)
+        // NetworkVarNames: m_flViewmodelOffsetX (float)
+        // NetworkVarNames: m_flViewmodelOffsetY (float)
+        // NetworkVarNames: m_flViewmodelOffsetZ (float)
+        // NetworkVarNames: m_flViewmodelFOV (float)
+        // NetworkVarNames: m_vecPlayerPatchEconIndices (uint32)
+        // NetworkVarNames: m_GunGameImmunityColor (Color)
+        // NetworkVarNames: m_bIsWalking (bool)
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        // NetworkVarNames: m_bIsScoped (bool)
+        // NetworkVarNames: m_bResumeZoom (bool)
+        // NetworkVarNames: m_bIsDefusing (bool)
+        // NetworkVarNames: m_bIsGrabbingHostage (bool)
+        // NetworkVarNames: m_iBlockingUseActionInProgress (CSPlayerBlockingUseAction_t)
+        // NetworkVarNames: m_flEmitSoundTime (GameTime_t)
+        // NetworkVarNames: m_bInNoDefuseArea (bool)
+        // NetworkVarNames: m_nWhichBombZone (int)
+        // NetworkVarNames: m_iShotsFired (int)
+        // NetworkVarNames: m_flFlinchStack (float)
+        // NetworkVarNames: m_flVelocityModifier (float)
+        // NetworkVarNames: m_flHitHeading (float)
+        // NetworkVarNames: m_nHitBodyPart (int)
+        // NetworkVarNames: m_bWaitForNoAttack (bool)
+        // NetworkVarNames: m_bKilledByHeadshot (bool)
+        // NetworkVarNames: m_ArmorValue (int32)
+        // NetworkVarNames: m_unCurrentEquipmentValue (uint16)
+        // NetworkVarNames: m_unRoundStartEquipmentValue (uint16)
+        // NetworkVarNames: m_unFreezetimeEndEquipmentValue (uint16)
+        // NetworkVarNames: m_nLastKillerIndex (CEntityIndex)
+        // NetworkVarNames: m_PredictedDamageTags (PredictedDamageTag_t)
+        public static class C_CSPlayerPawn {
+            public const nint m_pBulletServices = 0x1518; // CCSPlayer_BulletServices*
+            public const nint m_pHostageServices = 0x1520; // CCSPlayer_HostageServices*
+            public const nint m_pBuyServices = 0x1528; // CCSPlayer_BuyServices*
+            public const nint m_pGlowServices = 0x1530; // CCSPlayer_GlowServices*
+            public const nint m_pActionTrackingServices = 0x1538; // CCSPlayer_ActionTrackingServices*
+            public const nint m_pDamageReactServices = 0x1540; // CCSPlayer_DamageReactServices*
+            public const nint m_flHealthShotBoostExpirationTime = 0x1548; // GameTime_t
+            public const nint m_flLastFiredWeaponTime = 0x154C; // GameTime_t
+            public const nint m_bHasFemaleVoice = 0x1550; // bool
+            public const nint m_flLandingTimeSeconds = 0x1554; // float32
+            public const nint m_flOldFallVelocity = 0x1558; // float32
+            public const nint m_szLastPlaceName = 0x155C; // char[18]
+            public const nint m_bPrevDefuser = 0x156E; // bool
+            public const nint m_bPrevHelmet = 0x156F; // bool
+            public const nint m_nPrevArmorVal = 0x1570; // int32
+            public const nint m_nPrevGrenadeAmmoCount = 0x1574; // int32
+            public const nint m_unPreviousWeaponHash = 0x1578; // uint32
+            public const nint m_unWeaponHash = 0x157C; // uint32
+            public const nint m_bInBuyZone = 0x1580; // bool
+            public const nint m_bPreviouslyInBuyZone = 0x1581; // bool
+            public const nint m_aimPunchAngle = 0x1584; // QAngle
+            public const nint m_aimPunchAngleVel = 0x1590; // QAngle
+            public const nint m_aimPunchTickBase = 0x159C; // int32
+            public const nint m_aimPunchTickFraction = 0x15A0; // float32
+            public const nint m_aimPunchCache = 0x15A8; // CUtlVector<QAngle>
+            public const nint m_bInLanding = 0x15C8; // bool
+            public const nint m_flLandingStartTime = 0x15CC; // float32
+            public const nint m_bInHostageRescueZone = 0x15D0; // bool
+            public const nint m_bInBombZone = 0x15D1; // bool
+            public const nint m_bIsBuyMenuOpen = 0x15D2; // bool
+            public const nint m_flTimeOfLastInjury = 0x15D4; // GameTime_t
+            public const nint m_flNextSprayDecalTime = 0x15D8; // GameTime_t
+            public const nint m_iRetakesOffering = 0x1730; // int32
+            public const nint m_iRetakesOfferingCard = 0x1734; // int32
+            public const nint m_bRetakesHasDefuseKit = 0x1738; // bool
+            public const nint m_bRetakesMVPLastRound = 0x1739; // bool
+            public const nint m_iRetakesMVPBoostItem = 0x173C; // int32
+            public const nint m_RetakesMVPBoostExtraUtility = 0x1740; // loadout_slot_t
+            public const nint m_bNeedToReApplyGloves = 0x1760; // bool
+            public const nint m_EconGloves = 0x1768; // C_EconItemView
+            public const nint m_nEconGlovesChanged = 0x1BB0; // uint8
+            public const nint m_bMustSyncRagdollState = 0x1BB1; // bool
+            public const nint m_nRagdollDamageBone = 0x1BB4; // int32
+            public const nint m_vRagdollDamageForce = 0x1BB8; // Vector
+            public const nint m_vRagdollDamagePosition = 0x1BC4; // Vector
+            public const nint m_szRagdollDamageWeaponName = 0x1BD0; // char[64]
+            public const nint m_bRagdollDamageHeadshot = 0x1C10; // bool
+            public const nint m_vRagdollServerOrigin = 0x1C14; // Vector
+            public const nint m_bLastHeadBoneTransformIsValid = 0x2290; // bool
+            public const nint m_lastLandTime = 0x2294; // GameTime_t
+            public const nint m_bOnGroundLastTick = 0x2298; // bool
+            public const nint m_qDeathEyeAngles = 0x22B4; // QAngle
+            public const nint m_bSkipOneHeadConstraintUpdate = 0x22C0; // bool
+            public const nint m_bLeftHanded = 0x22C1; // bool
+            public const nint m_fSwitchedHandednessTime = 0x22C4; // GameTime_t
+            public const nint m_flViewmodelOffsetX = 0x22C8; // float32
+            public const nint m_flViewmodelOffsetY = 0x22CC; // float32
+            public const nint m_flViewmodelOffsetZ = 0x22D0; // float32
+            public const nint m_flViewmodelFOV = 0x22D4; // float32
+            public const nint m_vecPlayerPatchEconIndices = 0x22D8; // uint32[5]
+            public const nint m_GunGameImmunityColor = 0x2310; // Color
+            public const nint m_vecBulletHitModels = 0x2360; // CUtlVector<C_BulletHitModel*>
+            public const nint m_bIsWalking = 0x2378; // bool
+            public const nint m_thirdPersonHeading = 0x2380; // QAngle
+            public const nint m_flSlopeDropOffset = 0x2398; // float32
+            public const nint m_flSlopeDropHeight = 0x23A8; // float32
+            public const nint m_vHeadConstraintOffset = 0x23B8; // Vector
+            public const nint m_entitySpottedState = 0x23D0; // EntitySpottedState_t
+            public const nint m_bIsScoped = 0x23E8; // bool
+            public const nint m_bResumeZoom = 0x23E9; // bool
+            public const nint m_bIsDefusing = 0x23EA; // bool
+            public const nint m_bIsGrabbingHostage = 0x23EB; // bool
+            public const nint m_iBlockingUseActionInProgress = 0x23EC; // CSPlayerBlockingUseAction_t
+            public const nint m_flEmitSoundTime = 0x23F0; // GameTime_t
+            public const nint m_bInNoDefuseArea = 0x23F4; // bool
+            public const nint m_nWhichBombZone = 0x23F8; // int32
+            public const nint m_iShotsFired = 0x23FC; // int32
+            public const nint m_flFlinchStack = 0x2400; // float32
+            public const nint m_flVelocityModifier = 0x2404; // float32
+            public const nint m_flHitHeading = 0x2408; // float32
+            public const nint m_nHitBodyPart = 0x240C; // int32
+            public const nint m_bWaitForNoAttack = 0x2410; // bool
+            public const nint m_ignoreLadderJumpTime = 0x2414; // float32
+            public const nint m_bKilledByHeadshot = 0x2419; // bool
+            public const nint m_ArmorValue = 0x241C; // int32
+            public const nint m_unCurrentEquipmentValue = 0x2420; // uint16
+            public const nint m_unRoundStartEquipmentValue = 0x2422; // uint16
+            public const nint m_unFreezetimeEndEquipmentValue = 0x2424; // uint16
+            public const nint m_nLastKillerIndex = 0x2428; // CEntityIndex
+            public const nint m_bOldIsScoped = 0x242C; // bool
+            public const nint m_bHasDeathInfo = 0x242D; // bool
+            public const nint m_flDeathInfoTime = 0x2430; // float32
+            public const nint m_vecDeathInfoOrigin = 0x2434; // Vector
+            public const nint m_grenadeParameterStashTime = 0x2440; // GameTime_t
+            public const nint m_bGrenadeParametersStashed = 0x2444; // bool
+            public const nint m_angStashedShootAngles = 0x2448; // QAngle
+            public const nint m_vecStashedGrenadeThrowPosition = 0x2454; // Vector
+            public const nint m_vecStashedVelocity = 0x2460; // Vector
+            public const nint m_angShootAngleHistory = 0x246C; // QAngle[2]
+            public const nint m_vecThrowPositionHistory = 0x2484; // Vector[2]
+            public const nint m_vecVelocityHistory = 0x249C; // Vector[2]
+            public const nint m_PredictedDamageTags = 0x24B8; // C_UtlVectorEmbeddedNetworkVar<PredictedDamageTag_t>
+            public const nint m_nPrevHighestReceivedDamageTagTick = 0x2508; // GameTick_t
+            public const nint m_nHighestAppliedDamageTagTick = 0x250C; // int32
+        }
+        // Parent: C_RagdollProp
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_boneIndexAttached (uint32)
+        // NetworkVarNames: m_ragdollAttachedObjectIndex (uint32)
+        // NetworkVarNames: m_attachmentPointBoneSpace (Vector)
+        // NetworkVarNames: m_attachmentPointRagdollSpace (Vector)
+        public static class C_RagdollPropAttached {
+            public const nint m_boneIndexAttached = 0x1000; // uint32
+            public const nint m_ragdollAttachedObjectIndex = 0x1004; // uint32
+            public const nint m_attachmentPointBoneSpace = 0x1008; // Vector
+            public const nint m_attachmentPointRagdollSpace = 0x1014; // Vector
+            public const nint m_vecOffset = 0x1020; // Vector
+            public const nint m_parentTime = 0x102C; // float32
+            public const nint m_bHasParent = 0x1030; // bool
+        }
+        // Parent: C_BaseGrenade
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_vInitialPosition (Vector)
+        // NetworkVarNames: m_vInitialVelocity (Vector)
+        // NetworkVarNames: m_nBounces (int)
+        // NetworkVarNames: m_nExplodeEffectIndex (HParticleSystemDefinitionStrong)
+        // NetworkVarNames: m_nExplodeEffectTickBegin (int)
+        // NetworkVarNames: m_vecExplodeEffectOrigin (Vector)
+        public static class C_BaseCSGrenadeProjectile {
+            public const nint m_vInitialPosition = 0x1170; // Vector
+            public const nint m_vInitialVelocity = 0x117C; // Vector
+            public const nint m_nBounces = 0x1188; // int32
+            public const nint m_nExplodeEffectIndex = 0x1190; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_nExplodeEffectTickBegin = 0x1198; // int32
+            public const nint m_vecExplodeEffectOrigin = 0x119C; // Vector
+            public const nint m_flSpawnTime = 0x11A8; // GameTime_t
+            public const nint vecLastTrailLinePos = 0x11AC; // Vector
+            public const nint flNextTrailLineTime = 0x11B8; // GameTime_t
+            public const nint m_bExplodeEffectBegan = 0x11BC; // bool
+            public const nint m_bCanCreateGrenadeTrail = 0x11BD; // bool
+            public const nint m_nSnapshotTrajectoryEffectIndex = 0x11C0; // ParticleIndex_t
+            public const nint m_hSnapshotTrajectoryParticleSnapshot = 0x11C8; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_arrTrajectoryTrailPoints = 0x11D0; // CUtlVector<Vector>
+            public const nint m_arrTrajectoryTrailPointCreationTimes = 0x11E8; // CUtlVector<float32>
+            public const nint m_flTrajectoryTrailEffectCreationTime = 0x1200; // float32
+        }
+        // Parent: C_BaseToggle
+        // Field count: 2
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_bClientSidePredicted (bool)
+        public static class C_BaseTrigger {
+            public const nint m_bDisabled = 0xD28; // bool
+            public const nint m_bClientSidePredicted = 0xD29; // bool
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_SequenceCompleteTimer (CountdownTimer)
+        // NetworkVarNames: m_bRedraw (bool)
+        public static class C_WeaponBaseItem {
+            public const nint m_SequenceCompleteTimer = 0x1B20; // CountdownTimer
+            public const nint m_bRedraw = 0x1B38; // bool
+        }
+        // Parent: None
+        // Field count: 21
+        //
+        // Metadata:
+        // NetworkVarNames: m_vOrigin (Vector)
+        // NetworkVarNames: m_vStart (Vector)
+        // NetworkVarNames: m_vNormal (Vector)
+        // NetworkVarNames: m_vAngles (QAngle)
+        // NetworkVarNames: m_hEntity (CEntityHandle)
+        // NetworkVarNames: m_hOtherEntity (CEntityHandle)
+        // NetworkVarNames: m_flScale (float32)
+        // NetworkVarNames: m_flMagnitude (float32)
+        // NetworkVarNames: m_flRadius (float32)
+        // NetworkVarNames: m_nSurfaceProp (CUtlStringToken)
+        // NetworkVarNames: m_nEffectIndex (HParticleSystemDefinition)
+        // NetworkVarNames: m_nDamageType (uint32)
+        // NetworkVarNames: m_nPenetrate (uint8)
+        // NetworkVarNames: m_nMaterial (uint16)
+        // NetworkVarNames: m_nHitBox (uint16)
+        // NetworkVarNames: m_nColor (uint8)
+        // NetworkVarNames: m_fFlags (uint8)
+        // NetworkVarNames: m_nAttachmentIndex (AttachmentHandle_t)
+        // NetworkVarNames: m_nAttachmentName (CUtlStringToken)
+        // NetworkVarNames: m_iEffectName (uint16)
+        // NetworkVarNames: m_nExplosionType (uint8)
+        public static class CEffectData {
+            public const nint m_vOrigin = 0x8; // Vector
+            public const nint m_vStart = 0x14; // Vector
+            public const nint m_vNormal = 0x20; // Vector
+            public const nint m_vAngles = 0x2C; // QAngle
+            public const nint m_hEntity = 0x38; // CEntityHandle
+            public const nint m_hOtherEntity = 0x3C; // CEntityHandle
+            public const nint m_flScale = 0x40; // float32
+            public const nint m_flMagnitude = 0x44; // float32
+            public const nint m_flRadius = 0x48; // float32
+            public const nint m_nSurfaceProp = 0x4C; // CUtlStringToken
+            public const nint m_nEffectIndex = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_nDamageType = 0x58; // uint32
+            public const nint m_nPenetrate = 0x5C; // uint8
+            public const nint m_nMaterial = 0x5E; // uint16
+            public const nint m_nHitBox = 0x60; // uint16
+            public const nint m_nColor = 0x62; // uint8
+            public const nint m_fFlags = 0x63; // uint8
+            public const nint m_nAttachmentIndex = 0x64; // AttachmentHandle_t
+            public const nint m_nAttachmentName = 0x68; // CUtlStringToken
+            public const nint m_iEffectName = 0x6C; // uint16
+            public const nint m_nExplosionType = 0x6E; // uint8
+        }
+        // Parent: C_BaseCSGrenade
+        // Field count: 0
+        public static class C_MolotovGrenade {
+        }
+        // Parent: C_BaseToggle
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_glowEntity (CHandle<C_BaseModelEntity>)
+        // NetworkVarNames: m_usable (bool)
+        // NetworkVarNames: m_szDisplayText (string_t)
+        public static class C_BaseButton {
+            public const nint m_glowEntity = 0xD28; // CHandle<C_BaseModelEntity>
+            public const nint m_usable = 0xD2C; // bool
+            public const nint m_szDisplayText = 0xD30; // CUtlSymbolLarge
+        }
+        // Parent: CPlayer_ViewModelServices
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_hViewModel (CHandle<CBaseViewModel>)
+        public static class CCSPlayer_ViewModelServices {
+            public const nint m_hViewModel = 0x40; // CHandle<C_BaseViewModel>[3]
+        }
+        // Parent: C_PointEntity
+        // Field count: 0
+        public static class CInfoParticleTarget {
+        }
+        // Parent: CPlayer_MovementServices
+        // Field count: 12
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFallVelocity (float32)
+        // NetworkVarNames: m_bInCrouch (bool)
+        // NetworkVarNames: m_nCrouchState (uint32)
+        // NetworkVarNames: m_flCrouchTransitionStartTime (GameTime_t)
+        // NetworkVarNames: m_bDucked (bool)
+        // NetworkVarNames: m_bDucking (bool)
+        // NetworkVarNames: m_bInDuckJump (bool)
+        public static class CPlayer_MovementServices_Humanoid {
+            public const nint m_flStepSoundTime = 0x1D8; // float32
+            public const nint m_flFallVelocity = 0x1DC; // float32
+            public const nint m_bInCrouch = 0x1E0; // bool
+            public const nint m_nCrouchState = 0x1E4; // uint32
+            public const nint m_flCrouchTransitionStartTime = 0x1E8; // GameTime_t
+            public const nint m_bDucked = 0x1EC; // bool
+            public const nint m_bDucking = 0x1ED; // bool
+            public const nint m_bInDuckJump = 0x1EE; // bool
+            public const nint m_groundNormal = 0x1F0; // Vector
+            public const nint m_flSurfaceFriction = 0x1FC; // float32
+            public const nint m_surfaceProps = 0x200; // CUtlStringToken
+            public const nint m_nStepside = 0x210; // int32
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponAug {
+        }
+        // Parent: CEnvSoundscapeProxy
+        // Field count: 0
+        public static class CEnvSoundscapeProxyAlias_snd_soundscape_proxy {
+        }
+        // Parent: C_BaseClientUIEntity
+        // Field count: 28
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIgnoreInput (bool)
+        // NetworkVarNames: m_bLit (bool)
+        // NetworkVarNames: m_bFollowPlayerAcrossTeleport (bool)
+        // NetworkVarNames: m_flWidth (float)
+        // NetworkVarNames: m_flHeight (float)
+        // NetworkVarNames: m_flDPI (float)
+        // NetworkVarNames: m_flInteractDistance (float)
+        // NetworkVarNames: m_flDepthOffset (float)
+        // NetworkVarNames: m_unOwnerContext (uint32)
+        // NetworkVarNames: m_unHorizontalAlign (uint32)
+        // NetworkVarNames: m_unVerticalAlign (uint32)
+        // NetworkVarNames: m_unOrientation (uint32)
+        // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+        // NetworkVarNames: m_vecCSSClasses (string_t)
+        // NetworkVarNames: m_bOpaque (bool)
+        // NetworkVarNames: m_bNoDepth (bool)
+        // NetworkVarNames: m_bRenderBackface (bool)
+        // NetworkVarNames: m_bUseOffScreenIndicator (bool)
+        // NetworkVarNames: m_bExcludeFromSaveGames (bool)
+        // NetworkVarNames: m_bGrabbable (bool)
+        // NetworkVarNames: m_bOnlyRenderToTexture (bool)
+        // NetworkVarNames: m_bDisableMipGen (bool)
+        // NetworkVarNames: m_nExplicitImageLayout (int32)
+        public static class C_PointClientUIWorldPanel {
+            public const nint m_bForceRecreateNextUpdate = 0xD60; // bool
+            public const nint m_bMoveViewToPlayerNextThink = 0xD61; // bool
+            public const nint m_bCheckCSSClasses = 0xD62; // bool
+            public const nint m_anchorDeltaTransform = 0xD70; // CTransform
+            public const nint m_pOffScreenIndicator = 0xF08; // CPointOffScreenIndicatorUi*
+            public const nint m_bIgnoreInput = 0xF30; // bool
+            public const nint m_bLit = 0xF31; // bool
+            public const nint m_bFollowPlayerAcrossTeleport = 0xF32; // bool
+            public const nint m_flWidth = 0xF34; // float32
+            public const nint m_flHeight = 0xF38; // float32
+            public const nint m_flDPI = 0xF3C; // float32
+            public const nint m_flInteractDistance = 0xF40; // float32
+            public const nint m_flDepthOffset = 0xF44; // float32
+            public const nint m_unOwnerContext = 0xF48; // uint32
+            public const nint m_unHorizontalAlign = 0xF4C; // uint32
+            public const nint m_unVerticalAlign = 0xF50; // uint32
+            public const nint m_unOrientation = 0xF54; // uint32
+            public const nint m_bAllowInteractionFromAllSceneWorlds = 0xF58; // bool
+            public const nint m_vecCSSClasses = 0xF60; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+            public const nint m_bOpaque = 0xF78; // bool
+            public const nint m_bNoDepth = 0xF79; // bool
+            public const nint m_bRenderBackface = 0xF7A; // bool
+            public const nint m_bUseOffScreenIndicator = 0xF7B; // bool
+            public const nint m_bExcludeFromSaveGames = 0xF7C; // bool
+            public const nint m_bGrabbable = 0xF7D; // bool
+            public const nint m_bOnlyRenderToTexture = 0xF7E; // bool
+            public const nint m_bDisableMipGen = 0xF7F; // bool
+            public const nint m_nExplicitImageLayout = 0xF80; // int32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_CSMinimapBoundary {
+        }
+        // Parent: CCSGameModeRules
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_flDMBonusStartTime (GameTime_t)
+        // NetworkVarNames: m_flDMBonusTimeLength (float)
+        // NetworkVarNames: m_sDMBonusWeapon (CUtlString)
+        public static class CCSGameModeRules_Deathmatch {
+            public const nint m_flDMBonusStartTime = 0x30; // GameTime_t
+            public const nint m_flDMBonusTimeLength = 0x34; // float32
+            public const nint m_sDMBonusWeapon = 0x38; // CUtlString
+        }
+        // Parent: C_CSGO_TeamPreviewCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_EndOfMatchCharacterPosition {
+        }
+        // Parent: C_SoundOpvarSetPointEntity
+        // Field count: 0
+        public static class C_SoundOpvarSetAABBEntity {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_nTotalPausedTicks (int)
+        // NetworkVarNames: m_nPauseStartTick (int)
+        // NetworkVarNames: m_bGamePaused (bool)
+        public static class C_GameRules {
+            public const nint __m_pChainEntity = 0x8; // CNetworkVarChainer
+            public const nint m_nTotalPausedTicks = 0x30; // int32
+            public const nint m_nPauseStartTick = 0x34; // int32
+            public const nint m_bGamePaused = 0x38; // bool
+        }
+        // Parent: C_BasePropDoor
+        // Field count: 0
+        public static class C_PropDoorRotating {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_aPlayerControllers (CHandle<CBasePlayerController>)
+        // NetworkVarNames: m_aPlayers (CHandle<C_BasePlayerPawn>)
+        // NetworkVarNames: m_iScore (int32)
+        // NetworkVarNames: m_szTeamname (char)
+        public static class C_Team {
+            public const nint m_aPlayerControllers = 0x568; // C_NetworkUtlVectorBase<CHandle<CBasePlayerController>>
+            public const nint m_aPlayers = 0x580; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerPawn>>
+            public const nint m_iScore = 0x598; // int32
+            public const nint m_szTeamname = 0x59C; // char[129]
+        }
+        // Parent: C_SoundAreaEntityBase
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_vMin (Vector)
+        // NetworkVarNames: m_vMax (Vector)
+        public static class C_SoundAreaEntityOrientedBox {
+            public const nint m_vMin = 0x590; // Vector
+            public const nint m_vMax = 0x59C; // Vector
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_bLoop (bool)
+        // NetworkVarNames: m_flFPS (float)
+        // NetworkVarNames: m_hPositionKeys (HRenderTextureStrong)
+        // NetworkVarNames: m_hRotationKeys (HRenderTextureStrong)
+        // NetworkVarNames: m_vAnimationBoundsMin (Vector)
+        // NetworkVarNames: m_vAnimationBoundsMax (Vector)
+        // NetworkVarNames: m_flStartTime (float)
+        // NetworkVarNames: m_flStartFrame (float)
+        public static class C_TextureBasedAnimatable {
+            public const nint m_bLoop = 0xD28; // bool
+            public const nint m_flFPS = 0xD2C; // float32
+            public const nint m_hPositionKeys = 0xD30; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_hRotationKeys = 0xD38; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_vAnimationBoundsMin = 0xD40; // Vector
+            public const nint m_vAnimationBoundsMax = 0xD4C; // Vector
+            public const nint m_flStartTime = 0xD58; // float32
+            public const nint m_flStartFrame = 0xD5C; // float32
+        }
+        // Parent: C_SoundOpvarSetPointBase
+        // Field count: 0
+        public static class C_SoundOpvarSetPointEntity {
+        }
+        // Parent: C_LightEntity
+        // Field count: 0
+        public static class C_LightOrthoEntity {
+        }
+        // Parent: CPlayer_WaterServices
+        // Field count: 3
+        public static class CCSPlayer_WaterServices {
+            public const nint m_flWaterJumpTime = 0x40; // float32
+            public const nint m_vecWaterJumpVel = 0x44; // Vector
+            public const nint m_flSwimSoundTime = 0x50; // float32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 2
+        public static class CSkyboxReference {
+            public const nint m_worldGroupId = 0x568; // WorldGroupId_t
+            public const nint m_hSkyCamera = 0x56C; // CHandle<C_SkyCamera>
+        }
+        // Parent: C_TonemapController2
+        // Field count: 0
+        public static class C_TonemapController2Alias_env_tonemap_controller2 {
+        }
+        // Parent: None
+        // Field count: 30
+        //
+        // Metadata:
+        // NetworkVarNames: m_hTargetEntity (CHandle<C_BaseEntity>)
+        // NetworkVarNames: m_bState (bool)
+        // NetworkVarNames: m_bAlwaysUpdate (bool)
+        // NetworkVarNames: m_flLightFOV (float32)
+        // NetworkVarNames: m_bEnableShadows (bool)
+        // NetworkVarNames: m_bSimpleProjection (bool)
+        // NetworkVarNames: m_bLightOnlyTarget (bool)
+        // NetworkVarNames: m_bLightWorld (bool)
+        // NetworkVarNames: m_bCameraSpace (bool)
+        // NetworkVarNames: m_flBrightnessScale (float32)
+        // NetworkVarNames: m_LightColor (Color)
+        // NetworkVarNames: m_flIntensity (float32)
+        // NetworkVarNames: m_flLinearAttenuation (float32)
+        // NetworkVarNames: m_flQuadraticAttenuation (float32)
+        // NetworkVarNames: m_bVolumetric (bool)
+        // NetworkVarNames: m_flVolumetricIntensity (float32)
+        // NetworkVarNames: m_flNoiseStrength (float32)
+        // NetworkVarNames: m_flFlashlightTime (float32)
+        // NetworkVarNames: m_nNumPlanes (uint32)
+        // NetworkVarNames: m_flPlaneOffset (float32)
+        // NetworkVarNames: m_flColorTransitionTime (float32)
+        // NetworkVarNames: m_flAmbient (float32)
+        // NetworkVarNames: m_SpotlightTextureName (char)
+        // NetworkVarNames: m_nSpotlightTextureFrame (int32)
+        // NetworkVarNames: m_nShadowQuality (uint32)
+        // NetworkVarNames: m_flNearZ (float32)
+        // NetworkVarNames: m_flFarZ (float32)
+        // NetworkVarNames: m_flProjectionSize (float32)
+        // NetworkVarNames: m_flRotation (float32)
+        // NetworkVarNames: m_bFlipHorizontal (bool)
+        public static class CProjectedTextureBase {
+            public const nint m_hTargetEntity = 0xC; // CHandle<C_BaseEntity>
+            public const nint m_bState = 0x10; // bool
+            public const nint m_bAlwaysUpdate = 0x11; // bool
+            public const nint m_flLightFOV = 0x14; // float32
+            public const nint m_bEnableShadows = 0x18; // bool
+            public const nint m_bSimpleProjection = 0x19; // bool
+            public const nint m_bLightOnlyTarget = 0x1A; // bool
+            public const nint m_bLightWorld = 0x1B; // bool
+            public const nint m_bCameraSpace = 0x1C; // bool
+            public const nint m_flBrightnessScale = 0x20; // float32
+            public const nint m_LightColor = 0x24; // Color
+            public const nint m_flIntensity = 0x28; // float32
+            public const nint m_flLinearAttenuation = 0x2C; // float32
+            public const nint m_flQuadraticAttenuation = 0x30; // float32
+            public const nint m_bVolumetric = 0x34; // bool
+            public const nint m_flVolumetricIntensity = 0x38; // float32
+            public const nint m_flNoiseStrength = 0x3C; // float32
+            public const nint m_flFlashlightTime = 0x40; // float32
+            public const nint m_nNumPlanes = 0x44; // uint32
+            public const nint m_flPlaneOffset = 0x48; // float32
+            public const nint m_flColorTransitionTime = 0x4C; // float32
+            public const nint m_flAmbient = 0x50; // float32
+            public const nint m_SpotlightTextureName = 0x54; // char[512]
+            public const nint m_nSpotlightTextureFrame = 0x254; // int32
+            public const nint m_nShadowQuality = 0x258; // uint32
+            public const nint m_flNearZ = 0x25C; // float32
+            public const nint m_flFarZ = 0x260; // float32
+            public const nint m_flProjectionSize = 0x264; // float32
+            public const nint m_flRotation = 0x268; // float32
+            public const nint m_bFlipHorizontal = 0x26C; // bool
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_unMusicID (item_definition_index_t)
+        // NetworkVarNames: m_rank (MedalRank_t)
+        // NetworkVarNames: m_nPersonaDataPublicLevel (int)
+        // NetworkVarNames: m_nPersonaDataPublicCommendsLeader (int)
+        // NetworkVarNames: m_nPersonaDataPublicCommendsTeacher (int)
+        // NetworkVarNames: m_nPersonaDataPublicCommendsFriendly (int)
+        // NetworkVarNames: m_nPersonaDataXpTrailLevel (int)
+        // NetworkVarNames: m_vecServerAuthoritativeWeaponSlots (ServerAuthoritativeWeaponSlot_t)
+        public static class CCSPlayerController_InventoryServices {
+            public const nint m_unMusicID = 0x40; // uint16
+            public const nint m_rank = 0x44; // MedalRank_t[6]
+            public const nint m_nPersonaDataPublicLevel = 0x5C; // int32
+            public const nint m_nPersonaDataPublicCommendsLeader = 0x60; // int32
+            public const nint m_nPersonaDataPublicCommendsTeacher = 0x64; // int32
+            public const nint m_nPersonaDataPublicCommendsFriendly = 0x68; // int32
+            public const nint m_nPersonaDataXpTrailLevel = 0x6C; // int32
+            public const nint m_vecServerAuthoritativeWeaponSlots = 0x70; // C_UtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
+        }
+        // Parent: C_PathParticleRope
+        // Field count: 0
+        public static class C_PathParticleRopeAlias_path_particle_rope_clientside {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_UseServices {
+        }
+        // Parent: C_PredictedViewModel
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_bShouldIgnoreOffsetAndAccuracy (bool)
+        public static class C_CSGOViewModel {
+            public const nint m_bShouldIgnoreOffsetAndAccuracy = 0x1021; // bool
+            public const nint m_nLastKnownAssociatedWeaponEntIndex = 0x1024; // CEntityIndex
+            public const nint m_bNeedToQueueHighResComposite = 0x1028; // bool
+            public const nint m_vLoweredWeaponOffset = 0x1078; // QAngle
+        }
+        // Parent: CEntityComponent
+        // Field count: 1
+        public static class CScriptComponent {
+            public const nint m_scriptClassName = 0x30; // CUtlSymbolLarge
+        }
+        // Parent: C_BaseEntity
+        // Field count: 17
+        //
+        // Metadata:
+        // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_vBoxMins (Vector)
+        // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+        // NetworkVarNames: m_Entity_bMoveable (bool)
+        // NetworkVarNames: m_Entity_nHandshake (int)
+        // NetworkVarNames: m_Entity_nPriority (int)
+        // NetworkVarNames: m_Entity_bStartDisabled (bool)
+        // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+        // NetworkVarNames: m_Entity_bEnabled (bool)
+        public static class C_EnvLightProbeVolume {
+            public const nint m_Entity_hLightProbeTexture = 0x1548; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightIndicesTexture = 0x1550; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightScalarsTexture = 0x1558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightShadowsTexture = 0x1560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_vBoxMins = 0x1568; // Vector
+            public const nint m_Entity_vBoxMaxs = 0x1574; // Vector
+            public const nint m_Entity_bMoveable = 0x1580; // bool
+            public const nint m_Entity_nHandshake = 0x1584; // int32
+            public const nint m_Entity_nPriority = 0x1588; // int32
+            public const nint m_Entity_bStartDisabled = 0x158C; // bool
+            public const nint m_Entity_nLightProbeSizeX = 0x1590; // int32
+            public const nint m_Entity_nLightProbeSizeY = 0x1594; // int32
+            public const nint m_Entity_nLightProbeSizeZ = 0x1598; // int32
+            public const nint m_Entity_nLightProbeAtlasX = 0x159C; // int32
+            public const nint m_Entity_nLightProbeAtlasY = 0x15A0; // int32
+            public const nint m_Entity_nLightProbeAtlasZ = 0x15A4; // int32
+            public const nint m_Entity_bEnabled = 0x15B1; // bool
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 2
+        public static class C_ViewmodelAttachmentModel {
+            public const nint m_bShouldFrontFaceCullLeftHanded = 0xF90; // bool
+            public const nint m_bCreatedLeftHanded = 0xF91; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_player_controller {
+        }
+        // Parent: C_BaseCSGrenade
+        // Field count: 0
+        public static class C_Flashbang {
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_iKills (int)
+        // NetworkVarNames: m_iDeaths (int)
+        // NetworkVarNames: m_iAssists (int)
+        // NetworkVarNames: m_iDamage (int)
+        // NetworkVarNames: m_iEquipmentValue (int)
+        // NetworkVarNames: m_iMoneySaved (int)
+        // NetworkVarNames: m_iKillReward (int)
+        // NetworkVarNames: m_iLiveTime (int)
+        // NetworkVarNames: m_iHeadShotKills (int)
+        // NetworkVarNames: m_iObjective (int)
+        // NetworkVarNames: m_iCashEarned (int)
+        // NetworkVarNames: m_iUtilityDamage (int)
+        // NetworkVarNames: m_iEnemiesFlashed (int)
+        public static class CSPerRoundStats_t {
+            public const nint m_iKills = 0x30; // int32
+            public const nint m_iDeaths = 0x34; // int32
+            public const nint m_iAssists = 0x38; // int32
+            public const nint m_iDamage = 0x3C; // int32
+            public const nint m_iEquipmentValue = 0x40; // int32
+            public const nint m_iMoneySaved = 0x44; // int32
+            public const nint m_iKillReward = 0x48; // int32
+            public const nint m_iLiveTime = 0x4C; // int32
+            public const nint m_iHeadShotKills = 0x50; // int32
+            public const nint m_iObjective = 0x54; // int32
+            public const nint m_iCashEarned = 0x58; // int32
+            public const nint m_iUtilityDamage = 0x5C; // int32
+            public const nint m_iEnemiesFlashed = 0x60; // int32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_iCurrentMaxRagdollCount (int8)
+        public static class CRagdollManager {
+            public const nint m_iCurrentMaxRagdollCount = 0x568; // int8
+        }
+        // Parent: C_BaseEntity
+        // Field count: 30
+        //
+        // Metadata:
+        // NetworkVarNames: m_bTimerPaused (bool)
+        // NetworkVarNames: m_flTimeRemaining (float)
+        // NetworkVarNames: m_flTimerEndTime (GameTime_t)
+        // NetworkVarNames: m_bIsDisabled (bool)
+        // NetworkVarNames: m_bShowInHUD (bool)
+        // NetworkVarNames: m_nTimerLength (int)
+        // NetworkVarNames: m_nTimerInitialLength (int)
+        // NetworkVarNames: m_nTimerMaxLength (int)
+        // NetworkVarNames: m_bAutoCountdown (bool)
+        // NetworkVarNames: m_nSetupTimeLength (int)
+        // NetworkVarNames: m_nState (int)
+        // NetworkVarNames: m_bStartPaused (bool)
+        // NetworkVarNames: m_bInCaptureWatchState (bool)
+        // NetworkVarNames: m_flTotalTime (float)
+        // NetworkVarNames: m_bStopWatchTimer (bool)
+        public static class C_TeamRoundTimer {
+            public const nint m_bTimerPaused = 0x568; // bool
+            public const nint m_flTimeRemaining = 0x56C; // float32
+            public const nint m_flTimerEndTime = 0x570; // GameTime_t
+            public const nint m_bIsDisabled = 0x574; // bool
+            public const nint m_bShowInHUD = 0x575; // bool
+            public const nint m_nTimerLength = 0x578; // int32
+            public const nint m_nTimerInitialLength = 0x57C; // int32
+            public const nint m_nTimerMaxLength = 0x580; // int32
+            public const nint m_bAutoCountdown = 0x584; // bool
+            public const nint m_nSetupTimeLength = 0x588; // int32
+            public const nint m_nState = 0x58C; // int32
+            public const nint m_bStartPaused = 0x590; // bool
+            public const nint m_bInCaptureWatchState = 0x591; // bool
+            public const nint m_flTotalTime = 0x594; // float32
+            public const nint m_bStopWatchTimer = 0x598; // bool
+            public const nint m_bFireFinished = 0x599; // bool
+            public const nint m_bFire5MinRemain = 0x59A; // bool
+            public const nint m_bFire4MinRemain = 0x59B; // bool
+            public const nint m_bFire3MinRemain = 0x59C; // bool
+            public const nint m_bFire2MinRemain = 0x59D; // bool
+            public const nint m_bFire1MinRemain = 0x59E; // bool
+            public const nint m_bFire30SecRemain = 0x59F; // bool
+            public const nint m_bFire10SecRemain = 0x5A0; // bool
+            public const nint m_bFire5SecRemain = 0x5A1; // bool
+            public const nint m_bFire4SecRemain = 0x5A2; // bool
+            public const nint m_bFire3SecRemain = 0x5A3; // bool
+            public const nint m_bFire2SecRemain = 0x5A4; // bool
+            public const nint m_bFire1SecRemain = 0x5A5; // bool
+            public const nint m_nOldTimerLength = 0x5A8; // int32
+            public const nint m_nOldTimerState = 0x5AC; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_nItemDefIndex (uint16)
+        // NetworkVarNames: m_nCount (uint16)
+        public static class WeaponPurchaseCount_t {
+            public const nint m_nItemDefIndex = 0x30; // uint16
+            public const nint m_nCount = 0x32; // uint16
+        }
+        // Parent: C_BaseCSGrenade
+        // Field count: 0
+        public static class C_SmokeGrenade {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponGalilAR {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class C_WorldModelGloves {
+        }
+        // Parent: C_ModelPointEntity
+        // Field count: 0
+        public static class C_EnvProjectedTexture {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_pathString (CUtlString)
+        public static class CPathSimple {
+            public const nint m_pathString = 0x5C0; // CUtlString
+        }
+        // Parent: CPlayer_CameraServices
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_iFOV (uint32)
+        // NetworkVarNames: m_iFOVStart (uint32)
+        // NetworkVarNames: m_flFOVTime (GameTime_t)
+        // NetworkVarNames: m_flFOVRate (float32)
+        // NetworkVarNames: m_hZoomOwner (CHandle<CBaseEntity>)
+        public static class CCSPlayerBase_CameraServices {
+            public const nint m_iFOV = 0x210; // uint32
+            public const nint m_iFOVStart = 0x214; // uint32
+            public const nint m_flFOVTime = 0x218; // GameTime_t
+            public const nint m_flFOVRate = 0x21C; // float32
+            public const nint m_hZoomOwner = 0x220; // CHandle<C_BaseEntity>
+            public const nint m_flLastShotFOV = 0x224; // float32
+        }
+        // Parent: C_PointClientUIWorldPanel
+        // Field count: 4
+        public static class CPointOffScreenIndicatorUi {
+            public const nint m_bBeenEnabled = 0xF90; // bool
+            public const nint m_bHide = 0xF91; // bool
+            public const nint m_flSeenTargetTime = 0xF94; // float32
+            public const nint m_pTargetPanel = 0xF98; // C_PointClientUIWorldPanel*
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_entity {
+        }
+        // Parent: CBodyComponentSkeletonInstance
+        // Field count: 0
+        public static class CBodyComponentBaseModelEntity {
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_zoomLevel (int)
+        // NetworkVarNames: m_iBurstShotsRemaining (int)
+        // NetworkVarNames: m_bNeedsBoltAction (bool)
+        public static class C_CSWeaponBaseGun {
+            public const nint m_zoomLevel = 0x1B20; // int32
+            public const nint m_iBurstShotsRemaining = 0x1B24; // int32
+            public const nint m_iSilencerBodygroup = 0x1B28; // int32
+            public const nint m_silencedModelIndex = 0x1B38; // int32
+            public const nint m_inPrecache = 0x1B3C; // bool
+            public const nint m_bNeedsBoltAction = 0x1B3D; // bool
+        }
+        // Parent: C_BaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_skyboxData (sky3dparams_t)
+        // NetworkVarNames: m_skyboxSlotToken (CUtlStringToken)
+        public static class C_SkyCamera {
+            public const nint m_skyboxData = 0x568; // sky3dparams_t
+            public const nint m_skyboxSlotToken = 0x5F8; // CUtlStringToken
+            public const nint m_bUseAngles = 0x5FC; // bool
+            public const nint m_pNext = 0x600; // C_SkyCamera*
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_World {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_flFadeInStart (float32)
+        // NetworkVarNames: m_flFadeInLength (float32)
+        // NetworkVarNames: m_flFadeOutModelStart (float32)
+        // NetworkVarNames: m_flFadeOutModelLength (float32)
+        // NetworkVarNames: m_flFadeOutStart (float32)
+        // NetworkVarNames: m_flFadeOutLength (float32)
+        // NetworkVarNames: m_nDissolveType (EntityDisolveType_t)
+        // NetworkVarNames: m_vDissolverOrigin (Vector)
+        // NetworkVarNames: m_nMagnitude (uint32)
+        public static class C_EntityDissolve {
+            public const nint m_flStartTime = 0xD30; // GameTime_t
+            public const nint m_flFadeInStart = 0xD34; // float32
+            public const nint m_flFadeInLength = 0xD38; // float32
+            public const nint m_flFadeOutModelStart = 0xD3C; // float32
+            public const nint m_flFadeOutModelLength = 0xD40; // float32
+            public const nint m_flFadeOutStart = 0xD44; // float32
+            public const nint m_flFadeOutLength = 0xD48; // float32
+            public const nint m_flNextSparkTime = 0xD4C; // GameTime_t
+            public const nint m_nDissolveType = 0xD50; // EntityDisolveType_t
+            public const nint m_vDissolverOrigin = 0xD54; // Vector
+            public const nint m_nMagnitude = 0xD60; // uint32
+            public const nint m_bCoreExplode = 0xD64; // bool
+            public const nint m_bLinkedToServerEnt = 0xD65; // bool
+        }
+        // Parent: CPlayer_UseServices
+        // Field count: 0
+        public static class CCSObserver_UseServices {
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_hCtrl (CHandle<CFogController>)
+        public static class C_fogplayerparams_t {
+            public const nint m_hCtrl = 0x8; // CHandle<C_FogController>
+            public const nint m_flTransitionTime = 0xC; // float32
+            public const nint m_OldColor = 0x10; // Color
+            public const nint m_flOldStart = 0x14; // float32
+            public const nint m_flOldEnd = 0x18; // float32
+            public const nint m_flOldMaxDensity = 0x1C; // float32
+            public const nint m_flOldHDRColorScale = 0x20; // float32
+            public const nint m_flOldFarZ = 0x24; // float32
+            public const nint m_NewColor = 0x28; // Color
+            public const nint m_flNewStart = 0x2C; // float32
+            public const nint m_flNewEnd = 0x30; // float32
+            public const nint m_flNewMaxDensity = 0x34; // float32
+            public const nint m_flNewHDRColorScale = 0x38; // float32
+            public const nint m_flNewFarZ = 0x3C; // float32
+        }
+        // Parent: C_BasePlayerPawn
+        // Field count: 65
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_pPingServices (CCSPlayer_PingServices*)
+        // NetworkVarNames: m_pViewModelServices (CPlayer_ViewModelServices*)
+        // NetworkVarNames: m_iPlayerState (CSPlayerState)
+        // NetworkVarNames: m_bIsRescuing (bool)
+        // NetworkVarNames: m_fImmuneToGunGameDamageTime (GameTime_t)
+        // NetworkVarNames: m_bGunGameImmunity (bool)
+        // NetworkVarNames: m_bHasMovedSinceSpawn (bool)
+        // NetworkVarNames: m_fMolotovUseTime (float)
+        // NetworkVarNames: m_fMolotovDamageTime (float)
+        // NetworkVarNames: m_iThrowGrenadeCounter (int)
+        // NetworkVarNames: m_iProgressBarDuration (int)
+        // NetworkVarNames: m_flProgressBarStartTime (float)
+        // NetworkVarNames: m_flFlashMaxAlpha (float)
+        // NetworkVarNames: m_flFlashDuration (float)
+        // NetworkVarNames: m_cycleLatch (int)
+        // NetworkVarNames: m_hOriginalController (CHandle<CCSPlayerController>)
+        public static class C_CSPlayerPawnBase {
+            public const nint m_pPingServices = 0x1360; // CCSPlayer_PingServices*
+            public const nint m_pViewModelServices = 0x1368; // CPlayer_ViewModelServices*
+            public const nint m_fRenderingClipPlane = 0x1370; // float32[4]
+            public const nint m_nLastClipPlaneSetupFrame = 0x1380; // int32
+            public const nint m_vecLastClipCameraPos = 0x1384; // Vector
+            public const nint m_vecLastClipCameraForward = 0x1390; // Vector
+            public const nint m_bClipHitStaticWorld = 0x139C; // bool
+            public const nint m_bCachedPlaneIsValid = 0x139D; // bool
+            public const nint m_pClippingWeapon = 0x13A0; // C_CSWeaponBase*
+            public const nint m_previousPlayerState = 0x13A8; // CSPlayerState
+            public const nint m_iPlayerState = 0x13AC; // CSPlayerState
+            public const nint m_bIsRescuing = 0x13B0; // bool
+            public const nint m_fImmuneToGunGameDamageTime = 0x13B4; // GameTime_t
+            public const nint m_fImmuneToGunGameDamageTimeLast = 0x13B8; // GameTime_t
+            public const nint m_bGunGameImmunity = 0x13BC; // bool
+            public const nint m_bHasMovedSinceSpawn = 0x13BD; // bool
+            public const nint m_fMolotovUseTime = 0x13C0; // float32
+            public const nint m_fMolotovDamageTime = 0x13C4; // float32
+            public const nint m_iThrowGrenadeCounter = 0x13C8; // int32
+            public const nint m_flLastSpawnTimeIndex = 0x13CC; // GameTime_t
+            public const nint m_iProgressBarDuration = 0x13D0; // int32
+            public const nint m_flProgressBarStartTime = 0x13D4; // float32
+            public const nint m_vecIntroStartEyePosition = 0x13D8; // Vector
+            public const nint m_vecIntroStartPlayerForward = 0x13E4; // Vector
+            public const nint m_flClientDeathTime = 0x13F0; // GameTime_t
+            public const nint m_bScreenTearFrameCaptured = 0x13F4; // bool
+            public const nint m_flFlashBangTime = 0x13F8; // float32
+            public const nint m_flFlashScreenshotAlpha = 0x13FC; // float32
+            public const nint m_flFlashOverlayAlpha = 0x1400; // float32
+            public const nint m_bFlashBuildUp = 0x1404; // bool
+            public const nint m_bFlashDspHasBeenCleared = 0x1405; // bool
+            public const nint m_bFlashScreenshotHasBeenGrabbed = 0x1406; // bool
+            public const nint m_flFlashMaxAlpha = 0x1408; // float32
+            public const nint m_flFlashDuration = 0x140C; // float32
+            public const nint m_iHealthBarRenderMaskIndex = 0x1410; // int32
+            public const nint m_flHealthFadeValue = 0x1414; // float32
+            public const nint m_flHealthFadeAlpha = 0x1418; // float32
+            public const nint m_flDeathCCWeight = 0x1428; // float32
+            public const nint m_flPrevRoundEndTime = 0x142C; // float32
+            public const nint m_flPrevMatchEndTime = 0x1430; // float32
+            public const nint m_angEyeAngles = 0x1438; // QAngle
+            public const nint m_fNextThinkPushAway = 0x1450; // float32
+            public const nint m_bShouldAutobuyDMWeapons = 0x1454; // bool
+            public const nint m_bShouldAutobuyNow = 0x1455; // bool
+            public const nint m_iIDEntIndex = 0x1458; // CEntityIndex
+            public const nint m_delayTargetIDTimer = 0x1460; // CountdownTimer
+            public const nint m_iTargetItemEntIdx = 0x1478; // CEntityIndex
+            public const nint m_iOldIDEntIndex = 0x147C; // CEntityIndex
+            public const nint m_holdTargetIDTimer = 0x1480; // CountdownTimer
+            public const nint m_flCurrentMusicStartTime = 0x149C; // float32
+            public const nint m_flMusicRoundStartTime = 0x14A0; // float32
+            public const nint m_bDeferStartMusicOnWarmup = 0x14A4; // bool
+            public const nint m_cycleLatch = 0x14A8; // int32
+            public const nint m_serverIntendedCycle = 0x14AC; // float32
+            public const nint m_flLastSmokeOverlayAlpha = 0x14B0; // float32
+            public const nint m_flLastSmokeAge = 0x14B4; // float32
+            public const nint m_vLastSmokeOverlayColor = 0x14B8; // Vector
+            public const nint m_nPlayerSmokedFx = 0x14C4; // ParticleIndex_t
+            public const nint m_nPlayerInfernoBodyFx = 0x14C8; // ParticleIndex_t
+            public const nint m_nPlayerInfernoFootFx = 0x14CC; // ParticleIndex_t
+            public const nint m_flNextMagDropTime = 0x14D0; // float32
+            public const nint m_nLastMagDropAttachmentIndex = 0x14D4; // int32
+            public const nint m_vecLastAliveLocalVelocity = 0x14D8; // Vector
+            public const nint m_bGuardianShouldSprayCustomXMark = 0x1500; // bool
+            public const nint m_hOriginalController = 0x1508; // CHandle<CCSPlayerController>
+        }
+        // Parent: C_WeaponBaseItem
+        // Field count: 0
+        public static class C_Item_Healthshot {
+        }
+        // Parent: None
+        // Field count: 29
+        //
+        // Metadata:
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_iWindSeed (uint32)
+        // NetworkVarNames: m_iMinWind (uint16)
+        // NetworkVarNames: m_iMaxWind (uint16)
+        // NetworkVarNames: m_windRadius (int32)
+        // NetworkVarNames: m_iMinGust (uint16)
+        // NetworkVarNames: m_iMaxGust (uint16)
+        // NetworkVarNames: m_flMinGustDelay (float32)
+        // NetworkVarNames: m_flMaxGustDelay (float32)
+        // NetworkVarNames: m_flGustDuration (float32)
+        // NetworkVarNames: m_iGustDirChange (uint16)
+        // NetworkVarNames: m_location (Vector)
+        // NetworkVarNames: m_iInitialWindDir (uint16)
+        // NetworkVarNames: m_flInitialWindSpeed (float32)
+        public static class C_EnvWindShared {
+            public const nint m_flStartTime = 0x8; // GameTime_t
+            public const nint m_iWindSeed = 0xC; // uint32
+            public const nint m_iMinWind = 0x10; // uint16
+            public const nint m_iMaxWind = 0x12; // uint16
+            public const nint m_windRadius = 0x14; // int32
+            public const nint m_iMinGust = 0x18; // uint16
+            public const nint m_iMaxGust = 0x1A; // uint16
+            public const nint m_flMinGustDelay = 0x1C; // float32
+            public const nint m_flMaxGustDelay = 0x20; // float32
+            public const nint m_flGustDuration = 0x24; // float32
+            public const nint m_iGustDirChange = 0x28; // uint16
+            public const nint m_location = 0x2C; // Vector
+            public const nint m_iszGustSound = 0x38; // int32
+            public const nint m_iWindDir = 0x3C; // int32
+            public const nint m_flWindSpeed = 0x40; // float32
+            public const nint m_currentWindVector = 0x44; // Vector
+            public const nint m_CurrentSwayVector = 0x50; // Vector
+            public const nint m_PrevSwayVector = 0x5C; // Vector
+            public const nint m_iInitialWindDir = 0x68; // uint16
+            public const nint m_flInitialWindSpeed = 0x6C; // float32
+            public const nint m_flVariationTime = 0x70; // GameTime_t
+            public const nint m_flSwayTime = 0x74; // GameTime_t
+            public const nint m_flSimTime = 0x78; // GameTime_t
+            public const nint m_flSwitchTime = 0x7C; // GameTime_t
+            public const nint m_flAveWindSpeed = 0x80; // float32
+            public const nint m_bGusting = 0x84; // bool
+            public const nint m_flWindAngleVariation = 0x88; // float32
+            public const nint m_flWindSpeedVariation = 0x8C; // float32
+            public const nint m_hEntOwner = 0x90; // CHandle<C_BaseEntity>
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_hPostSettings (HPostProcessingStrong)
+        // NetworkVarNames: m_flFadeDuration (float)
+        // NetworkVarNames: m_flMinLogExposure (float)
+        // NetworkVarNames: m_flMaxLogExposure (float)
+        // NetworkVarNames: m_flMinExposure (float)
+        // NetworkVarNames: m_flMaxExposure (float)
+        // NetworkVarNames: m_flExposureCompensation (float)
+        // NetworkVarNames: m_flExposureFadeSpeedUp (float)
+        // NetworkVarNames: m_flExposureFadeSpeedDown (float)
+        // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+        // NetworkVarNames: m_bMaster (bool)
+        // NetworkVarNames: m_bExposureControl (bool)
+        // NetworkVarNames: m_flRate (float)
+        // NetworkVarNames: m_flTonemapPercentTarget (float)
+        // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+        // NetworkVarNames: m_flTonemapMinAvgLum (float)
+        public static class C_PostProcessingVolume {
+            public const nint m_hPostSettings = 0xD40; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+            public const nint m_flFadeDuration = 0xD48; // float32
+            public const nint m_flMinLogExposure = 0xD4C; // float32
+            public const nint m_flMaxLogExposure = 0xD50; // float32
+            public const nint m_flMinExposure = 0xD54; // float32
+            public const nint m_flMaxExposure = 0xD58; // float32
+            public const nint m_flExposureCompensation = 0xD5C; // float32
+            public const nint m_flExposureFadeSpeedUp = 0xD60; // float32
+            public const nint m_flExposureFadeSpeedDown = 0xD64; // float32
+            public const nint m_flTonemapEVSmoothingRange = 0xD68; // float32
+            public const nint m_bMaster = 0xD6C; // bool
+            public const nint m_bExposureControl = 0xD6D; // bool
+            public const nint m_flRate = 0xD70; // float32
+            public const nint m_flTonemapPercentTarget = 0xD74; // float32
+            public const nint m_flTonemapPercentBrightPixels = 0xD78; // float32
+            public const nint m_flTonemapMinAvgLum = 0xD7C; // float32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_hPlayerPing (CHandle<CBaseEntity>)
+        public static class CCSPlayer_PingServices {
+            public const nint m_hPlayerPing = 0x40; // CHandle<C_BaseEntity>
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_FlashlightServices {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class CServerOnlyModelEntity {
+        }
+        // Parent: CAttributeManager
+        // Field count: 3
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_Item (CEconItemView)
+        public static class C_AttributeContainer {
+            public const nint m_Item = 0x50; // C_EconItemView
+            public const nint m_iExternalItemProviderRegisteredToken = 0x498; // int32
+            public const nint m_ullRegisteredAsItemID = 0x4A0; // uint64
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        //
+        // Metadata:
+        // MNetworkOverride
+        // MNetworkOverride
+        public static class C_FuncRotating {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_flScale (float32)
+        // NetworkVarNames: m_flStartScale (float32)
+        // NetworkVarNames: m_flScaleTime (float)
+        // NetworkVarNames: m_nFlags (uint32)
+        public static class C_BaseFire {
+            public const nint m_flScale = 0x568; // float32
+            public const nint m_flStartScale = 0x56C; // float32
+            public const nint m_flScaleTime = 0x570; // float32
+            public const nint m_nFlags = 0x574; // uint32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // MNetworkIncludeByUserGroup
+        // NetworkVarNames: m_nTickBase (uint32)
+        // NetworkVarNames: m_hPawn (CHandle<CBasePlayerPawn>)
+        // NetworkVarNames: m_bKnownTeamMismatch (bool)
+        // NetworkVarNames: m_iConnected (PlayerConnectedState)
+        // NetworkVarNames: m_iszPlayerName (char)
+        // NetworkVarNames: m_steamID (uint64)
+        // NetworkVarNames: m_iDesiredFOV (uint32)
+        // MNetworkReplayCompatField
+        public static class CBasePlayerController {
+            public const nint m_nFinalPredictedTick = 0x570; // int32
+            public const nint m_CommandContext = 0x578; // C_CommandContext
+            public const nint m_nInButtonsWhichAreToggles = 0x620; // uint64
+            public const nint m_nTickBase = 0x628; // uint32
+            public const nint m_hPawn = 0x62C; // CHandle<C_BasePlayerPawn>
+            public const nint m_bKnownTeamMismatch = 0x630; // bool
+            public const nint m_hPredictedPawn = 0x634; // CHandle<C_BasePlayerPawn>
+            public const nint m_nSplitScreenSlot = 0x638; // CSplitScreenSlot
+            public const nint m_hSplitOwner = 0x63C; // CHandle<CBasePlayerController>
+            public const nint m_hSplitScreenPlayers = 0x640; // CUtlVector<CHandle<CBasePlayerController>>
+            public const nint m_bIsHLTV = 0x658; // bool
+            public const nint m_iConnected = 0x65C; // PlayerConnectedState
+            public const nint m_iszPlayerName = 0x660; // char[128]
+            public const nint m_steamID = 0x6E8; // uint64
+            public const nint m_bIsLocalPlayerController = 0x6F0; // bool
+            public const nint m_iDesiredFOV = 0x6F4; // uint32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CPointTemplateAPI {
+        }
+        // Parent: C_BaseCSGrenadeProjectile
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_nDecoyShotTick (int)
+        public static class C_DecoyProjectile {
+            public const nint m_nDecoyShotTick = 0x1208; // int32
+            public const nint m_nClientLastKnownDecoyShotTick = 0x120C; // int32
+            public const nint m_flTimeParticleEffectSpawn = 0x1230; // GameTime_t
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class C_WaterBullet {
+        }
+        // Parent: C_CSPlayerPawn
+        // Field count: 3
+        public static class C_CSGO_PreviewPlayer {
+            public const nint m_animgraph = 0x3A40; // CUtlString
+            public const nint m_animgraphCharacterModeString = 0x3A48; // CGlobalSymbol
+            public const nint m_flInitialModelScale = 0x3A50; // float32
+        }
+        // Parent: CSkeletonAnimationController
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_animGraphNetworkedVars (CAnimGraphNetworkedVariables)
+        // NetworkVarNames: m_hSequence (HSequence)
+        // NetworkVarNames: m_flSeqStartTime (GameTime_t)
+        // NetworkVarNames: m_flSeqFixedCycle (float)
+        // NetworkVarNames: m_nAnimLoopMode (AnimLoopMode_t)
+        public static class CBaseAnimGraphController {
+            public const nint m_animGraphNetworkedVars = 0x18; // CAnimGraphNetworkedVariables
+            public const nint m_bSequenceFinished = 0x14A8; // bool
+            public const nint m_flSoundSyncTime = 0x14AC; // float32
+            public const nint m_nActiveIKChainMask = 0x14B0; // uint32
+            public const nint m_hSequence = 0x14B4; // HSequence
+            public const nint m_flSeqStartTime = 0x14B8; // GameTime_t
+            public const nint m_flSeqFixedCycle = 0x14BC; // float32
+            public const nint m_nAnimLoopMode = 0x14C0; // AnimLoopMode_t
+            public const nint m_flPlaybackRate = 0x14C4; // CNetworkedQuantizedFloat
+            public const nint m_nNotifyState = 0x14D0; // SequenceFinishNotifyState_t
+            public const nint m_bNetworkedAnimationInputsChanged = 0x14D2; // bool
+            public const nint m_bNetworkedSequenceChanged = 0x14D3; // bool
+            public const nint m_bLastUpdateSkipped = 0x14D4; // bool
+            public const nint m_flPrevAnimUpdateTime = 0x14D8; // GameTime_t
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class CCSPointScriptEntity {
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_bStartedArming (bool)
+        // NetworkVarNames: m_fArmedTime (GameTime_t)
+        // NetworkVarNames: m_bBombPlacedAnimation (bool)
+        // NetworkVarNames: m_bIsPlantingViaUse (bool)
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        public static class C_C4 {
+            public const nint m_szScreenText = 0x1B20; // char[32]
+            public const nint m_activeLightParticleIndex = 0x1B40; // ParticleIndex_t
+            public const nint m_eActiveLightEffect = 0x1B44; // C4LightEffect_t
+            public const nint m_bStartedArming = 0x1B48; // bool
+            public const nint m_fArmedTime = 0x1B4C; // GameTime_t
+            public const nint m_bBombPlacedAnimation = 0x1B50; // bool
+            public const nint m_bIsPlantingViaUse = 0x1B51; // bool
+            public const nint m_entitySpottedState = 0x1B58; // EntitySpottedState_t
+            public const nint m_nSpotRules = 0x1B70; // int32
+            public const nint m_bPlayedArmingBeeps = 0x1B74; // bool[7]
+            public const nint m_bBombPlanted = 0x1B7B; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 13
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_bInitiallyPopulateInterpHistory (bool)
+        // NetworkVarNames: m_bAnimGraphUpdateEnabled (bool)
+        // NetworkVarNames: m_vecForce (Vector)
+        // NetworkVarNames: m_nForceBone (int32)
+        // NetworkVarNames: m_RagdollPose (PhysicsRagdollPose_t)
+        // NetworkVarNames: m_bRagdollClientSide (bool)
+        public static class CBaseAnimGraph {
+            public const nint m_bInitiallyPopulateInterpHistory = 0xDA0; // bool
+            public const nint m_bSuppressAnimEventSounds = 0xDA2; // bool
+            public const nint m_bAnimGraphUpdateEnabled = 0xDB0; // bool
+            public const nint m_flMaxSlopeDistance = 0xDB4; // float32
+            public const nint m_vLastSlopeCheckPos = 0xDB8; // Vector
+            public const nint m_bAnimationUpdateScheduled = 0xDC4; // bool
+            public const nint m_vecForce = 0xDC8; // Vector
+            public const nint m_nForceBone = 0xDD4; // int32
+            public const nint m_pClientsideRagdoll = 0xDD8; // CBaseAnimGraph*
+            public const nint m_bBuiltRagdoll = 0xDE0; // bool
+            public const nint m_RagdollPose = 0xDF8; // PhysicsRagdollPose_t
+            public const nint m_bRagdollClientSide = 0xE40; // bool
+            public const nint m_bHasAnimatedMaterialAttributes = 0xE50; // bool
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_PointEntity {
+        }
+        // Parent: C_GameRules
+        // Field count: 0
+        public static class C_MultiplayRules {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CBasePlayerControllerAPI {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_flParticleSpacing (float)
+        // NetworkVarNames: m_flSlack (float)
+        // NetworkVarNames: m_flRadius (float)
+        // NetworkVarNames: m_ColorTint (Color)
+        // NetworkVarNames: m_nEffectState (int)
+        // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+        // NetworkVarNames: m_PathNodes_Position (Vector)
+        // NetworkVarNames: m_PathNodes_TangentIn (Vector)
+        // NetworkVarNames: m_PathNodes_TangentOut (Vector)
+        // NetworkVarNames: m_PathNodes_Color (Vector)
+        // NetworkVarNames: m_PathNodes_PinEnabled (bool)
+        // NetworkVarNames: m_PathNodes_RadiusScale (float)
+        public static class C_PathParticleRope {
+            public const nint m_bStartActive = 0x570; // bool
+            public const nint m_flMaxSimulationTime = 0x574; // float32
+            public const nint m_iszEffectName = 0x578; // CUtlSymbolLarge
+            public const nint m_PathNodes_Name = 0x580; // CUtlVector<CUtlSymbolLarge>
+            public const nint m_flParticleSpacing = 0x598; // float32
+            public const nint m_flSlack = 0x59C; // float32
+            public const nint m_flRadius = 0x5A0; // float32
+            public const nint m_ColorTint = 0x5A4; // Color
+            public const nint m_nEffectState = 0x5A8; // int32
+            public const nint m_iEffectIndex = 0x5B0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_PathNodes_Position = 0x5B8; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_TangentIn = 0x5D0; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_TangentOut = 0x5E8; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_Color = 0x600; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_PinEnabled = 0x618; // C_NetworkUtlVectorBase<bool>
+            public const nint m_PathNodes_RadiusScale = 0x630; // C_NetworkUtlVectorBase<float32>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_CCSWeaponBaseVData {
+        }
+        // Parent: C_SoundEventEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_vMins (Vector)
+        // NetworkVarNames: m_vMaxs (Vector)
+        public static class C_SoundEventAABBEntity {
+            public const nint m_vMins = 0x628; // Vector
+            public const nint m_vMaxs = 0x634; // Vector
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponP90 {
+        }
+        // Parent: CEnvSoundscape
+        // Field count: 0
+        public static class CEnvSoundscapeAlias_snd_soundscape {
+        }
+        // Parent: C_EconEntity
+        // Field count: 7
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkIncludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkUserGroupProxy
+        // NetworkVarNames: m_nNextPrimaryAttackTick (GameTick_t)
+        // NetworkVarNames: m_flNextPrimaryAttackTickRatio (float32)
+        // NetworkVarNames: m_nNextSecondaryAttackTick (GameTick_t)
+        // NetworkVarNames: m_flNextSecondaryAttackTickRatio (float32)
+        // NetworkVarNames: m_iClip1 (int32)
+        // NetworkVarNames: m_iClip2 (int32)
+        // NetworkVarNames: m_pReserveAmmo (int)
+        public static class C_BasePlayerWeapon {
+            public const nint m_nNextPrimaryAttackTick = 0x1668; // GameTick_t
+            public const nint m_flNextPrimaryAttackTickRatio = 0x166C; // float32
+            public const nint m_nNextSecondaryAttackTick = 0x1670; // GameTick_t
+            public const nint m_flNextSecondaryAttackTickRatio = 0x1674; // float32
+            public const nint m_iClip1 = 0x1678; // int32
+            public const nint m_iClip2 = 0x167C; // int32
+            public const nint m_pReserveAmmo = 0x1680; // int32[2]
+        }
+        // Parent: CEntitySubclassVDataBase
+        // Field count: 22
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBasePlayerWeaponVData {
+            public const nint m_szWorldModel = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_sToolsOnlyOwnerModelName = 0x108; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_bBuiltRightHanded = 0x1E8; // bool
+            public const nint m_bAllowFlipping = 0x1E9; // bool
+            public const nint m_sMuzzleAttachment = 0x1F0; // CAttachmentNameSymbolWithStorage
+            public const nint m_szMuzzleFlashParticle = 0x210; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_bLinkedCooldowns = 0x2F0; // bool
+            public const nint m_iFlags = 0x2F1; // ItemFlagTypes_t
+            public const nint m_nPrimaryAmmoType = 0x2F2; // AmmoIndex_t
+            public const nint m_nSecondaryAmmoType = 0x2F3; // AmmoIndex_t
+            public const nint m_iMaxClip1 = 0x2F4; // int32
+            public const nint m_iMaxClip2 = 0x2F8; // int32
+            public const nint m_iDefaultClip1 = 0x2FC; // int32
+            public const nint m_iDefaultClip2 = 0x300; // int32
+            public const nint m_bReserveAmmoAsClips = 0x304; // bool
+            public const nint m_iWeight = 0x308; // int32
+            public const nint m_bAutoSwitchTo = 0x30C; // bool
+            public const nint m_bAutoSwitchFrom = 0x30D; // bool
+            public const nint m_iRumbleEffect = 0x310; // RumbleEffect_t
+            public const nint m_iSlot = 0x314; // int32
+            public const nint m_iPosition = 0x318; // int32
+            public const nint m_aShootSounds = 0x320; // CUtlOrderedMap<WeaponSound_t,CSoundEventName>
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 23
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_poolOrigin (Vector)
+        // NetworkVarNames: m_waterLevel (float32)
+        // NetworkVarNames: m_x (float32)
+        // NetworkVarNames: m_y (float32)
+        // NetworkVarNames: m_z (float32)
+        // NetworkVarNames: m_angle (float32)
+        public static class C_Fish {
+            public const nint m_pos = 0xF88; // Vector
+            public const nint m_vel = 0xF94; // Vector
+            public const nint m_angles = 0xFA0; // QAngle
+            public const nint m_localLifeState = 0xFAC; // int32
+            public const nint m_deathDepth = 0xFB0; // float32
+            public const nint m_deathAngle = 0xFB4; // float32
+            public const nint m_buoyancy = 0xFB8; // float32
+            public const nint m_wiggleTimer = 0xFC0; // CountdownTimer
+            public const nint m_wigglePhase = 0xFD8; // float32
+            public const nint m_wiggleRate = 0xFDC; // float32
+            public const nint m_actualPos = 0xFE0; // Vector
+            public const nint m_actualAngles = 0xFEC; // QAngle
+            public const nint m_poolOrigin = 0xFF8; // Vector
+            public const nint m_waterLevel = 0x1004; // float32
+            public const nint m_gotUpdate = 0x1008; // bool
+            public const nint m_x = 0x100C; // float32
+            public const nint m_y = 0x1010; // float32
+            public const nint m_z = 0x1014; // float32
+            public const nint m_angle = 0x1018; // float32
+            public const nint m_errorHistory = 0x101C; // float32[20]
+            public const nint m_errorHistoryIndex = 0x106C; // int32
+            public const nint m_errorHistoryCount = 0x1070; // int32
+            public const nint m_averageError = 0x1074; // float32
+        }
+        // Parent: IntervalTimer
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_flValues (float)
+        // NetworkVarNames: m_nValueCounts (int)
+        // NetworkVarNames: m_nBucketCount (int)
+        // NetworkVarNames: m_flInterval (float)
+        // NetworkVarNames: m_flFinalValue (float)
+        // NetworkVarNames: m_nCompressionType (TimelineCompression_t)
+        // NetworkVarNames: m_bStopped (bool)
+        public static class CTimeline {
+            public const nint m_flValues = 0x10; // float32[64]
+            public const nint m_nValueCounts = 0x110; // int32[64]
+            public const nint m_nBucketCount = 0x210; // int32
+            public const nint m_flInterval = 0x214; // float32
+            public const nint m_flFinalValue = 0x218; // float32
+            public const nint m_nCompressionType = 0x21C; // TimelineCompression_t
+            public const nint m_bStopped = 0x220; // bool
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponAWP {
+        }
+        // Parent: C_BaseCombatCharacter
+        // Field count: 28
+        //
+        // Metadata:
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // MNetworkExcludeByUserGroup
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByUserGroup
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_pWeaponServices (CPlayer_WeaponServices*)
+        // NetworkVarNames: m_pItemServices (CPlayer_ItemServices*)
+        // NetworkVarNames: m_pAutoaimServices (CPlayer_AutoaimServices*)
+        // NetworkVarNames: m_pObserverServices (CPlayer_ObserverServices*)
+        // NetworkVarNames: m_pWaterServices (CPlayer_WaterServices*)
+        // NetworkVarNames: m_pUseServices (CPlayer_UseServices*)
+        // NetworkVarNames: m_pFlashlightServices (CPlayer_FlashlightServices*)
+        // NetworkVarNames: m_pCameraServices (CPlayer_CameraServices*)
+        // NetworkVarNames: m_pMovementServices (CPlayer_MovementServices*)
+        // NetworkVarNames: m_ServerViewAngleChanges (ViewAngleServerChange_t)
+        // NetworkVarNames: m_iHideHUD (uint32)
+        // NetworkVarNames: m_skybox3d (sky3dparams_t)
+        // NetworkVarNames: m_flDeathTime (GameTime_t)
+        // NetworkVarNames: m_hController (CHandle<CBasePlayerController>)
+        public static class C_BasePlayerPawn {
+            public const nint m_pWeaponServices = 0x11A8; // CPlayer_WeaponServices*
+            public const nint m_pItemServices = 0x11B0; // CPlayer_ItemServices*
+            public const nint m_pAutoaimServices = 0x11B8; // CPlayer_AutoaimServices*
+            public const nint m_pObserverServices = 0x11C0; // CPlayer_ObserverServices*
+            public const nint m_pWaterServices = 0x11C8; // CPlayer_WaterServices*
+            public const nint m_pUseServices = 0x11D0; // CPlayer_UseServices*
+            public const nint m_pFlashlightServices = 0x11D8; // CPlayer_FlashlightServices*
+            public const nint m_pCameraServices = 0x11E0; // CPlayer_CameraServices*
+            public const nint m_pMovementServices = 0x11E8; // CPlayer_MovementServices*
+            public const nint m_ServerViewAngleChanges = 0x11F8; // C_UtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
+            public const nint m_nHighestConsumedServerViewAngleChangeIndex = 0x1248; // uint32
+            public const nint v_angle = 0x124C; // QAngle
+            public const nint v_anglePrevious = 0x1258; // QAngle
+            public const nint m_iHideHUD = 0x1264; // uint32
+            public const nint m_skybox3d = 0x1268; // sky3dparams_t
+            public const nint m_flDeathTime = 0x12F8; // GameTime_t
+            public const nint m_vecPredictionError = 0x12FC; // Vector
+            public const nint m_flPredictionErrorTime = 0x1308; // GameTime_t
+            public const nint m_vecLastCameraSetupLocalOrigin = 0x130C; // Vector
+            public const nint m_flLastCameraSetupTime = 0x1318; // GameTime_t
+            public const nint m_flFOVSensitivityAdjust = 0x131C; // float32
+            public const nint m_flMouseSensitivity = 0x1320; // float32
+            public const nint m_vOldOrigin = 0x1324; // Vector
+            public const nint m_flOldSimulationTime = 0x1330; // float32
+            public const nint m_nLastExecutedCommandNumber = 0x1334; // int32
+            public const nint m_nLastExecutedCommandTick = 0x1338; // int32
+            public const nint m_hController = 0x133C; // CHandle<CBasePlayerController>
+            public const nint m_bIsSwappingToPredictableController = 0x1340; // bool
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_iReapplyProvisionParity (int)
+        // NetworkVarNames: m_hOuter (EHANDLE)
+        // NetworkVarNames: m_ProviderType (attributeprovidertypes_t)
+        public static class CAttributeManager {
+            public const nint m_Providers = 0x8; // CUtlVector<CHandle<C_BaseEntity>>
+            public const nint m_iReapplyProvisionParity = 0x20; // int32
+            public const nint m_hOuter = 0x24; // CHandle<C_BaseEntity>
+            public const nint m_bPreventLoopback = 0x28; // bool
+            public const nint m_ProviderType = 0x2C; // attributeprovidertypes_t
+            public const nint m_CachedResults = 0x30; // CUtlVector<CAttributeManager::cached_attribute_float_t>
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class CLogicalEntity {
+        }
+        // Parent: None
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_PredNetBoolVariables (uint32)
+        // NetworkVarNames: m_PredNetByteVariables (byte)
+        // NetworkVarNames: m_PredNetUInt16Variables (uint16)
+        // NetworkVarNames: m_PredNetIntVariables (int32)
+        // NetworkVarNames: m_PredNetUInt32Variables (uint32)
+        // NetworkVarNames: m_PredNetUInt64Variables (uint64)
+        // NetworkVarNames: m_PredNetFloatVariables (float)
+        // NetworkVarNames: m_PredNetVectorVariables (Vector)
+        // NetworkVarNames: m_PredNetQuaternionVariables (Quaternion)
+        // NetworkVarNames: m_PredNetGlobalSymbolVariables (CGlobalSymbol)
+        // NetworkVarNames: m_OwnerOnlyPredNetBoolVariables (uint32)
+        // NetworkVarNames: m_OwnerOnlyPredNetByteVariables (byte)
+        // NetworkVarNames: m_OwnerOnlyPredNetUInt16Variables (uint16)
+        // NetworkVarNames: m_OwnerOnlyPredNetIntVariables (int32)
+        // NetworkVarNames: m_OwnerOnlyPredNetUInt32Variables (uint32)
+        // NetworkVarNames: m_OwnerOnlyPredNetUInt64Variables (uint64)
+        // NetworkVarNames: m_OwnerOnlyPredNetFloatVariables (float)
+        // NetworkVarNames: m_OwnerOnlyPredNetVectorVariables (Vector)
+        // NetworkVarNames: m_OwnerOnlyPredNetQuaternionVariables (Quaternion)
+        // NetworkVarNames: m_OwnerOnlyPredNetGlobalSymbolVariables (CGlobalSymbol)
+        // NetworkVarNames: m_nBoolVariablesCount (int)
+        // NetworkVarNames: m_nOwnerOnlyBoolVariablesCount (int)
+        // NetworkVarNames: m_nRandomSeedOffset (int)
+        // NetworkVarNames: m_flLastTeleportTime (float)
+        public static class CAnimGraphNetworkedVariables {
+            public const nint m_PredNetBoolVariables = 0x8; // C_NetworkUtlVectorBase<uint32>
+            public const nint m_PredNetByteVariables = 0x20; // C_NetworkUtlVectorBase<uint8>
+            public const nint m_PredNetUInt16Variables = 0x38; // C_NetworkUtlVectorBase<uint16>
+            public const nint m_PredNetIntVariables = 0x50; // C_NetworkUtlVectorBase<int32>
+            public const nint m_PredNetUInt32Variables = 0x68; // C_NetworkUtlVectorBase<uint32>
+            public const nint m_PredNetUInt64Variables = 0x80; // C_NetworkUtlVectorBase<uint64>
+            public const nint m_PredNetFloatVariables = 0x98; // C_NetworkUtlVectorBase<float32>
+            public const nint m_PredNetVectorVariables = 0xB0; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_PredNetQuaternionVariables = 0xC8; // C_NetworkUtlVectorBase<Quaternion>
+            public const nint m_PredNetGlobalSymbolVariables = 0xE0; // C_NetworkUtlVectorBase<CGlobalSymbol>
+            public const nint m_OwnerOnlyPredNetBoolVariables = 0xF8; // C_NetworkUtlVectorBase<uint32>
+            public const nint m_OwnerOnlyPredNetByteVariables = 0x110; // C_NetworkUtlVectorBase<uint8>
+            public const nint m_OwnerOnlyPredNetUInt16Variables = 0x128; // C_NetworkUtlVectorBase<uint16>
+            public const nint m_OwnerOnlyPredNetIntVariables = 0x140; // C_NetworkUtlVectorBase<int32>
+            public const nint m_OwnerOnlyPredNetUInt32Variables = 0x158; // C_NetworkUtlVectorBase<uint32>
+            public const nint m_OwnerOnlyPredNetUInt64Variables = 0x170; // C_NetworkUtlVectorBase<uint64>
+            public const nint m_OwnerOnlyPredNetFloatVariables = 0x188; // C_NetworkUtlVectorBase<float32>
+            public const nint m_OwnerOnlyPredNetVectorVariables = 0x1A0; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_OwnerOnlyPredNetQuaternionVariables = 0x1B8; // C_NetworkUtlVectorBase<Quaternion>
+            public const nint m_OwnerOnlyPredNetGlobalSymbolVariables = 0x1D0; // C_NetworkUtlVectorBase<CGlobalSymbol>
+            public const nint m_nBoolVariablesCount = 0x1E8; // int32
+            public const nint m_nOwnerOnlyBoolVariablesCount = 0x1EC; // int32
+            public const nint m_nRandomSeedOffset = 0x1F0; // int32
+            public const nint m_flLastTeleportTime = 0x1F4; // float32
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFluidDensity (float)
+        public static class C_TriggerBuoyancy {
+            public const nint m_BuoyancyHelper = 0xD30; // CBuoyancyHelper
+            public const nint m_flFluidDensity = 0xDB0; // float32
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 41
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_flScrollSpeed (float32)
+        // NetworkVarNames: m_RopeFlags (uint16)
+        // NetworkVarNames: m_iRopeMaterialModelIndex (HMaterialStrong)
+        // NetworkVarNames: m_nSegments (uint8)
+        // NetworkVarNames: m_hStartPoint (CHandle<C_BaseEntity>)
+        // NetworkVarNames: m_hEndPoint (CHandle<C_BaseEntity>)
+        // NetworkVarNames: m_iStartAttachment (AttachmentHandle_t)
+        // NetworkVarNames: m_iEndAttachment (AttachmentHandle_t)
+        // NetworkVarNames: m_Subdiv (uint8)
+        // NetworkVarNames: m_RopeLength (int16)
+        // NetworkVarNames: m_Slack (int16)
+        // NetworkVarNames: m_TextureScale (float32)
+        // NetworkVarNames: m_fLockedPoints (uint8)
+        // NetworkVarNames: m_nChangeCount (uint8)
+        // NetworkVarNames: m_Width (float32)
+        // NetworkVarNames: m_bConstrainBetweenEndpoints (bool)
+        public static class C_RopeKeyframe {
+            public const nint m_LinksTouchingSomething = 0xD30; // CBitVec<10>
+            public const nint m_nLinksTouchingSomething = 0xD34; // int32
+            public const nint m_bApplyWind = 0xD38; // bool
+            public const nint m_fPrevLockedPoints = 0xD3C; // int32
+            public const nint m_iForcePointMoveCounter = 0xD40; // int32
+            public const nint m_bPrevEndPointPos = 0xD44; // bool[2]
+            public const nint m_vPrevEndPointPos = 0xD48; // Vector[2]
+            public const nint m_flCurScroll = 0xD60; // float32
+            public const nint m_flScrollSpeed = 0xD64; // float32
+            public const nint m_RopeFlags = 0xD68; // uint16
+            public const nint m_iRopeMaterialModelIndex = 0xD70; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_LightValues = 0xFE8; // Vector[10]
+            public const nint m_nSegments = 0x1060; // uint8
+            public const nint m_hStartPoint = 0x1064; // CHandle<C_BaseEntity>
+            public const nint m_hEndPoint = 0x1068; // CHandle<C_BaseEntity>
+            public const nint m_iStartAttachment = 0x106C; // AttachmentHandle_t
+            public const nint m_iEndAttachment = 0x106D; // AttachmentHandle_t
+            public const nint m_Subdiv = 0x106E; // uint8
+            public const nint m_RopeLength = 0x1070; // int16
+            public const nint m_Slack = 0x1072; // int16
+            public const nint m_TextureScale = 0x1074; // float32
+            public const nint m_fLockedPoints = 0x1078; // uint8
+            public const nint m_nChangeCount = 0x1079; // uint8
+            public const nint m_Width = 0x107C; // float32
+            public const nint m_PhysicsDelegate = 0x1080; // C_RopeKeyframe::CPhysicsDelegate
+            public const nint m_hMaterial = 0x1090; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_TextureHeight = 0x1098; // int32
+            public const nint m_vecImpulse = 0x109C; // Vector
+            public const nint m_vecPreviousImpulse = 0x10A8; // Vector
+            public const nint m_flCurrentGustTimer = 0x10B4; // float32
+            public const nint m_flCurrentGustLifetime = 0x10B8; // float32
+            public const nint m_flTimeToNextGust = 0x10BC; // float32
+            public const nint m_vWindDir = 0x10C0; // Vector
+            public const nint m_vColorMod = 0x10CC; // Vector
+            public const nint m_vCachedEndPointAttachmentPos = 0x10D8; // Vector[2]
+            public const nint m_vCachedEndPointAttachmentAngle = 0x10F0; // QAngle[2]
+            public const nint m_bConstrainBetweenEndpoints = 0x1108; // bool
+            public const nint m_bEndPointAttachmentPositionsDirty = 0x0; // bitfield:1
+            public const nint m_bEndPointAttachmentAnglesDirty = 0x0; // bitfield:1
+            public const nint m_bNewDataThisFrame = 0x0; // bitfield:1
+            public const nint m_bPhysicsInitted = 0x0; // bitfield:1
+        }
+        // Parent: C_BaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_hGradientFogTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_flFogStartDistance (float)
+        // NetworkVarNames: m_flFogEndDistance (float)
+        // NetworkVarNames: m_bHeightFogEnabled (bool)
+        // NetworkVarNames: m_flFogStartHeight (float)
+        // NetworkVarNames: m_flFogEndHeight (float)
+        // NetworkVarNames: m_flFarZ (float)
+        // NetworkVarNames: m_flFogMaxOpacity (float)
+        // NetworkVarNames: m_flFogFalloffExponent (float)
+        // NetworkVarNames: m_flFogVerticalExponent (float)
+        // NetworkVarNames: m_fogColor (Color)
+        // NetworkVarNames: m_flFogStrength (float)
+        // NetworkVarNames: m_flFadeTime (float)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_bIsEnabled (bool)
+        public static class C_GradientFog {
+            public const nint m_hGradientFogTexture = 0x568; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_flFogStartDistance = 0x570; // float32
+            public const nint m_flFogEndDistance = 0x574; // float32
+            public const nint m_bHeightFogEnabled = 0x578; // bool
+            public const nint m_flFogStartHeight = 0x57C; // float32
+            public const nint m_flFogEndHeight = 0x580; // float32
+            public const nint m_flFarZ = 0x584; // float32
+            public const nint m_flFogMaxOpacity = 0x588; // float32
+            public const nint m_flFogFalloffExponent = 0x58C; // float32
+            public const nint m_flFogVerticalExponent = 0x590; // float32
+            public const nint m_fogColor = 0x594; // Color
+            public const nint m_flFogStrength = 0x598; // float32
+            public const nint m_flFadeTime = 0x59C; // float32
+            public const nint m_bStartDisabled = 0x5A0; // bool
+            public const nint m_bIsEnabled = 0x5A1; // bool
+            public const nint m_bGradientFogNeedsTextures = 0x5A2; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_bSpotted (bool)
+        // NetworkVarNames: m_bSpottedByMask (uint32)
+        public static class EntitySpottedState_t {
+            public const nint m_bSpotted = 0x8; // bool
+            public const nint m_bSpottedByMask = 0xC; // uint32[2]
+        }
+        // Parent: C_CSGO_MapPreviewCameraPath
+        // Field count: 7
+        public static class C_CSGO_TeamPreviewCamera {
+            public const nint m_nVariant = 0x5D8; // int32
+            public const nint m_bDofEnabled = 0x5DC; // bool
+            public const nint m_flDofNearBlurry = 0x5E0; // float32
+            public const nint m_flDofNearCrisp = 0x5E4; // float32
+            public const nint m_flDofFarCrisp = 0x5E8; // float32
+            public const nint m_flDofFarBlurry = 0x5EC; // float32
+            public const nint m_flDofTiltToGround = 0x5F0; // float32
+        }
+        // Parent: CCSPlayerBase_CameraServices
+        // Field count: 2
+        public static class CCSPlayer_CameraServices {
+            public const nint m_flDeathCamTilt = 0x228; // float32
+            public const nint m_vClientScopeInaccuracy = 0x230; // Vector
+        }
+        // Parent: C_CSGO_TeamSelectCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_TeamSelectCounterTerroristPosition {
+        }
+        // Parent: C_EconEntity
+        // Field count: 2
+        public static class C_EconWearable {
+            public const nint m_nForceSkin = 0x1668; // int32
+            public const nint m_bAlwaysAllow = 0x166C; // bool
+        }
+        // Parent: C_CSGO_TeamIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_WingmanIntroCharacterPosition {
+        }
+        // Parent: CSPerRoundStats_t
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_iEnemy5Ks (int)
+        // NetworkVarNames: m_iEnemy4Ks (int)
+        // NetworkVarNames: m_iEnemy3Ks (int)
+        // NetworkVarNames: m_iEnemyKnifeKills (int)
+        // NetworkVarNames: m_iEnemyTaserKills (int)
+        public static class CSMatchStats_t {
+            public const nint m_iEnemy5Ks = 0x68; // int32
+            public const nint m_iEnemy4Ks = 0x6C; // int32
+            public const nint m_iEnemy3Ks = 0x70; // int32
+            public const nint m_iEnemyKnifeKills = 0x74; // int32
+            public const nint m_iEnemyTaserKills = 0x78; // int32
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_BaseToggle {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_vBoxMins (Vector)
+        // NetworkVarNames: m_vBoxMaxs (Vector)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_flStrength (float)
+        // NetworkVarNames: m_nFalloffShape (int)
+        // NetworkVarNames: m_flFalloffExponent (float)
+        // NetworkVarNames: m_flHeightFogDepth (float)
+        // NetworkVarNames: m_fHeightFogEdgeWidth (float)
+        // NetworkVarNames: m_fIndirectLightStrength (float)
+        // NetworkVarNames: m_fSunLightStrength (float)
+        // NetworkVarNames: m_fNoiseStrength (float)
+        // NetworkVarNames: m_bOverrideIndirectLightStrength (bool)
+        // NetworkVarNames: m_bOverrideSunLightStrength (bool)
+        // NetworkVarNames: m_bOverrideNoiseStrength (bool)
+        // NetworkVarNames: m_bAllowLPVIndirect (bool)
+        public static class C_EnvVolumetricFogVolume {
+            public const nint m_bActive = 0x568; // bool
+            public const nint m_vBoxMins = 0x56C; // Vector
+            public const nint m_vBoxMaxs = 0x578; // Vector
+            public const nint m_bStartDisabled = 0x584; // bool
+            public const nint m_flStrength = 0x588; // float32
+            public const nint m_nFalloffShape = 0x58C; // int32
+            public const nint m_flFalloffExponent = 0x590; // float32
+            public const nint m_flHeightFogDepth = 0x594; // float32
+            public const nint m_fHeightFogEdgeWidth = 0x598; // float32
+            public const nint m_fIndirectLightStrength = 0x59C; // float32
+            public const nint m_fSunLightStrength = 0x5A0; // float32
+            public const nint m_fNoiseStrength = 0x5A4; // float32
+            public const nint m_bOverrideIndirectLightStrength = 0x5A8; // bool
+            public const nint m_bOverrideSunLightStrength = 0x5A9; // bool
+            public const nint m_bOverrideNoiseStrength = 0x5AA; // bool
+            public const nint m_bAllowLPVIndirect = 0x5AB; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class CWaterSplasher {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_ModelPointEntity {
+        }
+        // Parent: CPlayer_ViewModelServices
+        // Field count: 0
+        public static class CCSObserver_ViewModelServices {
+        }
+        // Parent: C_BaseFire
+        // Field count: 13
+        //
+        // Metadata:
+        // MNetworkOverride
+        // MNetworkOverride
+        // NetworkVarNames: m_nFlameModelIndex (int32)
+        // NetworkVarNames: m_nFlameFromAboveModelIndex (int32)
+        public static class C_FireSmoke {
+            public const nint m_nFlameModelIndex = 0x578; // int32
+            public const nint m_nFlameFromAboveModelIndex = 0x57C; // int32
+            public const nint m_flScaleRegister = 0x580; // float32
+            public const nint m_flScaleStart = 0x584; // float32
+            public const nint m_flScaleEnd = 0x588; // float32
+            public const nint m_flScaleTimeStart = 0x58C; // GameTime_t
+            public const nint m_flScaleTimeEnd = 0x590; // GameTime_t
+            public const nint m_flChildFlameSpread = 0x594; // float32
+            public const nint m_flClipPerc = 0x5A8; // float32
+            public const nint m_bClipTested = 0x5AC; // bool
+            public const nint m_bFadingOut = 0x5AD; // bool
+            public const nint m_tParticleSpawn = 0x5B0; // TimedEvent
+            public const nint m_pFireOverlay = 0x5B8; // CFireOverlay*
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponRevolver {
+        }
+        // Parent: C_Sprite
+        // Field count: 0
+        public static class C_FireFromAboveSprite {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_Entity_Color (Color)
+        // NetworkVarNames: m_Entity_flBrightness (float)
+        // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+        // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_vBoxMins (Vector)
+        // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+        // NetworkVarNames: m_Entity_bMoveable (bool)
+        // NetworkVarNames: m_Entity_nHandshake (int)
+        // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+        // NetworkVarNames: m_Entity_nPriority (int)
+        // NetworkVarNames: m_Entity_bStartDisabled (bool)
+        // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+        // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+        // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+        // NetworkVarNames: m_Entity_bEnabled (bool)
+        public static class C_EnvCombinedLightProbeVolume {
+            public const nint m_Entity_Color = 0x15C8; // Color
+            public const nint m_Entity_flBrightness = 0x15CC; // float32
+            public const nint m_Entity_hCubemapTexture = 0x15D0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_bCustomCubemapTexture = 0x15D8; // bool
+            public const nint m_Entity_hLightProbeTexture = 0x15E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightIndicesTexture = 0x15E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightScalarsTexture = 0x15F0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightShadowsTexture = 0x15F8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_vBoxMins = 0x1600; // Vector
+            public const nint m_Entity_vBoxMaxs = 0x160C; // Vector
+            public const nint m_Entity_bMoveable = 0x1618; // bool
+            public const nint m_Entity_nHandshake = 0x161C; // int32
+            public const nint m_Entity_nEnvCubeMapArrayIndex = 0x1620; // int32
+            public const nint m_Entity_nPriority = 0x1624; // int32
+            public const nint m_Entity_bStartDisabled = 0x1628; // bool
+            public const nint m_Entity_flEdgeFadeDist = 0x162C; // float32
+            public const nint m_Entity_vEdgeFadeDists = 0x1630; // Vector
+            public const nint m_Entity_nLightProbeSizeX = 0x163C; // int32
+            public const nint m_Entity_nLightProbeSizeY = 0x1640; // int32
+            public const nint m_Entity_nLightProbeSizeZ = 0x1644; // int32
+            public const nint m_Entity_nLightProbeAtlasX = 0x1648; // int32
+            public const nint m_Entity_nLightProbeAtlasY = 0x164C; // int32
+            public const nint m_Entity_nLightProbeAtlasZ = 0x1650; // int32
+            public const nint m_Entity_bEnabled = 0x1669; // bool
+        }
+        // Parent: C_SoundOpvarSetPointBase
+        // Field count: 0
+        public static class C_SoundOpvarSetOBBWindEntity {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_Handle (ModelConfigHandle_t)
+        // NetworkVarNames: m_Name (string_t)
+        // NetworkVarNames: m_AssociatedEntities (CHandle<C_BaseModelEntity>)
+        // NetworkVarNames: m_AssociatedEntityNames (string_t)
+        public static class ActiveModelConfig_t {
+            public const nint m_Handle = 0x28; // ModelConfigHandle_t
+            public const nint m_Name = 0x30; // CUtlSymbolLarge
+            public const nint m_AssociatedEntities = 0x38; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+            public const nint m_AssociatedEntityNames = 0x50; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponMP5SD {
+        }
+        // Parent: C_DynamicProp
+        // Field count: 0
+        public static class C_DynamicPropAlias_dynamic_prop {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_totalHitsOnServer (int32)
+        public static class CCSPlayer_BulletServices {
+            public const nint m_totalHitsOnServer = 0x40; // int32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 7
+        public static class CLogicRelay {
+            public const nint m_OnTrigger = 0x568; // CEntityIOOutput
+            public const nint m_OnSpawn = 0x590; // CEntityIOOutput
+            public const nint m_bDisabled = 0x5B8; // bool
+            public const nint m_bWaitForRefire = 0x5B9; // bool
+            public const nint m_bTriggerOnce = 0x5BA; // bool
+            public const nint m_bFastRetrigger = 0x5BB; // bool
+            public const nint m_bPassthoughCaller = 0x5BC; // bool
+        }
+        // Parent: C_PointCamera
+        // Field count: 1
+        public static class C_PointCameraVFOV {
+            public const nint m_flVerticalFOV = 0x5C8; // float32
+        }
+        // Parent: CPlayer_ItemServices
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_bHasDefuser (bool)
+        // NetworkVarNames: m_bHasHelmet (bool)
+        // NetworkVarNames: m_bHasHeavyArmor (bool)
+        public static class CCSPlayer_ItemServices {
+            public const nint m_bHasDefuser = 0x40; // bool
+            public const nint m_bHasHelmet = 0x41; // bool
+            public const nint m_bHasHeavyArmor = 0x42; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 73
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_nColorMode (int)
+        // NetworkVarNames: m_Color (Color)
+        // NetworkVarNames: m_flColorTemperature (float)
+        // NetworkVarNames: m_flBrightness (float)
+        // NetworkVarNames: m_flBrightnessScale (float)
+        // NetworkVarNames: m_nDirectLight (int)
+        // NetworkVarNames: m_nBakedShadowIndex (int)
+        // NetworkVarNames: m_nLuminaireShape (int)
+        // NetworkVarNames: m_flLuminaireSize (float)
+        // NetworkVarNames: m_flLuminaireAnisotropy (float)
+        // NetworkVarNames: m_LightStyleString (CUtlString)
+        // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+        // NetworkVarNames: m_QueuedLightStyleStrings (CUtlString)
+        // NetworkVarNames: m_LightStyleEvents (CUtlString)
+        // NetworkVarNames: m_LightStyleTargets (CHandle<C_BaseModelEntity>)
+        // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+        // NetworkVarNames: m_flShape (float)
+        // NetworkVarNames: m_flSoftX (float)
+        // NetworkVarNames: m_flSoftY (float)
+        // NetworkVarNames: m_flSkirt (float)
+        // NetworkVarNames: m_flSkirtNear (float)
+        // NetworkVarNames: m_vSizeParams (Vector)
+        // NetworkVarNames: m_flRange (float)
+        // NetworkVarNames: m_vShear (Vector)
+        // NetworkVarNames: m_nBakeSpecularToCubemaps (int)
+        // NetworkVarNames: m_vBakeSpecularToCubemapsSize (Vector)
+        // NetworkVarNames: m_nCastShadows (int)
+        // NetworkVarNames: m_nShadowMapSize (int)
+        // NetworkVarNames: m_nShadowPriority (int)
+        // NetworkVarNames: m_bContactShadow (bool)
+        // NetworkVarNames: m_nBounceLight (int)
+        // NetworkVarNames: m_flBounceScale (float)
+        // NetworkVarNames: m_flMinRoughness (float)
+        // NetworkVarNames: m_vAlternateColor (Vector)
+        // NetworkVarNames: m_fAlternateColorBrightness (float)
+        // NetworkVarNames: m_nFog (int)
+        // NetworkVarNames: m_flFogStrength (float)
+        // NetworkVarNames: m_nFogShadows (int)
+        // NetworkVarNames: m_flFogScale (float)
+        // NetworkVarNames: m_bFogMixedShadows (bool)
+        // NetworkVarNames: m_flFadeSizeStart (float)
+        // NetworkVarNames: m_flFadeSizeEnd (float)
+        // NetworkVarNames: m_flShadowFadeSizeStart (float)
+        // NetworkVarNames: m_flShadowFadeSizeEnd (float)
+        // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+        // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+        // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+        // NetworkVarNames: m_nPrecomputedSubFrusta (int)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin0 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles0 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent0 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin1 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles1 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent1 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin2 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles2 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent2 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin3 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles3 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent3 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin4 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles4 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent4 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin5 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles5 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent5 (Vector)
+        // NetworkVarNames: m_VisClusters (uint16)
+        public static class C_BarnLight {
+            public const nint m_bEnabled = 0xD28; // bool
+            public const nint m_nColorMode = 0xD2C; // int32
+            public const nint m_Color = 0xD30; // Color
+            public const nint m_flColorTemperature = 0xD34; // float32
+            public const nint m_flBrightness = 0xD38; // float32
+            public const nint m_flBrightnessScale = 0xD3C; // float32
+            public const nint m_nDirectLight = 0xD40; // int32
+            public const nint m_nBakedShadowIndex = 0xD44; // int32
+            public const nint m_nLuminaireShape = 0xD48; // int32
+            public const nint m_flLuminaireSize = 0xD4C; // float32
+            public const nint m_flLuminaireAnisotropy = 0xD50; // float32
+            public const nint m_LightStyleString = 0xD58; // CUtlString
+            public const nint m_flLightStyleStartTime = 0xD60; // GameTime_t
+            public const nint m_QueuedLightStyleStrings = 0xD68; // C_NetworkUtlVectorBase<CUtlString>
+            public const nint m_LightStyleEvents = 0xD80; // C_NetworkUtlVectorBase<CUtlString>
+            public const nint m_LightStyleTargets = 0xD98; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+            public const nint m_StyleEvent = 0xDB0; // CEntityIOOutput[4]
+            public const nint m_hLightCookie = 0xE50; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_flShape = 0xE58; // float32
+            public const nint m_flSoftX = 0xE5C; // float32
+            public const nint m_flSoftY = 0xE60; // float32
+            public const nint m_flSkirt = 0xE64; // float32
+            public const nint m_flSkirtNear = 0xE68; // float32
+            public const nint m_vSizeParams = 0xE6C; // Vector
+            public const nint m_flRange = 0xE78; // float32
+            public const nint m_vShear = 0xE7C; // Vector
+            public const nint m_nBakeSpecularToCubemaps = 0xE88; // int32
+            public const nint m_vBakeSpecularToCubemapsSize = 0xE8C; // Vector
+            public const nint m_nCastShadows = 0xE98; // int32
+            public const nint m_nShadowMapSize = 0xE9C; // int32
+            public const nint m_nShadowPriority = 0xEA0; // int32
+            public const nint m_bContactShadow = 0xEA4; // bool
+            public const nint m_nBounceLight = 0xEA8; // int32
+            public const nint m_flBounceScale = 0xEAC; // float32
+            public const nint m_flMinRoughness = 0xEB0; // float32
+            public const nint m_vAlternateColor = 0xEB4; // Vector
+            public const nint m_fAlternateColorBrightness = 0xEC0; // float32
+            public const nint m_nFog = 0xEC4; // int32
+            public const nint m_flFogStrength = 0xEC8; // float32
+            public const nint m_nFogShadows = 0xECC; // int32
+            public const nint m_flFogScale = 0xED0; // float32
+            public const nint m_bFogMixedShadows = 0xED4; // bool
+            public const nint m_flFadeSizeStart = 0xED8; // float32
+            public const nint m_flFadeSizeEnd = 0xEDC; // float32
+            public const nint m_flShadowFadeSizeStart = 0xEE0; // float32
+            public const nint m_flShadowFadeSizeEnd = 0xEE4; // float32
+            public const nint m_bPrecomputedFieldsValid = 0xEE8; // bool
+            public const nint m_vPrecomputedBoundsMins = 0xEEC; // Vector
+            public const nint m_vPrecomputedBoundsMaxs = 0xEF8; // Vector
+            public const nint m_vPrecomputedOBBOrigin = 0xF04; // Vector
+            public const nint m_vPrecomputedOBBAngles = 0xF10; // QAngle
+            public const nint m_vPrecomputedOBBExtent = 0xF1C; // Vector
+            public const nint m_nPrecomputedSubFrusta = 0xF28; // int32
+            public const nint m_vPrecomputedOBBOrigin0 = 0xF2C; // Vector
+            public const nint m_vPrecomputedOBBAngles0 = 0xF38; // QAngle
+            public const nint m_vPrecomputedOBBExtent0 = 0xF44; // Vector
+            public const nint m_vPrecomputedOBBOrigin1 = 0xF50; // Vector
+            public const nint m_vPrecomputedOBBAngles1 = 0xF5C; // QAngle
+            public const nint m_vPrecomputedOBBExtent1 = 0xF68; // Vector
+            public const nint m_vPrecomputedOBBOrigin2 = 0xF74; // Vector
+            public const nint m_vPrecomputedOBBAngles2 = 0xF80; // QAngle
+            public const nint m_vPrecomputedOBBExtent2 = 0xF8C; // Vector
+            public const nint m_vPrecomputedOBBOrigin3 = 0xF98; // Vector
+            public const nint m_vPrecomputedOBBAngles3 = 0xFA4; // QAngle
+            public const nint m_vPrecomputedOBBExtent3 = 0xFB0; // Vector
+            public const nint m_vPrecomputedOBBOrigin4 = 0xFBC; // Vector
+            public const nint m_vPrecomputedOBBAngles4 = 0xFC8; // QAngle
+            public const nint m_vPrecomputedOBBExtent4 = 0xFD4; // Vector
+            public const nint m_vPrecomputedOBBOrigin5 = 0xFE0; // Vector
+            public const nint m_vPrecomputedOBBAngles5 = 0xFEC; // QAngle
+            public const nint m_vPrecomputedOBBExtent5 = 0xFF8; // Vector
+            public const nint m_bInitialBoneSetup = 0x1048; // bool
+            public const nint m_VisClusters = 0x1050; // C_NetworkUtlVectorBase<uint16>
+        }
+        // Parent: C_BaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_flAutoExposureMin (float)
+        // NetworkVarNames: m_flAutoExposureMax (float)
+        // NetworkVarNames: m_flTonemapPercentTarget (float)
+        // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+        // NetworkVarNames: m_flTonemapMinAvgLum (float)
+        // NetworkVarNames: m_flExposureAdaptationSpeedUp (float)
+        // NetworkVarNames: m_flExposureAdaptationSpeedDown (float)
+        // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+        public static class C_TonemapController2 {
+            public const nint m_flAutoExposureMin = 0x568; // float32
+            public const nint m_flAutoExposureMax = 0x56C; // float32
+            public const nint m_flTonemapPercentTarget = 0x570; // float32
+            public const nint m_flTonemapPercentBrightPixels = 0x574; // float32
+            public const nint m_flTonemapMinAvgLum = 0x578; // float32
+            public const nint m_flExposureAdaptationSpeedUp = 0x57C; // float32
+            public const nint m_flExposureAdaptationSpeedDown = 0x580; // float32
+            public const nint m_flTonemapEVSmoothingRange = 0x584; // float32
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponG3SG1 {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 1
+        public static class CFuncWater {
+            public const nint m_BuoyancyHelper = 0xD28; // CBuoyancyHelper
+        }
+        // Parent: C_SoundOpvarSetPointEntity
+        // Field count: 0
+        public static class C_SoundOpvarSetAutoRoomEntity {
+        }
+        // Parent: C_BaseFlex
+        // Field count: 20
+        //
+        // Metadata:
+        // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+        // NetworkVarNames: m_OriginalOwnerXuidLow (uint32)
+        // NetworkVarNames: m_OriginalOwnerXuidHigh (uint32)
+        // NetworkVarNames: m_nFallbackPaintKit (int)
+        // NetworkVarNames: m_nFallbackSeed (int)
+        // NetworkVarNames: m_flFallbackWear (float)
+        // NetworkVarNames: m_nFallbackStatTrak (int)
+        public static class C_EconEntity {
+            public const nint m_flFlexDelayTime = 0x1130; // float32
+            public const nint m_flFlexDelayedWeight = 0x1138; // float32*
+            public const nint m_bAttributesInitialized = 0x1140; // bool
+            public const nint m_AttributeManager = 0x1148; // C_AttributeContainer
+            public const nint m_OriginalOwnerXuidLow = 0x15F0; // uint32
+            public const nint m_OriginalOwnerXuidHigh = 0x15F4; // uint32
+            public const nint m_nFallbackPaintKit = 0x15F8; // int32
+            public const nint m_nFallbackSeed = 0x15FC; // int32
+            public const nint m_flFallbackWear = 0x1600; // float32
+            public const nint m_nFallbackStatTrak = 0x1604; // int32
+            public const nint m_bClientside = 0x1608; // bool
+            public const nint m_bParticleSystemsCreated = 0x1609; // bool
+            public const nint m_vecAttachedParticles = 0x1610; // CUtlVector<int32>
+            public const nint m_hViewmodelAttachment = 0x1628; // CHandle<CBaseAnimGraph>
+            public const nint m_iOldTeam = 0x162C; // int32
+            public const nint m_bAttachmentDirty = 0x1630; // bool
+            public const nint m_nUnloadedModelIndex = 0x1634; // int32
+            public const nint m_iNumOwnerValidationRetries = 0x1638; // int32
+            public const nint m_hOldProvidee = 0x1648; // CHandle<C_BaseEntity>
+            public const nint m_vecAttachedModels = 0x1650; // CUtlVector<C_EconEntity::AttachedModelData_t>
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponSG556 {
+        }
+        // Parent: C_BarnLight
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bShowLight (bool)
+        public static class C_RectLight {
+            public const nint m_bShowLight = 0x1070; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_szSnapshotFileName (char)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_bFrozen (bool)
+        // NetworkVarNames: m_flFreezeTransitionDuration (float)
+        // NetworkVarNames: m_nStopType (int)
+        // NetworkVarNames: m_bAnimateDuringGameplayPause (bool)
+        // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_flPreSimTime (float32)
+        // NetworkVarNames: m_vServerControlPoints (Vector)
+        // NetworkVarNames: m_iServerControlPointAssignments (uint8)
+        // NetworkVarNames: m_hControlPointEnts (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bNoSave (bool)
+        // NetworkVarNames: m_bNoFreeze (bool)
+        // NetworkVarNames: m_bNoRamp (bool)
+        public static class C_ParticleSystem {
+            public const nint m_szSnapshotFileName = 0xD28; // char[512]
+            public const nint m_bActive = 0xF28; // bool
+            public const nint m_bFrozen = 0xF29; // bool
+            public const nint m_flFreezeTransitionDuration = 0xF2C; // float32
+            public const nint m_nStopType = 0xF30; // int32
+            public const nint m_bAnimateDuringGameplayPause = 0xF34; // bool
+            public const nint m_iEffectIndex = 0xF38; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_flStartTime = 0xF40; // GameTime_t
+            public const nint m_flPreSimTime = 0xF44; // float32
+            public const nint m_vServerControlPoints = 0xF48; // Vector[4]
+            public const nint m_iServerControlPointAssignments = 0xF78; // uint8[4]
+            public const nint m_hControlPointEnts = 0xF7C; // CHandle<C_BaseEntity>[64]
+            public const nint m_bNoSave = 0x107C; // bool
+            public const nint m_bNoFreeze = 0x107D; // bool
+            public const nint m_bNoRamp = 0x107E; // bool
+            public const nint m_bStartActive = 0x107F; // bool
+            public const nint m_iszEffectName = 0x1080; // CUtlSymbolLarge
+            public const nint m_iszControlPointNames = 0x1088; // CUtlSymbolLarge[64]
+            public const nint m_nDataCP = 0x1288; // int32
+            public const nint m_vecDataCPValue = 0x128C; // Vector
+            public const nint m_nTintCP = 0x1298; // int32
+            public const nint m_clrTint = 0x129C; // Color
+            public const nint m_bOldActive = 0x12C0; // bool
+            public const nint m_bOldFrozen = 0x12C1; // bool
+        }
+        // Parent: C_CSGO_PreviewPlayer
+        // Field count: 0
+        public static class C_CSGO_TeamPreviewModel {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponGlock {
+        }
+        // Parent: CEnvSoundscapeTriggerable
+        // Field count: 0
+        public static class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable {
+        }
+        // Parent: C_GameRulesProxy
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_pGameRules (C_CSGameRules*)
+        public static class C_CSGameRulesProxy {
+            public const nint m_pGameRules = 0x568; // C_CSGameRules*
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_iObserverMode (uint8)
+        // NetworkVarNames: m_hObserverTarget (CHandle<CBaseEntity>)
+        public static class CPlayer_ObserverServices {
+            public const nint m_iObserverMode = 0x40; // uint8
+            public const nint m_hObserverTarget = 0x44; // CHandle<C_BaseEntity>
+            public const nint m_iObserverLastMode = 0x48; // ObserverMode_t
+            public const nint m_bForcedObserverMode = 0x4C; // bool
+            public const nint m_flObserverChaseDistance = 0x50; // float32
+            public const nint m_flObserverChaseDistanceCalcTime = 0x54; // GameTime_t
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_WaterServices {
+        }
+        // Parent: C_CSGO_EndOfMatchLineupEndpoint
+        // Field count: 0
+        public static class C_CSGO_EndOfMatchLineupEnd {
+        }
+        // Parent: None
+        // Field count: 6
+        public static class SequenceHistory_t {
+            public const nint m_hSequence = 0x0; // HSequence
+            public const nint m_flSeqStartTime = 0x4; // GameTime_t
+            public const nint m_flSeqFixedCycle = 0x8; // float32
+            public const nint m_nSeqLoopMode = 0xC; // AnimLoopMode_t
+            public const nint m_flPlaybackRate = 0x10; // float32
+            public const nint m_flCyclesPerSecond = 0x14; // float32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 1
+        public static class C_Multimeter {
+            public const nint m_hTargetC4 = 0xF90; // CHandle<C_PlantedC4>
+        }
+        // Parent: C_BaseEntity
+        // Field count: 2
+        public static class C_CsmFovOverride {
+            public const nint m_cameraName = 0x568; // CUtlString
+            public const nint m_flCsmFovOverrideValue = 0x570; // float32
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_hDecalMaterial (HMaterialStrong)
+        // NetworkVarNames: m_flWidth (float)
+        // NetworkVarNames: m_flHeight (float)
+        // NetworkVarNames: m_flDepth (float)
+        // NetworkVarNames: m_nRenderOrder (uint32)
+        // NetworkVarNames: m_bProjectOnWorld (bool)
+        // NetworkVarNames: m_bProjectOnCharacters (bool)
+        // NetworkVarNames: m_bProjectOnWater (bool)
+        // NetworkVarNames: m_flDepthSortBias (float)
+        public static class C_EnvDecal {
+            public const nint m_hDecalMaterial = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_flWidth = 0xD30; // float32
+            public const nint m_flHeight = 0xD34; // float32
+            public const nint m_flDepth = 0xD38; // float32
+            public const nint m_nRenderOrder = 0xD3C; // uint32
+            public const nint m_bProjectOnWorld = 0xD40; // bool
+            public const nint m_bProjectOnCharacters = 0xD41; // bool
+            public const nint m_bProjectOnWater = 0xD42; // bool
+            public const nint m_flDepthSortBias = 0xD44; // float32
+        }
+        // Parent: CCSGameModeRules
+        // Field count: 0
+        public static class CCSGameModeRules_Noop {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // NetworkVarNames: m_MinFalloff (float32)
+        // NetworkVarNames: m_MaxFalloff (float32)
+        // NetworkVarNames: m_flFadeInDuration (float32)
+        // NetworkVarNames: m_flFadeOutDuration (float32)
+        // NetworkVarNames: m_flMaxWeight (float32)
+        // NetworkVarNames: m_flCurWeight (float32)
+        // NetworkVarNames: m_netlookupFilename (char)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bMaster (bool)
+        // NetworkVarNames: m_bClientSide (bool)
+        // NetworkVarNames: m_bExclusive (bool)
+        public static class C_ColorCorrection {
+            public const nint m_vecOrigin = 0x568; // Vector
+            public const nint m_MinFalloff = 0x574; // float32
+            public const nint m_MaxFalloff = 0x578; // float32
+            public const nint m_flFadeInDuration = 0x57C; // float32
+            public const nint m_flFadeOutDuration = 0x580; // float32
+            public const nint m_flMaxWeight = 0x584; // float32
+            public const nint m_flCurWeight = 0x588; // float32
+            public const nint m_netlookupFilename = 0x58C; // char[512]
+            public const nint m_bEnabled = 0x78C; // bool
+            public const nint m_bMaster = 0x78D; // bool
+            public const nint m_bClientSide = 0x78E; // bool
+            public const nint m_bExclusive = 0x78F; // bool
+            public const nint m_bEnabledOnClient = 0x790; // bool[1]
+            public const nint m_flCurWeightOnClient = 0x794; // float32[1]
+            public const nint m_bFadingIn = 0x798; // bool[1]
+            public const nint m_flFadeStartWeight = 0x79C; // float32[1]
+            public const nint m_flFadeStartTime = 0x7A0; // float32[1]
+            public const nint m_flFadeDuration = 0x7A4; // float32[1]
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 0
+        public static class CHostageRescueZoneShim {
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_hModel (HModelStrong)
+        // NetworkVarNames: m_bClientClothCreationSuppressed (bool)
+        // NetworkVarNames: m_MeshGroupMask (MeshGroupMask_t)
+        // NetworkVarNames: m_nIdealMotionType (int8)
+        public static class CModelState {
+            public const nint m_hModel = 0xA0; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_ModelName = 0xA8; // CUtlSymbolLarge
+            public const nint m_bClientClothCreationSuppressed = 0xE8; // bool
+            public const nint m_MeshGroupMask = 0x198; // uint64
+            public const nint m_nIdealMotionType = 0x21A; // int8
+            public const nint m_nForceLOD = 0x21B; // int8
+            public const nint m_nClothUpdateFlags = 0x21C; // int8
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponP250 {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class C_EconEntity__AttachedModelData_t {
+            public const nint m_iModelDisplayFlags = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_Attributes (CEconItemAttribute)
+        public static class CAttributeList {
+            public const nint m_Attributes = 0x8; // C_UtlVectorEmbeddedNetworkVar<CEconItemAttribute>
+            public const nint m_pManager = 0x58; // CAttributeManager*
+        }
+        // Parent: C_MultiplayRules
+        // Field count: 0
+        public static class C_TeamplayRules {
+        }
+        // Parent: C_CSGO_TeamPreviewCamera
+        // Field count: 0
+        public static class C_CSGO_CounterTerroristWingmanIntroCamera {
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 0
+        public static class C_WeaponNOVA {
+        }
+        // Parent: C_BaseCSGrenadeProjectile
+        // Field count: 0
+        public static class C_HEGrenadeProjectile {
+        }
+        // Parent: C_BaseToggle
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsUsable (bool)
+        public static class C_BaseDoor {
+            public const nint m_bIsUsable = 0xD28; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 2
+        public static class CGrenadeTracer {
+            public const nint m_flTracerDuration = 0xD40; // float32
+            public const nint m_nType = 0xD44; // GrenadeType_t
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bBombPlantedHere (bool)
+        public static class CBombTarget {
+            public const nint m_bBombPlantedHere = 0xD30; // bool
+        }
+        // Parent: C_BaseClientUIEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hActivator (EHANDLE)
+        public static class C_PointClientUIDialog {
+            public const nint m_hActivator = 0xD58; // CHandle<C_BaseEntity>
+            public const nint m_bStartEnabled = 0xD5C; // bool
+        }
+        // Parent: CCSGameModeRules
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_WeaponSequence (CUtlString)
+        public static class CCSGameModeRules_ArmsRace {
+            public const nint m_WeaponSequence = 0x30; // C_NetworkUtlVectorBase<CUtlString>
+        }
+        // Parent: C_PointEntity
+        // Field count: 1
+        public static class CPointChildModifier {
+            public const nint m_bOrphanInsteadOfDeletingChildrenOnRemove = 0x568; // bool
+        }
+        // Parent: None
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_PlayerDamager (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_PlayerRecipient (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hPlayerControllerDamager (CHandle<CCSPlayerController>)
+        // NetworkVarNames: m_hPlayerControllerRecipient (CHandle<CCSPlayerController>)
+        // NetworkVarNames: m_szPlayerDamagerName (CUtlString)
+        // NetworkVarNames: m_szPlayerRecipientName (CUtlString)
+        // NetworkVarNames: m_DamagerXuid (uint64)
+        // NetworkVarNames: m_RecipientXuid (uint64)
+        // NetworkVarNames: m_iDamage (int)
+        // NetworkVarNames: m_iActualHealthRemoved (int)
+        // NetworkVarNames: m_iNumHits (int)
+        // NetworkVarNames: m_iLastBulletUpdate (int)
+        // NetworkVarNames: m_bIsOtherEnemy (bool)
+        // NetworkVarNames: m_killType (EKillTypes_t)
+        public static class CDamageRecord {
+            public const nint m_PlayerDamager = 0x28; // CHandle<C_CSPlayerPawn>
+            public const nint m_PlayerRecipient = 0x2C; // CHandle<C_CSPlayerPawn>
+            public const nint m_hPlayerControllerDamager = 0x30; // CHandle<CCSPlayerController>
+            public const nint m_hPlayerControllerRecipient = 0x34; // CHandle<CCSPlayerController>
+            public const nint m_szPlayerDamagerName = 0x38; // CUtlString
+            public const nint m_szPlayerRecipientName = 0x40; // CUtlString
+            public const nint m_DamagerXuid = 0x48; // uint64
+            public const nint m_RecipientXuid = 0x50; // uint64
+            public const nint m_iBulletsDamage = 0x58; // int32
+            public const nint m_iDamage = 0x5C; // int32
+            public const nint m_iActualHealthRemoved = 0x60; // int32
+            public const nint m_iNumHits = 0x64; // int32
+            public const nint m_iLastBulletUpdate = 0x68; // int32
+            public const nint m_bIsOtherEnemy = 0x6C; // bool
+            public const nint m_killType = 0x6D; // EKillTypes_t
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_InfoLadderDismount {
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_nSendUpdate (int)
+        // NetworkVarNames: m_DamageList (CDamageRecord)
+        public static class CCSPlayerController_DamageServices {
+            public const nint m_nSendUpdate = 0x40; // int32
+            public const nint m_DamageList = 0x48; // C_UtlVectorEmbeddedNetworkVar<CDamageRecord>
+        }
+        // Parent: CEntityComponent
+        // Field count: 5
+        public static class CRenderComponent {
+            public const nint __m_pChainEntity = 0x10; // CNetworkVarChainer
+            public const nint m_bIsRenderingWithViewModels = 0x50; // bool
+            public const nint m_nSplitscreenFlags = 0x54; // uint32
+            public const nint m_bEnableRendering = 0x60; // bool
+            public const nint m_bInterpolationReadyToDraw = 0xB0; // bool
+        }
+        // Parent: CEnvSoundscape
+        // Field count: 1
+        public static class CEnvSoundscapeProxy {
+            public const nint m_MainSoundscapeName = 0x608; // CUtlSymbolLarge
+        }
+        // Parent: C_SoundEventEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_vMins (Vector)
+        // NetworkVarNames: m_vMaxs (Vector)
+        public static class C_SoundEventOBBEntity {
+            public const nint m_vMins = 0x628; // Vector
+            public const nint m_vMaxs = 0x634; // Vector
+        }
+        // Parent: CEntityComponent
+        // Field count: 66
+        //
+        // Metadata:
+        // NetworkVarNames: m_Color (Color)
+        // NetworkVarNames: m_SecondaryColor (Color)
+        // NetworkVarNames: m_flBrightness (float)
+        // NetworkVarNames: m_flBrightnessScale (float)
+        // NetworkVarNames: m_flBrightnessMult (float)
+        // NetworkVarNames: m_flRange (float)
+        // NetworkVarNames: m_flFalloff (float)
+        // NetworkVarNames: m_flAttenuation0 (float)
+        // NetworkVarNames: m_flAttenuation1 (float)
+        // NetworkVarNames: m_flAttenuation2 (float)
+        // NetworkVarNames: m_flTheta (float)
+        // NetworkVarNames: m_flPhi (float)
+        // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+        // NetworkVarNames: m_nCascades (int)
+        // NetworkVarNames: m_nCastShadows (int)
+        // NetworkVarNames: m_nShadowWidth (int)
+        // NetworkVarNames: m_nShadowHeight (int)
+        // NetworkVarNames: m_bRenderDiffuse (bool)
+        // NetworkVarNames: m_nRenderSpecular (int)
+        // NetworkVarNames: m_bRenderTransmissive (bool)
+        // NetworkVarNames: m_flOrthoLightWidth (float)
+        // NetworkVarNames: m_flOrthoLightHeight (float)
+        // NetworkVarNames: m_nStyle (int)
+        // NetworkVarNames: m_Pattern (CUtlString)
+        // NetworkVarNames: m_nCascadeRenderStaticObjects (int)
+        // NetworkVarNames: m_flShadowCascadeCrossFade (float)
+        // NetworkVarNames: m_flShadowCascadeDistanceFade (float)
+        // NetworkVarNames: m_flShadowCascadeDistance0 (float)
+        // NetworkVarNames: m_flShadowCascadeDistance1 (float)
+        // NetworkVarNames: m_flShadowCascadeDistance2 (float)
+        // NetworkVarNames: m_flShadowCascadeDistance3 (float)
+        // NetworkVarNames: m_nShadowCascadeResolution0 (int)
+        // NetworkVarNames: m_nShadowCascadeResolution1 (int)
+        // NetworkVarNames: m_nShadowCascadeResolution2 (int)
+        // NetworkVarNames: m_nShadowCascadeResolution3 (int)
+        // NetworkVarNames: m_bUsesBakedShadowing (bool)
+        // NetworkVarNames: m_nShadowPriority (int)
+        // NetworkVarNames: m_nBakedShadowIndex (int)
+        // NetworkVarNames: m_bRenderToCubemaps (bool)
+        // NetworkVarNames: m_nDirectLight (int)
+        // NetworkVarNames: m_nIndirectLight (int)
+        // NetworkVarNames: m_flFadeMinDist (float)
+        // NetworkVarNames: m_flFadeMaxDist (float)
+        // NetworkVarNames: m_flShadowFadeMinDist (float)
+        // NetworkVarNames: m_flShadowFadeMaxDist (float)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bFlicker (bool)
+        // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+        // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+        // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+        // NetworkVarNames: m_flPrecomputedMaxRange (float)
+        // NetworkVarNames: m_nFogLightingMode (int)
+        // NetworkVarNames: m_flFogContributionStength (float)
+        // NetworkVarNames: m_flNearClipPlane (float)
+        // NetworkVarNames: m_SkyColor (Color)
+        // NetworkVarNames: m_flSkyIntensity (float)
+        // NetworkVarNames: m_SkyAmbientBounce (Color)
+        // NetworkVarNames: m_bUseSecondaryColor (bool)
+        // NetworkVarNames: m_bMixedShadows (bool)
+        // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+        // NetworkVarNames: m_flCapsuleLength (float)
+        // NetworkVarNames: m_flMinRoughness (float)
+        public static class CLightComponent {
+            public const nint __m_pChainEntity = 0x38; // CNetworkVarChainer
+            public const nint m_Color = 0x75; // Color
+            public const nint m_SecondaryColor = 0x79; // Color
+            public const nint m_flBrightness = 0x80; // float32
+            public const nint m_flBrightnessScale = 0x84; // float32
+            public const nint m_flBrightnessMult = 0x88; // float32
+            public const nint m_flRange = 0x8C; // float32
+            public const nint m_flFalloff = 0x90; // float32
+            public const nint m_flAttenuation0 = 0x94; // float32
+            public const nint m_flAttenuation1 = 0x98; // float32
+            public const nint m_flAttenuation2 = 0x9C; // float32
+            public const nint m_flTheta = 0xA0; // float32
+            public const nint m_flPhi = 0xA4; // float32
+            public const nint m_hLightCookie = 0xA8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_nCascades = 0xB0; // int32
+            public const nint m_nCastShadows = 0xB4; // int32
+            public const nint m_nShadowWidth = 0xB8; // int32
+            public const nint m_nShadowHeight = 0xBC; // int32
+            public const nint m_bRenderDiffuse = 0xC0; // bool
+            public const nint m_nRenderSpecular = 0xC4; // int32
+            public const nint m_bRenderTransmissive = 0xC8; // bool
+            public const nint m_flOrthoLightWidth = 0xCC; // float32
+            public const nint m_flOrthoLightHeight = 0xD0; // float32
+            public const nint m_nStyle = 0xD4; // int32
+            public const nint m_Pattern = 0xD8; // CUtlString
+            public const nint m_nCascadeRenderStaticObjects = 0xE0; // int32
+            public const nint m_flShadowCascadeCrossFade = 0xE4; // float32
+            public const nint m_flShadowCascadeDistanceFade = 0xE8; // float32
+            public const nint m_flShadowCascadeDistance0 = 0xEC; // float32
+            public const nint m_flShadowCascadeDistance1 = 0xF0; // float32
+            public const nint m_flShadowCascadeDistance2 = 0xF4; // float32
+            public const nint m_flShadowCascadeDistance3 = 0xF8; // float32
+            public const nint m_nShadowCascadeResolution0 = 0xFC; // int32
+            public const nint m_nShadowCascadeResolution1 = 0x100; // int32
+            public const nint m_nShadowCascadeResolution2 = 0x104; // int32
+            public const nint m_nShadowCascadeResolution3 = 0x108; // int32
+            public const nint m_bUsesBakedShadowing = 0x10C; // bool
+            public const nint m_nShadowPriority = 0x110; // int32
+            public const nint m_nBakedShadowIndex = 0x114; // int32
+            public const nint m_bRenderToCubemaps = 0x118; // bool
+            public const nint m_nDirectLight = 0x11C; // int32
+            public const nint m_nIndirectLight = 0x120; // int32
+            public const nint m_flFadeMinDist = 0x124; // float32
+            public const nint m_flFadeMaxDist = 0x128; // float32
+            public const nint m_flShadowFadeMinDist = 0x12C; // float32
+            public const nint m_flShadowFadeMaxDist = 0x130; // float32
+            public const nint m_bEnabled = 0x134; // bool
+            public const nint m_bFlicker = 0x135; // bool
+            public const nint m_bPrecomputedFieldsValid = 0x136; // bool
+            public const nint m_vPrecomputedBoundsMins = 0x138; // Vector
+            public const nint m_vPrecomputedBoundsMaxs = 0x144; // Vector
+            public const nint m_vPrecomputedOBBOrigin = 0x150; // Vector
+            public const nint m_vPrecomputedOBBAngles = 0x15C; // QAngle
+            public const nint m_vPrecomputedOBBExtent = 0x168; // Vector
+            public const nint m_flPrecomputedMaxRange = 0x174; // float32
+            public const nint m_nFogLightingMode = 0x178; // int32
+            public const nint m_flFogContributionStength = 0x17C; // float32
+            public const nint m_flNearClipPlane = 0x180; // float32
+            public const nint m_SkyColor = 0x184; // Color
+            public const nint m_flSkyIntensity = 0x188; // float32
+            public const nint m_SkyAmbientBounce = 0x18C; // Color
+            public const nint m_bUseSecondaryColor = 0x190; // bool
+            public const nint m_bMixedShadows = 0x191; // bool
+            public const nint m_flLightStyleStartTime = 0x194; // GameTime_t
+            public const nint m_flCapsuleLength = 0x198; // float32
+            public const nint m_flMinRoughness = 0x19C; // float32
+        }
+        // Parent: C_CSGO_TeamPreviewCamera
+        // Field count: 0
+        public static class C_CSGO_CounterTerroristTeamIntroCamera {
+        }
+        // Parent: None
+        // Field count: 0
+        public static class CEntityComponent {
+        }
+        // Parent: IEconItemInterface
+        // Field count: 29
+        //
+        // Metadata:
+        // NetworkVarNames: m_iItemDefinitionIndex (item_definition_index_t)
+        // NetworkVarNames: m_iEntityQuality (int)
+        // NetworkVarNames: m_iEntityLevel (uint32)
+        // NetworkVarNames: m_iItemIDHigh (uint32)
+        // NetworkVarNames: m_iItemIDLow (uint32)
+        // NetworkVarNames: m_iAccountID (uint32)
+        // NetworkVarNames: m_iInventoryPosition (uint32)
+        // NetworkVarNames: m_bInitialized (bool)
+        // NetworkVarNames: m_AttributeList (CAttributeList)
+        // NetworkVarNames: m_NetworkedDynamicAttributes (CAttributeList)
+        // NetworkVarNames: m_szCustomName (char)
+        public static class C_EconItemView {
+            public const nint m_bInventoryImageRgbaRequested = 0x60; // bool
+            public const nint m_bInventoryImageTriedCache = 0x61; // bool
+            public const nint m_nInventoryImageRgbaWidth = 0x80; // int32
+            public const nint m_nInventoryImageRgbaHeight = 0x84; // int32
+            public const nint m_szCurrentLoadCachedFileName = 0x88; // char[260]
+            public const nint m_bRestoreCustomMaterialAfterPrecache = 0x1B8; // bool
+            public const nint m_iItemDefinitionIndex = 0x1BA; // uint16
+            public const nint m_iEntityQuality = 0x1BC; // int32
+            public const nint m_iEntityLevel = 0x1C0; // uint32
+            public const nint m_iItemID = 0x1C8; // uint64
+            public const nint m_iItemIDHigh = 0x1D0; // uint32
+            public const nint m_iItemIDLow = 0x1D4; // uint32
+            public const nint m_iAccountID = 0x1D8; // uint32
+            public const nint m_iInventoryPosition = 0x1DC; // uint32
+            public const nint m_bInitialized = 0x1E8; // bool
+            public const nint m_bDisallowSOC = 0x1E9; // bool
+            public const nint m_bIsStoreItem = 0x1EA; // bool
+            public const nint m_bIsTradeItem = 0x1EB; // bool
+            public const nint m_iEntityQuantity = 0x1EC; // int32
+            public const nint m_iRarityOverride = 0x1F0; // int32
+            public const nint m_iQualityOverride = 0x1F4; // int32
+            public const nint m_iOriginOverride = 0x1F8; // int32
+            public const nint m_unClientFlags = 0x1FC; // uint8
+            public const nint m_unOverrideStyle = 0x1FD; // uint8
+            public const nint m_AttributeList = 0x210; // CAttributeList
+            public const nint m_NetworkedDynamicAttributes = 0x270; // CAttributeList
+            public const nint m_szCustomName = 0x2D0; // char[161]
+            public const nint m_szCustomNameOverride = 0x371; // char[161]
+            public const nint m_bInitializedTags = 0x440; // bool
+        }
+        // Parent: C_BaseEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_Handle (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bSendHandle (bool)
+        public static class C_HandleTest {
+            public const nint m_Handle = 0x568; // CHandle<C_BaseEntity>
+            public const nint m_bSendHandle = 0x56C; // bool
+        }
+        // Parent: C_BaseEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+        public static class C_EnvWindClientside {
+            public const nint m_EnvWindShared = 0x568; // C_EnvWindShared
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponMAC10 {
+        }
+        // Parent: C_PointClientUIWorldPanel
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_messageText (char)
+        public static class C_PointClientUIWorldTextPanel {
+            public const nint m_messageText = 0xF90; // char[512]
+        }
+        // Parent: CPlayer_UseServices
+        // Field count: 0
+        public static class CCSPlayer_UseServices {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_nToggleButtonDownMask (ButtonBitMask_t)
+        // NetworkVarNames: m_flMaxspeed (float32)
+        // NetworkVarNames: m_arrForceSubtickMoveWhen (float32)
+        public static class CPlayer_MovementServices {
+            public const nint m_nImpulse = 0x40; // int32
+            public const nint m_nButtons = 0x48; // CInButtonState
+            public const nint m_nQueuedButtonDownMask = 0x68; // uint64
+            public const nint m_nQueuedButtonChangeMask = 0x70; // uint64
+            public const nint m_nButtonDoublePressed = 0x78; // uint64
+            public const nint m_pButtonPressedCmdNumber = 0x80; // uint32[64]
+            public const nint m_nLastCommandNumberProcessed = 0x180; // uint32
+            public const nint m_nToggleButtonDownMask = 0x188; // uint64
+            public const nint m_flMaxspeed = 0x198; // float32
+            public const nint m_arrForceSubtickMoveWhen = 0x19C; // float32[4]
+            public const nint m_flForwardMove = 0x1AC; // float32
+            public const nint m_flLeftMove = 0x1B0; // float32
+            public const nint m_flUpMove = 0x1B4; // float32
+            public const nint m_vecLastMovementImpulses = 0x1B8; // Vector
+            public const nint m_vecOldViewAngles = 0x1C4; // QAngle
+        }
+        // Parent: C_BaseEntity
+        // Field count: 11
+        public static class CEnvSoundscape {
+            public const nint m_OnPlay = 0x568; // CEntityIOOutput
+            public const nint m_flRadius = 0x590; // float32
+            public const nint m_soundEventName = 0x598; // CUtlSymbolLarge
+            public const nint m_bOverrideWithEvent = 0x5A0; // bool
+            public const nint m_soundscapeIndex = 0x5A4; // int32
+            public const nint m_soundscapeEntityListId = 0x5A8; // int32
+            public const nint m_positionNames = 0x5B0; // CUtlSymbolLarge[8]
+            public const nint m_hProxySoundscape = 0x5F0; // CHandle<CEnvSoundscape>
+            public const nint m_bDisabled = 0x5F4; // bool
+            public const nint m_soundscapeName = 0x5F8; // CUtlSymbolLarge
+            public const nint m_soundEventHash = 0x600; // uint32
+        }
+        // Parent: CEntitySubclassVDataBase
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBasePlayerVData {
+            public const nint m_sModelName = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_flHeadDamageMultiplier = 0x108; // CSkillFloat
+            public const nint m_flChestDamageMultiplier = 0x118; // CSkillFloat
+            public const nint m_flStomachDamageMultiplier = 0x128; // CSkillFloat
+            public const nint m_flArmDamageMultiplier = 0x138; // CSkillFloat
+            public const nint m_flLegDamageMultiplier = 0x148; // CSkillFloat
+            public const nint m_flHoldBreathTime = 0x158; // float32
+            public const nint m_flDrowningDamageInterval = 0x15C; // float32
+            public const nint m_nDrowningDamageInitial = 0x160; // int32
+            public const nint m_nDrowningDamageMax = 0x164; // int32
+            public const nint m_nWaterSpeed = 0x168; // int32
+            public const nint m_flUseRange = 0x16C; // float32
+            public const nint m_flUseAngleTolerance = 0x170; // float32
+            public const nint m_flCrouchTime = 0x174; // float32
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_iAccount (int)
+        // NetworkVarNames: m_iStartAccount (int)
+        // NetworkVarNames: m_iTotalCashSpent (int)
+        // NetworkVarNames: m_iCashSpentThisRound (int)
+        public static class CCSPlayerController_InGameMoneyServices {
+            public const nint m_iAccount = 0x40; // int32
+            public const nint m_iStartAccount = 0x44; // int32
+            public const nint m_iTotalCashSpent = 0x48; // int32
+            public const nint m_iCashSpentThisRound = 0x4C; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        public static class C_EnvWindShared__WindVariationEvent_t {
+            public const nint m_flWindAngleVariation = 0x0; // float32
+            public const nint m_flWindSpeedVariation = 0x4; // float32
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponUSPSilencer {
+        }
+        // Parent: C_Sprite
+        // Field count: 0
+        public static class CSpriteOriented {
+        }
+        // Parent: C_CSGO_EndOfMatchLineupEndpoint
+        // Field count: 0
+        public static class C_CSGO_EndOfMatchLineupStart {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponFamas {
+        }
+        // Parent: C_ParticleSystem
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_flAlphaScale (float32)
+        // NetworkVarNames: m_flRadiusScale (float32)
+        // NetworkVarNames: m_flSelfIllumScale (float32)
+        // NetworkVarNames: m_ColorTint (Color)
+        // NetworkVarNames: m_hTextureOverride (HRenderTextureStrong)
+        public static class C_EnvParticleGlow {
+            public const nint m_flAlphaScale = 0x12D8; // float32
+            public const nint m_flRadiusScale = 0x12DC; // float32
+            public const nint m_flSelfIllumScale = 0x12E0; // float32
+            public const nint m_ColorTint = 0x12E4; // Color
+            public const nint m_hTextureOverride = 0x12E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+        }
+        // Parent: C_BaseEntity
+        // Field count: 15
+        public static class C_SoundEventEntity {
+            public const nint m_bStartOnSpawn = 0x568; // bool
+            public const nint m_bToLocalPlayer = 0x569; // bool
+            public const nint m_bStopOnNew = 0x56A; // bool
+            public const nint m_bSaveRestore = 0x56B; // bool
+            public const nint m_bSavedIsPlaying = 0x56C; // bool
+            public const nint m_flSavedElapsedTime = 0x570; // float32
+            public const nint m_iszSourceEntityName = 0x578; // CUtlSymbolLarge
+            public const nint m_iszAttachmentName = 0x580; // CUtlSymbolLarge
+            public const nint m_onGUIDChanged = 0x588; // CEntityOutputTemplate<uint64>
+            public const nint m_onSoundFinished = 0x5B0; // CEntityIOOutput
+            public const nint m_flClientCullRadius = 0x5D8; // float32
+            public const nint m_iszSoundName = 0x608; // CUtlSymbolLarge
+            public const nint m_hSource = 0x618; // CEntityHandle
+            public const nint m_nEntityIndexSelection = 0x61C; // int32
+            public const nint m_bClientSideOnly = 0x0; // bitfield:1
+        }
+        // Parent: C_CSGO_TeamPreviewCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_TeamIntroCharacterPosition {
+        }
+        // Parent: C_CSGO_PreviewModel
+        // Field count: 0
+        public static class C_CSGO_PreviewModelAlias_csgo_item_previewmodel {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkExcludeByName
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_vDirection (Vector)
+        // NetworkVarNames: m_iszEffectName (string_t)
+        // NetworkVarNames: m_iszSSEffectName (string_t)
+        // NetworkVarNames: m_clrOverlay (Color)
+        // NetworkVarNames: m_bOn (bool)
+        // NetworkVarNames: m_bmaxColor (bool)
+        // NetworkVarNames: m_flSize (float32)
+        // NetworkVarNames: m_flHazeScale (float32)
+        // NetworkVarNames: m_flRotation (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        // NetworkVarNames: m_flAlphaHaze (float32)
+        // NetworkVarNames: m_flAlphaScale (float32)
+        // NetworkVarNames: m_flAlphaHdr (float32)
+        // NetworkVarNames: m_flFarZScale (float32)
+        public static class C_Sun {
+            public const nint m_fxSSSunFlareEffectIndex = 0xD28; // ParticleIndex_t
+            public const nint m_fxSunFlareEffectIndex = 0xD2C; // ParticleIndex_t
+            public const nint m_fdistNormalize = 0xD30; // float32
+            public const nint m_vSunPos = 0xD34; // Vector
+            public const nint m_vDirection = 0xD40; // Vector
+            public const nint m_iszEffectName = 0xD50; // CUtlSymbolLarge
+            public const nint m_iszSSEffectName = 0xD58; // CUtlSymbolLarge
+            public const nint m_clrOverlay = 0xD60; // Color
+            public const nint m_bOn = 0xD64; // bool
+            public const nint m_bmaxColor = 0xD65; // bool
+            public const nint m_flSize = 0xD68; // float32
+            public const nint m_flHazeScale = 0xD6C; // float32
+            public const nint m_flRotation = 0xD70; // float32
+            public const nint m_flHDRColorScale = 0xD74; // float32
+            public const nint m_flAlphaHaze = 0xD78; // float32
+            public const nint m_flAlphaScale = 0xD7C; // float32
+            public const nint m_flAlphaHdr = 0xD80; // float32
+            public const nint m_flFarZScale = 0xD84; // float32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_CSGO_EndOfMatchLineupEndpoint {
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_perRoundStats (CSPerRoundStats_t)
+        // NetworkVarNames: m_matchStats (CSMatchStats_t)
+        // NetworkVarNames: m_iNumRoundKills (int)
+        // NetworkVarNames: m_iNumRoundKillsHeadshots (int)
+        // NetworkVarNames: m_unTotalRoundDamageDealt (uint32)
+        public static class CCSPlayerController_ActionTrackingServices {
+            public const nint m_perRoundStats = 0x40; // C_UtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
+            public const nint m_matchStats = 0x90; // CSMatchStats_t
+            public const nint m_iNumRoundKills = 0x110; // int32
+            public const nint m_iNumRoundKillsHeadshots = 0x114; // int32
+            public const nint m_unTotalRoundDamageDealt = 0x118; // uint32
+        }
+        // Parent: CEntityComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bvDisabledHitGroups (uint32)
+        public static class CHitboxComponent {
+            public const nint m_bvDisabledHitGroups = 0x24; // uint32[1]
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_MaxWeight (float)
+        // NetworkVarNames: m_FadeDuration (float)
+        // NetworkVarNames: m_Weight (float)
+        // NetworkVarNames: m_lookupFilename (char)
+        public static class C_ColorCorrectionVolume {
+            public const nint m_LastEnterWeight = 0xD30; // float32
+            public const nint m_LastEnterTime = 0xD34; // float32
+            public const nint m_LastExitWeight = 0xD38; // float32
+            public const nint m_LastExitTime = 0xD3C; // float32
+            public const nint m_bEnabled = 0xD40; // bool
+            public const nint m_MaxWeight = 0xD44; // float32
+            public const nint m_FadeDuration = 0xD48; // float32
+            public const nint m_Weight = 0xD4C; // float32
+            public const nint m_lookupFilename = 0xD50; // char[512]
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_PrecipitationBlocker {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 6
+        public static class C_BulletHitModel {
+            public const nint m_matLocal = 0xF88; // matrix3x4_t
+            public const nint m_iBoneIndex = 0xFB8; // int32
+            public const nint m_hPlayerParent = 0xFBC; // CHandle<C_BaseEntity>
+            public const nint m_bIsHit = 0xFC0; // bool
+            public const nint m_flTimeCreated = 0xFC4; // float32
+            public const nint m_vecStartPos = 0xFC8; // Vector
+        }
+        // Parent: C_BaseEntity
+        // Field count: 17
+        //
+        // Metadata:
+        // NetworkVarNames: m_nDraftType (int)
+        // NetworkVarNames: m_nTeamWinningCoinToss (int)
+        // NetworkVarNames: m_nTeamWithFirstChoice (int)
+        // NetworkVarNames: m_nVoteMapIdsList (int)
+        // NetworkVarNames: m_nAccountIDs (int)
+        // NetworkVarNames: m_nMapId0 (int)
+        // NetworkVarNames: m_nMapId1 (int)
+        // NetworkVarNames: m_nMapId2 (int)
+        // NetworkVarNames: m_nMapId3 (int)
+        // NetworkVarNames: m_nMapId4 (int)
+        // NetworkVarNames: m_nMapId5 (int)
+        // NetworkVarNames: m_nStartingSide0 (int)
+        // NetworkVarNames: m_nCurrentPhase (int)
+        // NetworkVarNames: m_nPhaseStartTick (int)
+        // NetworkVarNames: m_nPhaseDurationTicks (int)
+        public static class C_MapVetoPickController {
+            public const nint m_nDraftType = 0x578; // int32
+            public const nint m_nTeamWinningCoinToss = 0x57C; // int32
+            public const nint m_nTeamWithFirstChoice = 0x580; // int32[64]
+            public const nint m_nVoteMapIdsList = 0x680; // int32[7]
+            public const nint m_nAccountIDs = 0x69C; // int32[64]
+            public const nint m_nMapId0 = 0x79C; // int32[64]
+            public const nint m_nMapId1 = 0x89C; // int32[64]
+            public const nint m_nMapId2 = 0x99C; // int32[64]
+            public const nint m_nMapId3 = 0xA9C; // int32[64]
+            public const nint m_nMapId4 = 0xB9C; // int32[64]
+            public const nint m_nMapId5 = 0xC9C; // int32[64]
+            public const nint m_nStartingSide0 = 0xD9C; // int32[64]
+            public const nint m_nCurrentPhase = 0xE9C; // int32
+            public const nint m_nPhaseStartTick = 0xEA0; // int32
+            public const nint m_nPhaseDurationTicks = 0xEA4; // int32
+            public const nint m_nPostDataUpdateTick = 0xEA8; // int32
+            public const nint m_bDisabledHud = 0xEAC; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGapTypeQueriesForScopeSingleton
+        public static class CSharedGapTypeQueryRegistration {
+        }
+        // Parent: C_BarnLight
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_flInnerAngle (float)
+        // NetworkVarNames: m_flOuterAngle (float)
+        // NetworkVarNames: m_bShowLight (bool)
+        public static class C_OmniLight {
+            public const nint m_flInnerAngle = 0x1070; // float32
+            public const nint m_flOuterAngle = 0x1074; // float32
+            public const nint m_bShowLight = 0x1078; // bool
+        }
+        // Parent: C_Inferno
+        // Field count: 0
+        public static class C_FireCrackerBlast {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponMP9 {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_weaponPurchases (WeaponPurchaseCount_t)
+        public static class WeaponPurchaseTracker_t {
+            public const nint m_weaponPurchases = 0x8; // C_UtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_nMatchSeed (int)
+        // NetworkVarNames: m_bBlockersPresent (bool)
+        // NetworkVarNames: m_bRoundInProgress (bool)
+        // NetworkVarNames: m_iFirstSecondHalfRound (int)
+        // NetworkVarNames: m_iBombSite (int)
+        public static class C_RetakeGameRules {
+            public const nint m_nMatchSeed = 0xF8; // int32
+            public const nint m_bBlockersPresent = 0xFC; // bool
+            public const nint m_bRoundInProgress = 0xFD; // bool
+            public const nint m_iFirstSecondHalfRound = 0x100; // int32
+            public const nint m_iBombSite = 0x104; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_duration (float32)
+        // NetworkVarNames: m_timestamp (float32)
+        // NetworkVarNames: m_timescale (float32)
+        public static class EngineCountdownTimer {
+            public const nint m_duration = 0x8; // float32
+            public const nint m_timestamp = 0xC; // float32
+            public const nint m_timescale = 0x10; // float32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CCSPlayer_GlowServices {
+        }
+        // Parent: None
+        // Field count: 5
+        public static class C_BaseFlex__Emphasized_Phoneme {
+            public const nint m_sClassName = 0x0; // CUtlString
+            public const nint m_flAmount = 0x18; // float32
+            public const nint m_bRequired = 0x1C; // bool
+            public const nint m_bBasechecked = 0x1D; // bool
+            public const nint m_bValid = 0x1E; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_timestamp (GameTime_t)
+        // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+        public static class IntervalTimer {
+            public const nint m_timestamp = 0x8; // GameTime_t
+            public const nint m_nWorldGroupId = 0xC; // WorldGroupId_t
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponSSG08 {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecLadderDir (Vector)
+        // NetworkVarNames: m_vecPlayerMountPositionTop (Vector)
+        // NetworkVarNames: m_vecPlayerMountPositionBottom (Vector)
+        // NetworkVarNames: m_flAutoRideSpeed (float)
+        // NetworkVarNames: m_bFakeLadder (bool)
+        public static class C_FuncLadder {
+            public const nint m_vecLadderDir = 0xD28; // Vector
+            public const nint m_Dismounts = 0xD38; // CUtlVector<CHandle<C_InfoLadderDismount>>
+            public const nint m_vecLocalTop = 0xD50; // Vector
+            public const nint m_vecPlayerMountPositionTop = 0xD5C; // Vector
+            public const nint m_vecPlayerMountPositionBottom = 0xD68; // Vector
+            public const nint m_flAutoRideSpeed = 0xD74; // float32
+            public const nint m_bDisabled = 0xD78; // bool
+            public const nint m_bFakeLadder = 0xD79; // bool
+            public const nint m_bHasSlack = 0xD7A; // bool
+        }
+        // Parent: C_SoundOpvarSetAABBEntity
+        // Field count: 0
+        public static class C_SoundOpvarSetOBBEntity {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_hMyWeapons (CHandle<C_BasePlayerWeapon>)
+        // NetworkVarNames: m_hActiveWeapon (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_hLastWeapon (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_iAmmo (uint16)
+        public static class CPlayer_WeaponServices {
+            public const nint m_hMyWeapons = 0x40; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerWeapon>>
+            public const nint m_hActiveWeapon = 0x58; // CHandle<C_BasePlayerWeapon>
+            public const nint m_hLastWeapon = 0x5C; // CHandle<C_BasePlayerWeapon>
+            public const nint m_iAmmo = 0x60; // uint16[32]
+        }
+        // Parent: None
+        // Field count: 3
+        public static class CAttributeManager__cached_attribute_float_t {
+            public const nint flIn = 0x0; // float32
+            public const nint iAttribHook = 0x8; // CUtlSymbolLarge
+            public const nint flOut = 0x10; // float32
+        }
+        // Parent: C_BaseFlex
+        // Field count: 12
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_bIsLive (bool)
+        // NetworkVarNames: m_DmgRadius (float32)
+        // NetworkVarNames: m_flDetonateTime (GameTime_t)
+        // NetworkVarNames: m_flDamage (float32)
+        // NetworkVarNames: m_hThrower (CHandle<CCSPlayerPawn>)
+        public static class C_BaseGrenade {
+            public const nint m_bHasWarnedAI = 0x1120; // bool
+            public const nint m_bIsSmokeGrenade = 0x1121; // bool
+            public const nint m_bIsLive = 0x1122; // bool
+            public const nint m_DmgRadius = 0x1124; // float32
+            public const nint m_flDetonateTime = 0x1128; // GameTime_t
+            public const nint m_flWarnAITime = 0x112C; // float32
+            public const nint m_flDamage = 0x1130; // float32
+            public const nint m_iszBounceSound = 0x1138; // CUtlSymbolLarge
+            public const nint m_ExplosionSound = 0x1140; // CUtlString
+            public const nint m_hThrower = 0x114C; // CHandle<C_CSPlayerPawn>
+            public const nint m_flNextAttack = 0x1164; // GameTime_t
+            public const nint m_hOriginalThrower = 0x1168; // CHandle<C_CSPlayerPawn>
+        }
+        // Parent: None
+        // Field count: 1
+        public static class CCSGameModeRules {
+            public const nint __m_pChainEntity = 0x8; // CNetworkVarChainer
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_nInteractsAs (uint64)
+        // NetworkVarNames: m_nInteractsWith (uint64)
+        // NetworkVarNames: m_nInteractsExclude (uint64)
+        // NetworkVarNames: m_nEntityId (uint32)
+        // NetworkVarNames: m_nOwnerId (uint32)
+        // NetworkVarNames: m_nHierarchyId (uint16)
+        // NetworkVarNames: m_nCollisionGroup (uint8)
+        // NetworkVarNames: m_nCollisionFunctionMask (uint8)
+        public static class VPhysicsCollisionAttribute_t {
+            public const nint m_nInteractsAs = 0x8; // uint64
+            public const nint m_nInteractsWith = 0x10; // uint64
+            public const nint m_nInteractsExclude = 0x18; // uint64
+            public const nint m_nEntityId = 0x20; // uint32
+            public const nint m_nOwnerId = 0x24; // uint32
+            public const nint m_nHierarchyId = 0x28; // uint16
+            public const nint m_nCollisionGroup = 0x2A; // uint8
+            public const nint m_nCollisionFunctionMask = 0x2B; // uint8
+        }
+        // Parent: C_BaseEntity
+        // Field count: 34
+        //
+        // Metadata:
+        // NetworkVarNames: m_flScattering (float)
+        // NetworkVarNames: m_flAnisotropy (float)
+        // NetworkVarNames: m_flFadeSpeed (float)
+        // NetworkVarNames: m_flDrawDistance (float)
+        // NetworkVarNames: m_flFadeInStart (float)
+        // NetworkVarNames: m_flFadeInEnd (float)
+        // NetworkVarNames: m_flIndirectStrength (float)
+        // NetworkVarNames: m_nVolumeDepth (int)
+        // NetworkVarNames: m_fFirstVolumeSliceThickness (float)
+        // NetworkVarNames: m_nIndirectTextureDimX (int)
+        // NetworkVarNames: m_nIndirectTextureDimY (int)
+        // NetworkVarNames: m_nIndirectTextureDimZ (int)
+        // NetworkVarNames: m_vBoxMins (Vector)
+        // NetworkVarNames: m_vBoxMaxs (Vector)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_flStartAnisoTime (GameTime_t)
+        // NetworkVarNames: m_flStartScatterTime (GameTime_t)
+        // NetworkVarNames: m_flStartDrawDistanceTime (GameTime_t)
+        // NetworkVarNames: m_flStartAnisotropy (float)
+        // NetworkVarNames: m_flStartScattering (float)
+        // NetworkVarNames: m_flStartDrawDistance (float)
+        // NetworkVarNames: m_flDefaultAnisotropy (float)
+        // NetworkVarNames: m_flDefaultScattering (float)
+        // NetworkVarNames: m_flDefaultDrawDistance (float)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_bEnableIndirect (bool)
+        // NetworkVarNames: m_bIndirectUseLPVs (bool)
+        // NetworkVarNames: m_bIsMaster (bool)
+        // NetworkVarNames: m_hFogIndirectTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_nForceRefreshCount (int)
+        // NetworkVarNames: m_fNoiseSpeed (float)
+        // NetworkVarNames: m_fNoiseStrength (float)
+        // NetworkVarNames: m_vNoiseScale (Vector)
+        public static class C_EnvVolumetricFogController {
+            public const nint m_flScattering = 0x568; // float32
+            public const nint m_flAnisotropy = 0x56C; // float32
+            public const nint m_flFadeSpeed = 0x570; // float32
+            public const nint m_flDrawDistance = 0x574; // float32
+            public const nint m_flFadeInStart = 0x578; // float32
+            public const nint m_flFadeInEnd = 0x57C; // float32
+            public const nint m_flIndirectStrength = 0x580; // float32
+            public const nint m_nVolumeDepth = 0x584; // int32
+            public const nint m_fFirstVolumeSliceThickness = 0x588; // float32
+            public const nint m_nIndirectTextureDimX = 0x58C; // int32
+            public const nint m_nIndirectTextureDimY = 0x590; // int32
+            public const nint m_nIndirectTextureDimZ = 0x594; // int32
+            public const nint m_vBoxMins = 0x598; // Vector
+            public const nint m_vBoxMaxs = 0x5A4; // Vector
+            public const nint m_bActive = 0x5B0; // bool
+            public const nint m_flStartAnisoTime = 0x5B4; // GameTime_t
+            public const nint m_flStartScatterTime = 0x5B8; // GameTime_t
+            public const nint m_flStartDrawDistanceTime = 0x5BC; // GameTime_t
+            public const nint m_flStartAnisotropy = 0x5C0; // float32
+            public const nint m_flStartScattering = 0x5C4; // float32
+            public const nint m_flStartDrawDistance = 0x5C8; // float32
+            public const nint m_flDefaultAnisotropy = 0x5CC; // float32
+            public const nint m_flDefaultScattering = 0x5D0; // float32
+            public const nint m_flDefaultDrawDistance = 0x5D4; // float32
+            public const nint m_bStartDisabled = 0x5D8; // bool
+            public const nint m_bEnableIndirect = 0x5D9; // bool
+            public const nint m_bIndirectUseLPVs = 0x5DA; // bool
+            public const nint m_bIsMaster = 0x5DB; // bool
+            public const nint m_hFogIndirectTexture = 0x5E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_nForceRefreshCount = 0x5E8; // int32
+            public const nint m_fNoiseSpeed = 0x5EC; // float32
+            public const nint m_fNoiseStrength = 0x5F0; // float32
+            public const nint m_vNoiseScale = 0x5F4; // Vector
+            public const nint m_bFirstTime = 0x600; // bool
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponTec9 {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_flStartTimeInCommentary (float32)
+        // NetworkVarNames: m_iszCommentaryFile (string_t)
+        // NetworkVarNames: m_iszTitle (string_t)
+        // NetworkVarNames: m_iszSpeakers (string_t)
+        // NetworkVarNames: m_iNodeNumber (int)
+        // NetworkVarNames: m_iNodeNumberMax (int)
+        // NetworkVarNames: m_bListenedTo (bool)
+        // NetworkVarNames: m_hViewPosition (CHandle<C_BaseEntity>)
+        public static class C_PointCommentaryNode {
+            public const nint m_bActive = 0xF90; // bool
+            public const nint m_bWasActive = 0xF91; // bool
+            public const nint m_flEndTime = 0xF94; // GameTime_t
+            public const nint m_flStartTime = 0xF98; // GameTime_t
+            public const nint m_flStartTimeInCommentary = 0xF9C; // float32
+            public const nint m_iszCommentaryFile = 0xFA0; // CUtlSymbolLarge
+            public const nint m_iszTitle = 0xFA8; // CUtlSymbolLarge
+            public const nint m_iszSpeakers = 0xFB0; // CUtlSymbolLarge
+            public const nint m_iNodeNumber = 0xFB8; // int32
+            public const nint m_iNodeNumberMax = 0xFBC; // int32
+            public const nint m_bListenedTo = 0xFC0; // bool
+            public const nint m_hViewPosition = 0xFD0; // CHandle<C_BaseEntity>
+            public const nint m_bRestartAfterRestore = 0xFD4; // bool
+        }
+        // Parent: CCSPlayerBase_CameraServices
+        // Field count: 0
+        public static class CCSObserver_CameraServices {
+        }
+        // Parent: CCSPointScriptEntity
+        // Field count: 0
+        public static class CCSClientPointScriptEntity {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: localSound (Vector)
+        // NetworkVarNames: soundscapeIndex (int32)
+        // NetworkVarNames: localBits (uint8)
+        // NetworkVarNames: soundscapeEntityListIndex (int)
+        // NetworkVarNames: soundEventHash (uint32)
+        public static class audioparams_t {
+            public const nint localSound = 0x8; // Vector[8]
+            public const nint soundscapeIndex = 0x68; // int32
+            public const nint localBits = 0x6C; // uint8
+            public const nint soundscapeEntityListIndex = 0x70; // int32
+            public const nint soundEventHash = 0x74; // uint32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class C_CS2WeaponModuleBase {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_nMode (int)
+        // NetworkVarNames: m_vBoxSize (Vector)
+        // NetworkVarNames: m_bEnabled (bool)
+        public static class C_InfoVisibilityBox {
+            public const nint m_nMode = 0x56C; // int32
+            public const nint m_vBoxSize = 0x570; // Vector
+            public const nint m_bEnabled = 0x57C; // bool
+        }
+        // Parent: C_Sprite
+        // Field count: 2
+        public static class C_FireSprite {
+            public const nint m_vecMoveDir = 0xE38; // Vector
+            public const nint m_bFadeFromAbove = 0xE44; // bool
+        }
+        // Parent: C_CSGO_TeamIntroCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_TeamIntroTerroristPosition {
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 8
+        public static class C_Precipitation {
+            public const nint m_flDensity = 0xD30; // float32
+            public const nint m_flParticleInnerDist = 0xD40; // float32
+            public const nint m_pParticleDef = 0xD48; // char*
+            public const nint m_tParticlePrecipTraceTimer = 0xD70; // TimedEvent[1]
+            public const nint m_bActiveParticlePrecipEmitter = 0xD78; // bool[1]
+            public const nint m_bParticlePrecipInitialized = 0xD79; // bool
+            public const nint m_bHasSimulatedSinceLastSceneObjectUpdate = 0xD7A; // bool
+            public const nint m_nAvailableSheetSequencesMaxIndex = 0xD7C; // int32
+        }
+        // Parent: CEntitySubclassVDataBase
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPrecipitationVData {
+            public const nint m_szParticlePrecipitationEffect = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_flInnerDistance = 0x108; // float32
+            public const nint m_nAttachType = 0x10C; // ParticleAttachment_t
+            public const nint m_bBatchSameVolumeType = 0x110; // bool
+            public const nint m_nRTEnvCP = 0x114; // int32
+            public const nint m_nRTEnvCPComponent = 0x118; // int32
+            public const nint m_szModifier = 0x120; // CUtlString
+        }
+        // Parent: None
+        // Field count: 6
+        public static class CBuoyancyHelper {
+            public const nint m_nFluidType = 0x18; // CUtlStringToken
+            public const nint m_flFluidDensity = 0x1C; // float32
+            public const nint m_vecFractionOfWheelSubmergedForWheelFriction = 0x20; // CUtlVector<float32>
+            public const nint m_vecWheelFrictionScales = 0x38; // CUtlVector<float32>
+            public const nint m_vecFractionOfWheelSubmergedForWheelDrag = 0x50; // CUtlVector<float32>
+            public const nint m_vecWheelDrag = 0x68; // CUtlVector<float32>
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_DialogXMLName (string_t)
+        // NetworkVarNames: m_PanelClassName (string_t)
+        // NetworkVarNames: m_PanelID (string_t)
+        public static class C_BaseClientUIEntity {
+            public const nint m_bEnabled = 0xD30; // bool
+            public const nint m_DialogXMLName = 0xD38; // CUtlSymbolLarge
+            public const nint m_PanelClassName = 0xD40; // CUtlSymbolLarge
+            public const nint m_PanelID = 0xD48; // CUtlSymbolLarge
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 3
+        public static class C_FuncTrackTrain {
+            public const nint m_nLongAxis = 0xD28; // int32
+            public const nint m_flRadius = 0xD2C; // float32
+            public const nint m_flLineLength = 0xD30; // float32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsRescuing (bool)
+        // NetworkVarNames: m_weaponPurchasesThisMatch (WeaponPurchaseTracker_t)
+        // NetworkVarNames: m_weaponPurchasesThisRound (WeaponPurchaseTracker_t)
+        public static class CCSPlayer_ActionTrackingServices {
+            public const nint m_hLastWeaponBeforeC4AutoSwitch = 0x40; // CHandle<C_BasePlayerWeapon>
+            public const nint m_bIsRescuing = 0x44; // bool
+            public const nint m_weaponPurchasesThisMatch = 0x48; // WeaponPurchaseTracker_t
+            public const nint m_weaponPurchasesThisRound = 0xA0; // WeaponPurchaseTracker_t
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_nModelID (int32)
+        // NetworkVarNames: m_hMaterialBase (HMaterialStrong)
+        // NetworkVarNames: m_hMaterialDamageOverlay (HMaterialStrong)
+        // NetworkVarNames: m_solid (ShardSolid_t)
+        // NetworkVarNames: m_vecPanelSize (Vector2D)
+        // NetworkVarNames: m_vecStressPositionA (Vector2D)
+        // NetworkVarNames: m_vecStressPositionB (Vector2D)
+        // NetworkVarNames: m_vecPanelVertices (Vector2D)
+        // NetworkVarNames: m_vInitialPanelVertices (Vector4D)
+        // NetworkVarNames: m_flGlassHalfThickness (float)
+        // NetworkVarNames: m_bHasParent (bool)
+        // NetworkVarNames: m_bParentFrozen (bool)
+        // NetworkVarNames: m_SurfacePropStringToken (CUtlStringToken)
+        public static class shard_model_desc_t {
+            public const nint m_nModelID = 0x8; // int32
+            public const nint m_hMaterialBase = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_hMaterialDamageOverlay = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_solid = 0x20; // ShardSolid_t
+            public const nint m_vecPanelSize = 0x24; // Vector2D
+            public const nint m_vecStressPositionA = 0x2C; // Vector2D
+            public const nint m_vecStressPositionB = 0x34; // Vector2D
+            public const nint m_vecPanelVertices = 0x40; // C_NetworkUtlVectorBase<Vector2D>
+            public const nint m_vInitialPanelVertices = 0x58; // C_NetworkUtlVectorBase<Vector4D>
+            public const nint m_flGlassHalfThickness = 0x70; // float32
+            public const nint m_bHasParent = 0x74; // bool
+            public const nint m_bParentFrozen = 0x75; // bool
+            public const nint m_SurfacePropStringToken = 0x78; // CUtlStringToken
+        }
+        // Parent: None
+        // Field count: 1
+        public static class C_SceneEntity__QueuedEvents_t {
+            public const nint starttime = 0x0; // float32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 4
+        public static class CBaseProp {
+            public const nint m_bModelOverrodeBlockLOS = 0xF88; // bool
+            public const nint m_iShapeType = 0xF8C; // int32
+            public const nint m_bConformToCollisionBounds = 0xF90; // bool
+            public const nint m_mPreferredCatchTransform = 0xF94; // matrix3x4_t
+        }
+        // Parent: C_CSGO_PreviewPlayer
+        // Field count: 0
+        public static class C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_observer {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 12
+        public static class CPointTemplate {
+            public const nint m_iszWorldName = 0x568; // CUtlSymbolLarge
+            public const nint m_iszSource2EntityLumpName = 0x570; // CUtlSymbolLarge
+            public const nint m_iszEntityFilterName = 0x578; // CUtlSymbolLarge
+            public const nint m_flTimeoutInterval = 0x580; // float32
+            public const nint m_bAsynchronouslySpawnEntities = 0x584; // bool
+            public const nint m_pOutputOnSpawned = 0x588; // CEntityIOOutput
+            public const nint m_clientOnlyEntityBehavior = 0x5B0; // PointTemplateClientOnlyEntityBehavior_t
+            public const nint m_ownerSpawnGroupType = 0x5B4; // PointTemplateOwnerSpawnGroupType_t
+            public const nint m_createdSpawnGroupHandles = 0x5B8; // CUtlVector<uint32>
+            public const nint m_SpawnedEntityHandles = 0x5D0; // CUtlVector<CEntityHandle>
+            public const nint m_ScriptSpawnCallback = 0x5E8; // HSCRIPT
+            public const nint m_ScriptCallbackScope = 0x5F0; // HSCRIPT
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponHKP2000 {
+        }
+        // Parent: C_BaseFlex
+        // Field count: 6
+        public static class C_CSGO_PreviewModel {
+            public const nint m_animgraph = 0x1120; // CUtlString
+            public const nint m_animgraphCharacterModeString = 0x1128; // CGlobalSymbol
+            public const nint m_defaultAnim = 0x1130; // CUtlString
+            public const nint m_nDefaultAnimLoopMode = 0x1138; // AnimLoopMode_t
+            public const nint m_flInitialModelScale = 0x113C; // float32
+            public const nint m_sInitialWeaponState = 0x1140; // CUtlString
+        }
+        // Parent: C_PointEntity
+        // Field count: 5
+        public static class CInfoDynamicShadowHint {
+            public const nint m_bDisabled = 0x568; // bool
+            public const nint m_flRange = 0x56C; // float32
+            public const nint m_nImportance = 0x570; // int32
+            public const nint m_nLightChoice = 0x574; // int32
+            public const nint m_hLight = 0x578; // CHandle<C_BaseEntity>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CTakeDamageInfoAPI {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class C_BaseEntityAPI {
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 0
+        public static class C_WeaponXM1014 {
+        }
+        // Parent: C_ParticleSystem
+        // Field count: 0
+        public static class C_MapPreviewParticleSystem {
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_iGlowType (int32)
+        // NetworkVarNames: m_iGlowTeam (int32)
+        // NetworkVarNames: m_nGlowRange (int32)
+        // NetworkVarNames: m_nGlowRangeMin (int32)
+        // NetworkVarNames: m_glowColorOverride (Color)
+        // NetworkVarNames: m_bFlashing (bool)
+        // NetworkVarNames: m_flGlowTime (float)
+        // NetworkVarNames: m_flGlowStartTime (float)
+        // NetworkVarNames: m_bEligibleForScreenHighlight (bool)
+        public static class CGlowProperty {
+            public const nint m_fGlowColor = 0x8; // Vector
+            public const nint m_iGlowType = 0x30; // int32
+            public const nint m_iGlowTeam = 0x34; // int32
+            public const nint m_nGlowRange = 0x38; // int32
+            public const nint m_nGlowRangeMin = 0x3C; // int32
+            public const nint m_glowColorOverride = 0x40; // Color
+            public const nint m_bFlashing = 0x44; // bool
+            public const nint m_flGlowTime = 0x48; // float32
+            public const nint m_flGlowStartTime = 0x4C; // float32
+            public const nint m_bEligibleForScreenHighlight = 0x50; // bool
+            public const nint m_bGlowing = 0x51; // bool
+        }
+        // Parent: C_BaseTrigger
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_gravityScale (float)
+        // NetworkVarNames: m_linearLimit (float)
+        // NetworkVarNames: m_linearDamping (float)
+        // NetworkVarNames: m_angularLimit (float)
+        // NetworkVarNames: m_angularDamping (float)
+        // NetworkVarNames: m_linearForce (float)
+        // NetworkVarNames: m_flFrequency (float)
+        // NetworkVarNames: m_flDampingRatio (float)
+        // NetworkVarNames: m_vecLinearForcePointAt (Vector)
+        // NetworkVarNames: m_bCollapseToForcePoint (bool)
+        // NetworkVarNames: m_vecLinearForcePointAtWorld (Vector)
+        // NetworkVarNames: m_vecLinearForceDirection (Vector)
+        // NetworkVarNames: m_bConvertToDebrisWhenPossible (bool)
+        public static class C_TriggerPhysics {
+            public const nint m_gravityScale = 0xD30; // float32
+            public const nint m_linearLimit = 0xD34; // float32
+            public const nint m_linearDamping = 0xD38; // float32
+            public const nint m_angularLimit = 0xD3C; // float32
+            public const nint m_angularDamping = 0xD40; // float32
+            public const nint m_linearForce = 0xD44; // float32
+            public const nint m_flFrequency = 0xD48; // float32
+            public const nint m_flDampingRatio = 0xD4C; // float32
+            public const nint m_vecLinearForcePointAt = 0xD50; // Vector
+            public const nint m_bCollapseToForcePoint = 0xD5C; // bool
+            public const nint m_vecLinearForcePointAtWorld = 0xD60; // Vector
+            public const nint m_vecLinearForceDirection = 0xD6C; // Vector
+            public const nint m_bConvertToDebrisWhenPossible = 0xD78; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hCarriedHostage (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hCarriedHostageProp (CHandle<CBaseEntity>)
+        public static class CCSPlayer_HostageServices {
+            public const nint m_hCarriedHostage = 0x40; // CHandle<C_BaseEntity>
+            public const nint m_hCarriedHostageProp = 0x44; // CHandle<C_BaseEntity>
+        }
+        // Parent: C_LightEntity
+        // Field count: 0
+        public static class C_LightDirectionalEntity {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+        // NetworkVarNames: m_Entity_flInfluenceRadius (float)
+        // NetworkVarNames: m_Entity_vBoxProjectMins (Vector)
+        // NetworkVarNames: m_Entity_vBoxProjectMaxs (Vector)
+        // NetworkVarNames: m_Entity_bMoveable (bool)
+        // NetworkVarNames: m_Entity_nHandshake (int)
+        // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+        // NetworkVarNames: m_Entity_nPriority (int)
+        // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+        // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+        // NetworkVarNames: m_Entity_flDiffuseScale (float)
+        // NetworkVarNames: m_Entity_bStartDisabled (bool)
+        // NetworkVarNames: m_Entity_bDefaultEnvMap (bool)
+        // NetworkVarNames: m_Entity_bDefaultSpecEnvMap (bool)
+        // NetworkVarNames: m_Entity_bIndoorCubeMap (bool)
+        // NetworkVarNames: m_Entity_bCopyDiffuseFromDefaultCubemap (bool)
+        // NetworkVarNames: m_Entity_bEnabled (bool)
+        public static class C_EnvCubemap {
+            public const nint m_Entity_hCubemapTexture = 0x5E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_bCustomCubemapTexture = 0x5F0; // bool
+            public const nint m_Entity_flInfluenceRadius = 0x5F4; // float32
+            public const nint m_Entity_vBoxProjectMins = 0x5F8; // Vector
+            public const nint m_Entity_vBoxProjectMaxs = 0x604; // Vector
+            public const nint m_Entity_bMoveable = 0x610; // bool
+            public const nint m_Entity_nHandshake = 0x614; // int32
+            public const nint m_Entity_nEnvCubeMapArrayIndex = 0x618; // int32
+            public const nint m_Entity_nPriority = 0x61C; // int32
+            public const nint m_Entity_flEdgeFadeDist = 0x620; // float32
+            public const nint m_Entity_vEdgeFadeDists = 0x624; // Vector
+            public const nint m_Entity_flDiffuseScale = 0x630; // float32
+            public const nint m_Entity_bStartDisabled = 0x634; // bool
+            public const nint m_Entity_bDefaultEnvMap = 0x635; // bool
+            public const nint m_Entity_bDefaultSpecEnvMap = 0x636; // bool
+            public const nint m_Entity_bIndoorCubeMap = 0x637; // bool
+            public const nint m_Entity_bCopyDiffuseFromDefaultCubemap = 0x638; // bool
+            public const nint m_Entity_bEnabled = 0x648; // bool
+        }
+        // Parent: C_BaseViewModel
+        // Field count: 3
+        public static class C_PredictedViewModel {
+            public const nint m_vPredictedLagOffset = 0xFF0; // Vector
+            public const nint m_targetSpeed = 0xFFC; // QAngle
+            public const nint m_currentSpeed = 0x1008; // QAngle
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponBizon {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_AK47 {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 25
+        //
+        // Metadata:
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_bUpdateOnClient (bool)
+        // NetworkVarNames: m_nInputType (ValueRemapperInputType_t)
+        // NetworkVarNames: m_hRemapLineStart (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hRemapLineEnd (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_flMaximumChangePerSecond (float)
+        // NetworkVarNames: m_flDisengageDistance (float)
+        // NetworkVarNames: m_flEngageDistance (float)
+        // NetworkVarNames: m_bRequiresUseKey (bool)
+        // NetworkVarNames: m_nOutputType (ValueRemapperOutputType_t)
+        // NetworkVarNames: m_hOutputEntities (CHandle<C_BaseEntity>)
+        // NetworkVarNames: m_nHapticsType (ValueRemapperHapticsType_t)
+        // NetworkVarNames: m_nMomentumType (ValueRemapperMomentumType_t)
+        // NetworkVarNames: m_flMomentumModifier (float)
+        // NetworkVarNames: m_flSnapValue (float)
+        // NetworkVarNames: m_nRatchetType (ValueRemapperRatchetType_t)
+        // NetworkVarNames: m_flInputOffset (float)
+        public static class C_PointValueRemapper {
+            public const nint m_bDisabled = 0x568; // bool
+            public const nint m_bDisabledOld = 0x569; // bool
+            public const nint m_bUpdateOnClient = 0x56A; // bool
+            public const nint m_nInputType = 0x56C; // ValueRemapperInputType_t
+            public const nint m_hRemapLineStart = 0x570; // CHandle<C_BaseEntity>
+            public const nint m_hRemapLineEnd = 0x574; // CHandle<C_BaseEntity>
+            public const nint m_flMaximumChangePerSecond = 0x578; // float32
+            public const nint m_flDisengageDistance = 0x57C; // float32
+            public const nint m_flEngageDistance = 0x580; // float32
+            public const nint m_bRequiresUseKey = 0x584; // bool
+            public const nint m_nOutputType = 0x588; // ValueRemapperOutputType_t
+            public const nint m_hOutputEntities = 0x590; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
+            public const nint m_nHapticsType = 0x5A8; // ValueRemapperHapticsType_t
+            public const nint m_nMomentumType = 0x5AC; // ValueRemapperMomentumType_t
+            public const nint m_flMomentumModifier = 0x5B0; // float32
+            public const nint m_flSnapValue = 0x5B4; // float32
+            public const nint m_flCurrentMomentum = 0x5B8; // float32
+            public const nint m_nRatchetType = 0x5BC; // ValueRemapperRatchetType_t
+            public const nint m_flRatchetOffset = 0x5C0; // float32
+            public const nint m_flInputOffset = 0x5C4; // float32
+            public const nint m_bEngaged = 0x5C8; // bool
+            public const nint m_bFirstUpdate = 0x5C9; // bool
+            public const nint m_flPreviousValue = 0x5CC; // float32
+            public const nint m_flPreviousUpdateTickTime = 0x5D0; // GameTime_t
+            public const nint m_vecPreviousTestPoint = 0x5D4; // Vector
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bFirstAttack (bool)
+        public static class C_Knife {
+            public const nint m_bFirstAttack = 0x1B20; // bool
+        }
+        // Parent: C_EnvCubemap
+        // Field count: 0
+        public static class C_EnvCubemapBox {
+        }
+        // Parent: C_Item
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_OwningPlayer (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_KillingPlayer (CHandle<CCSPlayerPawn>)
+        public static class C_ItemDogtags {
+            public const nint m_OwningPlayer = 0x1768; // CHandle<C_CSPlayerPawn>
+            public const nint m_KillingPlayer = 0x176C; // CHandle<C_CSPlayerPawn>
+        }
+        // Parent: C_CSGO_TeamPreviewCamera
+        // Field count: 0
+        public static class C_CSGO_EndOfMatchCamera {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszStackName (string_t)
+        // NetworkVarNames: m_iszOperatorName (string_t)
+        // NetworkVarNames: m_iszOpvarName (string_t)
+        // NetworkVarNames: m_iOpvarIndex (int)
+        // NetworkVarNames: m_bUseAutoCompare (bool)
+        public static class C_SoundOpvarSetPointBase {
+            public const nint m_iszStackName = 0x568; // CUtlSymbolLarge
+            public const nint m_iszOperatorName = 0x570; // CUtlSymbolLarge
+            public const nint m_iszOpvarName = 0x578; // CUtlSymbolLarge
+            public const nint m_iOpvarIndex = 0x580; // int32
+            public const nint m_bUseAutoCompare = 0x584; // bool
+        }
+        // Parent: C_Breakable
+        // Field count: 0
+        public static class C_PhysBox {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecSellbackPurchaseEntries (SellbackPurchaseEntry_t)
+        public static class CCSPlayer_BuyServices {
+            public const nint m_vecSellbackPurchaseEntries = 0x40; // C_UtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CPathSimpleAPI {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_fFireTime (GameTime_t)
+        public static class C_WeaponTaser {
+            public const nint m_fFireTime = 0x1B40; // GameTime_t
+            public const nint m_nLastAttackTick = 0x1B44; // int32
+        }
+        // Parent: C_PhysicsProp
+        // Field count: 0
+        public static class C_PhysicsPropMultiplayer {
+        }
+        // Parent: CInfoDynamicShadowHint
+        // Field count: 2
+        public static class CInfoDynamicShadowHintBox {
+            public const nint m_vBoxMins = 0x580; // Vector
+            public const nint m_vBoxMaxs = 0x58C; // Vector
+        }
+        // Parent: C_SoundOpvarSetPointEntity
+        // Field count: 0
+        public static class C_SoundOpvarSetPathCornerEntity {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // NetworkVarNames: m_flEndDistance (float)
+        // NetworkVarNames: m_flStartDistance (float)
+        // NetworkVarNames: m_flFogFalloffExponent (float)
+        // NetworkVarNames: m_bHeightFogEnabled (bool)
+        // NetworkVarNames: m_flFogHeightWidth (float)
+        // NetworkVarNames: m_flFogHeightEnd (float)
+        // NetworkVarNames: m_flFogHeightStart (float)
+        // NetworkVarNames: m_flFogHeightExponent (float)
+        // NetworkVarNames: m_flLODBias (float)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_flFogMaxOpacity (float)
+        // NetworkVarNames: m_nCubemapSourceType (int)
+        // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+        // NetworkVarNames: m_iszSkyEntity (string_t)
+        // NetworkVarNames: m_hFogCubemapTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_bHasHeightFogEnd (bool)
+        public static class C_EnvCubemapFog {
+            public const nint m_flEndDistance = 0x568; // float32
+            public const nint m_flStartDistance = 0x56C; // float32
+            public const nint m_flFogFalloffExponent = 0x570; // float32
+            public const nint m_bHeightFogEnabled = 0x574; // bool
+            public const nint m_flFogHeightWidth = 0x578; // float32
+            public const nint m_flFogHeightEnd = 0x57C; // float32
+            public const nint m_flFogHeightStart = 0x580; // float32
+            public const nint m_flFogHeightExponent = 0x584; // float32
+            public const nint m_flLODBias = 0x588; // float32
+            public const nint m_bActive = 0x58C; // bool
+            public const nint m_bStartDisabled = 0x58D; // bool
+            public const nint m_flFogMaxOpacity = 0x590; // float32
+            public const nint m_nCubemapSourceType = 0x594; // int32
+            public const nint m_hSkyMaterial = 0x598; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_iszSkyEntity = 0x5A0; // CUtlSymbolLarge
+            public const nint m_hFogCubemapTexture = 0x5A8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_bHasHeightFogEnd = 0x5B0; // bool
+            public const nint m_bFirstTime = 0x5B1; // bool
+        }
+        // Parent: C_CSWeaponBase
+        // Field count: 0
+        public static class C_WeaponSawedoff {
+        }
+        // Parent: None
+        // Field count: 17
+        //
+        // Metadata:
+        // NetworkVarNames: m_collisionAttribute (VPhysicsCollisionAttribute_t)
+        // NetworkVarNames: m_vecMins (Vector)
+        // NetworkVarNames: m_vecMaxs (Vector)
+        // NetworkVarNames: m_usSolidFlags (uint8)
+        // NetworkVarNames: m_nSolidType (SolidType_t)
+        // NetworkVarNames: m_triggerBloat (uint8)
+        // NetworkVarNames: m_nSurroundType (SurroundingBoundsType_t)
+        // NetworkVarNames: m_CollisionGroup (uint8)
+        // NetworkVarNames: m_nEnablePhysics (uint8)
+        // NetworkVarNames: m_vecSpecifiedSurroundingMins (Vector)
+        // NetworkVarNames: m_vecSpecifiedSurroundingMaxs (Vector)
+        // NetworkVarNames: m_vCapsuleCenter1 (Vector)
+        // NetworkVarNames: m_vCapsuleCenter2 (Vector)
+        // NetworkVarNames: m_flCapsuleRadius (float)
+        public static class CCollisionProperty {
+            public const nint m_collisionAttribute = 0x10; // VPhysicsCollisionAttribute_t
+            public const nint m_vecMins = 0x40; // Vector
+            public const nint m_vecMaxs = 0x4C; // Vector
+            public const nint m_usSolidFlags = 0x5A; // uint8
+            public const nint m_nSolidType = 0x5B; // SolidType_t
+            public const nint m_triggerBloat = 0x5C; // uint8
+            public const nint m_nSurroundType = 0x5D; // SurroundingBoundsType_t
+            public const nint m_CollisionGroup = 0x5E; // uint8
+            public const nint m_nEnablePhysics = 0x5F; // uint8
+            public const nint m_flBoundingRadius = 0x60; // float32
+            public const nint m_vecSpecifiedSurroundingMins = 0x64; // Vector
+            public const nint m_vecSpecifiedSurroundingMaxs = 0x70; // Vector
+            public const nint m_vecSurroundingMaxs = 0x7C; // Vector
+            public const nint m_vecSurroundingMins = 0x88; // Vector
+            public const nint m_vCapsuleCenter1 = 0x94; // Vector
+            public const nint m_vCapsuleCenter2 = 0xA0; // Vector
+            public const nint m_flCapsuleRadius = 0xAC; // float32
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_hSequence (HSequence)
+        // NetworkVarNames: m_flPrevCycle (float32)
+        // NetworkVarNames: m_flCycle (float32)
+        public static class CNetworkedSequenceOperation {
+            public const nint m_hSequence = 0x8; // HSequence
+            public const nint m_flPrevCycle = 0xC; // float32
+            public const nint m_flCycle = 0x10; // float32
+            public const nint m_flWeight = 0x14; // CNetworkedQuantizedFloat
+            public const nint m_bSequenceChangeNetworked = 0x1C; // bool
+            public const nint m_bDiscontinuity = 0x1D; // bool
+            public const nint m_flPrevCycleFromDiscontinuity = 0x20; // float32
+            public const nint m_flPrevCycleForAnimEventDetection = 0x24; // float32
+        }
+        // Parent: C_ModelPointEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_nUniqueID (int)
+        // NetworkVarNames: m_unAccountID (uint32)
+        // NetworkVarNames: m_unTraceID (uint32)
+        // NetworkVarNames: m_rtGcTime (uint32)
+        // NetworkVarNames: m_vecEndPos (Vector)
+        // NetworkVarNames: m_vecStart (Vector)
+        // NetworkVarNames: m_vecLeft (Vector)
+        // NetworkVarNames: m_vecNormal (Vector)
+        // NetworkVarNames: m_nPlayer (int)
+        // NetworkVarNames: m_nEntity (int)
+        // NetworkVarNames: m_nHitbox (int)
+        // NetworkVarNames: m_flCreationTime (float)
+        // NetworkVarNames: m_nTintID (int)
+        // NetworkVarNames: m_nVersion (uint8)
+        // NetworkVarNames: m_ubSignature (uint8)
+        public static class C_PlayerSprayDecal {
+            public const nint m_nUniqueID = 0xD28; // int32
+            public const nint m_unAccountID = 0xD2C; // uint32
+            public const nint m_unTraceID = 0xD30; // uint32
+            public const nint m_rtGcTime = 0xD34; // uint32
+            public const nint m_vecEndPos = 0xD38; // Vector
+            public const nint m_vecStart = 0xD44; // Vector
+            public const nint m_vecLeft = 0xD50; // Vector
+            public const nint m_vecNormal = 0xD5C; // Vector
+            public const nint m_nPlayer = 0xD68; // int32
+            public const nint m_nEntity = 0xD6C; // int32
+            public const nint m_nHitbox = 0xD70; // int32
+            public const nint m_flCreationTime = 0xD74; // float32
+            public const nint m_nTintID = 0xD78; // int32
+            public const nint m_nVersion = 0xD7C; // uint8
+            public const nint m_ubSignature = 0xD7D; // uint8[128]
+            public const nint m_SprayRenderHelper = 0xE08; // CPlayerSprayDecalRenderHelper
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_ID (CUtlStringToken)
+        // NetworkVarNames: m_Values (Vector4D)
+        public static class EntityRenderAttribute_t {
+            public const nint m_ID = 0x30; // CUtlStringToken
+            public const nint m_Values = 0x34; // Vector4D
+        }
+        // Parent: C_PhysicsProp
+        // Field count: 1
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_ShardDesc (shard_model_desc_t)
+        public static class C_ShatterGlassShardPhysics {
+            public const nint m_ShardDesc = 0x1120; // shard_model_desc_t
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponElite {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_CLightComponent (CLightComponent::Storage_t)
+        public static class C_LightEntity {
+            public const nint m_CLightComponent = 0xD28; // CLightComponent*
+        }
+        // Parent: C_BaseEntity
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_flVisibilityStrength (float)
+        // NetworkVarNames: m_flFogDistanceMultiplier (float)
+        // NetworkVarNames: m_flFogMaxDensityMultiplier (float)
+        // NetworkVarNames: m_flFadeTime (float)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_bIsEnabled (bool)
+        public static class C_PlayerVisibility {
+            public const nint m_flVisibilityStrength = 0x568; // float32
+            public const nint m_flFogDistanceMultiplier = 0x56C; // float32
+            public const nint m_flFogMaxDensityMultiplier = 0x570; // float32
+            public const nint m_flFadeTime = 0x574; // float32
+            public const nint m_bStartDisabled = 0x578; // bool
+            public const nint m_bIsEnabled = 0x579; // bool
+        }
+        // Parent: None
+        // Field count: 25
+        //
+        // Metadata:
+        // NetworkVarNames: dirPrimary (Vector)
+        // NetworkVarNames: colorPrimary (Color)
+        // NetworkVarNames: colorSecondary (Color)
+        // NetworkVarNames: colorPrimaryLerpTo (Color)
+        // NetworkVarNames: colorSecondaryLerpTo (Color)
+        // NetworkVarNames: start (float32)
+        // NetworkVarNames: end (float32)
+        // NetworkVarNames: farz (float32)
+        // NetworkVarNames: maxdensity (float32)
+        // NetworkVarNames: exponent (float32)
+        // NetworkVarNames: HDRColorScale (float32)
+        // NetworkVarNames: skyboxFogFactor (float32)
+        // NetworkVarNames: skyboxFogFactorLerpTo (float32)
+        // NetworkVarNames: startLerpTo (float32)
+        // NetworkVarNames: endLerpTo (float32)
+        // NetworkVarNames: maxdensityLerpTo (float32)
+        // NetworkVarNames: lerptime (GameTime_t)
+        // NetworkVarNames: duration (float32)
+        // NetworkVarNames: blendtobackground (float32)
+        // NetworkVarNames: scattering (float32)
+        // NetworkVarNames: locallightscale (float32)
+        // NetworkVarNames: enable (bool)
+        // NetworkVarNames: blend (bool)
+        // NetworkVarNames: m_bNoReflectionFog (bool)
+        public static class fogparams_t {
+            public const nint dirPrimary = 0x8; // Vector
+            public const nint colorPrimary = 0x14; // Color
+            public const nint colorSecondary = 0x18; // Color
+            public const nint colorPrimaryLerpTo = 0x1C; // Color
+            public const nint colorSecondaryLerpTo = 0x20; // Color
+            public const nint start = 0x24; // float32
+            public const nint end = 0x28; // float32
+            public const nint farz = 0x2C; // float32
+            public const nint maxdensity = 0x30; // float32
+            public const nint exponent = 0x34; // float32
+            public const nint HDRColorScale = 0x38; // float32
+            public const nint skyboxFogFactor = 0x3C; // float32
+            public const nint skyboxFogFactorLerpTo = 0x40; // float32
+            public const nint startLerpTo = 0x44; // float32
+            public const nint endLerpTo = 0x48; // float32
+            public const nint maxdensityLerpTo = 0x4C; // float32
+            public const nint lerptime = 0x50; // GameTime_t
+            public const nint duration = 0x54; // float32
+            public const nint blendtobackground = 0x58; // float32
+            public const nint scattering = 0x5C; // float32
+            public const nint locallightscale = 0x60; // float32
+            public const nint enable = 0x64; // bool
+            public const nint blend = 0x65; // bool
+            public const nint m_bNoReflectionFog = 0x66; // bool
+            public const nint m_bPadding = 0x67; // bool
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 19
+        //
+        // Metadata:
+        // NetworkVarNames: m_flexWeight (float32)
+        // NetworkVarNames: m_blinktoggle (bool)
+        public static class C_BaseFlex {
+            public const nint m_flexWeight = 0xF98; // C_NetworkUtlVectorBase<float32>
+            public const nint m_vLookTargetPosition = 0xFB0; // Vector
+            public const nint m_blinktoggle = 0xFC8; // bool
+            public const nint m_nLastFlexUpdateFrameCount = 0x1028; // int32
+            public const nint m_CachedViewTarget = 0x102C; // Vector
+            public const nint m_nNextSceneEventId = 0x1038; // SceneEventId_t
+            public const nint m_iBlink = 0x103C; // int32
+            public const nint m_blinktime = 0x1040; // float32
+            public const nint m_prevblinktoggle = 0x1044; // bool
+            public const nint m_iJawOpen = 0x1048; // int32
+            public const nint m_flJawOpenAmount = 0x104C; // float32
+            public const nint m_flBlinkAmount = 0x1050; // float32
+            public const nint m_iMouthAttachment = 0x1054; // AttachmentHandle_t
+            public const nint m_iEyeAttachment = 0x1055; // AttachmentHandle_t
+            public const nint m_bResetFlexWeightsOnModelChange = 0x1056; // bool
+            public const nint m_nEyeOcclusionRendererBone = 0x1070; // int32
+            public const nint m_mEyeOcclusionRendererCameraToBoneTransform = 0x1074; // matrix3x4_t
+            public const nint m_vEyeOcclusionRendererHalfExtent = 0x10A4; // Vector
+            public const nint m_PhonemeClasses = 0x10C0; // C_BaseFlex::Emphasized_Phoneme[3]
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 12
+        //
+        // Metadata:
+        // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+        // NetworkVarNames: m_hSkyMaterialLightingOnly (HMaterialStrong)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_vTintColor (Color)
+        // NetworkVarNames: m_vTintColorLightingOnly (Color)
+        // NetworkVarNames: m_flBrightnessScale (float)
+        // NetworkVarNames: m_nFogType (int)
+        // NetworkVarNames: m_flFogMinStart (float)
+        // NetworkVarNames: m_flFogMinEnd (float)
+        // NetworkVarNames: m_flFogMaxStart (float)
+        // NetworkVarNames: m_flFogMaxEnd (float)
+        // NetworkVarNames: m_bEnabled (bool)
+        public static class C_EnvSky {
+            public const nint m_hSkyMaterial = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_hSkyMaterialLightingOnly = 0xD30; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_bStartDisabled = 0xD38; // bool
+            public const nint m_vTintColor = 0xD39; // Color
+            public const nint m_vTintColorLightingOnly = 0xD3D; // Color
+            public const nint m_flBrightnessScale = 0xD44; // float32
+            public const nint m_nFogType = 0xD48; // int32
+            public const nint m_flFogMinStart = 0xD4C; // float32
+            public const nint m_flFogMinEnd = 0xD50; // float32
+            public const nint m_flFogMaxStart = 0xD54; // float32
+            public const nint m_flFogMaxEnd = 0xD58; // float32
+            public const nint m_bEnabled = 0xD5C; // bool
+        }
+        // Parent: C_PointEntity
+        // Field count: 0
+        public static class CInfoTarget {
+        }
+        // Parent: C_CSGO_TeamIntroCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_TeamIntroCounterTerroristPosition {
+        }
+        // Parent: C_BreakableProp
+        // Field count: 23
+        //
+        // Metadata:
+        // NetworkVarNames: m_bUseHitboxesForRenderBox (bool)
+        // NetworkVarNames: m_bUseAnimGraph (bool)
+        public static class C_DynamicProp {
+            public const nint m_bUseHitboxesForRenderBox = 0x1110; // bool
+            public const nint m_bUseAnimGraph = 0x1111; // bool
+            public const nint m_pOutputAnimBegun = 0x1118; // CEntityIOOutput
+            public const nint m_pOutputAnimOver = 0x1140; // CEntityIOOutput
+            public const nint m_pOutputAnimLoopCycleOver = 0x1168; // CEntityIOOutput
+            public const nint m_OnAnimReachedStart = 0x1190; // CEntityIOOutput
+            public const nint m_OnAnimReachedEnd = 0x11B8; // CEntityIOOutput
+            public const nint m_iszIdleAnim = 0x11E0; // CUtlSymbolLarge
+            public const nint m_nIdleAnimLoopMode = 0x11E8; // AnimLoopMode_t
+            public const nint m_bRandomizeCycle = 0x11EC; // bool
+            public const nint m_bStartDisabled = 0x11ED; // bool
+            public const nint m_bFiredStartEndOutput = 0x11EE; // bool
+            public const nint m_bForceNpcExclude = 0x11EF; // bool
+            public const nint m_bCreateNonSolid = 0x11F0; // bool
+            public const nint m_bIsOverrideProp = 0x11F1; // bool
+            public const nint m_iInitialGlowState = 0x11F4; // int32
+            public const nint m_nGlowRange = 0x11F8; // int32
+            public const nint m_nGlowRangeMin = 0x11FC; // int32
+            public const nint m_glowColor = 0x1200; // Color
+            public const nint m_nGlowTeam = 0x1204; // int32
+            public const nint m_iCachedFrameCount = 0x1208; // int32
+            public const nint m_vecCachedRenderMins = 0x120C; // Vector
+            public const nint m_vecCachedRenderMaxs = 0x1218; // Vector
+        }
+        // Parent: CEntityComponent
+        // Field count: 10
+        public static class CPropDataComponent {
+            public const nint m_flDmgModBullet = 0x10; // float32
+            public const nint m_flDmgModClub = 0x14; // float32
+            public const nint m_flDmgModExplosive = 0x18; // float32
+            public const nint m_flDmgModFire = 0x1C; // float32
+            public const nint m_iszPhysicsDamageTableName = 0x20; // CUtlSymbolLarge
+            public const nint m_iszBasePropData = 0x28; // CUtlSymbolLarge
+            public const nint m_nInteractions = 0x30; // int32
+            public const nint m_bSpawnMotionDisabled = 0x34; // bool
+            public const nint m_nDisableTakePhysicsDamageSpawnFlag = 0x38; // int32
+            public const nint m_nMotionDisabledSpawnFlag = 0x3C; // int32
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponSCAR20 {
+        }
+        // Parent: C_BaseCSGrenade
+        // Field count: 0
+        public static class C_DecoyGrenade {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_player {
+        }
+        // Parent: C_CS2WeaponModuleBase
+        // Field count: 2
+        public static class C_KeychainModule {
+            public const nint m_nKeychainDefID = 0xF90; // uint32
+            public const nint m_nKeychainSeed = 0xF94; // uint32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszStackName (string_t)
+        // NetworkVarNames: m_iszOperatorName (string_t)
+        // NetworkVarNames: m_iszOpvarName (string_t)
+        // NetworkVarNames: m_vDistanceInnerMins (Vector)
+        // NetworkVarNames: m_vDistanceInnerMaxs (Vector)
+        // NetworkVarNames: m_vDistanceOuterMins (Vector)
+        // NetworkVarNames: m_vDistanceOuterMaxs (Vector)
+        // NetworkVarNames: m_nAABBDirection (int)
+        public static class CCitadelSoundOpvarSetOBB {
+            public const nint m_iszStackName = 0x580; // CUtlSymbolLarge
+            public const nint m_iszOperatorName = 0x588; // CUtlSymbolLarge
+            public const nint m_iszOpvarName = 0x590; // CUtlSymbolLarge
+            public const nint m_vDistanceInnerMins = 0x598; // Vector
+            public const nint m_vDistanceInnerMaxs = 0x5A4; // Vector
+            public const nint m_vDistanceOuterMins = 0x5B0; // Vector
+            public const nint m_vDistanceOuterMaxs = 0x5BC; // Vector
+            public const nint m_nAABBDirection = 0x5C8; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_unDefIdx (item_definition_index_t)
+        // NetworkVarNames: m_nCost (int)
+        // NetworkVarNames: m_nPrevArmor (int)
+        // NetworkVarNames: m_bPrevHelmet (bool)
+        // NetworkVarNames: m_hItem (CEntityHandle)
+        public static class SellbackPurchaseEntry_t {
+            public const nint m_unDefIdx = 0x30; // uint16
+            public const nint m_nCost = 0x34; // int32
+            public const nint m_nPrevArmor = 0x38; // int32
+            public const nint m_bPrevHelmet = 0x3C; // bool
+            public const nint m_hItem = 0x40; // CEntityHandle
+        }
+        // Parent: C_GameRules
+        // Field count: 0
+        public static class C_SingleplayRules {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 25
+        public static class C_LocalTempEntity {
+            public const nint flags = 0xF88; // int32
+            public const nint die = 0xF8C; // GameTime_t
+            public const nint m_flFrameMax = 0xF90; // float32
+            public const nint x = 0xF94; // float32
+            public const nint y = 0xF98; // float32
+            public const nint fadeSpeed = 0xF9C; // float32
+            public const nint bounceFactor = 0xFA0; // float32
+            public const nint hitSound = 0xFA4; // int32
+            public const nint priority = 0xFA8; // int32
+            public const nint tentOffset = 0xFAC; // Vector
+            public const nint m_vecTempEntAngVelocity = 0xFB8; // QAngle
+            public const nint tempent_renderamt = 0xFC4; // int32
+            public const nint m_vecNormal = 0xFC8; // Vector
+            public const nint m_flSpriteScale = 0xFD4; // float32
+            public const nint m_nFlickerFrame = 0xFD8; // int32
+            public const nint m_flFrameRate = 0xFDC; // float32
+            public const nint m_flFrame = 0xFE0; // float32
+            public const nint m_pszImpactEffect = 0xFE8; // char*
+            public const nint m_pszParticleEffect = 0xFF0; // char*
+            public const nint m_bParticleCollision = 0xFF8; // bool
+            public const nint m_iLastCollisionFrame = 0xFFC; // int32
+            public const nint m_vLastCollisionOrigin = 0x1000; // Vector
+            public const nint m_vecTempEntVelocity = 0x100C; // Vector
+            public const nint m_vecPrevAbsOrigin = 0x1018; // Vector
+            public const nint m_vecTempEntAcceleration = 0x1024; // Vector
+        }
+        // Parent: None
+        // Field count: 2
+        public static class C_EnvWindShared__WindAveEvent_t {
+            public const nint m_flStartWindSpeed = 0x0; // float32
+            public const nint m_flAveWindSpeed = 0x4; // float32
+        }
+        // Parent: C_BaseCSGrenadeProjectile
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsIncGrenade (bool)
+        public static class C_MolotovProjectile {
+            public const nint m_bIsIncGrenade = 0x1208; // bool
+        }
+        // Parent: C_LightDirectionalEntity
+        // Field count: 0
+        public static class C_LightEnvironmentEntity {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponUMP45 {
+        }
+        // Parent: C_PointEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_nResolutionX (int)
+        // NetworkVarNames: m_nResolutionY (int)
+        // NetworkVarNames: m_szLayoutFileName (string_t)
+        // NetworkVarNames: m_RenderAttrName (string_t)
+        // NetworkVarNames: m_TargetEntities (CHandle<C_BaseModelEntity>)
+        // NetworkVarNames: m_nTargetChangeCount (int)
+        // NetworkVarNames: m_vecCSSClasses (string_t)
+        public static class CInfoOffscreenPanoramaTexture {
+            public const nint m_bDisabled = 0x568; // bool
+            public const nint m_nResolutionX = 0x56C; // int32
+            public const nint m_nResolutionY = 0x570; // int32
+            public const nint m_szLayoutFileName = 0x578; // CUtlSymbolLarge
+            public const nint m_RenderAttrName = 0x580; // CUtlSymbolLarge
+            public const nint m_TargetEntities = 0x588; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+            public const nint m_nTargetChangeCount = 0x5A0; // int32
+            public const nint m_vecCSSClasses = 0x5A8; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+            public const nint m_bCheckCSSClasses = 0x720; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_Flags (uint8)
+        // NetworkVarNames: m_LightStyle (uint8)
+        // NetworkVarNames: m_Radius (float32)
+        // NetworkVarNames: m_Exponent (int32)
+        // NetworkVarNames: m_InnerAngle (float32)
+        // NetworkVarNames: m_OuterAngle (float32)
+        // NetworkVarNames: m_SpotRadius (float32)
+        public static class C_DynamicLight {
+            public const nint m_Flags = 0xD28; // uint8
+            public const nint m_LightStyle = 0xD29; // uint8
+            public const nint m_Radius = 0xD2C; // float32
+            public const nint m_Exponent = 0xD30; // int32
+            public const nint m_InnerAngle = 0xD34; // float32
+            public const nint m_OuterAngle = 0xD38; // float32
+            public const nint m_SpotRadius = 0xD3C; // float32
+        }
+        // Parent: C_BasePlayerWeapon
+        // Field count: 73
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_flFireSequenceStartTime (float)
+        // NetworkVarNames: m_nFireSequenceStartTimeChange (int)
+        // NetworkVarNames: m_ePlayerFireEvent (PlayerAnimEvent_t)
+        // NetworkVarNames: m_ePlayerFireEventAttackType (WeaponAttackType_t)
+        // NetworkVarNames: m_iState (CSWeaponState_t)
+        // NetworkVarNames: m_nViewModelIndex (uint32)
+        // NetworkVarNames: m_flTimeWeaponIdle (GameTime_t)
+        // NetworkVarNames: m_weaponMode (CSWeaponMode)
+        // NetworkVarNames: m_fAccuracyPenalty (float)
+        // NetworkVarNames: m_iRecoilIndex (int)
+        // NetworkVarNames: m_flRecoilIndex (float)
+        // NetworkVarNames: m_bBurstMode (bool)
+        // NetworkVarNames: m_nPostponeFireReadyTicks (GameTick_t)
+        // NetworkVarNames: m_flPostponeFireReadyFrac (float)
+        // NetworkVarNames: m_bInReload (bool)
+        // NetworkVarNames: m_bReloadVisuallyComplete (bool)
+        // NetworkVarNames: m_flDroppedAtTime (GameTime_t)
+        // NetworkVarNames: m_bIsHauledBack (bool)
+        // NetworkVarNames: m_bSilencerOn (bool)
+        // NetworkVarNames: m_flTimeSilencerSwitchComplete (GameTime_t)
+        // NetworkVarNames: m_iOriginalTeamNumber (int)
+        // NetworkVarNames: m_iMostRecentTeamNumber (int)
+        // NetworkVarNames: m_bDroppedNearBuyZone (bool)
+        // NetworkVarNames: m_nextPrevOwnerUseTime (GameTime_t)
+        // NetworkVarNames: m_hPrevOwner (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_nDropTick (GameTick_t)
+        // NetworkVarNames: m_fLastShotTime (GameTime_t)
+        // NetworkVarNames: m_iIronSightMode (int)
+        // NetworkVarNames: m_iNumEmptyAttacks (int)
+        public static class C_CSWeaponBase {
+            public const nint m_flFireSequenceStartTime = 0x16DC; // float32
+            public const nint m_nFireSequenceStartTimeChange = 0x16E0; // int32
+            public const nint m_nFireSequenceStartTimeAck = 0x16E4; // int32
+            public const nint m_ePlayerFireEvent = 0x16E8; // PlayerAnimEvent_t
+            public const nint m_ePlayerFireEventAttackType = 0x16EC; // WeaponAttackType_t
+            public const nint m_seqIdle = 0x16F0; // HSequence
+            public const nint m_seqFirePrimary = 0x16F4; // HSequence
+            public const nint m_seqFireSecondary = 0x16F8; // HSequence
+            public const nint m_thirdPersonFireSequences = 0x1700; // CUtlVector<HSequence>
+            public const nint m_hCurrentThirdPersonSequence = 0x1718; // HSequence
+            public const nint m_nSilencerBoneIndex = 0x171C; // int32
+            public const nint m_thirdPersonSequences = 0x1720; // HSequence[7]
+            public const nint m_ClientPreviousWeaponState = 0x1758; // CSWeaponState_t
+            public const nint m_iState = 0x175C; // CSWeaponState_t
+            public const nint m_flCrosshairDistance = 0x1760; // float32
+            public const nint m_iAmmoLastCheck = 0x1764; // int32
+            public const nint m_iAlpha = 0x1768; // int32
+            public const nint m_iScopeTextureID = 0x176C; // int32
+            public const nint m_iCrosshairTextureID = 0x1770; // int32
+            public const nint m_flGunAccuracyPositionDeprecated = 0x1774; // float32
+            public const nint m_nLastEmptySoundCmdNum = 0x1778; // int32
+            public const nint m_nViewModelIndex = 0x177C; // uint32
+            public const nint m_bReloadsWithClips = 0x1780; // bool
+            public const nint m_flTimeWeaponIdle = 0x1784; // GameTime_t
+            public const nint m_bFireOnEmpty = 0x1788; // bool
+            public const nint m_OnPlayerPickup = 0x1790; // CEntityIOOutput
+            public const nint m_weaponMode = 0x17B8; // CSWeaponMode
+            public const nint m_flTurningInaccuracyDelta = 0x17BC; // float32
+            public const nint m_vecTurningInaccuracyEyeDirLast = 0x17C0; // Vector
+            public const nint m_flTurningInaccuracy = 0x17CC; // float32
+            public const nint m_fAccuracyPenalty = 0x17D0; // float32
+            public const nint m_flLastAccuracyUpdateTime = 0x17D4; // GameTime_t
+            public const nint m_fAccuracySmoothedForZoom = 0x17D8; // float32
+            public const nint m_fScopeZoomEndTime = 0x17DC; // GameTime_t
+            public const nint m_iRecoilIndex = 0x17E0; // int32
+            public const nint m_flRecoilIndex = 0x17E4; // float32
+            public const nint m_bBurstMode = 0x17E8; // bool
+            public const nint m_flLastBurstModeChangeTime = 0x17EC; // GameTime_t
+            public const nint m_nPostponeFireReadyTicks = 0x17F0; // GameTick_t
+            public const nint m_flPostponeFireReadyFrac = 0x17F4; // float32
+            public const nint m_bInReload = 0x17F8; // bool
+            public const nint m_bReloadVisuallyComplete = 0x17F9; // bool
+            public const nint m_flDroppedAtTime = 0x17FC; // GameTime_t
+            public const nint m_bIsHauledBack = 0x1800; // bool
+            public const nint m_bSilencerOn = 0x1801; // bool
+            public const nint m_flTimeSilencerSwitchComplete = 0x1804; // GameTime_t
+            public const nint m_iOriginalTeamNumber = 0x1808; // int32
+            public const nint m_iMostRecentTeamNumber = 0x180C; // int32
+            public const nint m_bDroppedNearBuyZone = 0x1810; // bool
+            public const nint m_flNextAttackRenderTimeOffset = 0x1814; // float32
+            public const nint m_bClearWeaponIdentifyingUGC = 0x18B0; // bool
+            public const nint m_bVisualsDataSet = 0x18B1; // bool
+            public const nint m_bOldFirstPersonSpectatedState = 0x18B2; // bool
+            public const nint m_bUIWeapon = 0x18B3; // bool
+            public const nint m_nCustomEconReloadEventId = 0x18B4; // int32
+            public const nint m_nextPrevOwnerUseTime = 0x18C0; // GameTime_t
+            public const nint m_hPrevOwner = 0x18C4; // CHandle<C_CSPlayerPawn>
+            public const nint m_nDropTick = 0x18C8; // GameTick_t
+            public const nint m_donated = 0x18EC; // bool
+            public const nint m_fLastShotTime = 0x18F0; // GameTime_t
+            public const nint m_bWasOwnedByCT = 0x18F4; // bool
+            public const nint m_bWasOwnedByTerrorist = 0x18F5; // bool
+            public const nint m_gunHeat = 0x18F8; // float32
+            public const nint m_smokeAttachments = 0x18FC; // uint32
+            public const nint m_lastSmokeTime = 0x1900; // GameTime_t
+            public const nint m_flNextClientFireBulletTime = 0x1904; // float32
+            public const nint m_flNextClientFireBulletTime_Repredict = 0x1908; // float32
+            public const nint m_IronSightController = 0x19E0; // C_IronSightController
+            public const nint m_iIronSightMode = 0x1A90; // int32
+            public const nint m_flLastLOSTraceFailureTime = 0x1AA0; // GameTime_t
+            public const nint m_iNumEmptyAttacks = 0x1AA4; // int32
+            public const nint m_flLastMagDropRequestTime = 0x1B00; // GameTime_t
+            public const nint m_flWatTickOffset = 0x1B04; // float32
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_TriggerVolume {
+        }
+        // Parent: C_FuncBrush
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_EffectName (string_t)
+        // NetworkVarNames: m_bState (bool)
+        public static class C_FuncElectrifiedVolume {
+            public const nint m_nAmbientEffect = 0xD28; // ParticleIndex_t
+            public const nint m_EffectName = 0xD30; // CUtlSymbolLarge
+            public const nint m_bState = 0xD38; // bool
+        }
+        // Parent: CPlayer_WeaponServices
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_flNextAttack (GameTime_t)
+        // NetworkVarNames: m_bIsLookingAtWeapon (bool)
+        // NetworkVarNames: m_bIsHoldingLookAtWeapon (bool)
+        public static class CCSPlayer_WeaponServices {
+            public const nint m_flNextAttack = 0xB8; // GameTime_t
+            public const nint m_bIsLookingAtWeapon = 0xBC; // bool
+            public const nint m_bIsHoldingLookAtWeapon = 0xBD; // bool
+            public const nint m_nOldShootPositionHistoryCount = 0xC0; // uint32
+            public const nint m_nOldInputHistoryCount = 0x458; // uint32
+        }
+        // Parent: C_BaseEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFadeStartDist (float32)
+        // NetworkVarNames: m_flFadeEndDist (float32)
+        public static class C_EnvDetailController {
+            public const nint m_flFadeStartDist = 0x568; // float32
+            public const nint m_flFadeEndDist = 0x56C; // float32
+        }
+        // Parent: CEntityInstance
+        // Field count: 82
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_CBodyComponent (CBodyComponent::Storage_t)
+        // NetworkVarNames: m_iMaxHealth (int32)
+        // NetworkVarNames: m_iHealth (int32)
+        // NetworkVarNames: m_lifeState (uint8)
+        // NetworkVarNames: m_bTakesDamage (bool)
+        // NetworkVarNames: m_nTakeDamageFlags (TakeDamageFlags_t)
+        // NetworkVarNames: m_nPlatformType (EntityPlatformTypes_t)
+        // NetworkVarNames: m_ubInterpolationFrame (uint8)
+        // NetworkVarNames: m_nSubclassID (EntitySubclassID_t)
+        // NetworkVarNames: m_flAnimTime (float32)
+        // NetworkVarNames: m_flSimulationTime (float32)
+        // NetworkVarNames: m_flCreateTime (GameTime_t)
+        // NetworkVarNames: m_flSpeed (float)
+        // NetworkVarNames: m_bClientSideRagdoll (bool)
+        // NetworkVarNames: m_iTeamNum (uint8)
+        // NetworkVarNames: m_spawnflags (uint32)
+        // NetworkVarNames: m_nNextThinkTick (GameTick_t)
+        // NetworkVarNames: m_fFlags (uint32)
+        // NetworkVarNames: m_vecBaseVelocity (Vector)
+        // NetworkVarNames: m_hEffectEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hOwnerEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_MoveCollide (MoveCollide_t)
+        // NetworkVarNames: m_MoveType (MoveType_t)
+        // NetworkVarNames: m_flWaterLevel (float32)
+        // NetworkVarNames: m_fEffects (uint32)
+        // NetworkVarNames: m_hGroundEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nGroundBodyIndex (int)
+        // NetworkVarNames: m_flFriction (float32)
+        // NetworkVarNames: m_flElasticity (float32)
+        // NetworkVarNames: m_flGravityScale (float32)
+        // NetworkVarNames: m_flTimeScale (float32)
+        // NetworkVarNames: m_bAnimatedEveryTick (bool)
+        // NetworkVarNames: m_flNavIgnoreUntilTime (GameTime_t)
+        // NetworkVarNames: m_nBloodType (BloodType)
+        public static class C_BaseEntity {
+            public const nint m_CBodyComponent = 0x38; // CBodyComponent*
+            public const nint m_NetworkTransmitComponent = 0x40; // CNetworkTransmitComponent
+            public const nint m_nLastThinkTick = 0x320; // GameTick_t
+            public const nint m_pGameSceneNode = 0x328; // CGameSceneNode*
+            public const nint m_pRenderComponent = 0x330; // CRenderComponent*
+            public const nint m_pCollision = 0x338; // CCollisionProperty*
+            public const nint m_iMaxHealth = 0x340; // int32
+            public const nint m_iHealth = 0x344; // int32
+            public const nint m_lifeState = 0x348; // uint8
+            public const nint m_bTakesDamage = 0x349; // bool
+            public const nint m_nTakeDamageFlags = 0x350; // TakeDamageFlags_t
+            public const nint m_nPlatformType = 0x358; // EntityPlatformTypes_t
+            public const nint m_ubInterpolationFrame = 0x359; // uint8
+            public const nint m_hSceneObjectController = 0x35C; // CHandle<C_BaseEntity>
+            public const nint m_nNoInterpolationTick = 0x360; // int32
+            public const nint m_nVisibilityNoInterpolationTick = 0x364; // int32
+            public const nint m_flProxyRandomValue = 0x368; // float32
+            public const nint m_iEFlags = 0x36C; // int32
+            public const nint m_nWaterType = 0x370; // uint8
+            public const nint m_bInterpolateEvenWithNoModel = 0x371; // bool
+            public const nint m_bPredictionEligible = 0x372; // bool
+            public const nint m_bApplyLayerMatchIDToModel = 0x373; // bool
+            public const nint m_tokLayerMatchID = 0x374; // CUtlStringToken
+            public const nint m_nSubclassID = 0x378; // CUtlStringToken
+            public const nint m_nSimulationTick = 0x388; // int32
+            public const nint m_iCurrentThinkContext = 0x38C; // int32
+            public const nint m_aThinkFunctions = 0x390; // CUtlVector<thinkfunc_t>
+            public const nint m_bDisabledContextThinks = 0x3A8; // bool
+            public const nint m_flAnimTime = 0x3AC; // float32
+            public const nint m_flSimulationTime = 0x3B0; // float32
+            public const nint m_nSceneObjectOverrideFlags = 0x3B4; // uint8
+            public const nint m_bHasSuccessfullyInterpolated = 0x3B5; // bool
+            public const nint m_bHasAddedVarsToInterpolation = 0x3B6; // bool
+            public const nint m_bRenderEvenWhenNotSuccessfullyInterpolated = 0x3B7; // bool
+            public const nint m_nInterpolationLatchDirtyFlags = 0x3B8; // int32[2]
+            public const nint m_ListEntry = 0x3C0; // uint16[11]
+            public const nint m_flCreateTime = 0x3D8; // GameTime_t
+            public const nint m_flSpeed = 0x3DC; // float32
+            public const nint m_EntClientFlags = 0x3E0; // uint16
+            public const nint m_bClientSideRagdoll = 0x3E2; // bool
+            public const nint m_iTeamNum = 0x3E3; // uint8
+            public const nint m_spawnflags = 0x3E4; // uint32
+            public const nint m_nNextThinkTick = 0x3E8; // GameTick_t
+            public const nint m_fFlags = 0x3EC; // uint32
+            public const nint m_vecAbsVelocity = 0x3F0; // Vector
+            public const nint m_vecVelocity = 0x400; // CNetworkVelocityVector
+            public const nint m_vecBaseVelocity = 0x430; // Vector
+            public const nint m_hEffectEntity = 0x43C; // CHandle<C_BaseEntity>
+            public const nint m_hOwnerEntity = 0x440; // CHandle<C_BaseEntity>
+            public const nint m_MoveCollide = 0x444; // MoveCollide_t
+            public const nint m_MoveType = 0x445; // MoveType_t
+            public const nint m_nActualMoveType = 0x446; // MoveType_t
+            public const nint m_flWaterLevel = 0x448; // float32
+            public const nint m_fEffects = 0x44C; // uint32
+            public const nint m_hGroundEntity = 0x450; // CHandle<C_BaseEntity>
+            public const nint m_nGroundBodyIndex = 0x454; // int32
+            public const nint m_flFriction = 0x458; // float32
+            public const nint m_flElasticity = 0x45C; // float32
+            public const nint m_flGravityScale = 0x460; // float32
+            public const nint m_flTimeScale = 0x464; // float32
+            public const nint m_bAnimatedEveryTick = 0x468; // bool
+            public const nint m_flNavIgnoreUntilTime = 0x46C; // GameTime_t
+            public const nint m_hThink = 0x470; // uint16
+            public const nint m_fBBoxVisFlags = 0x480; // uint8
+            public const nint m_bPredictable = 0x481; // bool
+            public const nint m_bRenderWithViewModels = 0x482; // bool
+            public const nint m_nSplitUserPlayerPredictionSlot = 0x484; // CSplitScreenSlot
+            public const nint m_nFirstPredictableCommand = 0x488; // int32
+            public const nint m_nLastPredictableCommand = 0x48C; // int32
+            public const nint m_hOldMoveParent = 0x490; // CHandle<C_BaseEntity>
+            public const nint m_Particles = 0x498; // CParticleProperty
+            public const nint m_vecPredictedScriptFloats = 0x4C0; // CUtlVector<float32>
+            public const nint m_vecPredictedScriptFloatIDs = 0x4D8; // CUtlVector<int32>
+            public const nint m_nNextScriptVarRecordID = 0x508; // int32
+            public const nint m_vecAngVelocity = 0x518; // QAngle
+            public const nint m_DataChangeEventRef = 0x524; // int32
+            public const nint m_dependencies = 0x528; // CUtlVector<CEntityHandle>
+            public const nint m_nCreationTick = 0x540; // int32
+            public const nint m_bAnimTimeChanged = 0x54D; // bool
+            public const nint m_bSimulationTimeChanged = 0x54E; // bool
+            public const nint m_sUniqueHammerID = 0x558; // CUtlString
+            public const nint m_nBloodType = 0x560; // BloodType
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_nameStringableIndex (int32)
+        public static class CEntityIdentity {
+            public const nint m_nameStringableIndex = 0x14; // int32
+            public const nint m_name = 0x18; // CUtlSymbolLarge
+            public const nint m_designerName = 0x20; // CUtlSymbolLarge
+            public const nint m_flags = 0x30; // uint32
+            public const nint m_worldGroupId = 0x38; // WorldGroupId_t
+            public const nint m_fDataObjectTypes = 0x3C; // uint32
+            public const nint m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t
+            public const nint m_pPrev = 0x58; // CEntityIdentity*
+            public const nint m_pNext = 0x60; // CEntityIdentity*
+            public const nint m_pPrevByClass = 0x68; // CEntityIdentity*
+            public const nint m_pNextByClass = 0x70; // CEntityIdentity*
+        }
+        // Parent: C_CS2WeaponModuleBase
+        // Field count: 1
+        public static class C_StattrakModule {
+            public const nint m_bKnife = 0xF90; // bool
+        }
+        // Parent: C_BreakableProp
+        // Field count: 1
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_bAwake (bool)
+        public static class C_PhysicsProp {
+            public const nint m_bAwake = 0x1110; // bool
+        }
+        // Parent: CBaseProp
+        // Field count: 29
+        //
+        // Metadata:
+        // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+        // NetworkVarNames: m_noGhostCollision (bool)
+        public static class C_BreakableProp {
+            public const nint m_CPropDataComponent = 0xFC8; // CPropDataComponent
+            public const nint m_OnBreak = 0x1008; // CEntityIOOutput
+            public const nint m_OnHealthChanged = 0x1030; // CEntityOutputTemplate<float32>
+            public const nint m_OnTakeDamage = 0x1058; // CEntityIOOutput
+            public const nint m_impactEnergyScale = 0x1080; // float32
+            public const nint m_iMinHealthDmg = 0x1084; // int32
+            public const nint m_flPressureDelay = 0x1088; // float32
+            public const nint m_flDefBurstScale = 0x108C; // float32
+            public const nint m_vDefBurstOffset = 0x1090; // Vector
+            public const nint m_hBreaker = 0x109C; // CHandle<C_BaseEntity>
+            public const nint m_PerformanceMode = 0x10A0; // PerformanceMode_t
+            public const nint m_flPreventDamageBeforeTime = 0x10A4; // GameTime_t
+            public const nint m_BreakableContentsType = 0x10A8; // BreakableContentsType_t
+            public const nint m_strBreakableContentsPropGroupOverride = 0x10B0; // CUtlString
+            public const nint m_strBreakableContentsParticleOverride = 0x10B8; // CUtlString
+            public const nint m_bHasBreakPiecesOrCommands = 0x10C0; // bool
+            public const nint m_explodeDamage = 0x10C4; // float32
+            public const nint m_explodeRadius = 0x10C8; // float32
+            public const nint m_explosionDelay = 0x10D0; // float32
+            public const nint m_explosionBuildupSound = 0x10D8; // CUtlSymbolLarge
+            public const nint m_explosionCustomEffect = 0x10E0; // CUtlSymbolLarge
+            public const nint m_explosionCustomSound = 0x10E8; // CUtlSymbolLarge
+            public const nint m_explosionModifier = 0x10F0; // CUtlSymbolLarge
+            public const nint m_hPhysicsAttacker = 0x10F8; // CHandle<C_BasePlayerPawn>
+            public const nint m_flLastPhysicsInfluenceTime = 0x10FC; // GameTime_t
+            public const nint m_flDefaultFadeScale = 0x1100; // float32
+            public const nint m_hLastAttacker = 0x1104; // CHandle<C_BaseEntity>
+            public const nint m_hFlareEnt = 0x1108; // CHandle<C_BaseEntity>
+            public const nint m_noGhostCollision = 0x110C; // bool
+        }
+        // Parent: C_BaseToggle
+        // Field count: 0
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        public static class C_FuncMoveLinear {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        // NetworkVarNames: m_flFrameRate (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        // NetworkVarNames: m_nNumBeamEnts (uint8)
+        // NetworkVarNames: m_hBaseMaterial (HMaterialStrong)
+        // NetworkVarNames: m_nHaloIndex (HMaterialStrong)
+        // NetworkVarNames: m_nBeamType (BeamType_t)
+        // NetworkVarNames: m_nBeamFlags (uint32)
+        // NetworkVarNames: m_hAttachEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nAttachIndex (AttachmentHandle_t)
+        // NetworkVarNames: m_fWidth (float32)
+        // NetworkVarNames: m_fEndWidth (float32)
+        // NetworkVarNames: m_fFadeLength (float32)
+        // NetworkVarNames: m_fHaloScale (float32)
+        // NetworkVarNames: m_fAmplitude (float32)
+        // NetworkVarNames: m_fStartFrame (float32)
+        // NetworkVarNames: m_fSpeed (float32)
+        // NetworkVarNames: m_flFrame (float32)
+        // NetworkVarNames: m_nClipStyle (BeamClipStyle_t)
+        // NetworkVarNames: m_bTurnedOff (bool)
+        // NetworkVarNames: m_vecEndPos (Vector)
+        public static class C_Beam {
+            public const nint m_flFrameRate = 0xD28; // float32
+            public const nint m_flHDRColorScale = 0xD2C; // float32
+            public const nint m_flFireTime = 0xD30; // GameTime_t
+            public const nint m_flDamage = 0xD34; // float32
+            public const nint m_nNumBeamEnts = 0xD38; // uint8
+            public const nint m_queryHandleHalo = 0xD3C; // int32
+            public const nint m_hBaseMaterial = 0xD60; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nHaloIndex = 0xD68; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nBeamType = 0xD70; // BeamType_t
+            public const nint m_nBeamFlags = 0xD74; // uint32
+            public const nint m_hAttachEntity = 0xD78; // CHandle<C_BaseEntity>[10]
+            public const nint m_nAttachIndex = 0xDA0; // AttachmentHandle_t[10]
+            public const nint m_fWidth = 0xDAC; // float32
+            public const nint m_fEndWidth = 0xDB0; // float32
+            public const nint m_fFadeLength = 0xDB4; // float32
+            public const nint m_fHaloScale = 0xDB8; // float32
+            public const nint m_fAmplitude = 0xDBC; // float32
+            public const nint m_fStartFrame = 0xDC0; // float32
+            public const nint m_fSpeed = 0xDC4; // float32
+            public const nint m_flFrame = 0xDC8; // float32
+            public const nint m_nClipStyle = 0xDCC; // BeamClipStyle_t
+            public const nint m_bTurnedOff = 0xDD0; // bool
+            public const nint m_vecEndPos = 0xDD4; // Vector
+            public const nint m_hEndEntity = 0xDE0; // CHandle<C_BaseEntity>
+        }
+        // Parent: C_BaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_nVariant (int)
+        // NetworkVarNames: m_nRandom (int)
+        // NetworkVarNames: m_nOrdinal (int)
+        // NetworkVarNames: m_sWeaponName (CUtlString)
+        // NetworkVarNames: m_xuid (XUID)
+        // NetworkVarNames: m_agentItem (CEconItemView)
+        // NetworkVarNames: m_glovesItem (CEconItemView)
+        // NetworkVarNames: m_weaponItem (CEconItemView)
+        public static class C_CSGO_TeamPreviewCharacterPosition {
+            public const nint m_nVariant = 0x568; // int32
+            public const nint m_nRandom = 0x56C; // int32
+            public const nint m_nOrdinal = 0x570; // int32
+            public const nint m_sWeaponName = 0x578; // CUtlString
+            public const nint m_xuid = 0x580; // uint64
+            public const nint m_agentItem = 0x588; // C_EconItemView
+            public const nint m_glovesItem = 0x9D0; // C_EconItemView
+            public const nint m_weaponItem = 0xE18; // C_EconItemView
+        }
+        // Parent: C_DynamicProp
+        // Field count: 0
+        public static class C_DynamicPropAlias_prop_dynamic_override {
+        }
+        // Parent: C_PointEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszOverlayNames (string_t)
+        // NetworkVarNames: m_flOverlayTimes (float32)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_iDesiredOverlay (int32)
+        // NetworkVarNames: m_bIsActive (bool)
+        public static class C_EnvScreenOverlay {
+            public const nint m_iszOverlayNames = 0x568; // CUtlSymbolLarge[10]
+            public const nint m_flOverlayTimes = 0x5B8; // float32[10]
+            public const nint m_flStartTime = 0x5E0; // GameTime_t
+            public const nint m_iDesiredOverlay = 0x5E4; // int32
+            public const nint m_bIsActive = 0x5E8; // bool
+            public const nint m_bWasActive = 0x5E9; // bool
+            public const nint m_iCachedDesiredOverlay = 0x5EC; // int32
+            public const nint m_iCurrentOverlay = 0x5F0; // int32
+            public const nint m_flCurrentOverlayTime = 0x5F4; // GameTime_t
+        }
+        // Parent: CBasePlayerWeaponVData
+        // Field count: 92
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertySuppressBaseClassField
+        // MPropertySuppressBaseClassField
+        public static class CCSWeaponBaseVData {
+            public const nint m_WeaponType = 0x348; // CSWeaponType
+            public const nint m_WeaponCategory = 0x34C; // CSWeaponCategory
+            public const nint m_szViewModel = 0x350; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szPlayerModel = 0x430; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szWorldDroppedModel = 0x510; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szAimsightLensMaskModel = 0x5F0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szMagazineModel = 0x6D0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szHeatEffect = 0x7B0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szEjectBrassEffect = 0x890; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szMuzzleFlashParticleAlt = 0x970; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szMuzzleFlashThirdPersonParticle = 0xA50; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szMuzzleFlashThirdPersonParticleAlt = 0xB30; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szTracerParticle = 0xC10; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_GearSlot = 0xCF0; // gear_slot_t
+            public const nint m_GearSlotPosition = 0xCF4; // int32
+            public const nint m_DefaultLoadoutSlot = 0xCF8; // loadout_slot_t
+            public const nint m_sWrongTeamMsg = 0xD00; // CUtlString
+            public const nint m_nPrice = 0xD08; // int32
+            public const nint m_nKillAward = 0xD0C; // int32
+            public const nint m_nPrimaryReserveAmmoMax = 0xD10; // int32
+            public const nint m_nSecondaryReserveAmmoMax = 0xD14; // int32
+            public const nint m_bMeleeWeapon = 0xD18; // bool
+            public const nint m_bHasBurstMode = 0xD19; // bool
+            public const nint m_bIsRevolver = 0xD1A; // bool
+            public const nint m_bCannotShootUnderwater = 0xD1B; // bool
+            public const nint m_szName = 0xD20; // CGlobalSymbol
+            public const nint m_szAnimExtension = 0xD28; // CUtlString
+            public const nint m_eSilencerType = 0xD30; // CSWeaponSilencerType
+            public const nint m_nCrosshairMinDistance = 0xD34; // int32
+            public const nint m_nCrosshairDeltaDistance = 0xD38; // int32
+            public const nint m_bIsFullAuto = 0xD3C; // bool
+            public const nint m_nNumBullets = 0xD40; // int32
+            public const nint m_flCycleTime = 0xD44; // CFiringModeFloat
+            public const nint m_flMaxSpeed = 0xD4C; // CFiringModeFloat
+            public const nint m_flSpread = 0xD54; // CFiringModeFloat
+            public const nint m_flInaccuracyCrouch = 0xD5C; // CFiringModeFloat
+            public const nint m_flInaccuracyStand = 0xD64; // CFiringModeFloat
+            public const nint m_flInaccuracyJump = 0xD6C; // CFiringModeFloat
+            public const nint m_flInaccuracyLand = 0xD74; // CFiringModeFloat
+            public const nint m_flInaccuracyLadder = 0xD7C; // CFiringModeFloat
+            public const nint m_flInaccuracyFire = 0xD84; // CFiringModeFloat
+            public const nint m_flInaccuracyMove = 0xD8C; // CFiringModeFloat
+            public const nint m_flRecoilAngle = 0xD94; // CFiringModeFloat
+            public const nint m_flRecoilAngleVariance = 0xD9C; // CFiringModeFloat
+            public const nint m_flRecoilMagnitude = 0xDA4; // CFiringModeFloat
+            public const nint m_flRecoilMagnitudeVariance = 0xDAC; // CFiringModeFloat
+            public const nint m_nTracerFrequency = 0xDB4; // CFiringModeInt
+            public const nint m_flInaccuracyJumpInitial = 0xDBC; // float32
+            public const nint m_flInaccuracyJumpApex = 0xDC0; // float32
+            public const nint m_flInaccuracyReload = 0xDC4; // float32
+            public const nint m_nRecoilSeed = 0xDC8; // int32
+            public const nint m_nSpreadSeed = 0xDCC; // int32
+            public const nint m_flTimeToIdleAfterFire = 0xDD0; // float32
+            public const nint m_flIdleInterval = 0xDD4; // float32
+            public const nint m_flAttackMovespeedFactor = 0xDD8; // float32
+            public const nint m_flHeatPerShot = 0xDDC; // float32
+            public const nint m_flInaccuracyPitchShift = 0xDE0; // float32
+            public const nint m_flInaccuracyAltSoundThreshold = 0xDE4; // float32
+            public const nint m_flBotAudibleRange = 0xDE8; // float32
+            public const nint m_szUseRadioSubtitle = 0xDF0; // CUtlString
+            public const nint m_bUnzoomsAfterShot = 0xDF8; // bool
+            public const nint m_bHideViewModelWhenZoomed = 0xDF9; // bool
+            public const nint m_nZoomLevels = 0xDFC; // int32
+            public const nint m_nZoomFOV1 = 0xE00; // int32
+            public const nint m_nZoomFOV2 = 0xE04; // int32
+            public const nint m_flZoomTime0 = 0xE08; // float32
+            public const nint m_flZoomTime1 = 0xE0C; // float32
+            public const nint m_flZoomTime2 = 0xE10; // float32
+            public const nint m_flIronSightPullUpSpeed = 0xE14; // float32
+            public const nint m_flIronSightPutDownSpeed = 0xE18; // float32
+            public const nint m_flIronSightFOV = 0xE1C; // float32
+            public const nint m_flIronSightPivotForward = 0xE20; // float32
+            public const nint m_flIronSightLooseness = 0xE24; // float32
+            public const nint m_angPivotAngle = 0xE28; // QAngle
+            public const nint m_vecIronSightEyePos = 0xE34; // Vector
+            public const nint m_nDamage = 0xE40; // int32
+            public const nint m_flHeadshotMultiplier = 0xE44; // float32
+            public const nint m_flArmorRatio = 0xE48; // float32
+            public const nint m_flPenetration = 0xE4C; // float32
+            public const nint m_flRange = 0xE50; // float32
+            public const nint m_flRangeModifier = 0xE54; // float32
+            public const nint m_flFlinchVelocityModifierLarge = 0xE58; // float32
+            public const nint m_flFlinchVelocityModifierSmall = 0xE5C; // float32
+            public const nint m_flRecoveryTimeCrouch = 0xE60; // float32
+            public const nint m_flRecoveryTimeStand = 0xE64; // float32
+            public const nint m_flRecoveryTimeCrouchFinal = 0xE68; // float32
+            public const nint m_flRecoveryTimeStandFinal = 0xE6C; // float32
+            public const nint m_nRecoveryTransitionStartBullet = 0xE70; // int32
+            public const nint m_nRecoveryTransitionEndBullet = 0xE74; // int32
+            public const nint m_flThrowVelocity = 0xE78; // float32
+            public const nint m_vSmokeColor = 0xE7C; // Vector
+            public const nint m_szAnimClass = 0xE88; // CGlobalSymbol
+        }
+        // Parent: C_ModelPointEntity
+        // Field count: 17
+        //
+        // Metadata:
+        // NetworkVarNames: m_messageText (char)
+        // NetworkVarNames: m_FontName (char)
+        // NetworkVarNames: m_BackgroundMaterialName (char)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bFullbright (bool)
+        // NetworkVarNames: m_flWorldUnitsPerPx (float)
+        // NetworkVarNames: m_flFontSize (float)
+        // NetworkVarNames: m_flDepthOffset (float)
+        // NetworkVarNames: m_bDrawBackground (bool)
+        // NetworkVarNames: m_flBackgroundBorderWidth (float)
+        // NetworkVarNames: m_flBackgroundBorderHeight (float)
+        // NetworkVarNames: m_flBackgroundWorldToUV (float)
+        // NetworkVarNames: m_Color (Color)
+        // NetworkVarNames: m_nJustifyHorizontal (PointWorldTextJustifyHorizontal_t)
+        // NetworkVarNames: m_nJustifyVertical (PointWorldTextJustifyVertical_t)
+        // NetworkVarNames: m_nReorientMode (PointWorldTextReorientMode_t)
+        public static class C_PointWorldText {
+            public const nint m_bForceRecreateNextUpdate = 0xD30; // bool
+            public const nint m_messageText = 0xD48; // char[512]
+            public const nint m_FontName = 0xF48; // char[64]
+            public const nint m_BackgroundMaterialName = 0xF88; // char[64]
+            public const nint m_bEnabled = 0xFC8; // bool
+            public const nint m_bFullbright = 0xFC9; // bool
+            public const nint m_flWorldUnitsPerPx = 0xFCC; // float32
+            public const nint m_flFontSize = 0xFD0; // float32
+            public const nint m_flDepthOffset = 0xFD4; // float32
+            public const nint m_bDrawBackground = 0xFD8; // bool
+            public const nint m_flBackgroundBorderWidth = 0xFDC; // float32
+            public const nint m_flBackgroundBorderHeight = 0xFE0; // float32
+            public const nint m_flBackgroundWorldToUV = 0xFE4; // float32
+            public const nint m_Color = 0xFE8; // Color
+            public const nint m_nJustifyHorizontal = 0xFEC; // PointWorldTextJustifyHorizontal_t
+            public const nint m_nJustifyVertical = 0xFF0; // PointWorldTextJustifyVertical_t
+            public const nint m_nReorientMode = 0xFF4; // PointWorldTextReorientMode_t
+        }
+        // Parent: CBasePlayerController
+        // Field count: 66
+        //
+        // Metadata:
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // NetworkVarNames: m_pInGameMoneyServices (CCSPlayerController_InGameMoneyServices*)
+        // NetworkVarNames: m_pInventoryServices (CCSPlayerController_InventoryServices*)
+        // NetworkVarNames: m_pActionTrackingServices (CCSPlayerController_ActionTrackingServices*)
+        // NetworkVarNames: m_pDamageServices (CCSPlayerController_DamageServices*)
+        // NetworkVarNames: m_iPing (uint32)
+        // NetworkVarNames: m_bHasCommunicationAbuseMute (bool)
+        // NetworkVarNames: m_szCrosshairCodes (string_t)
+        // NetworkVarNames: m_iPendingTeamNum (uint8)
+        // NetworkVarNames: m_flForceTeamTime (GameTime_t)
+        // NetworkVarNames: m_iCompTeammateColor (int)
+        // NetworkVarNames: m_bEverPlayedOnTeam (bool)
+        // NetworkVarNames: m_szClan (string_t)
+        // NetworkVarNames: m_iCoachingTeam (int)
+        // NetworkVarNames: m_nPlayerDominated (uint64)
+        // NetworkVarNames: m_nPlayerDominatingMe (uint64)
+        // NetworkVarNames: m_iCompetitiveRanking (int)
+        // NetworkVarNames: m_iCompetitiveWins (int)
+        // NetworkVarNames: m_iCompetitiveRankType (int8)
+        // NetworkVarNames: m_iCompetitiveRankingPredicted_Win (int)
+        // NetworkVarNames: m_iCompetitiveRankingPredicted_Loss (int)
+        // NetworkVarNames: m_iCompetitiveRankingPredicted_Tie (int)
+        // NetworkVarNames: m_nEndMatchNextMapVote (int)
+        // NetworkVarNames: m_unActiveQuestId (uint16)
+        // NetworkVarNames: m_nQuestProgressReason (QuestProgress::Reason)
+        // NetworkVarNames: m_unPlayerTvControlFlags (uint32)
+        // NetworkVarNames: m_nDisconnectionTick (int)
+        // NetworkVarNames: m_bControllingBot (bool)
+        // NetworkVarNames: m_bHasControlledBotThisRound (bool)
+        // NetworkVarNames: m_bCanControlObservedBot (bool)
+        // NetworkVarNames: m_hPlayerPawn (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hObserverPawn (CHandle<CCSObserverPawn>)
+        // NetworkVarNames: m_bPawnIsAlive (bool)
+        // NetworkVarNames: m_iPawnHealth (uint32)
+        // NetworkVarNames: m_iPawnArmor (int)
+        // NetworkVarNames: m_bPawnHasDefuser (bool)
+        // NetworkVarNames: m_bPawnHasHelmet (bool)
+        // NetworkVarNames: m_nPawnCharacterDefIndex (item_definition_index_t)
+        // NetworkVarNames: m_iPawnLifetimeStart (int)
+        // NetworkVarNames: m_iPawnLifetimeEnd (int)
+        // NetworkVarNames: m_iPawnBotDifficulty (int)
+        // NetworkVarNames: m_hOriginalControllerOfCurrentPawn (CHandle<CCSPlayerController>)
+        // NetworkVarNames: m_iScore (int32)
+        // NetworkVarNames: m_recentKillQueue (uint8)
+        // NetworkVarNames: m_nFirstKill (uint8)
+        // NetworkVarNames: m_nKillCount (uint8)
+        // NetworkVarNames: m_bMvpNoMusic (bool)
+        // NetworkVarNames: m_eMvpReason (int)
+        // NetworkVarNames: m_iMusicKitID (int)
+        // NetworkVarNames: m_iMusicKitMVPs (int)
+        // NetworkVarNames: m_iMVPs (int)
+        // NetworkVarNames: m_bFireBulletsSeedSynchronized (bool)
+        public static class CCSPlayerController {
+            public const nint m_pInGameMoneyServices = 0x720; // CCSPlayerController_InGameMoneyServices*
+            public const nint m_pInventoryServices = 0x728; // CCSPlayerController_InventoryServices*
+            public const nint m_pActionTrackingServices = 0x730; // CCSPlayerController_ActionTrackingServices*
+            public const nint m_pDamageServices = 0x738; // CCSPlayerController_DamageServices*
+            public const nint m_iPing = 0x740; // uint32
+            public const nint m_bHasCommunicationAbuseMute = 0x744; // bool
+            public const nint m_szCrosshairCodes = 0x748; // CUtlSymbolLarge
+            public const nint m_iPendingTeamNum = 0x750; // uint8
+            public const nint m_flForceTeamTime = 0x754; // GameTime_t
+            public const nint m_iCompTeammateColor = 0x758; // int32
+            public const nint m_bEverPlayedOnTeam = 0x75C; // bool
+            public const nint m_flPreviousForceJoinTeamTime = 0x760; // GameTime_t
+            public const nint m_szClan = 0x768; // CUtlSymbolLarge
+            public const nint m_sSanitizedPlayerName = 0x770; // CUtlString
+            public const nint m_iCoachingTeam = 0x778; // int32
+            public const nint m_nPlayerDominated = 0x780; // uint64
+            public const nint m_nPlayerDominatingMe = 0x788; // uint64
+            public const nint m_iCompetitiveRanking = 0x790; // int32
+            public const nint m_iCompetitiveWins = 0x794; // int32
+            public const nint m_iCompetitiveRankType = 0x798; // int8
+            public const nint m_iCompetitiveRankingPredicted_Win = 0x79C; // int32
+            public const nint m_iCompetitiveRankingPredicted_Loss = 0x7A0; // int32
+            public const nint m_iCompetitiveRankingPredicted_Tie = 0x7A4; // int32
+            public const nint m_nEndMatchNextMapVote = 0x7A8; // int32
+            public const nint m_unActiveQuestId = 0x7AC; // uint16
+            public const nint m_nQuestProgressReason = 0x7B0; // QuestProgress::Reason
+            public const nint m_unPlayerTvControlFlags = 0x7B4; // uint32
+            public const nint m_iDraftIndex = 0x7E0; // int32
+            public const nint m_msQueuedModeDisconnectionTimestamp = 0x7E4; // uint32
+            public const nint m_uiAbandonRecordedReason = 0x7E8; // uint32
+            public const nint m_eNetworkDisconnectionReason = 0x7EC; // uint32
+            public const nint m_bCannotBeKicked = 0x7F0; // bool
+            public const nint m_bEverFullyConnected = 0x7F1; // bool
+            public const nint m_bAbandonAllowsSurrender = 0x7F2; // bool
+            public const nint m_bAbandonOffersInstantSurrender = 0x7F3; // bool
+            public const nint m_bDisconnection1MinWarningPrinted = 0x7F4; // bool
+            public const nint m_bScoreReported = 0x7F5; // bool
+            public const nint m_nDisconnectionTick = 0x7F8; // int32
+            public const nint m_bControllingBot = 0x808; // bool
+            public const nint m_bHasControlledBotThisRound = 0x809; // bool
+            public const nint m_bHasBeenControlledByPlayerThisRound = 0x80A; // bool
+            public const nint m_nBotsControlledThisRound = 0x80C; // int32
+            public const nint m_bCanControlObservedBot = 0x810; // bool
+            public const nint m_hPlayerPawn = 0x814; // CHandle<C_CSPlayerPawn>
+            public const nint m_hObserverPawn = 0x818; // CHandle<C_CSObserverPawn>
+            public const nint m_bPawnIsAlive = 0x81C; // bool
+            public const nint m_iPawnHealth = 0x820; // uint32
+            public const nint m_iPawnArmor = 0x824; // int32
+            public const nint m_bPawnHasDefuser = 0x828; // bool
+            public const nint m_bPawnHasHelmet = 0x829; // bool
+            public const nint m_nPawnCharacterDefIndex = 0x82A; // uint16
+            public const nint m_iPawnLifetimeStart = 0x82C; // int32
+            public const nint m_iPawnLifetimeEnd = 0x830; // int32
+            public const nint m_iPawnBotDifficulty = 0x834; // int32
+            public const nint m_hOriginalControllerOfCurrentPawn = 0x838; // CHandle<CCSPlayerController>
+            public const nint m_iScore = 0x83C; // int32
+            public const nint m_recentKillQueue = 0x840; // uint8[8]
+            public const nint m_nFirstKill = 0x848; // uint8
+            public const nint m_nKillCount = 0x849; // uint8
+            public const nint m_bMvpNoMusic = 0x84A; // bool
+            public const nint m_eMvpReason = 0x84C; // int32
+            public const nint m_iMusicKitID = 0x850; // int32
+            public const nint m_iMusicKitMVPs = 0x854; // int32
+            public const nint m_iMVPs = 0x858; // int32
+            public const nint m_bIsPlayerNameDirty = 0x85C; // bool
+            public const nint m_bFireBulletsSeedSynchronized = 0x85D; // bool
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponFiveSeven {
+        }
+        // Parent: C_DynamicProp
+        // Field count: 7
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_eDoorState (DoorState_t)
+        // NetworkVarNames: m_bLocked (bool)
+        // NetworkVarNames: m_closedPosition (Vector)
+        // NetworkVarNames: m_closedAngles (QAngle)
+        // NetworkVarNames: m_hMaster (CHandle<C_BasePropDoor>)
+        public static class C_BasePropDoor {
+            public const nint m_eDoorState = 0x1238; // DoorState_t
+            public const nint m_modelChanged = 0x123C; // bool
+            public const nint m_bLocked = 0x123D; // bool
+            public const nint m_closedPosition = 0x1240; // Vector
+            public const nint m_closedAngles = 0x124C; // QAngle
+            public const nint m_hMaster = 0x1258; // CHandle<C_BasePropDoor>
+            public const nint m_vWhereToSetLightingOrigin = 0x125C; // Vector
+        }
+        // Parent: C_CSGO_TeamSelectCharacterPosition
+        // Field count: 0
+        public static class C_CSGO_TeamSelectTerroristPosition {
+        }
+        // Parent: C_CS2WeaponModuleBase
+        // Field count: 1
+        public static class C_NametagModule {
+            public const nint m_strNametagString = 0xF90; // CUtlString
+        }
+        // Parent: C_BreakableProp
+        // Field count: 6
+        public static class C_PhysPropClientside {
+            public const nint m_flTouchDelta = 0x1110; // GameTime_t
+            public const nint m_fDeathTime = 0x1114; // GameTime_t
+            public const nint m_inertiaScale = 0x1118; // float32
+            public const nint m_vecDamagePosition = 0x111C; // Vector
+            public const nint m_vecDamageDirection = 0x1128; // Vector
+            public const nint m_nDamageType = 0x1134; // DamageTypes_t
+        }
+        // Parent: C_CSGO_TeamPreviewCamera
+        // Field count: 0
+        public static class C_CSGO_TeamSelectCamera {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_iszSoundAreaType (string_t)
+        // NetworkVarNames: m_vPos (Vector)
+        public static class C_SoundAreaEntityBase {
+            public const nint m_bDisabled = 0x568; // bool
+            public const nint m_bWasEnabled = 0x570; // bool
+            public const nint m_iszSoundAreaType = 0x578; // CUtlSymbolLarge
+            public const nint m_vPos = 0x580; // Vector
+        }
+        // Parent: C_BaseEntity
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_fog (fogparams_t)
+        public static class C_FogController {
+            public const nint m_fog = 0x568; // fogparams_t
+            public const nint m_bUseAngles = 0x5D0; // bool
+            public const nint m_iChangedVariables = 0x5D4; // int32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_ItemServices {
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_FuncBrush {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_worldName (string_t)
+        // NetworkVarNames: m_layerName (string_t)
+        // NetworkVarNames: m_bWorldLayerVisible (bool)
+        // NetworkVarNames: m_bEntitiesSpawned (bool)
+        public static class CInfoWorldLayer {
+            public const nint m_pOutputOnEntitiesSpawned = 0x568; // CEntityIOOutput
+            public const nint m_worldName = 0x590; // CUtlSymbolLarge
+            public const nint m_layerName = 0x598; // CUtlSymbolLarge
+            public const nint m_bWorldLayerVisible = 0x5A0; // bool
+            public const nint m_bEntitiesSpawned = 0x5A1; // bool
+            public const nint m_bCreateAsChildSpawnGroup = 0x5A2; // bool
+            public const nint m_hLayerSpawnGroup = 0x5A4; // uint32
+            public const nint m_bWorldLayerActuallyVisible = 0x5A8; // bool
+        }
+        // Parent: C_BaseCombatCharacter
+        // Field count: 0
+        public static class C_NetTestBaseCombatCharacter {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 2
+        public static class C_PhysMagnet {
+            public const nint m_aAttachedObjectsFromServer = 0xF88; // CUtlVector<int32>
+            public const nint m_aAttachedObjects = 0xFA0; // CUtlVector<CHandle<C_BaseEntity>>
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // NetworkVarNames: m_vecMoveDirEntitySpace (Vector)
+        // NetworkVarNames: m_flTargetSpeed (float32)
+        // NetworkVarNames: m_nTransitionStartTick (GameTick_t)
+        // NetworkVarNames: m_nTransitionDurationTicks (int)
+        // NetworkVarNames: m_flTransitionStartSpeed (float32)
+        // NetworkVarNames: m_hConveyorModels (EHANDLE)
+        public static class C_FuncConveyor {
+            public const nint m_vecMoveDirEntitySpace = 0xD30; // Vector
+            public const nint m_flTargetSpeed = 0xD3C; // float32
+            public const nint m_nTransitionStartTick = 0xD40; // GameTick_t
+            public const nint m_nTransitionDurationTicks = 0xD44; // int32
+            public const nint m_flTransitionStartSpeed = 0xD48; // float32
+            public const nint m_hConveyorModels = 0xD50; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
+            public const nint m_flCurrentConveyorOffset = 0xD68; // float32
+            public const nint m_flCurrentConveyorSpeed = 0xD6C; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_pEntity (CEntityIdentity*)
+        // NetworkVarNames: m_CScriptComponent (CScriptComponent::Storage_t)
+        public static class CEntityInstance {
+            public const nint m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge
+            public const nint m_pEntity = 0x10; // CEntityIdentity*
+            public const nint m_CScriptComponent = 0x28; // CScriptComponent*
+            public const nint m_bVisibleinPVS = 0x30; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        public static class ServerAuthoritativeWeaponSlot_t {
+            public const nint unClass = 0x28; // uint16
+            public const nint unSlot = 0x2A; // uint16
+            public const nint unItemDefIdx = 0x2C; // uint16
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CCSPlayer_DamageReactServices {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 16
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkOverride
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_nViewModelIndex (uint32)
+        // NetworkVarNames: m_nAnimationParity (uint32)
+        // NetworkVarNames: m_flAnimationStartTime (float32)
+        // NetworkVarNames: m_hWeapon (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+        public static class C_BaseViewModel {
+            public const nint m_vecLastFacing = 0xF90; // Vector
+            public const nint m_nViewModelIndex = 0xF9C; // uint32
+            public const nint m_nAnimationParity = 0xFA0; // uint32
+            public const nint m_flAnimationStartTime = 0xFA4; // float32
+            public const nint m_hWeapon = 0xFA8; // CHandle<C_BasePlayerWeapon>
+            public const nint m_sVMName = 0xFB0; // CUtlSymbolLarge
+            public const nint m_sAnimationPrefix = 0xFB8; // CUtlSymbolLarge
+            public const nint m_iCameraAttachment = 0xFC0; // AttachmentHandle_t
+            public const nint m_vecLastCameraAngles = 0xFC4; // QAngle
+            public const nint m_previousElapsedDuration = 0xFD0; // float32
+            public const nint m_previousCycle = 0xFD4; // float32
+            public const nint m_nOldAnimationParity = 0xFD8; // int32
+            public const nint m_hOldLayerSequence = 0xFDC; // HSequence
+            public const nint m_oldLayer = 0xFE0; // int32
+            public const nint m_oldLayerStartTime = 0xFE4; // float32
+            public const nint m_hControlPanel = 0xFE8; // CHandle<C_BaseEntity>
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_PortraitWorldCallbackHandler {
+        }
+        // Parent: CHostageRescueZoneShim
+        // Field count: 0
+        public static class CHostageRescueZone {
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponNegev {
+        }
+        // Parent: None
+        // Field count: 33
+        //
+        // Metadata:
+        // NetworkVarNames: m_hParent (CGameSceneNodeHandle)
+        // NetworkVarNames: m_vecOrigin (CNetworkOriginCellCoordQuantizedVector)
+        // NetworkVarNames: m_angRotation (QAngle)
+        // NetworkVarNames: m_flScale (float)
+        // NetworkVarNames: m_name (CUtlStringToken)
+        // NetworkVarNames: m_hierarchyAttachName (CUtlStringToken)
+        public static class CGameSceneNode {
+            public const nint m_nodeToWorld = 0x10; // CTransform
+            public const nint m_pOwner = 0x30; // CEntityInstance*
+            public const nint m_pParent = 0x38; // CGameSceneNode*
+            public const nint m_pChild = 0x40; // CGameSceneNode*
+            public const nint m_pNextSibling = 0x48; // CGameSceneNode*
+            public const nint m_hParent = 0x78; // CGameSceneNodeHandle
+            public const nint m_vecOrigin = 0x88; // CNetworkOriginCellCoordQuantizedVector
+            public const nint m_angRotation = 0xC0; // QAngle
+            public const nint m_flScale = 0xCC; // float32
+            public const nint m_vecAbsOrigin = 0xD0; // Vector
+            public const nint m_angAbsRotation = 0xDC; // QAngle
+            public const nint m_flAbsScale = 0xE8; // float32
+            public const nint m_nParentAttachmentOrBone = 0xEC; // int16
+            public const nint m_bDebugAbsOriginChanges = 0xEE; // bool
+            public const nint m_bDormant = 0xEF; // bool
+            public const nint m_bForceParentToBeNetworked = 0xF0; // bool
+            public const nint m_bDirtyHierarchy = 0x0; // bitfield:1
+            public const nint m_bDirtyBoneMergeInfo = 0x0; // bitfield:1
+            public const nint m_bNetworkedPositionChanged = 0x0; // bitfield:1
+            public const nint m_bNetworkedAnglesChanged = 0x0; // bitfield:1
+            public const nint m_bNetworkedScaleChanged = 0x0; // bitfield:1
+            public const nint m_bWillBeCallingPostDataUpdate = 0x0; // bitfield:1
+            public const nint m_bBoneMergeFlex = 0x0; // bitfield:1
+            public const nint m_nLatchAbsOrigin = 0x0; // bitfield:2
+            public const nint m_bDirtyBoneMergeBoneToRoot = 0x0; // bitfield:1
+            public const nint m_nHierarchicalDepth = 0xF3; // uint8
+            public const nint m_nHierarchyType = 0xF4; // uint8
+            public const nint m_nDoNotSetAnimTimeInInvalidatePhysicsCount = 0xF5; // uint8
+            public const nint m_name = 0xF8; // CUtlStringToken
+            public const nint m_hierarchyAttachName = 0x138; // CUtlStringToken
+            public const nint m_flZOffset = 0x13C; // float32
+            public const nint m_flClientLocalScale = 0x140; // float32
+            public const nint m_vRenderOrigin = 0x144; // Vector
+        }
+        // Parent: C_MolotovGrenade
+        // Field count: 0
+        public static class C_IncendiaryGrenade {
+        }
+        // Parent: CBasePulseGraphInstance
+        // Field count: 1
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        // MPulseDomainOptInFeatureTag
+        public static class CCSPointScript {
+            public const nint m_pParent = 0xF8; // CCSPointScriptEntity*
+        }
+        // Parent: C_CSPlayerPawnBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        public static class C_CSObserverPawn {
+            public const nint m_hDetectParentChange = 0x1510; // CEntityHandle
+        }
+        // Parent: C_BaseEntity
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_hEntAttached (CHandle<C_BaseEntity>)
+        // NetworkVarNames: m_bCheapEffect (bool)
+        public static class C_EntityFlame {
+            public const nint m_hEntAttached = 0x568; // CHandle<C_BaseEntity>
+            public const nint m_hOldAttached = 0x590; // CHandle<C_BaseEntity>
+            public const nint m_bCheapEffect = 0x594; // bool
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 0
+        public static class C_Breakable {
+        }
+        // Parent: CPlayer_ObserverServices
+        // Field count: 8
+        public static class CCSObserver_ObserverServices {
+            public const nint m_hLastObserverTarget = 0x58; // CEntityHandle
+            public const nint m_vecObserverInterpolateOffset = 0x5C; // Vector
+            public const nint m_vecObserverInterpStartPos = 0x68; // Vector
+            public const nint m_flObsInterp_PathLength = 0x74; // float32
+            public const nint m_qObsInterp_OrientationStart = 0x80; // Quaternion
+            public const nint m_qObsInterp_OrientationTravelDir = 0x90; // Quaternion
+            public const nint m_obsInterpState = 0xA0; // ObserverInterpState_t
+            public const nint m_bObserverInterpolationNeedsDeferredSetup = 0xA4; // bool
+        }
+        // Parent: C_BaseEntity
+        // Field count: 0
+        public static class C_TintController {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_AutoaimServices {
+        }
+        // Parent: C_BaseCombatCharacter
+        // Field count: 23
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        // NetworkVarNames: m_leader (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_reuseTimer (CountdownTimer)
+        // NetworkVarNames: m_vel (Vector)
+        // NetworkVarNames: m_isRescued (bool)
+        // NetworkVarNames: m_jumpedThisFrame (bool)
+        // NetworkVarNames: m_nHostageState (int)
+        // NetworkVarNames: m_bHandsHaveBeenCut (bool)
+        // NetworkVarNames: m_hHostageGrabber (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_flRescueStartTime (GameTime_t)
+        // NetworkVarNames: m_flGrabSuccessTime (GameTime_t)
+        // NetworkVarNames: m_flDropStartTime (GameTime_t)
+        public static class C_Hostage {
+            public const nint m_entitySpottedState = 0x11A8; // EntitySpottedState_t
+            public const nint m_leader = 0x11C0; // CHandle<C_BaseEntity>
+            public const nint m_reuseTimer = 0x11C8; // CountdownTimer
+            public const nint m_vel = 0x11E0; // Vector
+            public const nint m_isRescued = 0x11EC; // bool
+            public const nint m_jumpedThisFrame = 0x11ED; // bool
+            public const nint m_nHostageState = 0x11F0; // int32
+            public const nint m_bHandsHaveBeenCut = 0x11F4; // bool
+            public const nint m_hHostageGrabber = 0x11F8; // CHandle<C_CSPlayerPawn>
+            public const nint m_fLastGrabTime = 0x11FC; // GameTime_t
+            public const nint m_vecGrabbedPos = 0x1200; // Vector
+            public const nint m_flRescueStartTime = 0x120C; // GameTime_t
+            public const nint m_flGrabSuccessTime = 0x1210; // GameTime_t
+            public const nint m_flDropStartTime = 0x1214; // GameTime_t
+            public const nint m_flDeadOrRescuedTime = 0x1218; // GameTime_t
+            public const nint m_blinkTimer = 0x1220; // CountdownTimer
+            public const nint m_lookAt = 0x1238; // Vector
+            public const nint m_lookAroundTimer = 0x1248; // CountdownTimer
+            public const nint m_isInit = 0x1260; // bool
+            public const nint m_eyeAttachment = 0x1261; // AttachmentHandle_t
+            public const nint m_chestAttachment = 0x1262; // AttachmentHandle_t
+            public const nint m_pPredictionOwner = 0x1268; // CBasePlayerController*
+            public const nint m_fNewestAlphaThinkTime = 0x1270; // GameTime_t
+        }
+        // Parent: C_BaseModelEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_hSpriteMaterial (HMaterialStrong)
+        // NetworkVarNames: m_hAttachedToEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nAttachment (AttachmentHandle_t)
+        // NetworkVarNames: m_flSpriteFramerate (float32)
+        // NetworkVarNames: m_flFrame (float32)
+        // NetworkVarNames: m_nBrightness (uint32)
+        // NetworkVarNames: m_flBrightnessDuration (float32)
+        // NetworkVarNames: m_flSpriteScale (float32)
+        // NetworkVarNames: m_flScaleDuration (float32)
+        // NetworkVarNames: m_bWorldSpaceScale (bool)
+        // NetworkVarNames: m_flGlowProxySize (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        public static class C_Sprite {
+            public const nint m_hSpriteMaterial = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_hAttachedToEntity = 0xD30; // CHandle<C_BaseEntity>
+            public const nint m_nAttachment = 0xD34; // AttachmentHandle_t
+            public const nint m_flSpriteFramerate = 0xD38; // float32
+            public const nint m_flFrame = 0xD3C; // float32
+            public const nint m_flDieTime = 0xD40; // GameTime_t
+            public const nint m_nBrightness = 0xD50; // uint32
+            public const nint m_flBrightnessDuration = 0xD54; // float32
+            public const nint m_flSpriteScale = 0xD58; // float32
+            public const nint m_flScaleDuration = 0xD5C; // float32
+            public const nint m_bWorldSpaceScale = 0xD60; // bool
+            public const nint m_flGlowProxySize = 0xD64; // float32
+            public const nint m_flHDRColorScale = 0xD68; // float32
+            public const nint m_flLastTime = 0xD6C; // GameTime_t
+            public const nint m_flMaxFrame = 0xD70; // float32
+            public const nint m_flStartScale = 0xD74; // float32
+            public const nint m_flDestScale = 0xD78; // float32
+            public const nint m_flScaleTimeStart = 0xD7C; // GameTime_t
+            public const nint m_nStartBrightness = 0xD80; // int32
+            public const nint m_nDestBrightness = 0xD84; // int32
+            public const nint m_flBrightnessTimeStart = 0xD88; // GameTime_t
+            public const nint m_hOldSpriteMaterial = 0xD90; // CWeakHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nSpriteWidth = 0xE30; // int32
+            public const nint m_nSpriteHeight = 0xE34; // int32
+        }
+        // Parent: C_CSWeaponBaseGun
+        // Field count: 0
+        public static class C_WeaponM4A1Silencer {
+        }
+        // Parent: C_PointEntity
+        // Field count: 9
+        public static class CMapInfo {
+            public const nint m_iBuyingStatus = 0x568; // int32
+            public const nint m_flBombRadius = 0x56C; // float32
+            public const nint m_iPetPopulation = 0x570; // int32
+            public const nint m_bUseNormalSpawnsForDM = 0x574; // bool
+            public const nint m_bDisableAutoGeneratedDMSpawns = 0x575; // bool
+            public const nint m_flBotMaxVisionDistance = 0x578; // float32
+            public const nint m_iHostageCount = 0x57C; // int32
+            public const nint m_bFadePlayerVisibilityFarZ = 0x580; // bool
+            public const nint m_bRainTraceToSkyEnabled = 0x581; // bool
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 30
+        //
+        // Metadata:
+        // NetworkVarNames: m_bBombTicking (bool)
+        // NetworkVarNames: m_nBombSite (int)
+        // NetworkVarNames: m_nSourceSoundscapeHash (int)
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        // NetworkVarNames: m_flC4Blow (GameTime_t)
+        // NetworkVarNames: m_bCannotBeDefused (bool)
+        // NetworkVarNames: m_bHasExploded (bool)
+        // NetworkVarNames: m_flTimerLength (float)
+        // NetworkVarNames: m_bBeingDefused (bool)
+        // NetworkVarNames: m_flDefuseLength (float)
+        // NetworkVarNames: m_flDefuseCountDown (GameTime_t)
+        // NetworkVarNames: m_bBombDefused (bool)
+        // NetworkVarNames: m_hBombDefuser (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+        public static class C_PlantedC4 {
+            public const nint m_bBombTicking = 0xF90; // bool
+            public const nint m_nBombSite = 0xF94; // int32
+            public const nint m_nSourceSoundscapeHash = 0xF98; // int32
+            public const nint m_entitySpottedState = 0xFA0; // EntitySpottedState_t
+            public const nint m_flNextGlow = 0xFB8; // GameTime_t
+            public const nint m_flNextBeep = 0xFBC; // GameTime_t
+            public const nint m_flC4Blow = 0xFC0; // GameTime_t
+            public const nint m_bCannotBeDefused = 0xFC4; // bool
+            public const nint m_bHasExploded = 0xFC5; // bool
+            public const nint m_flTimerLength = 0xFC8; // float32
+            public const nint m_bBeingDefused = 0xFCC; // bool
+            public const nint m_bTriggerWarning = 0xFD0; // float32
+            public const nint m_bExplodeWarning = 0xFD4; // float32
+            public const nint m_bC4Activated = 0xFD8; // bool
+            public const nint m_bTenSecWarning = 0xFD9; // bool
+            public const nint m_flDefuseLength = 0xFDC; // float32
+            public const nint m_flDefuseCountDown = 0xFE0; // GameTime_t
+            public const nint m_bBombDefused = 0xFE4; // bool
+            public const nint m_hBombDefuser = 0xFE8; // CHandle<C_CSPlayerPawn>
+            public const nint m_hControlPanel = 0xFEC; // CHandle<C_BaseEntity>
+            public const nint m_AttributeManager = 0xFF0; // C_AttributeContainer
+            public const nint m_hDefuserMultimeter = 0x1498; // CHandle<C_Multimeter>
+            public const nint m_flNextRadarFlashTime = 0x149C; // GameTime_t
+            public const nint m_bRadarFlash = 0x14A0; // bool
+            public const nint m_pBombDefuser = 0x14A4; // CHandle<C_CSPlayerPawn>
+            public const nint m_fLastDefuseTime = 0x14A8; // GameTime_t
+            public const nint m_pPredictionOwner = 0x14B0; // CBasePlayerController*
+            public const nint m_vecC4ExplodeSpectatePos = 0x14B8; // Vector
+            public const nint m_vecC4ExplodeSpectateAng = 0x14C4; // QAngle
+            public const nint m_flC4ExplodeSpectateDuration = 0x14D0; // float32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_ragPos (Vector)
+        // NetworkVarNames: m_ragAngles (QAngle)
+        // NetworkVarNames: m_flBlendWeight (float32)
+        // NetworkVarNames: m_hRagdollSource (EHANDLE)
+        public static class C_RagdollProp {
+            public const nint m_ragPos = 0xF90; // C_NetworkUtlVectorBase<Vector>
+            public const nint m_ragAngles = 0xFA8; // C_NetworkUtlVectorBase<QAngle>
+            public const nint m_flBlendWeight = 0xFC0; // float32
+            public const nint m_hRagdollSource = 0xFC4; // CHandle<C_BaseEntity>
+            public const nint m_iEyeAttachment = 0xFC8; // AttachmentHandle_t
+            public const nint m_flBlendWeightCurrent = 0xFCC; // float32
+            public const nint m_parentPhysicsBoneIndices = 0xFD0; // CUtlVector<int32>
+            public const nint m_worldSpaceBoneComputationOrder = 0xFE8; // CUtlVector<int32>
+        }
+        // Parent: C_CSGO_TeamPreviewCamera
+        // Field count: 0
+        public static class C_CSGO_TerroristTeamIntroCamera {
+        }
+        // Parent: C_BaseEntity
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_iActiveIssueIndex (int)
+        // NetworkVarNames: m_iOnlyTeamToVote (int)
+        // NetworkVarNames: m_nVoteOptionCount (int)
+        // NetworkVarNames: m_nPotentialVotes (int)
+        // NetworkVarNames: m_bIsYesNoVote (bool)
+        public static class C_VoteController {
+            public const nint m_iActiveIssueIndex = 0x578; // int32
+            public const nint m_iOnlyTeamToVote = 0x57C; // int32
+            public const nint m_nVoteOptionCount = 0x580; // int32[5]
+            public const nint m_nPotentialVotes = 0x594; // int32
+            public const nint m_bVotesDirty = 0x598; // bool
+            public const nint m_bTypeDirty = 0x599; // bool
+            public const nint m_bIsYesNoVote = 0x59A; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: nType (FixAngleSet_t)
+        // NetworkVarNames: qAngle (QAngle)
+        // NetworkVarNames: nIndex (uint32)
+        public static class ViewAngleServerChange_t {
+            public const nint nType = 0x30; // FixAngleSet_t
+            public const nint qAngle = 0x34; // QAngle
+            public const nint nIndex = 0x40; // uint32
+        }
+        // Parent: C_DynamicProp
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_jumpedThisFrame (bool)
+        // NetworkVarNames: m_leader (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+        public static class C_Chicken {
+            public const nint m_hHolidayHatAddon = 0x1230; // CHandle<CBaseAnimGraph>
+            public const nint m_jumpedThisFrame = 0x1234; // bool
+            public const nint m_leader = 0x1238; // CHandle<C_CSPlayerPawn>
+            public const nint m_AttributeManager = 0x1240; // C_AttributeContainer
+            public const nint m_bAttributesInitialized = 0x16E8; // bool
+            public const nint m_hWaterWakeParticles = 0x16EC; // ParticleIndex_t
+            public const nint m_bIsPreviewModel = 0x16F0; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_Transforms (CTransform)
+        // NetworkVarNames: m_hOwner (EHANDLE)
+        public static class PhysicsRagdollPose_t {
+            public const nint m_Transforms = 0x8; // C_NetworkUtlVectorBase<CTransform>
+            public const nint m_hOwner = 0x20; // CHandle<C_BaseEntity>
+        }
+    }
+}
diff --git a/output/client_dll.hpp b/output/client_dll.hpp
new file mode 100644
index 0000000..bf963fd
--- /dev/null
+++ b/output/client_dll.hpp
@@ -0,0 +1,6857 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: client.dll
+        // Class count: 414
+        // Enum count: 7
+        namespace client_dll {
+            // Alignment: 4
+            // Member count: 15
+            enum class CompositeMaterialInputLooseVariableType_t : uint32_t {
+                LOOSE_VARIABLE_TYPE_BOOLEAN = 0x0,
+                LOOSE_VARIABLE_TYPE_INTEGER1 = 0x1,
+                LOOSE_VARIABLE_TYPE_INTEGER2 = 0x2,
+                LOOSE_VARIABLE_TYPE_INTEGER3 = 0x3,
+                LOOSE_VARIABLE_TYPE_INTEGER4 = 0x4,
+                LOOSE_VARIABLE_TYPE_FLOAT1 = 0x5,
+                LOOSE_VARIABLE_TYPE_FLOAT2 = 0x6,
+                LOOSE_VARIABLE_TYPE_FLOAT3 = 0x7,
+                LOOSE_VARIABLE_TYPE_FLOAT4 = 0x8,
+                LOOSE_VARIABLE_TYPE_COLOR4 = 0x9,
+                LOOSE_VARIABLE_TYPE_STRING = 0xA,
+                LOOSE_VARIABLE_TYPE_SYSTEMVAR = 0xB,
+                LOOSE_VARIABLE_TYPE_RESOURCE_MATERIAL = 0xC,
+                LOOSE_VARIABLE_TYPE_RESOURCE_TEXTURE = 0xD,
+                LOOSE_VARIABLE_TYPE_PANORAMA_RENDER = 0xE
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class CompositeMaterialInputTextureType_t : uint32_t {
+                INPUT_TEXTURE_TYPE_DEFAULT = 0x0,
+                INPUT_TEXTURE_TYPE_NORMALMAP = 0x1,
+                INPUT_TEXTURE_TYPE_COLOR = 0x2,
+                INPUT_TEXTURE_TYPE_MASKS = 0x3,
+                INPUT_TEXTURE_TYPE_ROUGHNESS = 0x4,
+                INPUT_TEXTURE_TYPE_PEARLESCENCE_MASK = 0x5,
+                INPUT_TEXTURE_TYPE_AO = 0x6
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class CompositeMaterialInputContainerSourceType_t : uint32_t {
+                CONTAINER_SOURCE_TYPE_TARGET_MATERIAL = 0x0,
+                CONTAINER_SOURCE_TYPE_MATERIAL_FROM_TARGET_ATTR = 0x1,
+                CONTAINER_SOURCE_TYPE_SPECIFIC_MATERIAL = 0x2,
+                CONTAINER_SOURCE_TYPE_LOOSE_VARIABLES = 0x3,
+                CONTAINER_SOURCE_TYPE_VARIABLE_FROM_TARGET_ATTR = 0x4,
+                CONTAINER_SOURCE_TYPE_TARGET_INSTANCE_MATERIAL = 0x5
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class CompMatPropertyMutatorType_t : uint32_t {
+                COMP_MAT_PROPERTY_MUTATOR_INIT = 0x0,
+                COMP_MAT_PROPERTY_MUTATOR_COPY_MATCHING_KEYS = 0x1,
+                COMP_MAT_PROPERTY_MUTATOR_COPY_KEYS_WITH_SUFFIX = 0x2,
+                COMP_MAT_PROPERTY_MUTATOR_COPY_PROPERTY = 0x3,
+                COMP_MAT_PROPERTY_MUTATOR_SET_VALUE = 0x4,
+                COMP_MAT_PROPERTY_MUTATOR_GENERATE_TEXTURE = 0x5,
+                COMP_MAT_PROPERTY_MUTATOR_CONDITIONAL_MUTATORS = 0x6,
+                COMP_MAT_PROPERTY_MUTATOR_POP_INPUT_QUEUE = 0x7,
+                COMP_MAT_PROPERTY_MUTATOR_DRAW_TEXT = 0x8,
+                COMP_MAT_PROPERTY_MUTATOR_RANDOM_ROLL_INPUT_VARIABLES = 0x9
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class CompositeMaterialVarSystemVar_t : uint32_t {
+                COMPMATSYSVAR_COMPOSITETIME = 0x0,
+                COMPMATSYSVAR_EMPTY_RESOURCE_SPACER = 0x1
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class CompositeMaterialMatchFilterType_t : uint32_t {
+                MATCH_FILTER_MATERIAL_ATTRIBUTE_EXISTS = 0x0,
+                MATCH_FILTER_MATERIAL_SHADER = 0x1,
+                MATCH_FILTER_MATERIAL_NAME_SUBSTR = 0x2,
+                MATCH_FILTER_MATERIAL_ATTRIBUTE_EQUALS = 0x3,
+                MATCH_FILTER_MATERIAL_PROPERTY_EXISTS = 0x4,
+                MATCH_FILTER_MATERIAL_PROPERTY_EQUALS = 0x5
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class CompMatPropertyMutatorConditionType_t : uint32_t {
+                COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_EXISTS = 0x0,
+                COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EXISTS = 0x1,
+                COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EQUALS = 0x2
+            };
+            // Parent: C_CSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_TeamSelectCharacterPosition {
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            namespace C_HEGrenade {
+            }
+            // Parent: C_BaseToggle
+            // Field count: 0
+            namespace C_FuncMover {
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 0
+            namespace C_TriggerLerpObject {
+            }
+            // Parent: CPlayer_MovementServices_Humanoid
+            // Field count: 38
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderNormal (Vector)
+            // NetworkVarNames: m_nLadderSurfacePropIndex (int)
+            // NetworkVarNames: m_flDuckAmount (float)
+            // NetworkVarNames: m_flDuckSpeed (float)
+            // NetworkVarNames: m_bDuckOverride (bool)
+            // NetworkVarNames: m_bDesiresDuck (bool)
+            // NetworkVarNames: m_nDuckTimeMsecs (uint32)
+            // NetworkVarNames: m_nDuckJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_nJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_flLastDuckTime (float)
+            // NetworkVarNames: m_nGameCodeHasMovedPlayerAfterCommand (int)
+            // NetworkVarNames: m_bOldJumpPressed (bool)
+            // NetworkVarNames: m_fStashGrenadeParameterWhen (GameTime_t)
+            // NetworkVarNames: m_nButtonDownMaskPrev (ButtonBitMask_t)
+            // NetworkVarNames: m_flOffsetTickCompleteTime (float)
+            // NetworkVarNames: m_flOffsetTickStashedSpeed (float)
+            // NetworkVarNames: m_flStamina (float)
+            namespace CCSPlayer_MovementServices {
+                constexpr std::ptrdiff_t m_vecLadderNormal = 0x218; // Vector
+                constexpr std::ptrdiff_t m_nLadderSurfacePropIndex = 0x224; // int32
+                constexpr std::ptrdiff_t m_flDuckAmount = 0x228; // float32
+                constexpr std::ptrdiff_t m_flDuckSpeed = 0x22C; // float32
+                constexpr std::ptrdiff_t m_bDuckOverride = 0x230; // bool
+                constexpr std::ptrdiff_t m_bDesiresDuck = 0x231; // bool
+                constexpr std::ptrdiff_t m_flDuckOffset = 0x234; // float32
+                constexpr std::ptrdiff_t m_nDuckTimeMsecs = 0x238; // uint32
+                constexpr std::ptrdiff_t m_nDuckJumpTimeMsecs = 0x23C; // uint32
+                constexpr std::ptrdiff_t m_nJumpTimeMsecs = 0x240; // uint32
+                constexpr std::ptrdiff_t m_flLastDuckTime = 0x244; // float32
+                constexpr std::ptrdiff_t m_vecLastPositionAtFullCrouchSpeed = 0x250; // Vector2D
+                constexpr std::ptrdiff_t m_duckUntilOnGround = 0x258; // bool
+                constexpr std::ptrdiff_t m_bHasWalkMovedSinceLastJump = 0x259; // bool
+                constexpr std::ptrdiff_t m_bInStuckTest = 0x25A; // bool
+                constexpr std::ptrdiff_t m_flStuckCheckTime = 0x268; // float32[64][2]
+                constexpr std::ptrdiff_t m_nTraceCount = 0x468; // int32
+                constexpr std::ptrdiff_t m_StuckLast = 0x46C; // int32
+                constexpr std::ptrdiff_t m_bSpeedCropped = 0x470; // bool
+                constexpr std::ptrdiff_t m_flGroundMoveEfficiency = 0x474; // float32
+                constexpr std::ptrdiff_t m_nOldWaterLevel = 0x478; // int32
+                constexpr std::ptrdiff_t m_flWaterEntryTime = 0x47C; // float32
+                constexpr std::ptrdiff_t m_vecForward = 0x480; // Vector
+                constexpr std::ptrdiff_t m_vecLeft = 0x48C; // Vector
+                constexpr std::ptrdiff_t m_vecUp = 0x498; // Vector
+                constexpr std::ptrdiff_t m_nGameCodeHasMovedPlayerAfterCommand = 0x4A4; // int32
+                constexpr std::ptrdiff_t m_bOldJumpPressed = 0x4A8; // bool
+                constexpr std::ptrdiff_t m_flJumpPressedTime = 0x4AC; // float32
+                constexpr std::ptrdiff_t m_fStashGrenadeParameterWhen = 0x4B0; // GameTime_t
+                constexpr std::ptrdiff_t m_nButtonDownMaskPrev = 0x4B8; // uint64
+                constexpr std::ptrdiff_t m_flOffsetTickCompleteTime = 0x4C0; // float32
+                constexpr std::ptrdiff_t m_flOffsetTickStashedSpeed = 0x4C4; // float32
+                constexpr std::ptrdiff_t m_flStamina = 0x4C8; // float32
+                constexpr std::ptrdiff_t m_flHeightAtJumpStart = 0x4CC; // float32
+                constexpr std::ptrdiff_t m_flMaxJumpHeightThisJump = 0x4D0; // float32
+                constexpr std::ptrdiff_t m_flMaxJumpHeightLastJump = 0x4D4; // float32
+                constexpr std::ptrdiff_t m_flStaminaAtJumpStart = 0x4D8; // float32
+                constexpr std::ptrdiff_t m_flAccumulatedJumpError = 0x4DC; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: scale (int16)
+            // NetworkVarNames: origin (Vector)
+            // NetworkVarNames: bClip3DSkyBoxNearToWorldFar (bool)
+            // NetworkVarNames: flClip3DSkyBoxNearToWorldFarOffset (float32)
+            // NetworkVarNames: fog (fogparams_t)
+            // NetworkVarNames: m_nWorldGroupID (WorldGroupId_t)
+            namespace sky3dparams_t {
+                constexpr std::ptrdiff_t scale = 0x8; // int16
+                constexpr std::ptrdiff_t origin = 0xC; // Vector
+                constexpr std::ptrdiff_t bClip3DSkyBoxNearToWorldFar = 0x18; // bool
+                constexpr std::ptrdiff_t flClip3DSkyBoxNearToWorldFarOffset = 0x1C; // float32
+                constexpr std::ptrdiff_t fog = 0x20; // fogparams_t
+                constexpr std::ptrdiff_t m_nWorldGroupID = 0x88; // WorldGroupId_t
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponM4A1 {
+            }
+            // Parent: C_EconEntity
+            // Field count: 1
+            namespace C_Item {
+                constexpr std::ptrdiff_t m_pReticleHintTextName = 0x1668; // char[256]
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCornerPairsNetworked (SoundeventPathCornerPairNetworked_t)
+            namespace C_SoundEventPathCornerEntity {
+                constexpr std::ptrdiff_t m_vecCornerPairsNetworked = 0x628; // C_NetworkUtlVectorBase<SoundeventPathCornerPairNetworked_t>
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponM249 {
+            }
+            // Parent: C_TeamplayRules
+            // Field count: 101
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFreezePeriod (bool)
+            // NetworkVarNames: m_bWarmupPeriod (bool)
+            // NetworkVarNames: m_fWarmupPeriodEnd (GameTime_t)
+            // NetworkVarNames: m_fWarmupPeriodStart (GameTime_t)
+            // NetworkVarNames: m_bServerPaused (bool)
+            // NetworkVarNames: m_bTerroristTimeOutActive (bool)
+            // NetworkVarNames: m_bCTTimeOutActive (bool)
+            // NetworkVarNames: m_flTerroristTimeOutRemaining (float)
+            // NetworkVarNames: m_flCTTimeOutRemaining (float)
+            // NetworkVarNames: m_nTerroristTimeOuts (int)
+            // NetworkVarNames: m_nCTTimeOuts (int)
+            // NetworkVarNames: m_bTechnicalTimeOut (bool)
+            // NetworkVarNames: m_bMatchWaitingForResume (bool)
+            // NetworkVarNames: m_iRoundTime (int)
+            // NetworkVarNames: m_fMatchStartTime (float)
+            // NetworkVarNames: m_fRoundStartTime (GameTime_t)
+            // NetworkVarNames: m_flRestartRoundTime (GameTime_t)
+            // NetworkVarNames: m_bGameRestart (bool)
+            // NetworkVarNames: m_flGameStartTime (float)
+            // NetworkVarNames: m_timeUntilNextPhaseStarts (float)
+            // NetworkVarNames: m_gamePhase (int)
+            // NetworkVarNames: m_totalRoundsPlayed (int)
+            // NetworkVarNames: m_nRoundsPlayedThisPhase (int)
+            // NetworkVarNames: m_nOvertimePlaying (int)
+            // NetworkVarNames: m_iHostagesRemaining (int)
+            // NetworkVarNames: m_bAnyHostageReached (bool)
+            // NetworkVarNames: m_bMapHasBombTarget (bool)
+            // NetworkVarNames: m_bMapHasRescueZone (bool)
+            // NetworkVarNames: m_bMapHasBuyZone (bool)
+            // NetworkVarNames: m_bIsQueuedMatchmaking (bool)
+            // NetworkVarNames: m_nQueuedMatchmakingMode (int)
+            // NetworkVarNames: m_bIsValveDS (bool)
+            // NetworkVarNames: m_bLogoMap (bool)
+            // NetworkVarNames: m_bPlayAllStepSoundsOnServer (bool)
+            // NetworkVarNames: m_iSpectatorSlotCount (int)
+            // NetworkVarNames: m_MatchDevice (int)
+            // NetworkVarNames: m_bHasMatchStarted (bool)
+            // NetworkVarNames: m_nNextMapInMapgroup (int)
+            // NetworkVarNames: m_szTournamentEventName (char)
+            // NetworkVarNames: m_szTournamentEventStage (char)
+            // NetworkVarNames: m_szMatchStatTxt (char)
+            // NetworkVarNames: m_szTournamentPredictionsTxt (char)
+            // NetworkVarNames: m_nTournamentPredictionsPct (int)
+            // NetworkVarNames: m_flCMMItemDropRevealStartTime (GameTime_t)
+            // NetworkVarNames: m_flCMMItemDropRevealEndTime (GameTime_t)
+            // NetworkVarNames: m_bIsDroppingItems (bool)
+            // NetworkVarNames: m_bIsQuestEligible (bool)
+            // NetworkVarNames: m_bIsHltvActive (bool)
+            // NetworkVarNames: m_arrProhibitedItemIndices (uint16)
+            // NetworkVarNames: m_arrTournamentActiveCasterAccounts (uint32)
+            // NetworkVarNames: m_numBestOfMaps (int)
+            // NetworkVarNames: m_nHalloweenMaskListSeed (int)
+            // NetworkVarNames: m_bBombDropped (bool)
+            // NetworkVarNames: m_bBombPlanted (bool)
+            // NetworkVarNames: m_iRoundWinStatus (int)
+            // NetworkVarNames: m_eRoundWinReason (int)
+            // NetworkVarNames: m_bTCantBuy (bool)
+            // NetworkVarNames: m_bCTCantBuy (bool)
+            // NetworkVarNames: m_iMatchStats_RoundResults (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_CT (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_T (int)
+            // NetworkVarNames: m_TeamRespawnWaveTimes (float)
+            // NetworkVarNames: m_flNextRespawnWave (GameTime_t)
+            // NetworkVarNames: m_nServerQuestID (int)
+            // NetworkVarNames: m_vMinimapMins (Vector)
+            // NetworkVarNames: m_vMinimapMaxs (Vector)
+            // NetworkVarNames: m_MinimapVerticalSectionHeights (float)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteTypes (int)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteOptions (int)
+            // NetworkVarNames: m_nEndMatchMapVoteWinner (int)
+            // NetworkVarNames: m_iNumConsecutiveCTLoses (int)
+            // NetworkVarNames: m_iNumConsecutiveTerroristLoses (int)
+            // NetworkVarNames: m_nMatchAbortedEarlyReason (int)
+            // NetworkVarNames: m_pGameModeRules (CCSGameModeRules*)
+            // NetworkVarNames: m_RetakeRules (CRetakeGameRules)
+            // NetworkVarNames: m_nMatchEndCount (uint8)
+            // NetworkVarNames: m_nTTeamIntroVariant (int)
+            // NetworkVarNames: m_nCTTeamIntroVariant (int)
+            // NetworkVarNames: m_bTeamIntroPeriod (bool)
+            // NetworkVarNames: m_iRoundEndWinnerTeam (int)
+            // NetworkVarNames: m_eRoundEndReason (int)
+            // NetworkVarNames: m_bRoundEndShowTimerDefend (bool)
+            // NetworkVarNames: m_iRoundEndTimerTime (int)
+            // NetworkVarNames: m_sRoundEndFunFactToken (CUtlString)
+            // NetworkVarNames: m_iRoundEndFunFactPlayerSlot (CPlayerSlot)
+            // NetworkVarNames: m_iRoundEndFunFactData1 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData2 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData3 (int)
+            // NetworkVarNames: m_sRoundEndMessage (CUtlString)
+            // NetworkVarNames: m_iRoundEndPlayerCount (int)
+            // NetworkVarNames: m_bRoundEndNoMusic (bool)
+            // NetworkVarNames: m_iRoundEndLegacy (int)
+            // NetworkVarNames: m_nRoundEndCount (uint8)
+            // NetworkVarNames: m_iRoundStartRoundNumber (int)
+            // NetworkVarNames: m_nRoundStartCount (uint8)
+            namespace C_CSGameRules {
+                constexpr std::ptrdiff_t m_bFreezePeriod = 0x40; // bool
+                constexpr std::ptrdiff_t m_bWarmupPeriod = 0x41; // bool
+                constexpr std::ptrdiff_t m_fWarmupPeriodEnd = 0x44; // GameTime_t
+                constexpr std::ptrdiff_t m_fWarmupPeriodStart = 0x48; // GameTime_t
+                constexpr std::ptrdiff_t m_bServerPaused = 0x4C; // bool
+                constexpr std::ptrdiff_t m_bTerroristTimeOutActive = 0x4D; // bool
+                constexpr std::ptrdiff_t m_bCTTimeOutActive = 0x4E; // bool
+                constexpr std::ptrdiff_t m_flTerroristTimeOutRemaining = 0x50; // float32
+                constexpr std::ptrdiff_t m_flCTTimeOutRemaining = 0x54; // float32
+                constexpr std::ptrdiff_t m_nTerroristTimeOuts = 0x58; // int32
+                constexpr std::ptrdiff_t m_nCTTimeOuts = 0x5C; // int32
+                constexpr std::ptrdiff_t m_bTechnicalTimeOut = 0x60; // bool
+                constexpr std::ptrdiff_t m_bMatchWaitingForResume = 0x61; // bool
+                constexpr std::ptrdiff_t m_iRoundTime = 0x64; // int32
+                constexpr std::ptrdiff_t m_fMatchStartTime = 0x68; // float32
+                constexpr std::ptrdiff_t m_fRoundStartTime = 0x6C; // GameTime_t
+                constexpr std::ptrdiff_t m_flRestartRoundTime = 0x70; // GameTime_t
+                constexpr std::ptrdiff_t m_bGameRestart = 0x74; // bool
+                constexpr std::ptrdiff_t m_flGameStartTime = 0x78; // float32
+                constexpr std::ptrdiff_t m_timeUntilNextPhaseStarts = 0x7C; // float32
+                constexpr std::ptrdiff_t m_gamePhase = 0x80; // int32
+                constexpr std::ptrdiff_t m_totalRoundsPlayed = 0x84; // int32
+                constexpr std::ptrdiff_t m_nRoundsPlayedThisPhase = 0x88; // int32
+                constexpr std::ptrdiff_t m_nOvertimePlaying = 0x8C; // int32
+                constexpr std::ptrdiff_t m_iHostagesRemaining = 0x90; // int32
+                constexpr std::ptrdiff_t m_bAnyHostageReached = 0x94; // bool
+                constexpr std::ptrdiff_t m_bMapHasBombTarget = 0x95; // bool
+                constexpr std::ptrdiff_t m_bMapHasRescueZone = 0x96; // bool
+                constexpr std::ptrdiff_t m_bMapHasBuyZone = 0x97; // bool
+                constexpr std::ptrdiff_t m_bIsQueuedMatchmaking = 0x98; // bool
+                constexpr std::ptrdiff_t m_nQueuedMatchmakingMode = 0x9C; // int32
+                constexpr std::ptrdiff_t m_bIsValveDS = 0xA0; // bool
+                constexpr std::ptrdiff_t m_bLogoMap = 0xA1; // bool
+                constexpr std::ptrdiff_t m_bPlayAllStepSoundsOnServer = 0xA2; // bool
+                constexpr std::ptrdiff_t m_iSpectatorSlotCount = 0xA4; // int32
+                constexpr std::ptrdiff_t m_MatchDevice = 0xA8; // int32
+                constexpr std::ptrdiff_t m_bHasMatchStarted = 0xAC; // bool
+                constexpr std::ptrdiff_t m_nNextMapInMapgroup = 0xB0; // int32
+                constexpr std::ptrdiff_t m_szTournamentEventName = 0xB4; // char[512]
+                constexpr std::ptrdiff_t m_szTournamentEventStage = 0x2B4; // char[512]
+                constexpr std::ptrdiff_t m_szMatchStatTxt = 0x4B4; // char[512]
+                constexpr std::ptrdiff_t m_szTournamentPredictionsTxt = 0x6B4; // char[512]
+                constexpr std::ptrdiff_t m_nTournamentPredictionsPct = 0x8B4; // int32
+                constexpr std::ptrdiff_t m_flCMMItemDropRevealStartTime = 0x8B8; // GameTime_t
+                constexpr std::ptrdiff_t m_flCMMItemDropRevealEndTime = 0x8BC; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsDroppingItems = 0x8C0; // bool
+                constexpr std::ptrdiff_t m_bIsQuestEligible = 0x8C1; // bool
+                constexpr std::ptrdiff_t m_bIsHltvActive = 0x8C2; // bool
+                constexpr std::ptrdiff_t m_arrProhibitedItemIndices = 0x8C4; // uint16[100]
+                constexpr std::ptrdiff_t m_arrTournamentActiveCasterAccounts = 0x98C; // uint32[4]
+                constexpr std::ptrdiff_t m_numBestOfMaps = 0x99C; // int32
+                constexpr std::ptrdiff_t m_nHalloweenMaskListSeed = 0x9A0; // int32
+                constexpr std::ptrdiff_t m_bBombDropped = 0x9A4; // bool
+                constexpr std::ptrdiff_t m_bBombPlanted = 0x9A5; // bool
+                constexpr std::ptrdiff_t m_iRoundWinStatus = 0x9A8; // int32
+                constexpr std::ptrdiff_t m_eRoundWinReason = 0x9AC; // int32
+                constexpr std::ptrdiff_t m_bTCantBuy = 0x9B0; // bool
+                constexpr std::ptrdiff_t m_bCTCantBuy = 0x9B1; // bool
+                constexpr std::ptrdiff_t m_iMatchStats_RoundResults = 0x9B4; // int32[30]
+                constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_CT = 0xA2C; // int32[30]
+                constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_T = 0xAA4; // int32[30]
+                constexpr std::ptrdiff_t m_TeamRespawnWaveTimes = 0xB1C; // float32[32]
+                constexpr std::ptrdiff_t m_flNextRespawnWave = 0xB9C; // GameTime_t[32]
+                constexpr std::ptrdiff_t m_nServerQuestID = 0xC1C; // int32
+                constexpr std::ptrdiff_t m_vMinimapMins = 0xC20; // Vector
+                constexpr std::ptrdiff_t m_vMinimapMaxs = 0xC2C; // Vector
+                constexpr std::ptrdiff_t m_MinimapVerticalSectionHeights = 0xC38; // float32[8]
+                constexpr std::ptrdiff_t m_bSpawnedTerrorHuntHeavy = 0xC58; // bool
+                constexpr std::ptrdiff_t m_ullLocalMatchID = 0xC60; // uint64
+                constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteTypes = 0xC68; // int32[10]
+                constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteOptions = 0xC90; // int32[10]
+                constexpr std::ptrdiff_t m_nEndMatchMapVoteWinner = 0xCB8; // int32
+                constexpr std::ptrdiff_t m_iNumConsecutiveCTLoses = 0xCBC; // int32
+                constexpr std::ptrdiff_t m_iNumConsecutiveTerroristLoses = 0xCC0; // int32
+                constexpr std::ptrdiff_t m_bMarkClientStopRecordAtRoundEnd = 0xCE0; // bool
+                constexpr std::ptrdiff_t m_nMatchAbortedEarlyReason = 0xD88; // int32
+                constexpr std::ptrdiff_t m_bHasTriggeredRoundStartMusic = 0xD8C; // bool
+                constexpr std::ptrdiff_t m_bSwitchingTeamsAtRoundReset = 0xD8D; // bool
+                constexpr std::ptrdiff_t m_pGameModeRules = 0xDA8; // CCSGameModeRules*
+                constexpr std::ptrdiff_t m_RetakeRules = 0xDB0; // C_RetakeGameRules
+                constexpr std::ptrdiff_t m_nMatchEndCount = 0xEC8; // uint8
+                constexpr std::ptrdiff_t m_nTTeamIntroVariant = 0xECC; // int32
+                constexpr std::ptrdiff_t m_nCTTeamIntroVariant = 0xED0; // int32
+                constexpr std::ptrdiff_t m_bTeamIntroPeriod = 0xED4; // bool
+                constexpr std::ptrdiff_t m_iRoundEndWinnerTeam = 0xED8; // int32
+                constexpr std::ptrdiff_t m_eRoundEndReason = 0xEDC; // int32
+                constexpr std::ptrdiff_t m_bRoundEndShowTimerDefend = 0xEE0; // bool
+                constexpr std::ptrdiff_t m_iRoundEndTimerTime = 0xEE4; // int32
+                constexpr std::ptrdiff_t m_sRoundEndFunFactToken = 0xEE8; // CUtlString
+                constexpr std::ptrdiff_t m_iRoundEndFunFactPlayerSlot = 0xEF0; // CPlayerSlot
+                constexpr std::ptrdiff_t m_iRoundEndFunFactData1 = 0xEF4; // int32
+                constexpr std::ptrdiff_t m_iRoundEndFunFactData2 = 0xEF8; // int32
+                constexpr std::ptrdiff_t m_iRoundEndFunFactData3 = 0xEFC; // int32
+                constexpr std::ptrdiff_t m_sRoundEndMessage = 0xF00; // CUtlString
+                constexpr std::ptrdiff_t m_iRoundEndPlayerCount = 0xF08; // int32
+                constexpr std::ptrdiff_t m_bRoundEndNoMusic = 0xF0C; // bool
+                constexpr std::ptrdiff_t m_iRoundEndLegacy = 0xF10; // int32
+                constexpr std::ptrdiff_t m_nRoundEndCount = 0xF14; // uint8
+                constexpr std::ptrdiff_t m_iRoundStartRoundNumber = 0xF18; // int32
+                constexpr std::ptrdiff_t m_nRoundStartCount = 0xF1C; // uint8
+                constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x4F28; // float64
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_skeletonInstance (CSkeletonInstance)
+            namespace CBodyComponentSkeletonInstance {
+                constexpr std::ptrdiff_t m_skeletonInstance = 0x50; // CSkeletonInstance
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponCZ75a {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_CRenderComponent (CRenderComponent::Storage_t)
+            // NetworkVarNames: m_CHitboxComponent (CHitboxComponent::Storage_t)
+            // NetworkVarNames: m_nRenderMode (RenderMode_t)
+            // NetworkVarNames: m_nRenderFX (RenderFx_t)
+            // NetworkVarNames: m_clrRender (Color)
+            // NetworkVarNames: m_vecRenderAttributes (EntityRenderAttribute_t)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_bNoInterpolate (bool)
+            // NetworkVarNames: m_Collision (CCollisionProperty)
+            // NetworkVarNames: m_Glow (CGlowProperty)
+            // NetworkVarNames: m_flGlowBackfaceMult (float)
+            // NetworkVarNames: m_fadeMinDist (float32)
+            // NetworkVarNames: m_fadeMaxDist (float32)
+            // NetworkVarNames: m_flFadeScale (float32)
+            // NetworkVarNames: m_flShadowStrength (float32)
+            // NetworkVarNames: m_nObjectCulling (uint8)
+            // NetworkVarNames: m_nAddDecal (int)
+            // NetworkVarNames: m_vDecalPosition (Vector)
+            // NetworkVarNames: m_vDecalForwardAxis (Vector)
+            // NetworkVarNames: m_flDecalHealBloodRate (float)
+            // NetworkVarNames: m_flDecalHealHeightRate (float)
+            // NetworkVarNames: m_ConfigEntitiesToPropagateMaterialDecalsTo (CHandle<C_BaseModelEntity>)
+            namespace C_BaseModelEntity {
+                constexpr std::ptrdiff_t m_CRenderComponent = 0xA50; // CRenderComponent*
+                constexpr std::ptrdiff_t m_CHitboxComponent = 0xA58; // CHitboxComponent
+                constexpr std::ptrdiff_t m_LastHitGroup = 0xA80; // HitGroup_t
+                constexpr std::ptrdiff_t m_bInitModelEffects = 0xAA8; // bool
+                constexpr std::ptrdiff_t m_bIsStaticProp = 0xAA9; // bool
+                constexpr std::ptrdiff_t m_nLastAddDecal = 0xAAC; // int32
+                constexpr std::ptrdiff_t m_nDecalsAdded = 0xAB0; // int32
+                constexpr std::ptrdiff_t m_iOldHealth = 0xAB4; // int32
+                constexpr std::ptrdiff_t m_nRenderMode = 0xAB8; // RenderMode_t
+                constexpr std::ptrdiff_t m_nRenderFX = 0xAB9; // RenderFx_t
+                constexpr std::ptrdiff_t m_bAllowFadeInView = 0xABA; // bool
+                constexpr std::ptrdiff_t m_clrRender = 0xAD8; // Color
+                constexpr std::ptrdiff_t m_vecRenderAttributes = 0xAE0; // C_UtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
+                constexpr std::ptrdiff_t m_bRenderToCubemaps = 0xB48; // bool
+                constexpr std::ptrdiff_t m_bNoInterpolate = 0xB49; // bool
+                constexpr std::ptrdiff_t m_Collision = 0xB50; // CCollisionProperty
+                constexpr std::ptrdiff_t m_Glow = 0xC00; // CGlowProperty
+                constexpr std::ptrdiff_t m_flGlowBackfaceMult = 0xC58; // float32
+                constexpr std::ptrdiff_t m_fadeMinDist = 0xC5C; // float32
+                constexpr std::ptrdiff_t m_fadeMaxDist = 0xC60; // float32
+                constexpr std::ptrdiff_t m_flFadeScale = 0xC64; // float32
+                constexpr std::ptrdiff_t m_flShadowStrength = 0xC68; // float32
+                constexpr std::ptrdiff_t m_nObjectCulling = 0xC6C; // uint8
+                constexpr std::ptrdiff_t m_nAddDecal = 0xC70; // int32
+                constexpr std::ptrdiff_t m_vDecalPosition = 0xC74; // Vector
+                constexpr std::ptrdiff_t m_vDecalForwardAxis = 0xC80; // Vector
+                constexpr std::ptrdiff_t m_flDecalHealBloodRate = 0xC8C; // float32
+                constexpr std::ptrdiff_t m_flDecalHealHeightRate = 0xC90; // float32
+                constexpr std::ptrdiff_t m_ConfigEntitiesToPropagateMaterialDecalsTo = 0xC98; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                constexpr std::ptrdiff_t m_vecViewOffset = 0xCB0; // CNetworkViewOffsetVector
+                constexpr std::ptrdiff_t m_pClientAlphaProperty = 0xCE0; // CClientAlphaProperty*
+                constexpr std::ptrdiff_t m_ClientOverrideTint = 0xCE8; // Color
+                constexpr std::ptrdiff_t m_bUseClientOverrideTint = 0xCEC; // bool
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_source (string_t)
+            // NetworkVarNames: m_destination (string_t)
+            namespace C_FootstepControl {
+                constexpr std::ptrdiff_t m_source = 0xD30; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_destination = 0xD38; // CUtlSymbolLarge
+            }
+            // Parent: C_BaseClientUIEntity
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIgnoreInput (bool)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDPI (float)
+            // NetworkVarNames: m_flInteractDistance (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_unOwnerContext (uint32)
+            // NetworkVarNames: m_unHorizontalAlign (uint32)
+            // NetworkVarNames: m_unVerticalAlign (uint32)
+            // NetworkVarNames: m_unOrientation (uint32)
+            // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            namespace C_PointClientUIHUD {
+                constexpr std::ptrdiff_t m_bCheckCSSClasses = 0xD60; // bool
+                constexpr std::ptrdiff_t m_bIgnoreInput = 0xEE0; // bool
+                constexpr std::ptrdiff_t m_flWidth = 0xEE4; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0xEE8; // float32
+                constexpr std::ptrdiff_t m_flDPI = 0xEEC; // float32
+                constexpr std::ptrdiff_t m_flInteractDistance = 0xEF0; // float32
+                constexpr std::ptrdiff_t m_flDepthOffset = 0xEF4; // float32
+                constexpr std::ptrdiff_t m_unOwnerContext = 0xEF8; // uint32
+                constexpr std::ptrdiff_t m_unHorizontalAlign = 0xEFC; // uint32
+                constexpr std::ptrdiff_t m_unVerticalAlign = 0xF00; // uint32
+                constexpr std::ptrdiff_t m_unOrientation = 0xF04; // uint32
+                constexpr std::ptrdiff_t m_bAllowInteractionFromAllSceneWorlds = 0xF08; // bool
+                constexpr std::ptrdiff_t m_vecCSSClasses = 0xF10; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flLightScale (float32)
+            // NetworkVarNames: m_Radius (float32)
+            namespace C_SpotlightEnd {
+                constexpr std::ptrdiff_t m_flLightScale = 0xD28; // float32
+                constexpr std::ptrdiff_t m_Radius = 0xD2C; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAttributeDefinitionIndex (attrib_definition_index_t)
+            // NetworkVarNames: m_flValue (float)
+            // NetworkVarNames: m_flInitialValue (float)
+            // NetworkVarNames: m_nRefundableCurrency (int)
+            // NetworkVarNames: m_bSetBonus (bool)
+            namespace CEconItemAttribute {
+                constexpr std::ptrdiff_t m_iAttributeDefinitionIndex = 0x30; // uint16
+                constexpr std::ptrdiff_t m_flValue = 0x34; // float32
+                constexpr std::ptrdiff_t m_flInitialValue = 0x38; // float32
+                constexpr std::ptrdiff_t m_nRefundableCurrency = 0x3C; // int32
+                constexpr std::ptrdiff_t m_bSetBonus = 0x40; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 26
+            //
+            // Metadata:
+            // NetworkVarNames: m_FOV (float)
+            // NetworkVarNames: m_Resolution (float)
+            // NetworkVarNames: m_bFogEnable (bool)
+            // NetworkVarNames: m_FogColor (Color)
+            // NetworkVarNames: m_flFogStart (float)
+            // NetworkVarNames: m_flFogEnd (float)
+            // NetworkVarNames: m_flFogMaxDensity (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bUseScreenAspectRatio (bool)
+            // NetworkVarNames: m_flAspectRatio (float)
+            // NetworkVarNames: m_bNoSky (bool)
+            // NetworkVarNames: m_fBrightness (float)
+            // NetworkVarNames: m_flZFar (float)
+            // NetworkVarNames: m_flZNear (float)
+            // NetworkVarNames: m_bCanHLTVUse (bool)
+            // NetworkVarNames: m_bAlignWithParent (bool)
+            // NetworkVarNames: m_bDofEnabled (bool)
+            // NetworkVarNames: m_flDofNearBlurry (float)
+            // NetworkVarNames: m_flDofNearCrisp (float)
+            // NetworkVarNames: m_flDofFarCrisp (float)
+            // NetworkVarNames: m_flDofFarBlurry (float)
+            // NetworkVarNames: m_flDofTiltToGround (float)
+            namespace C_PointCamera {
+                constexpr std::ptrdiff_t m_FOV = 0x568; // float32
+                constexpr std::ptrdiff_t m_Resolution = 0x56C; // float32
+                constexpr std::ptrdiff_t m_bFogEnable = 0x570; // bool
+                constexpr std::ptrdiff_t m_FogColor = 0x571; // Color
+                constexpr std::ptrdiff_t m_flFogStart = 0x578; // float32
+                constexpr std::ptrdiff_t m_flFogEnd = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flFogMaxDensity = 0x580; // float32
+                constexpr std::ptrdiff_t m_bActive = 0x584; // bool
+                constexpr std::ptrdiff_t m_bUseScreenAspectRatio = 0x585; // bool
+                constexpr std::ptrdiff_t m_flAspectRatio = 0x588; // float32
+                constexpr std::ptrdiff_t m_bNoSky = 0x58C; // bool
+                constexpr std::ptrdiff_t m_fBrightness = 0x590; // float32
+                constexpr std::ptrdiff_t m_flZFar = 0x594; // float32
+                constexpr std::ptrdiff_t m_flZNear = 0x598; // float32
+                constexpr std::ptrdiff_t m_bCanHLTVUse = 0x59C; // bool
+                constexpr std::ptrdiff_t m_bAlignWithParent = 0x59D; // bool
+                constexpr std::ptrdiff_t m_bDofEnabled = 0x59E; // bool
+                constexpr std::ptrdiff_t m_flDofNearBlurry = 0x5A0; // float32
+                constexpr std::ptrdiff_t m_flDofNearCrisp = 0x5A4; // float32
+                constexpr std::ptrdiff_t m_flDofFarCrisp = 0x5A8; // float32
+                constexpr std::ptrdiff_t m_flDofFarBlurry = 0x5AC; // float32
+                constexpr std::ptrdiff_t m_flDofTiltToGround = 0x5B0; // float32
+                constexpr std::ptrdiff_t m_TargetFOV = 0x5B4; // float32
+                constexpr std::ptrdiff_t m_DegreesPerSecond = 0x5B8; // float32
+                constexpr std::ptrdiff_t m_bIsOn = 0x5BC; // bool
+                constexpr std::ptrdiff_t m_pNext = 0x5C0; // C_PointCamera*
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_weapon_cs_base {
+            }
+            // Parent: C_LightEntity
+            // Field count: 0
+            namespace C_LightSpotEntity {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+            namespace C_EnvWind {
+                constexpr std::ptrdiff_t m_EnvWindShared = 0x568; // C_EnvWindShared
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_GameRulesProxy {
+            }
+            // Parent: C_BaseFlex
+            // Field count: 6
+            //
+            // Metadata:
+            // MNetworkExcludeByUserGroup
+            // NetworkVarNames: m_hMyWearables (CHandle<C_EconWearable>)
+            namespace C_BaseCombatCharacter {
+                constexpr std::ptrdiff_t m_hMyWearables = 0x1120; // C_NetworkUtlVectorBase<CHandle<C_EconWearable>>
+                constexpr std::ptrdiff_t m_leftFootAttachment = 0x1138; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_rightFootAttachment = 0x1139; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_nWaterWakeMode = 0x113C; // C_BaseCombatCharacter::WaterWakeMode_t
+                constexpr std::ptrdiff_t m_flWaterWorldZ = 0x1140; // float32
+                constexpr std::ptrdiff_t m_flWaterNextTraceTime = 0x1144; // float32
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 0
+            namespace C_FlashbangProjectile {
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            namespace CEnvSoundscapeTriggerable {
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            namespace C_SoundEventSphereEntity {
+                constexpr std::ptrdiff_t m_flRadius = 0x628; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_ViewModelServices {
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_WingmanIntroCounterTerroristPosition {
+            }
+            // Parent: C_DynamicProp
+            // Field count: 0
+            namespace C_DynamicPropAlias_cable_dynamic {
+            }
+            // Parent: C_PointEntity
+            // Field count: 0
+            namespace C_InfoInstructorHintHostageRescueZone {
+            }
+            // Parent: C_PointEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsPlayingBack (bool)
+            // NetworkVarNames: m_bPaused (bool)
+            // NetworkVarNames: m_bMultiplayer (bool)
+            // NetworkVarNames: m_bAutogenerated (bool)
+            // NetworkVarNames: m_flForceClientTime (float32)
+            // NetworkVarNames: m_nSceneStringIndex (uint16)
+            // NetworkVarNames: m_hActorList (CHandle<C_BaseFlex>)
+            namespace C_SceneEntity {
+                constexpr std::ptrdiff_t m_bIsPlayingBack = 0x570; // bool
+                constexpr std::ptrdiff_t m_bPaused = 0x571; // bool
+                constexpr std::ptrdiff_t m_bMultiplayer = 0x572; // bool
+                constexpr std::ptrdiff_t m_bAutogenerated = 0x573; // bool
+                constexpr std::ptrdiff_t m_flForceClientTime = 0x574; // float32
+                constexpr std::ptrdiff_t m_nSceneStringIndex = 0x578; // uint16
+                constexpr std::ptrdiff_t m_bClientOnly = 0x57A; // bool
+                constexpr std::ptrdiff_t m_hOwner = 0x57C; // CHandle<C_BaseFlex>
+                constexpr std::ptrdiff_t m_hActorList = 0x580; // C_NetworkUtlVectorBase<CHandle<C_BaseFlex>>
+                constexpr std::ptrdiff_t m_bWasPlaying = 0x598; // bool
+                constexpr std::ptrdiff_t m_QueuedEvents = 0x5A8; // CUtlVector<C_SceneEntity::QueuedEvents_t>
+                constexpr std::ptrdiff_t m_flCurrentTime = 0x5C0; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 20
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCsViewPunchAngle (QAngle)
+            // NetworkVarNames: m_nCsViewPunchAngleTick (GameTick_t)
+            // NetworkVarNames: m_flCsViewPunchAngleTickRatio (float32)
+            // NetworkVarNames: m_PlayerFog (fogplayerparams_t)
+            // NetworkVarNames: m_hColorCorrectionCtrl (CHandle<CColorCorrection>)
+            // NetworkVarNames: m_hViewEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hTonemapController (CHandle<CTonemapController2>)
+            // NetworkVarNames: m_audio (audioparams_t)
+            // NetworkVarNames: m_PostProcessingVolumes (CHandle<C_PostProcessingVolume>)
+            namespace CPlayer_CameraServices {
+                constexpr std::ptrdiff_t m_vecCsViewPunchAngle = 0x40; // QAngle
+                constexpr std::ptrdiff_t m_nCsViewPunchAngleTick = 0x4C; // GameTick_t
+                constexpr std::ptrdiff_t m_flCsViewPunchAngleTickRatio = 0x50; // float32
+                constexpr std::ptrdiff_t m_PlayerFog = 0x58; // C_fogplayerparams_t
+                constexpr std::ptrdiff_t m_hColorCorrectionCtrl = 0x98; // CHandle<C_ColorCorrection>
+                constexpr std::ptrdiff_t m_hViewEntity = 0x9C; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hTonemapController = 0xA0; // CHandle<C_TonemapController2>
+                constexpr std::ptrdiff_t m_audio = 0xA8; // audioparams_t
+                constexpr std::ptrdiff_t m_PostProcessingVolumes = 0x120; // C_NetworkUtlVectorBase<CHandle<C_PostProcessingVolume>>
+                constexpr std::ptrdiff_t m_flOldPlayerZ = 0x138; // float32
+                constexpr std::ptrdiff_t m_flOldPlayerViewOffsetZ = 0x13C; // float32
+                constexpr std::ptrdiff_t m_CurrentFog = 0x140; // fogparams_t
+                constexpr std::ptrdiff_t m_hOldFogController = 0x1A8; // CHandle<C_FogController>
+                constexpr std::ptrdiff_t m_bOverrideFogColor = 0x1AC; // bool[5]
+                constexpr std::ptrdiff_t m_OverrideFogColor = 0x1B1; // Color[5]
+                constexpr std::ptrdiff_t m_bOverrideFogStartEnd = 0x1C5; // bool[5]
+                constexpr std::ptrdiff_t m_fOverrideFogStart = 0x1CC; // float32[5]
+                constexpr std::ptrdiff_t m_fOverrideFogEnd = 0x1E0; // float32[5]
+                constexpr std::ptrdiff_t m_hActivePostProcessingVolume = 0x1F4; // CHandle<C_PostProcessingVolume>
+                constexpr std::ptrdiff_t m_angDemoViewAngles = 0x1F8; // QAngle
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_bRedraw (bool)
+            // NetworkVarNames: m_bIsHeldByPlayer (bool)
+            // NetworkVarNames: m_bPinPulled (bool)
+            // NetworkVarNames: m_bJumpThrow (bool)
+            // NetworkVarNames: m_bThrowAnimating (bool)
+            // NetworkVarNames: m_fThrowTime (GameTime_t)
+            // NetworkVarNames: m_flThrowStrength (float)
+            // NetworkVarNames: m_flThrowStrengthApproach (float)
+            // NetworkVarNames: m_fDropTime (GameTime_t)
+            // NetworkVarNames: m_fPinPullTime (GameTime_t)
+            // NetworkVarNames: m_bJustPulledPin (bool)
+            // NetworkVarNames: m_nNextHoldTick (GameTick_t)
+            // NetworkVarNames: m_flNextHoldFrac (float)
+            // NetworkVarNames: m_hSwitchToWeaponAfterThrow (CHandle<CCSWeaponBase>)
+            namespace C_BaseCSGrenade {
+                constexpr std::ptrdiff_t m_bClientPredictDelete = 0x1B20; // bool
+                constexpr std::ptrdiff_t m_bRedraw = 0x1B21; // bool
+                constexpr std::ptrdiff_t m_bIsHeldByPlayer = 0x1B22; // bool
+                constexpr std::ptrdiff_t m_bPinPulled = 0x1B23; // bool
+                constexpr std::ptrdiff_t m_bJumpThrow = 0x1B24; // bool
+                constexpr std::ptrdiff_t m_bThrowAnimating = 0x1B25; // bool
+                constexpr std::ptrdiff_t m_fThrowTime = 0x1B28; // GameTime_t
+                constexpr std::ptrdiff_t m_flThrowStrength = 0x1B2C; // float32
+                constexpr std::ptrdiff_t m_flThrowStrengthApproach = 0x1B30; // float32
+                constexpr std::ptrdiff_t m_fDropTime = 0x1B34; // GameTime_t
+                constexpr std::ptrdiff_t m_fPinPullTime = 0x1B38; // GameTime_t
+                constexpr std::ptrdiff_t m_bJustPulledPin = 0x1B3C; // bool
+                constexpr std::ptrdiff_t m_nNextHoldTick = 0x1B40; // GameTick_t
+                constexpr std::ptrdiff_t m_flNextHoldFrac = 0x1B44; // float32
+                constexpr std::ptrdiff_t m_hSwitchToWeaponAfterThrow = 0x1B48; // CHandle<C_CSWeaponBase>
+            }
+            // Parent: C_FuncBrush
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_targetCamera (CUtlString)
+            // NetworkVarNames: m_nResolutionEnum (int)
+            // NetworkVarNames: m_bRenderShadows (bool)
+            // NetworkVarNames: m_bUseUniqueColorTarget (bool)
+            // NetworkVarNames: m_brushModelName (CUtlString)
+            // NetworkVarNames: m_hTargetCamera (EHANDLE)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bDraw3DSkybox (bool)
+            namespace C_FuncMonitor {
+                constexpr std::ptrdiff_t m_targetCamera = 0xD28; // CUtlString
+                constexpr std::ptrdiff_t m_nResolutionEnum = 0xD30; // int32
+                constexpr std::ptrdiff_t m_bRenderShadows = 0xD34; // bool
+                constexpr std::ptrdiff_t m_bUseUniqueColorTarget = 0xD35; // bool
+                constexpr std::ptrdiff_t m_brushModelName = 0xD38; // CUtlString
+                constexpr std::ptrdiff_t m_hTargetCamera = 0xD40; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bEnabled = 0xD44; // bool
+                constexpr std::ptrdiff_t m_bDraw3DSkybox = 0xD45; // bool
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 0
+            namespace C_TriggerMultiple {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace C_RopeKeyframe__CPhysicsDelegate {
+                constexpr std::ptrdiff_t m_pKeyframe = 0x8; // C_RopeKeyframe*
+            }
+            // Parent: CEntityComponent
+            // Field count: 2
+            namespace CBodyComponent {
+                constexpr std::ptrdiff_t m_pSceneNode = 0x8; // CGameSceneNode*
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x20; // CNetworkVarChainer
+            }
+            // Parent: C_SoundAreaEntityBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            namespace C_SoundAreaEntitySphere {
+                constexpr std::ptrdiff_t m_flRadius = 0x590; // float32
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 0
+            namespace CCSObserver_MovementServices {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nHorizontalSize (uint32)
+            // NetworkVarNames: m_nVerticalSize (uint32)
+            // NetworkVarNames: m_nMinDist (uint32)
+            // NetworkVarNames: m_nMaxDist (uint32)
+            // NetworkVarNames: m_nOuterMaxDist (uint32)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            namespace C_LightGlow {
+                constexpr std::ptrdiff_t m_nHorizontalSize = 0xD28; // uint32
+                constexpr std::ptrdiff_t m_nVerticalSize = 0xD2C; // uint32
+                constexpr std::ptrdiff_t m_nMinDist = 0xD30; // uint32
+                constexpr std::ptrdiff_t m_nMaxDist = 0xD34; // uint32
+                constexpr std::ptrdiff_t m_nOuterMaxDist = 0xD38; // uint32
+                constexpr std::ptrdiff_t m_flGlowProxySize = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0xD40; // float32
+                constexpr std::ptrdiff_t m_GlowOverlay = 0xD48; // C_LightGlowOverlay
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_timescale (float32)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            namespace CountdownTimer {
+                constexpr std::ptrdiff_t m_duration = 0x8; // float32
+                constexpr std::ptrdiff_t m_timestamp = 0xC; // GameTime_t
+                constexpr std::ptrdiff_t m_timescale = 0x10; // float32
+                constexpr std::ptrdiff_t m_nWorldGroupId = 0x14; // WorldGroupId_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hOwner (CEntityHandle)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            namespace CGameSceneNodeHandle {
+                constexpr std::ptrdiff_t m_hOwner = 0x8; // CEntityHandle
+                constexpr std::ptrdiff_t m_name = 0xC; // CUtlStringToken
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: nTagTick (GameTick_t)
+            // NetworkVarNames: flFlinchModSmall (float)
+            // NetworkVarNames: flFlinchModLarge (float)
+            // NetworkVarNames: flFriendlyFireDamageReductionRatio (float)
+            namespace PredictedDamageTag_t {
+                constexpr std::ptrdiff_t nTagTick = 0x30; // GameTick_t
+                constexpr std::ptrdiff_t flFlinchModSmall = 0x34; // float32
+                constexpr std::ptrdiff_t flFlinchModLarge = 0x38; // float32
+                constexpr std::ptrdiff_t flFriendlyFireDamageReductionRatio = 0x3C; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 14
+            namespace C_ClientRagdoll {
+                constexpr std::ptrdiff_t m_bFadeOut = 0xF88; // bool
+                constexpr std::ptrdiff_t m_bImportant = 0xF89; // bool
+                constexpr std::ptrdiff_t m_flEffectTime = 0xF8C; // GameTime_t
+                constexpr std::ptrdiff_t m_gibDespawnTime = 0xF90; // GameTime_t
+                constexpr std::ptrdiff_t m_iCurrentFriction = 0xF94; // int32
+                constexpr std::ptrdiff_t m_iMinFriction = 0xF98; // int32
+                constexpr std::ptrdiff_t m_iMaxFriction = 0xF9C; // int32
+                constexpr std::ptrdiff_t m_iFrictionAnimState = 0xFA0; // int32
+                constexpr std::ptrdiff_t m_bReleaseRagdoll = 0xFA4; // bool
+                constexpr std::ptrdiff_t m_iEyeAttachment = 0xFA5; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_bFadingOut = 0xFA6; // bool
+                constexpr std::ptrdiff_t m_flScaleEnd = 0xFA8; // float32[10]
+                constexpr std::ptrdiff_t m_flScaleTimeStart = 0xFD0; // GameTime_t[10]
+                constexpr std::ptrdiff_t m_flScaleTimeEnd = 0xFF8; // GameTime_t[10]
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            namespace C_GlobalLight {
+                constexpr std::ptrdiff_t m_WindClothForceHandle = 0xA30; // uint16
+            }
+            // Parent: C_BaseEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHostageAlive (bool)
+            // NetworkVarNames: m_isHostageFollowingSomeone (bool)
+            // NetworkVarNames: m_iHostageEntityIDs (CEntityIndex)
+            // NetworkVarNames: m_bombsiteCenterA (Vector)
+            // NetworkVarNames: m_bombsiteCenterB (Vector)
+            // NetworkVarNames: m_hostageRescueX (int)
+            // NetworkVarNames: m_hostageRescueY (int)
+            // NetworkVarNames: m_hostageRescueZ (int)
+            // NetworkVarNames: m_bEndMatchNextMapAllVoted (bool)
+            namespace C_CSPlayerResource {
+                constexpr std::ptrdiff_t m_bHostageAlive = 0x568; // bool[12]
+                constexpr std::ptrdiff_t m_isHostageFollowingSomeone = 0x574; // bool[12]
+                constexpr std::ptrdiff_t m_iHostageEntityIDs = 0x580; // CEntityIndex[12]
+                constexpr std::ptrdiff_t m_bombsiteCenterA = 0x5B0; // Vector
+                constexpr std::ptrdiff_t m_bombsiteCenterB = 0x5BC; // Vector
+                constexpr std::ptrdiff_t m_hostageRescueX = 0x5C8; // int32[4]
+                constexpr std::ptrdiff_t m_hostageRescueY = 0x5D8; // int32[4]
+                constexpr std::ptrdiff_t m_hostageRescueZ = 0x5E8; // int32[4]
+                constexpr std::ptrdiff_t m_bEndMatchNextMapAllVoted = 0x5F8; // bool
+                constexpr std::ptrdiff_t m_foundGoalPositions = 0x5F9; // bool
+            }
+            // Parent: CGameSceneNode
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_modelState (CModelState)
+            // NetworkVarNames: m_bIsAnimationEnabled (bool)
+            // NetworkVarNames: m_bUseParentRenderBounds (bool)
+            // NetworkVarNames: m_materialGroup (CUtlStringToken)
+            // NetworkVarNames: m_nHitboxSet (uint8)
+            namespace CSkeletonInstance {
+                constexpr std::ptrdiff_t m_modelState = 0x170; // CModelState
+                constexpr std::ptrdiff_t m_bIsAnimationEnabled = 0x3A0; // bool
+                constexpr std::ptrdiff_t m_bUseParentRenderBounds = 0x3A1; // bool
+                constexpr std::ptrdiff_t m_bDisableSolidCollisionsForHierarchy = 0x3A2; // bool
+                constexpr std::ptrdiff_t m_bDirtyMotionType = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bIsGeneratingLatchedParentSpaceState = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_materialGroup = 0x3A4; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nHitboxSet = 0x3A8; // uint8
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_animationController (CBaseAnimGraphController)
+            namespace CBodyComponentBaseAnimGraph {
+                constexpr std::ptrdiff_t m_animationController = 0x490; // CBaseAnimGraphController
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_sceneNode (CGameSceneNode)
+            namespace CBodyComponentPoint {
+                constexpr std::ptrdiff_t m_sceneNode = 0x50; // CGameSceneNode
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSmokeEffectTickBegin (int)
+            // NetworkVarNames: m_bDidSmokeEffect (bool)
+            // NetworkVarNames: m_nRandomSeed (int)
+            // NetworkVarNames: m_vSmokeColor (Vector)
+            // NetworkVarNames: m_vSmokeDetonationPos (Vector)
+            // NetworkVarNames: m_VoxelFrameData (uint8)
+            // NetworkVarNames: m_nVoxelFrameDataSize (int)
+            // NetworkVarNames: m_nVoxelUpdate (int)
+            namespace C_SmokeGrenadeProjectile {
+                constexpr std::ptrdiff_t m_nSmokeEffectTickBegin = 0x1210; // int32
+                constexpr std::ptrdiff_t m_bDidSmokeEffect = 0x1214; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x1218; // int32
+                constexpr std::ptrdiff_t m_vSmokeColor = 0x121C; // Vector
+                constexpr std::ptrdiff_t m_vSmokeDetonationPos = 0x1228; // Vector
+                constexpr std::ptrdiff_t m_VoxelFrameData = 0x1238; // C_NetworkUtlVectorBase<uint8>
+                constexpr std::ptrdiff_t m_nVoxelFrameDataSize = 0x1250; // int32
+                constexpr std::ptrdiff_t m_nVoxelUpdate = 0x1254; // int32
+                constexpr std::ptrdiff_t m_bSmokeVolumeDataReceived = 0x1258; // bool
+                constexpr std::ptrdiff_t m_bSmokeEffectSpawned = 0x1259; // bool
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 0
+            namespace C_SoundEventEntityAlias_snd_event_point {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            namespace C_CSGO_MapPreviewCameraPath {
+                constexpr std::ptrdiff_t m_flZFar = 0x568; // float32
+                constexpr std::ptrdiff_t m_flZNear = 0x56C; // float32
+                constexpr std::ptrdiff_t m_bLoop = 0x570; // bool
+                constexpr std::ptrdiff_t m_bVerticalFOV = 0x571; // bool
+                constexpr std::ptrdiff_t m_bConstantSpeed = 0x572; // bool
+                constexpr std::ptrdiff_t m_flDuration = 0x574; // float32
+                constexpr std::ptrdiff_t m_flPathLength = 0x5B8; // float32
+                constexpr std::ptrdiff_t m_flPathDuration = 0x5BC; // float32
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_WingmanIntroTerroristPosition {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_firePositions (Vector)
+            // NetworkVarNames: m_fireParentPositions (Vector)
+            // NetworkVarNames: m_bFireIsBurning (bool)
+            // NetworkVarNames: m_BurnNormal (Vector)
+            // NetworkVarNames: m_fireCount (int)
+            // NetworkVarNames: m_nInfernoType (int)
+            // NetworkVarNames: m_nFireLifetime (float)
+            // NetworkVarNames: m_bInPostEffectTime (bool)
+            // NetworkVarNames: m_nFireEffectTickBegin (int)
+            namespace C_Inferno {
+                constexpr std::ptrdiff_t m_nfxFireDamageEffect = 0xD68; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_hInfernoPointsSnapshot = 0xD70; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_hInfernoFillerPointsSnapshot = 0xD78; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_hInfernoOutlinePointsSnapshot = 0xD80; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_hInfernoClimbingOutlinePointsSnapshot = 0xD88; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_hInfernoDecalsSnapshot = 0xD90; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_firePositions = 0xD98; // Vector[64]
+                constexpr std::ptrdiff_t m_fireParentPositions = 0x1098; // Vector[64]
+                constexpr std::ptrdiff_t m_bFireIsBurning = 0x1398; // bool[64]
+                constexpr std::ptrdiff_t m_BurnNormal = 0x13D8; // Vector[64]
+                constexpr std::ptrdiff_t m_fireCount = 0x16D8; // int32
+                constexpr std::ptrdiff_t m_nInfernoType = 0x16DC; // int32
+                constexpr std::ptrdiff_t m_nFireLifetime = 0x16E0; // float32
+                constexpr std::ptrdiff_t m_bInPostEffectTime = 0x16E4; // bool
+                constexpr std::ptrdiff_t m_lastFireCount = 0x16E8; // int32
+                constexpr std::ptrdiff_t m_nFireEffectTickBegin = 0x16EC; // int32
+                constexpr std::ptrdiff_t m_drawableCount = 0x82F0; // int32
+                constexpr std::ptrdiff_t m_blosCheck = 0x82F4; // bool
+                constexpr std::ptrdiff_t m_nlosperiod = 0x82F8; // int32
+                constexpr std::ptrdiff_t m_maxFireHalfWidth = 0x82FC; // float32
+                constexpr std::ptrdiff_t m_maxFireHeight = 0x8300; // float32
+                constexpr std::ptrdiff_t m_minBounds = 0x8304; // Vector
+                constexpr std::ptrdiff_t m_maxBounds = 0x8310; // Vector
+                constexpr std::ptrdiff_t m_flLastGrassBurnThink = 0x831C; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace C_HostageCarriableProp {
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            namespace C_CSGO_TerroristWingmanIntroCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPingedEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_iType (int)
+            // NetworkVarNames: m_bUrgent (bool)
+            // NetworkVarNames: m_szPlaceName (char)
+            namespace C_PlayerPing {
+                constexpr std::ptrdiff_t m_hPlayer = 0x598; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_hPingedEntity = 0x59C; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_iType = 0x5A0; // int32
+                constexpr std::ptrdiff_t m_bUrgent = 0x5A4; // bool
+                constexpr std::ptrdiff_t m_szPlaceName = 0x5A5; // char[18]
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponMP7 {
+            }
+            // Parent: C_Team
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_szTeamMatchStat (char)
+            // NetworkVarNames: m_numMapVictories (int)
+            // NetworkVarNames: m_bSurrendered (bool)
+            // NetworkVarNames: m_scoreFirstHalf (int32)
+            // NetworkVarNames: m_scoreSecondHalf (int32)
+            // NetworkVarNames: m_scoreOvertime (int32)
+            // NetworkVarNames: m_szClanTeamname (char)
+            // NetworkVarNames: m_iClanID (uint32)
+            // NetworkVarNames: m_szTeamFlagImage (char)
+            // NetworkVarNames: m_szTeamLogoImage (char)
+            namespace C_CSTeam {
+                constexpr std::ptrdiff_t m_szTeamMatchStat = 0x620; // char[512]
+                constexpr std::ptrdiff_t m_numMapVictories = 0x820; // int32
+                constexpr std::ptrdiff_t m_bSurrendered = 0x824; // bool
+                constexpr std::ptrdiff_t m_scoreFirstHalf = 0x828; // int32
+                constexpr std::ptrdiff_t m_scoreSecondHalf = 0x82C; // int32
+                constexpr std::ptrdiff_t m_scoreOvertime = 0x830; // int32
+                constexpr std::ptrdiff_t m_szClanTeamname = 0x834; // char[129]
+                constexpr std::ptrdiff_t m_iClanID = 0x8B8; // uint32
+                constexpr std::ptrdiff_t m_szTeamFlagImage = 0x8BC; // char[8]
+                constexpr std::ptrdiff_t m_szTeamLogoImage = 0x8C4; // char[8]
+            }
+            // Parent: C_BaseEntity
+            // Field count: 10
+            namespace C_CSGO_MapPreviewCameraPathNode {
+                constexpr std::ptrdiff_t m_szParentPathUniqueID = 0x568; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nPathIndex = 0x570; // int32
+                constexpr std::ptrdiff_t m_vInTangentLocal = 0x574; // Vector
+                constexpr std::ptrdiff_t m_vOutTangentLocal = 0x580; // Vector
+                constexpr std::ptrdiff_t m_flFOV = 0x58C; // float32
+                constexpr std::ptrdiff_t m_flCameraSpeed = 0x590; // float32
+                constexpr std::ptrdiff_t m_flEaseIn = 0x594; // float32
+                constexpr std::ptrdiff_t m_flEaseOut = 0x598; // float32
+                constexpr std::ptrdiff_t m_vInTangentWorld = 0x59C; // Vector
+                constexpr std::ptrdiff_t m_vOutTangentWorld = 0x5A8; // Vector
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponMag7 {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_DEagle {
+            }
+            // Parent: C_CSPlayerPawnBase
+            // Field count: 104
+            //
+            // Metadata:
+            // NetworkVarNames: m_pBulletServices (CCSPlayer_BulletServices*)
+            // NetworkVarNames: m_pHostageServices (CCSPlayer_HostageServices*)
+            // NetworkVarNames: m_pBuyServices (CCSPlayer_BuyServices*)
+            // NetworkVarNames: m_pGlowServices (CCSPlayer_GlowServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayer_ActionTrackingServices*)
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_flHealthShotBoostExpirationTime (GameTime_t)
+            // NetworkVarNames: m_bHasFemaleVoice (bool)
+            // NetworkVarNames: m_szLastPlaceName (char)
+            // NetworkVarNames: m_bInBuyZone (bool)
+            // NetworkVarNames: m_aimPunchAngle (QAngle)
+            // NetworkVarNames: m_aimPunchAngleVel (QAngle)
+            // NetworkVarNames: m_aimPunchTickBase (int)
+            // NetworkVarNames: m_aimPunchTickFraction (float)
+            // NetworkVarNames: m_bInHostageRescueZone (bool)
+            // NetworkVarNames: m_bInBombZone (bool)
+            // NetworkVarNames: m_bIsBuyMenuOpen (bool)
+            // NetworkVarNames: m_flTimeOfLastInjury (GameTime_t)
+            // NetworkVarNames: m_flNextSprayDecalTime (GameTime_t)
+            // NetworkVarNames: m_iRetakesOffering (int)
+            // NetworkVarNames: m_iRetakesOfferingCard (int)
+            // NetworkVarNames: m_bRetakesHasDefuseKit (bool)
+            // NetworkVarNames: m_bRetakesMVPLastRound (bool)
+            // NetworkVarNames: m_iRetakesMVPBoostItem (int)
+            // NetworkVarNames: m_RetakesMVPBoostExtraUtility (loadout_slot_t)
+            // NetworkVarNames: m_EconGloves (CEconItemView)
+            // NetworkVarNames: m_nEconGlovesChanged (uint8)
+            // NetworkVarNames: m_nRagdollDamageBone (int)
+            // NetworkVarNames: m_vRagdollDamageForce (Vector)
+            // NetworkVarNames: m_vRagdollDamagePosition (Vector)
+            // NetworkVarNames: m_szRagdollDamageWeaponName (char)
+            // NetworkVarNames: m_bRagdollDamageHeadshot (bool)
+            // NetworkVarNames: m_vRagdollServerOrigin (Vector)
+            // MNetworkReplayCompatField
+            // NetworkVarNames: m_qDeathEyeAngles (QAngle)
+            // NetworkVarNames: m_bLeftHanded (bool)
+            // NetworkVarNames: m_fSwitchedHandednessTime (GameTime_t)
+            // NetworkVarNames: m_flViewmodelOffsetX (float)
+            // NetworkVarNames: m_flViewmodelOffsetY (float)
+            // NetworkVarNames: m_flViewmodelOffsetZ (float)
+            // NetworkVarNames: m_flViewmodelFOV (float)
+            // NetworkVarNames: m_vecPlayerPatchEconIndices (uint32)
+            // NetworkVarNames: m_GunGameImmunityColor (Color)
+            // NetworkVarNames: m_bIsWalking (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_bIsScoped (bool)
+            // NetworkVarNames: m_bResumeZoom (bool)
+            // NetworkVarNames: m_bIsDefusing (bool)
+            // NetworkVarNames: m_bIsGrabbingHostage (bool)
+            // NetworkVarNames: m_iBlockingUseActionInProgress (CSPlayerBlockingUseAction_t)
+            // NetworkVarNames: m_flEmitSoundTime (GameTime_t)
+            // NetworkVarNames: m_bInNoDefuseArea (bool)
+            // NetworkVarNames: m_nWhichBombZone (int)
+            // NetworkVarNames: m_iShotsFired (int)
+            // NetworkVarNames: m_flFlinchStack (float)
+            // NetworkVarNames: m_flVelocityModifier (float)
+            // NetworkVarNames: m_flHitHeading (float)
+            // NetworkVarNames: m_nHitBodyPart (int)
+            // NetworkVarNames: m_bWaitForNoAttack (bool)
+            // NetworkVarNames: m_bKilledByHeadshot (bool)
+            // NetworkVarNames: m_ArmorValue (int32)
+            // NetworkVarNames: m_unCurrentEquipmentValue (uint16)
+            // NetworkVarNames: m_unRoundStartEquipmentValue (uint16)
+            // NetworkVarNames: m_unFreezetimeEndEquipmentValue (uint16)
+            // NetworkVarNames: m_nLastKillerIndex (CEntityIndex)
+            // NetworkVarNames: m_PredictedDamageTags (PredictedDamageTag_t)
+            namespace C_CSPlayerPawn {
+                constexpr std::ptrdiff_t m_pBulletServices = 0x1518; // CCSPlayer_BulletServices*
+                constexpr std::ptrdiff_t m_pHostageServices = 0x1520; // CCSPlayer_HostageServices*
+                constexpr std::ptrdiff_t m_pBuyServices = 0x1528; // CCSPlayer_BuyServices*
+                constexpr std::ptrdiff_t m_pGlowServices = 0x1530; // CCSPlayer_GlowServices*
+                constexpr std::ptrdiff_t m_pActionTrackingServices = 0x1538; // CCSPlayer_ActionTrackingServices*
+                constexpr std::ptrdiff_t m_pDamageReactServices = 0x1540; // CCSPlayer_DamageReactServices*
+                constexpr std::ptrdiff_t m_flHealthShotBoostExpirationTime = 0x1548; // GameTime_t
+                constexpr std::ptrdiff_t m_flLastFiredWeaponTime = 0x154C; // GameTime_t
+                constexpr std::ptrdiff_t m_bHasFemaleVoice = 0x1550; // bool
+                constexpr std::ptrdiff_t m_flLandingTimeSeconds = 0x1554; // float32
+                constexpr std::ptrdiff_t m_flOldFallVelocity = 0x1558; // float32
+                constexpr std::ptrdiff_t m_szLastPlaceName = 0x155C; // char[18]
+                constexpr std::ptrdiff_t m_bPrevDefuser = 0x156E; // bool
+                constexpr std::ptrdiff_t m_bPrevHelmet = 0x156F; // bool
+                constexpr std::ptrdiff_t m_nPrevArmorVal = 0x1570; // int32
+                constexpr std::ptrdiff_t m_nPrevGrenadeAmmoCount = 0x1574; // int32
+                constexpr std::ptrdiff_t m_unPreviousWeaponHash = 0x1578; // uint32
+                constexpr std::ptrdiff_t m_unWeaponHash = 0x157C; // uint32
+                constexpr std::ptrdiff_t m_bInBuyZone = 0x1580; // bool
+                constexpr std::ptrdiff_t m_bPreviouslyInBuyZone = 0x1581; // bool
+                constexpr std::ptrdiff_t m_aimPunchAngle = 0x1584; // QAngle
+                constexpr std::ptrdiff_t m_aimPunchAngleVel = 0x1590; // QAngle
+                constexpr std::ptrdiff_t m_aimPunchTickBase = 0x159C; // int32
+                constexpr std::ptrdiff_t m_aimPunchTickFraction = 0x15A0; // float32
+                constexpr std::ptrdiff_t m_aimPunchCache = 0x15A8; // CUtlVector<QAngle>
+                constexpr std::ptrdiff_t m_bInLanding = 0x15C8; // bool
+                constexpr std::ptrdiff_t m_flLandingStartTime = 0x15CC; // float32
+                constexpr std::ptrdiff_t m_bInHostageRescueZone = 0x15D0; // bool
+                constexpr std::ptrdiff_t m_bInBombZone = 0x15D1; // bool
+                constexpr std::ptrdiff_t m_bIsBuyMenuOpen = 0x15D2; // bool
+                constexpr std::ptrdiff_t m_flTimeOfLastInjury = 0x15D4; // GameTime_t
+                constexpr std::ptrdiff_t m_flNextSprayDecalTime = 0x15D8; // GameTime_t
+                constexpr std::ptrdiff_t m_iRetakesOffering = 0x1730; // int32
+                constexpr std::ptrdiff_t m_iRetakesOfferingCard = 0x1734; // int32
+                constexpr std::ptrdiff_t m_bRetakesHasDefuseKit = 0x1738; // bool
+                constexpr std::ptrdiff_t m_bRetakesMVPLastRound = 0x1739; // bool
+                constexpr std::ptrdiff_t m_iRetakesMVPBoostItem = 0x173C; // int32
+                constexpr std::ptrdiff_t m_RetakesMVPBoostExtraUtility = 0x1740; // loadout_slot_t
+                constexpr std::ptrdiff_t m_bNeedToReApplyGloves = 0x1760; // bool
+                constexpr std::ptrdiff_t m_EconGloves = 0x1768; // C_EconItemView
+                constexpr std::ptrdiff_t m_nEconGlovesChanged = 0x1BB0; // uint8
+                constexpr std::ptrdiff_t m_bMustSyncRagdollState = 0x1BB1; // bool
+                constexpr std::ptrdiff_t m_nRagdollDamageBone = 0x1BB4; // int32
+                constexpr std::ptrdiff_t m_vRagdollDamageForce = 0x1BB8; // Vector
+                constexpr std::ptrdiff_t m_vRagdollDamagePosition = 0x1BC4; // Vector
+                constexpr std::ptrdiff_t m_szRagdollDamageWeaponName = 0x1BD0; // char[64]
+                constexpr std::ptrdiff_t m_bRagdollDamageHeadshot = 0x1C10; // bool
+                constexpr std::ptrdiff_t m_vRagdollServerOrigin = 0x1C14; // Vector
+                constexpr std::ptrdiff_t m_bLastHeadBoneTransformIsValid = 0x2290; // bool
+                constexpr std::ptrdiff_t m_lastLandTime = 0x2294; // GameTime_t
+                constexpr std::ptrdiff_t m_bOnGroundLastTick = 0x2298; // bool
+                constexpr std::ptrdiff_t m_qDeathEyeAngles = 0x22B4; // QAngle
+                constexpr std::ptrdiff_t m_bSkipOneHeadConstraintUpdate = 0x22C0; // bool
+                constexpr std::ptrdiff_t m_bLeftHanded = 0x22C1; // bool
+                constexpr std::ptrdiff_t m_fSwitchedHandednessTime = 0x22C4; // GameTime_t
+                constexpr std::ptrdiff_t m_flViewmodelOffsetX = 0x22C8; // float32
+                constexpr std::ptrdiff_t m_flViewmodelOffsetY = 0x22CC; // float32
+                constexpr std::ptrdiff_t m_flViewmodelOffsetZ = 0x22D0; // float32
+                constexpr std::ptrdiff_t m_flViewmodelFOV = 0x22D4; // float32
+                constexpr std::ptrdiff_t m_vecPlayerPatchEconIndices = 0x22D8; // uint32[5]
+                constexpr std::ptrdiff_t m_GunGameImmunityColor = 0x2310; // Color
+                constexpr std::ptrdiff_t m_vecBulletHitModels = 0x2360; // CUtlVector<C_BulletHitModel*>
+                constexpr std::ptrdiff_t m_bIsWalking = 0x2378; // bool
+                constexpr std::ptrdiff_t m_thirdPersonHeading = 0x2380; // QAngle
+                constexpr std::ptrdiff_t m_flSlopeDropOffset = 0x2398; // float32
+                constexpr std::ptrdiff_t m_flSlopeDropHeight = 0x23A8; // float32
+                constexpr std::ptrdiff_t m_vHeadConstraintOffset = 0x23B8; // Vector
+                constexpr std::ptrdiff_t m_entitySpottedState = 0x23D0; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_bIsScoped = 0x23E8; // bool
+                constexpr std::ptrdiff_t m_bResumeZoom = 0x23E9; // bool
+                constexpr std::ptrdiff_t m_bIsDefusing = 0x23EA; // bool
+                constexpr std::ptrdiff_t m_bIsGrabbingHostage = 0x23EB; // bool
+                constexpr std::ptrdiff_t m_iBlockingUseActionInProgress = 0x23EC; // CSPlayerBlockingUseAction_t
+                constexpr std::ptrdiff_t m_flEmitSoundTime = 0x23F0; // GameTime_t
+                constexpr std::ptrdiff_t m_bInNoDefuseArea = 0x23F4; // bool
+                constexpr std::ptrdiff_t m_nWhichBombZone = 0x23F8; // int32
+                constexpr std::ptrdiff_t m_iShotsFired = 0x23FC; // int32
+                constexpr std::ptrdiff_t m_flFlinchStack = 0x2400; // float32
+                constexpr std::ptrdiff_t m_flVelocityModifier = 0x2404; // float32
+                constexpr std::ptrdiff_t m_flHitHeading = 0x2408; // float32
+                constexpr std::ptrdiff_t m_nHitBodyPart = 0x240C; // int32
+                constexpr std::ptrdiff_t m_bWaitForNoAttack = 0x2410; // bool
+                constexpr std::ptrdiff_t m_ignoreLadderJumpTime = 0x2414; // float32
+                constexpr std::ptrdiff_t m_bKilledByHeadshot = 0x2419; // bool
+                constexpr std::ptrdiff_t m_ArmorValue = 0x241C; // int32
+                constexpr std::ptrdiff_t m_unCurrentEquipmentValue = 0x2420; // uint16
+                constexpr std::ptrdiff_t m_unRoundStartEquipmentValue = 0x2422; // uint16
+                constexpr std::ptrdiff_t m_unFreezetimeEndEquipmentValue = 0x2424; // uint16
+                constexpr std::ptrdiff_t m_nLastKillerIndex = 0x2428; // CEntityIndex
+                constexpr std::ptrdiff_t m_bOldIsScoped = 0x242C; // bool
+                constexpr std::ptrdiff_t m_bHasDeathInfo = 0x242D; // bool
+                constexpr std::ptrdiff_t m_flDeathInfoTime = 0x2430; // float32
+                constexpr std::ptrdiff_t m_vecDeathInfoOrigin = 0x2434; // Vector
+                constexpr std::ptrdiff_t m_grenadeParameterStashTime = 0x2440; // GameTime_t
+                constexpr std::ptrdiff_t m_bGrenadeParametersStashed = 0x2444; // bool
+                constexpr std::ptrdiff_t m_angStashedShootAngles = 0x2448; // QAngle
+                constexpr std::ptrdiff_t m_vecStashedGrenadeThrowPosition = 0x2454; // Vector
+                constexpr std::ptrdiff_t m_vecStashedVelocity = 0x2460; // Vector
+                constexpr std::ptrdiff_t m_angShootAngleHistory = 0x246C; // QAngle[2]
+                constexpr std::ptrdiff_t m_vecThrowPositionHistory = 0x2484; // Vector[2]
+                constexpr std::ptrdiff_t m_vecVelocityHistory = 0x249C; // Vector[2]
+                constexpr std::ptrdiff_t m_PredictedDamageTags = 0x24B8; // C_UtlVectorEmbeddedNetworkVar<PredictedDamageTag_t>
+                constexpr std::ptrdiff_t m_nPrevHighestReceivedDamageTagTick = 0x2508; // GameTick_t
+                constexpr std::ptrdiff_t m_nHighestAppliedDamageTagTick = 0x250C; // int32
+            }
+            // Parent: C_RagdollProp
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_boneIndexAttached (uint32)
+            // NetworkVarNames: m_ragdollAttachedObjectIndex (uint32)
+            // NetworkVarNames: m_attachmentPointBoneSpace (Vector)
+            // NetworkVarNames: m_attachmentPointRagdollSpace (Vector)
+            namespace C_RagdollPropAttached {
+                constexpr std::ptrdiff_t m_boneIndexAttached = 0x1000; // uint32
+                constexpr std::ptrdiff_t m_ragdollAttachedObjectIndex = 0x1004; // uint32
+                constexpr std::ptrdiff_t m_attachmentPointBoneSpace = 0x1008; // Vector
+                constexpr std::ptrdiff_t m_attachmentPointRagdollSpace = 0x1014; // Vector
+                constexpr std::ptrdiff_t m_vecOffset = 0x1020; // Vector
+                constexpr std::ptrdiff_t m_parentTime = 0x102C; // float32
+                constexpr std::ptrdiff_t m_bHasParent = 0x1030; // bool
+            }
+            // Parent: C_BaseGrenade
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_vInitialPosition (Vector)
+            // NetworkVarNames: m_vInitialVelocity (Vector)
+            // NetworkVarNames: m_nBounces (int)
+            // NetworkVarNames: m_nExplodeEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_nExplodeEffectTickBegin (int)
+            // NetworkVarNames: m_vecExplodeEffectOrigin (Vector)
+            namespace C_BaseCSGrenadeProjectile {
+                constexpr std::ptrdiff_t m_vInitialPosition = 0x1170; // Vector
+                constexpr std::ptrdiff_t m_vInitialVelocity = 0x117C; // Vector
+                constexpr std::ptrdiff_t m_nBounces = 0x1188; // int32
+                constexpr std::ptrdiff_t m_nExplodeEffectIndex = 0x1190; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_nExplodeEffectTickBegin = 0x1198; // int32
+                constexpr std::ptrdiff_t m_vecExplodeEffectOrigin = 0x119C; // Vector
+                constexpr std::ptrdiff_t m_flSpawnTime = 0x11A8; // GameTime_t
+                constexpr std::ptrdiff_t vecLastTrailLinePos = 0x11AC; // Vector
+                constexpr std::ptrdiff_t flNextTrailLineTime = 0x11B8; // GameTime_t
+                constexpr std::ptrdiff_t m_bExplodeEffectBegan = 0x11BC; // bool
+                constexpr std::ptrdiff_t m_bCanCreateGrenadeTrail = 0x11BD; // bool
+                constexpr std::ptrdiff_t m_nSnapshotTrajectoryEffectIndex = 0x11C0; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_hSnapshotTrajectoryParticleSnapshot = 0x11C8; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_arrTrajectoryTrailPoints = 0x11D0; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_arrTrajectoryTrailPointCreationTimes = 0x11E8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_flTrajectoryTrailEffectCreationTime = 0x1200; // float32
+            }
+            // Parent: C_BaseToggle
+            // Field count: 2
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bClientSidePredicted (bool)
+            namespace C_BaseTrigger {
+                constexpr std::ptrdiff_t m_bDisabled = 0xD28; // bool
+                constexpr std::ptrdiff_t m_bClientSidePredicted = 0xD29; // bool
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_SequenceCompleteTimer (CountdownTimer)
+            // NetworkVarNames: m_bRedraw (bool)
+            namespace C_WeaponBaseItem {
+                constexpr std::ptrdiff_t m_SequenceCompleteTimer = 0x1B20; // CountdownTimer
+                constexpr std::ptrdiff_t m_bRedraw = 0x1B38; // bool
+            }
+            // Parent: None
+            // Field count: 21
+            //
+            // Metadata:
+            // NetworkVarNames: m_vOrigin (Vector)
+            // NetworkVarNames: m_vStart (Vector)
+            // NetworkVarNames: m_vNormal (Vector)
+            // NetworkVarNames: m_vAngles (QAngle)
+            // NetworkVarNames: m_hEntity (CEntityHandle)
+            // NetworkVarNames: m_hOtherEntity (CEntityHandle)
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flMagnitude (float32)
+            // NetworkVarNames: m_flRadius (float32)
+            // NetworkVarNames: m_nSurfaceProp (CUtlStringToken)
+            // NetworkVarNames: m_nEffectIndex (HParticleSystemDefinition)
+            // NetworkVarNames: m_nDamageType (uint32)
+            // NetworkVarNames: m_nPenetrate (uint8)
+            // NetworkVarNames: m_nMaterial (uint16)
+            // NetworkVarNames: m_nHitBox (uint16)
+            // NetworkVarNames: m_nColor (uint8)
+            // NetworkVarNames: m_fFlags (uint8)
+            // NetworkVarNames: m_nAttachmentIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_nAttachmentName (CUtlStringToken)
+            // NetworkVarNames: m_iEffectName (uint16)
+            // NetworkVarNames: m_nExplosionType (uint8)
+            namespace CEffectData {
+                constexpr std::ptrdiff_t m_vOrigin = 0x8; // Vector
+                constexpr std::ptrdiff_t m_vStart = 0x14; // Vector
+                constexpr std::ptrdiff_t m_vNormal = 0x20; // Vector
+                constexpr std::ptrdiff_t m_vAngles = 0x2C; // QAngle
+                constexpr std::ptrdiff_t m_hEntity = 0x38; // CEntityHandle
+                constexpr std::ptrdiff_t m_hOtherEntity = 0x3C; // CEntityHandle
+                constexpr std::ptrdiff_t m_flScale = 0x40; // float32
+                constexpr std::ptrdiff_t m_flMagnitude = 0x44; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x48; // float32
+                constexpr std::ptrdiff_t m_nSurfaceProp = 0x4C; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nEffectIndex = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_nDamageType = 0x58; // uint32
+                constexpr std::ptrdiff_t m_nPenetrate = 0x5C; // uint8
+                constexpr std::ptrdiff_t m_nMaterial = 0x5E; // uint16
+                constexpr std::ptrdiff_t m_nHitBox = 0x60; // uint16
+                constexpr std::ptrdiff_t m_nColor = 0x62; // uint8
+                constexpr std::ptrdiff_t m_fFlags = 0x63; // uint8
+                constexpr std::ptrdiff_t m_nAttachmentIndex = 0x64; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_nAttachmentName = 0x68; // CUtlStringToken
+                constexpr std::ptrdiff_t m_iEffectName = 0x6C; // uint16
+                constexpr std::ptrdiff_t m_nExplosionType = 0x6E; // uint8
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            namespace C_MolotovGrenade {
+            }
+            // Parent: C_BaseToggle
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_glowEntity (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_usable (bool)
+            // NetworkVarNames: m_szDisplayText (string_t)
+            namespace C_BaseButton {
+                constexpr std::ptrdiff_t m_glowEntity = 0xD28; // CHandle<C_BaseModelEntity>
+                constexpr std::ptrdiff_t m_usable = 0xD2C; // bool
+                constexpr std::ptrdiff_t m_szDisplayText = 0xD30; // CUtlSymbolLarge
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_hViewModel (CHandle<CBaseViewModel>)
+            namespace CCSPlayer_ViewModelServices {
+                constexpr std::ptrdiff_t m_hViewModel = 0x40; // CHandle<C_BaseViewModel>[3]
+            }
+            // Parent: C_PointEntity
+            // Field count: 0
+            namespace CInfoParticleTarget {
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFallVelocity (float32)
+            // NetworkVarNames: m_bInCrouch (bool)
+            // NetworkVarNames: m_nCrouchState (uint32)
+            // NetworkVarNames: m_flCrouchTransitionStartTime (GameTime_t)
+            // NetworkVarNames: m_bDucked (bool)
+            // NetworkVarNames: m_bDucking (bool)
+            // NetworkVarNames: m_bInDuckJump (bool)
+            namespace CPlayer_MovementServices_Humanoid {
+                constexpr std::ptrdiff_t m_flStepSoundTime = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flFallVelocity = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_bInCrouch = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_nCrouchState = 0x1E4; // uint32
+                constexpr std::ptrdiff_t m_flCrouchTransitionStartTime = 0x1E8; // GameTime_t
+                constexpr std::ptrdiff_t m_bDucked = 0x1EC; // bool
+                constexpr std::ptrdiff_t m_bDucking = 0x1ED; // bool
+                constexpr std::ptrdiff_t m_bInDuckJump = 0x1EE; // bool
+                constexpr std::ptrdiff_t m_groundNormal = 0x1F0; // Vector
+                constexpr std::ptrdiff_t m_flSurfaceFriction = 0x1FC; // float32
+                constexpr std::ptrdiff_t m_surfaceProps = 0x200; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nStepside = 0x210; // int32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponAug {
+            }
+            // Parent: CEnvSoundscapeProxy
+            // Field count: 0
+            namespace CEnvSoundscapeProxyAlias_snd_soundscape_proxy {
+            }
+            // Parent: C_BaseClientUIEntity
+            // Field count: 28
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIgnoreInput (bool)
+            // NetworkVarNames: m_bLit (bool)
+            // NetworkVarNames: m_bFollowPlayerAcrossTeleport (bool)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDPI (float)
+            // NetworkVarNames: m_flInteractDistance (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_unOwnerContext (uint32)
+            // NetworkVarNames: m_unHorizontalAlign (uint32)
+            // NetworkVarNames: m_unVerticalAlign (uint32)
+            // NetworkVarNames: m_unOrientation (uint32)
+            // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            // NetworkVarNames: m_bOpaque (bool)
+            // NetworkVarNames: m_bNoDepth (bool)
+            // NetworkVarNames: m_bRenderBackface (bool)
+            // NetworkVarNames: m_bUseOffScreenIndicator (bool)
+            // NetworkVarNames: m_bExcludeFromSaveGames (bool)
+            // NetworkVarNames: m_bGrabbable (bool)
+            // NetworkVarNames: m_bOnlyRenderToTexture (bool)
+            // NetworkVarNames: m_bDisableMipGen (bool)
+            // NetworkVarNames: m_nExplicitImageLayout (int32)
+            namespace C_PointClientUIWorldPanel {
+                constexpr std::ptrdiff_t m_bForceRecreateNextUpdate = 0xD60; // bool
+                constexpr std::ptrdiff_t m_bMoveViewToPlayerNextThink = 0xD61; // bool
+                constexpr std::ptrdiff_t m_bCheckCSSClasses = 0xD62; // bool
+                constexpr std::ptrdiff_t m_anchorDeltaTransform = 0xD70; // CTransform
+                constexpr std::ptrdiff_t m_pOffScreenIndicator = 0xF08; // CPointOffScreenIndicatorUi*
+                constexpr std::ptrdiff_t m_bIgnoreInput = 0xF30; // bool
+                constexpr std::ptrdiff_t m_bLit = 0xF31; // bool
+                constexpr std::ptrdiff_t m_bFollowPlayerAcrossTeleport = 0xF32; // bool
+                constexpr std::ptrdiff_t m_flWidth = 0xF34; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0xF38; // float32
+                constexpr std::ptrdiff_t m_flDPI = 0xF3C; // float32
+                constexpr std::ptrdiff_t m_flInteractDistance = 0xF40; // float32
+                constexpr std::ptrdiff_t m_flDepthOffset = 0xF44; // float32
+                constexpr std::ptrdiff_t m_unOwnerContext = 0xF48; // uint32
+                constexpr std::ptrdiff_t m_unHorizontalAlign = 0xF4C; // uint32
+                constexpr std::ptrdiff_t m_unVerticalAlign = 0xF50; // uint32
+                constexpr std::ptrdiff_t m_unOrientation = 0xF54; // uint32
+                constexpr std::ptrdiff_t m_bAllowInteractionFromAllSceneWorlds = 0xF58; // bool
+                constexpr std::ptrdiff_t m_vecCSSClasses = 0xF60; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_bOpaque = 0xF78; // bool
+                constexpr std::ptrdiff_t m_bNoDepth = 0xF79; // bool
+                constexpr std::ptrdiff_t m_bRenderBackface = 0xF7A; // bool
+                constexpr std::ptrdiff_t m_bUseOffScreenIndicator = 0xF7B; // bool
+                constexpr std::ptrdiff_t m_bExcludeFromSaveGames = 0xF7C; // bool
+                constexpr std::ptrdiff_t m_bGrabbable = 0xF7D; // bool
+                constexpr std::ptrdiff_t m_bOnlyRenderToTexture = 0xF7E; // bool
+                constexpr std::ptrdiff_t m_bDisableMipGen = 0xF7F; // bool
+                constexpr std::ptrdiff_t m_nExplicitImageLayout = 0xF80; // int32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_CSMinimapBoundary {
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flDMBonusStartTime (GameTime_t)
+            // NetworkVarNames: m_flDMBonusTimeLength (float)
+            // NetworkVarNames: m_sDMBonusWeapon (CUtlString)
+            namespace CCSGameModeRules_Deathmatch {
+                constexpr std::ptrdiff_t m_flDMBonusStartTime = 0x30; // GameTime_t
+                constexpr std::ptrdiff_t m_flDMBonusTimeLength = 0x34; // float32
+                constexpr std::ptrdiff_t m_sDMBonusWeapon = 0x38; // CUtlString
+            }
+            // Parent: C_CSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_EndOfMatchCharacterPosition {
+            }
+            // Parent: C_SoundOpvarSetPointEntity
+            // Field count: 0
+            namespace C_SoundOpvarSetAABBEntity {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_nTotalPausedTicks (int)
+            // NetworkVarNames: m_nPauseStartTick (int)
+            // NetworkVarNames: m_bGamePaused (bool)
+            namespace C_GameRules {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer
+                constexpr std::ptrdiff_t m_nTotalPausedTicks = 0x30; // int32
+                constexpr std::ptrdiff_t m_nPauseStartTick = 0x34; // int32
+                constexpr std::ptrdiff_t m_bGamePaused = 0x38; // bool
+            }
+            // Parent: C_BasePropDoor
+            // Field count: 0
+            namespace C_PropDoorRotating {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_aPlayerControllers (CHandle<CBasePlayerController>)
+            // NetworkVarNames: m_aPlayers (CHandle<C_BasePlayerPawn>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_szTeamname (char)
+            namespace C_Team {
+                constexpr std::ptrdiff_t m_aPlayerControllers = 0x568; // C_NetworkUtlVectorBase<CHandle<CBasePlayerController>>
+                constexpr std::ptrdiff_t m_aPlayers = 0x580; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerPawn>>
+                constexpr std::ptrdiff_t m_iScore = 0x598; // int32
+                constexpr std::ptrdiff_t m_szTeamname = 0x59C; // char[129]
+            }
+            // Parent: C_SoundAreaEntityBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMin (Vector)
+            // NetworkVarNames: m_vMax (Vector)
+            namespace C_SoundAreaEntityOrientedBox {
+                constexpr std::ptrdiff_t m_vMin = 0x590; // Vector
+                constexpr std::ptrdiff_t m_vMax = 0x59C; // Vector
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_bLoop (bool)
+            // NetworkVarNames: m_flFPS (float)
+            // NetworkVarNames: m_hPositionKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_hRotationKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_vAnimationBoundsMin (Vector)
+            // NetworkVarNames: m_vAnimationBoundsMax (Vector)
+            // NetworkVarNames: m_flStartTime (float)
+            // NetworkVarNames: m_flStartFrame (float)
+            namespace C_TextureBasedAnimatable {
+                constexpr std::ptrdiff_t m_bLoop = 0xD28; // bool
+                constexpr std::ptrdiff_t m_flFPS = 0xD2C; // float32
+                constexpr std::ptrdiff_t m_hPositionKeys = 0xD30; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_hRotationKeys = 0xD38; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_vAnimationBoundsMin = 0xD40; // Vector
+                constexpr std::ptrdiff_t m_vAnimationBoundsMax = 0xD4C; // Vector
+                constexpr std::ptrdiff_t m_flStartTime = 0xD58; // float32
+                constexpr std::ptrdiff_t m_flStartFrame = 0xD5C; // float32
+            }
+            // Parent: C_SoundOpvarSetPointBase
+            // Field count: 0
+            namespace C_SoundOpvarSetPointEntity {
+            }
+            // Parent: C_LightEntity
+            // Field count: 0
+            namespace C_LightOrthoEntity {
+            }
+            // Parent: CPlayer_WaterServices
+            // Field count: 3
+            namespace CCSPlayer_WaterServices {
+                constexpr std::ptrdiff_t m_flWaterJumpTime = 0x40; // float32
+                constexpr std::ptrdiff_t m_vecWaterJumpVel = 0x44; // Vector
+                constexpr std::ptrdiff_t m_flSwimSoundTime = 0x50; // float32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            namespace CSkyboxReference {
+                constexpr std::ptrdiff_t m_worldGroupId = 0x568; // WorldGroupId_t
+                constexpr std::ptrdiff_t m_hSkyCamera = 0x56C; // CHandle<C_SkyCamera>
+            }
+            // Parent: C_TonemapController2
+            // Field count: 0
+            namespace C_TonemapController2Alias_env_tonemap_controller2 {
+            }
+            // Parent: None
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_hTargetEntity (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_bState (bool)
+            // NetworkVarNames: m_bAlwaysUpdate (bool)
+            // NetworkVarNames: m_flLightFOV (float32)
+            // NetworkVarNames: m_bEnableShadows (bool)
+            // NetworkVarNames: m_bSimpleProjection (bool)
+            // NetworkVarNames: m_bLightOnlyTarget (bool)
+            // NetworkVarNames: m_bLightWorld (bool)
+            // NetworkVarNames: m_bCameraSpace (bool)
+            // NetworkVarNames: m_flBrightnessScale (float32)
+            // NetworkVarNames: m_LightColor (Color)
+            // NetworkVarNames: m_flIntensity (float32)
+            // NetworkVarNames: m_flLinearAttenuation (float32)
+            // NetworkVarNames: m_flQuadraticAttenuation (float32)
+            // NetworkVarNames: m_bVolumetric (bool)
+            // NetworkVarNames: m_flVolumetricIntensity (float32)
+            // NetworkVarNames: m_flNoiseStrength (float32)
+            // NetworkVarNames: m_flFlashlightTime (float32)
+            // NetworkVarNames: m_nNumPlanes (uint32)
+            // NetworkVarNames: m_flPlaneOffset (float32)
+            // NetworkVarNames: m_flColorTransitionTime (float32)
+            // NetworkVarNames: m_flAmbient (float32)
+            // NetworkVarNames: m_SpotlightTextureName (char)
+            // NetworkVarNames: m_nSpotlightTextureFrame (int32)
+            // NetworkVarNames: m_nShadowQuality (uint32)
+            // NetworkVarNames: m_flNearZ (float32)
+            // NetworkVarNames: m_flFarZ (float32)
+            // NetworkVarNames: m_flProjectionSize (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_bFlipHorizontal (bool)
+            namespace CProjectedTextureBase {
+                constexpr std::ptrdiff_t m_hTargetEntity = 0xC; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bState = 0x10; // bool
+                constexpr std::ptrdiff_t m_bAlwaysUpdate = 0x11; // bool
+                constexpr std::ptrdiff_t m_flLightFOV = 0x14; // float32
+                constexpr std::ptrdiff_t m_bEnableShadows = 0x18; // bool
+                constexpr std::ptrdiff_t m_bSimpleProjection = 0x19; // bool
+                constexpr std::ptrdiff_t m_bLightOnlyTarget = 0x1A; // bool
+                constexpr std::ptrdiff_t m_bLightWorld = 0x1B; // bool
+                constexpr std::ptrdiff_t m_bCameraSpace = 0x1C; // bool
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x20; // float32
+                constexpr std::ptrdiff_t m_LightColor = 0x24; // Color
+                constexpr std::ptrdiff_t m_flIntensity = 0x28; // float32
+                constexpr std::ptrdiff_t m_flLinearAttenuation = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flQuadraticAttenuation = 0x30; // float32
+                constexpr std::ptrdiff_t m_bVolumetric = 0x34; // bool
+                constexpr std::ptrdiff_t m_flVolumetricIntensity = 0x38; // float32
+                constexpr std::ptrdiff_t m_flNoiseStrength = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flFlashlightTime = 0x40; // float32
+                constexpr std::ptrdiff_t m_nNumPlanes = 0x44; // uint32
+                constexpr std::ptrdiff_t m_flPlaneOffset = 0x48; // float32
+                constexpr std::ptrdiff_t m_flColorTransitionTime = 0x4C; // float32
+                constexpr std::ptrdiff_t m_flAmbient = 0x50; // float32
+                constexpr std::ptrdiff_t m_SpotlightTextureName = 0x54; // char[512]
+                constexpr std::ptrdiff_t m_nSpotlightTextureFrame = 0x254; // int32
+                constexpr std::ptrdiff_t m_nShadowQuality = 0x258; // uint32
+                constexpr std::ptrdiff_t m_flNearZ = 0x25C; // float32
+                constexpr std::ptrdiff_t m_flFarZ = 0x260; // float32
+                constexpr std::ptrdiff_t m_flProjectionSize = 0x264; // float32
+                constexpr std::ptrdiff_t m_flRotation = 0x268; // float32
+                constexpr std::ptrdiff_t m_bFlipHorizontal = 0x26C; // bool
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_unMusicID (item_definition_index_t)
+            // NetworkVarNames: m_rank (MedalRank_t)
+            // NetworkVarNames: m_nPersonaDataPublicLevel (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsLeader (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsTeacher (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsFriendly (int)
+            // NetworkVarNames: m_nPersonaDataXpTrailLevel (int)
+            // NetworkVarNames: m_vecServerAuthoritativeWeaponSlots (ServerAuthoritativeWeaponSlot_t)
+            namespace CCSPlayerController_InventoryServices {
+                constexpr std::ptrdiff_t m_unMusicID = 0x40; // uint16
+                constexpr std::ptrdiff_t m_rank = 0x44; // MedalRank_t[6]
+                constexpr std::ptrdiff_t m_nPersonaDataPublicLevel = 0x5C; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsLeader = 0x60; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsTeacher = 0x64; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsFriendly = 0x68; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataXpTrailLevel = 0x6C; // int32
+                constexpr std::ptrdiff_t m_vecServerAuthoritativeWeaponSlots = 0x70; // C_UtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
+            }
+            // Parent: C_PathParticleRope
+            // Field count: 0
+            namespace C_PathParticleRopeAlias_path_particle_rope_clientside {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_UseServices {
+            }
+            // Parent: C_PredictedViewModel
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShouldIgnoreOffsetAndAccuracy (bool)
+            namespace C_CSGOViewModel {
+                constexpr std::ptrdiff_t m_bShouldIgnoreOffsetAndAccuracy = 0x1021; // bool
+                constexpr std::ptrdiff_t m_nLastKnownAssociatedWeaponEntIndex = 0x1024; // CEntityIndex
+                constexpr std::ptrdiff_t m_bNeedToQueueHighResComposite = 0x1028; // bool
+                constexpr std::ptrdiff_t m_vLoweredWeaponOffset = 0x1078; // QAngle
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            namespace CScriptComponent {
+                constexpr std::ptrdiff_t m_scriptClassName = 0x30; // CUtlSymbolLarge
+            }
+            // Parent: C_BaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            namespace C_EnvLightProbeVolume {
+                constexpr std::ptrdiff_t m_Entity_hLightProbeTexture = 0x1548; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightIndicesTexture = 0x1550; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightScalarsTexture = 0x1558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightShadowsTexture = 0x1560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_vBoxMins = 0x1568; // Vector
+                constexpr std::ptrdiff_t m_Entity_vBoxMaxs = 0x1574; // Vector
+                constexpr std::ptrdiff_t m_Entity_bMoveable = 0x1580; // bool
+                constexpr std::ptrdiff_t m_Entity_nHandshake = 0x1584; // int32
+                constexpr std::ptrdiff_t m_Entity_nPriority = 0x1588; // int32
+                constexpr std::ptrdiff_t m_Entity_bStartDisabled = 0x158C; // bool
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeX = 0x1590; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeY = 0x1594; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeZ = 0x1598; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasX = 0x159C; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasY = 0x15A0; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasZ = 0x15A4; // int32
+                constexpr std::ptrdiff_t m_Entity_bEnabled = 0x15B1; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 2
+            namespace C_ViewmodelAttachmentModel {
+                constexpr std::ptrdiff_t m_bShouldFrontFaceCullLeftHanded = 0xF90; // bool
+                constexpr std::ptrdiff_t m_bCreatedLeftHanded = 0xF91; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_player_controller {
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            namespace C_Flashbang {
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_iKills (int)
+            // NetworkVarNames: m_iDeaths (int)
+            // NetworkVarNames: m_iAssists (int)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iEquipmentValue (int)
+            // NetworkVarNames: m_iMoneySaved (int)
+            // NetworkVarNames: m_iKillReward (int)
+            // NetworkVarNames: m_iLiveTime (int)
+            // NetworkVarNames: m_iHeadShotKills (int)
+            // NetworkVarNames: m_iObjective (int)
+            // NetworkVarNames: m_iCashEarned (int)
+            // NetworkVarNames: m_iUtilityDamage (int)
+            // NetworkVarNames: m_iEnemiesFlashed (int)
+            namespace CSPerRoundStats_t {
+                constexpr std::ptrdiff_t m_iKills = 0x30; // int32
+                constexpr std::ptrdiff_t m_iDeaths = 0x34; // int32
+                constexpr std::ptrdiff_t m_iAssists = 0x38; // int32
+                constexpr std::ptrdiff_t m_iDamage = 0x3C; // int32
+                constexpr std::ptrdiff_t m_iEquipmentValue = 0x40; // int32
+                constexpr std::ptrdiff_t m_iMoneySaved = 0x44; // int32
+                constexpr std::ptrdiff_t m_iKillReward = 0x48; // int32
+                constexpr std::ptrdiff_t m_iLiveTime = 0x4C; // int32
+                constexpr std::ptrdiff_t m_iHeadShotKills = 0x50; // int32
+                constexpr std::ptrdiff_t m_iObjective = 0x54; // int32
+                constexpr std::ptrdiff_t m_iCashEarned = 0x58; // int32
+                constexpr std::ptrdiff_t m_iUtilityDamage = 0x5C; // int32
+                constexpr std::ptrdiff_t m_iEnemiesFlashed = 0x60; // int32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_iCurrentMaxRagdollCount (int8)
+            namespace CRagdollManager {
+                constexpr std::ptrdiff_t m_iCurrentMaxRagdollCount = 0x568; // int8
+            }
+            // Parent: C_BaseEntity
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_bTimerPaused (bool)
+            // NetworkVarNames: m_flTimeRemaining (float)
+            // NetworkVarNames: m_flTimerEndTime (GameTime_t)
+            // NetworkVarNames: m_bIsDisabled (bool)
+            // NetworkVarNames: m_bShowInHUD (bool)
+            // NetworkVarNames: m_nTimerLength (int)
+            // NetworkVarNames: m_nTimerInitialLength (int)
+            // NetworkVarNames: m_nTimerMaxLength (int)
+            // NetworkVarNames: m_bAutoCountdown (bool)
+            // NetworkVarNames: m_nSetupTimeLength (int)
+            // NetworkVarNames: m_nState (int)
+            // NetworkVarNames: m_bStartPaused (bool)
+            // NetworkVarNames: m_bInCaptureWatchState (bool)
+            // NetworkVarNames: m_flTotalTime (float)
+            // NetworkVarNames: m_bStopWatchTimer (bool)
+            namespace C_TeamRoundTimer {
+                constexpr std::ptrdiff_t m_bTimerPaused = 0x568; // bool
+                constexpr std::ptrdiff_t m_flTimeRemaining = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flTimerEndTime = 0x570; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsDisabled = 0x574; // bool
+                constexpr std::ptrdiff_t m_bShowInHUD = 0x575; // bool
+                constexpr std::ptrdiff_t m_nTimerLength = 0x578; // int32
+                constexpr std::ptrdiff_t m_nTimerInitialLength = 0x57C; // int32
+                constexpr std::ptrdiff_t m_nTimerMaxLength = 0x580; // int32
+                constexpr std::ptrdiff_t m_bAutoCountdown = 0x584; // bool
+                constexpr std::ptrdiff_t m_nSetupTimeLength = 0x588; // int32
+                constexpr std::ptrdiff_t m_nState = 0x58C; // int32
+                constexpr std::ptrdiff_t m_bStartPaused = 0x590; // bool
+                constexpr std::ptrdiff_t m_bInCaptureWatchState = 0x591; // bool
+                constexpr std::ptrdiff_t m_flTotalTime = 0x594; // float32
+                constexpr std::ptrdiff_t m_bStopWatchTimer = 0x598; // bool
+                constexpr std::ptrdiff_t m_bFireFinished = 0x599; // bool
+                constexpr std::ptrdiff_t m_bFire5MinRemain = 0x59A; // bool
+                constexpr std::ptrdiff_t m_bFire4MinRemain = 0x59B; // bool
+                constexpr std::ptrdiff_t m_bFire3MinRemain = 0x59C; // bool
+                constexpr std::ptrdiff_t m_bFire2MinRemain = 0x59D; // bool
+                constexpr std::ptrdiff_t m_bFire1MinRemain = 0x59E; // bool
+                constexpr std::ptrdiff_t m_bFire30SecRemain = 0x59F; // bool
+                constexpr std::ptrdiff_t m_bFire10SecRemain = 0x5A0; // bool
+                constexpr std::ptrdiff_t m_bFire5SecRemain = 0x5A1; // bool
+                constexpr std::ptrdiff_t m_bFire4SecRemain = 0x5A2; // bool
+                constexpr std::ptrdiff_t m_bFire3SecRemain = 0x5A3; // bool
+                constexpr std::ptrdiff_t m_bFire2SecRemain = 0x5A4; // bool
+                constexpr std::ptrdiff_t m_bFire1SecRemain = 0x5A5; // bool
+                constexpr std::ptrdiff_t m_nOldTimerLength = 0x5A8; // int32
+                constexpr std::ptrdiff_t m_nOldTimerState = 0x5AC; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nItemDefIndex (uint16)
+            // NetworkVarNames: m_nCount (uint16)
+            namespace WeaponPurchaseCount_t {
+                constexpr std::ptrdiff_t m_nItemDefIndex = 0x30; // uint16
+                constexpr std::ptrdiff_t m_nCount = 0x32; // uint16
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            namespace C_SmokeGrenade {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponGalilAR {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace C_WorldModelGloves {
+            }
+            // Parent: C_ModelPointEntity
+            // Field count: 0
+            namespace C_EnvProjectedTexture {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pathString (CUtlString)
+            namespace CPathSimple {
+                constexpr std::ptrdiff_t m_pathString = 0x5C0; // CUtlString
+            }
+            // Parent: CPlayer_CameraServices
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iFOV (uint32)
+            // NetworkVarNames: m_iFOVStart (uint32)
+            // NetworkVarNames: m_flFOVTime (GameTime_t)
+            // NetworkVarNames: m_flFOVRate (float32)
+            // NetworkVarNames: m_hZoomOwner (CHandle<CBaseEntity>)
+            namespace CCSPlayerBase_CameraServices {
+                constexpr std::ptrdiff_t m_iFOV = 0x210; // uint32
+                constexpr std::ptrdiff_t m_iFOVStart = 0x214; // uint32
+                constexpr std::ptrdiff_t m_flFOVTime = 0x218; // GameTime_t
+                constexpr std::ptrdiff_t m_flFOVRate = 0x21C; // float32
+                constexpr std::ptrdiff_t m_hZoomOwner = 0x220; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_flLastShotFOV = 0x224; // float32
+            }
+            // Parent: C_PointClientUIWorldPanel
+            // Field count: 4
+            namespace CPointOffScreenIndicatorUi {
+                constexpr std::ptrdiff_t m_bBeenEnabled = 0xF90; // bool
+                constexpr std::ptrdiff_t m_bHide = 0xF91; // bool
+                constexpr std::ptrdiff_t m_flSeenTargetTime = 0xF94; // float32
+                constexpr std::ptrdiff_t m_pTargetPanel = 0xF98; // C_PointClientUIWorldPanel*
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_entity {
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 0
+            namespace CBodyComponentBaseModelEntity {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_zoomLevel (int)
+            // NetworkVarNames: m_iBurstShotsRemaining (int)
+            // NetworkVarNames: m_bNeedsBoltAction (bool)
+            namespace C_CSWeaponBaseGun {
+                constexpr std::ptrdiff_t m_zoomLevel = 0x1B20; // int32
+                constexpr std::ptrdiff_t m_iBurstShotsRemaining = 0x1B24; // int32
+                constexpr std::ptrdiff_t m_iSilencerBodygroup = 0x1B28; // int32
+                constexpr std::ptrdiff_t m_silencedModelIndex = 0x1B38; // int32
+                constexpr std::ptrdiff_t m_inPrecache = 0x1B3C; // bool
+                constexpr std::ptrdiff_t m_bNeedsBoltAction = 0x1B3D; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_skyboxData (sky3dparams_t)
+            // NetworkVarNames: m_skyboxSlotToken (CUtlStringToken)
+            namespace C_SkyCamera {
+                constexpr std::ptrdiff_t m_skyboxData = 0x568; // sky3dparams_t
+                constexpr std::ptrdiff_t m_skyboxSlotToken = 0x5F8; // CUtlStringToken
+                constexpr std::ptrdiff_t m_bUseAngles = 0x5FC; // bool
+                constexpr std::ptrdiff_t m_pNext = 0x600; // C_SkyCamera*
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_World {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flFadeInStart (float32)
+            // NetworkVarNames: m_flFadeInLength (float32)
+            // NetworkVarNames: m_flFadeOutModelStart (float32)
+            // NetworkVarNames: m_flFadeOutModelLength (float32)
+            // NetworkVarNames: m_flFadeOutStart (float32)
+            // NetworkVarNames: m_flFadeOutLength (float32)
+            // NetworkVarNames: m_nDissolveType (EntityDisolveType_t)
+            // NetworkVarNames: m_vDissolverOrigin (Vector)
+            // NetworkVarNames: m_nMagnitude (uint32)
+            namespace C_EntityDissolve {
+                constexpr std::ptrdiff_t m_flStartTime = 0xD30; // GameTime_t
+                constexpr std::ptrdiff_t m_flFadeInStart = 0xD34; // float32
+                constexpr std::ptrdiff_t m_flFadeInLength = 0xD38; // float32
+                constexpr std::ptrdiff_t m_flFadeOutModelStart = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_flFadeOutModelLength = 0xD40; // float32
+                constexpr std::ptrdiff_t m_flFadeOutStart = 0xD44; // float32
+                constexpr std::ptrdiff_t m_flFadeOutLength = 0xD48; // float32
+                constexpr std::ptrdiff_t m_flNextSparkTime = 0xD4C; // GameTime_t
+                constexpr std::ptrdiff_t m_nDissolveType = 0xD50; // EntityDisolveType_t
+                constexpr std::ptrdiff_t m_vDissolverOrigin = 0xD54; // Vector
+                constexpr std::ptrdiff_t m_nMagnitude = 0xD60; // uint32
+                constexpr std::ptrdiff_t m_bCoreExplode = 0xD64; // bool
+                constexpr std::ptrdiff_t m_bLinkedToServerEnt = 0xD65; // bool
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 0
+            namespace CCSObserver_UseServices {
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCtrl (CHandle<CFogController>)
+            namespace C_fogplayerparams_t {
+                constexpr std::ptrdiff_t m_hCtrl = 0x8; // CHandle<C_FogController>
+                constexpr std::ptrdiff_t m_flTransitionTime = 0xC; // float32
+                constexpr std::ptrdiff_t m_OldColor = 0x10; // Color
+                constexpr std::ptrdiff_t m_flOldStart = 0x14; // float32
+                constexpr std::ptrdiff_t m_flOldEnd = 0x18; // float32
+                constexpr std::ptrdiff_t m_flOldMaxDensity = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flOldHDRColorScale = 0x20; // float32
+                constexpr std::ptrdiff_t m_flOldFarZ = 0x24; // float32
+                constexpr std::ptrdiff_t m_NewColor = 0x28; // Color
+                constexpr std::ptrdiff_t m_flNewStart = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flNewEnd = 0x30; // float32
+                constexpr std::ptrdiff_t m_flNewMaxDensity = 0x34; // float32
+                constexpr std::ptrdiff_t m_flNewHDRColorScale = 0x38; // float32
+                constexpr std::ptrdiff_t m_flNewFarZ = 0x3C; // float32
+            }
+            // Parent: C_BasePlayerPawn
+            // Field count: 65
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pPingServices (CCSPlayer_PingServices*)
+            // NetworkVarNames: m_pViewModelServices (CPlayer_ViewModelServices*)
+            // NetworkVarNames: m_iPlayerState (CSPlayerState)
+            // NetworkVarNames: m_bIsRescuing (bool)
+            // NetworkVarNames: m_fImmuneToGunGameDamageTime (GameTime_t)
+            // NetworkVarNames: m_bGunGameImmunity (bool)
+            // NetworkVarNames: m_bHasMovedSinceSpawn (bool)
+            // NetworkVarNames: m_fMolotovUseTime (float)
+            // NetworkVarNames: m_fMolotovDamageTime (float)
+            // NetworkVarNames: m_iThrowGrenadeCounter (int)
+            // NetworkVarNames: m_iProgressBarDuration (int)
+            // NetworkVarNames: m_flProgressBarStartTime (float)
+            // NetworkVarNames: m_flFlashMaxAlpha (float)
+            // NetworkVarNames: m_flFlashDuration (float)
+            // NetworkVarNames: m_cycleLatch (int)
+            // NetworkVarNames: m_hOriginalController (CHandle<CCSPlayerController>)
+            namespace C_CSPlayerPawnBase {
+                constexpr std::ptrdiff_t m_pPingServices = 0x1360; // CCSPlayer_PingServices*
+                constexpr std::ptrdiff_t m_pViewModelServices = 0x1368; // CPlayer_ViewModelServices*
+                constexpr std::ptrdiff_t m_fRenderingClipPlane = 0x1370; // float32[4]
+                constexpr std::ptrdiff_t m_nLastClipPlaneSetupFrame = 0x1380; // int32
+                constexpr std::ptrdiff_t m_vecLastClipCameraPos = 0x1384; // Vector
+                constexpr std::ptrdiff_t m_vecLastClipCameraForward = 0x1390; // Vector
+                constexpr std::ptrdiff_t m_bClipHitStaticWorld = 0x139C; // bool
+                constexpr std::ptrdiff_t m_bCachedPlaneIsValid = 0x139D; // bool
+                constexpr std::ptrdiff_t m_pClippingWeapon = 0x13A0; // C_CSWeaponBase*
+                constexpr std::ptrdiff_t m_previousPlayerState = 0x13A8; // CSPlayerState
+                constexpr std::ptrdiff_t m_iPlayerState = 0x13AC; // CSPlayerState
+                constexpr std::ptrdiff_t m_bIsRescuing = 0x13B0; // bool
+                constexpr std::ptrdiff_t m_fImmuneToGunGameDamageTime = 0x13B4; // GameTime_t
+                constexpr std::ptrdiff_t m_fImmuneToGunGameDamageTimeLast = 0x13B8; // GameTime_t
+                constexpr std::ptrdiff_t m_bGunGameImmunity = 0x13BC; // bool
+                constexpr std::ptrdiff_t m_bHasMovedSinceSpawn = 0x13BD; // bool
+                constexpr std::ptrdiff_t m_fMolotovUseTime = 0x13C0; // float32
+                constexpr std::ptrdiff_t m_fMolotovDamageTime = 0x13C4; // float32
+                constexpr std::ptrdiff_t m_iThrowGrenadeCounter = 0x13C8; // int32
+                constexpr std::ptrdiff_t m_flLastSpawnTimeIndex = 0x13CC; // GameTime_t
+                constexpr std::ptrdiff_t m_iProgressBarDuration = 0x13D0; // int32
+                constexpr std::ptrdiff_t m_flProgressBarStartTime = 0x13D4; // float32
+                constexpr std::ptrdiff_t m_vecIntroStartEyePosition = 0x13D8; // Vector
+                constexpr std::ptrdiff_t m_vecIntroStartPlayerForward = 0x13E4; // Vector
+                constexpr std::ptrdiff_t m_flClientDeathTime = 0x13F0; // GameTime_t
+                constexpr std::ptrdiff_t m_bScreenTearFrameCaptured = 0x13F4; // bool
+                constexpr std::ptrdiff_t m_flFlashBangTime = 0x13F8; // float32
+                constexpr std::ptrdiff_t m_flFlashScreenshotAlpha = 0x13FC; // float32
+                constexpr std::ptrdiff_t m_flFlashOverlayAlpha = 0x1400; // float32
+                constexpr std::ptrdiff_t m_bFlashBuildUp = 0x1404; // bool
+                constexpr std::ptrdiff_t m_bFlashDspHasBeenCleared = 0x1405; // bool
+                constexpr std::ptrdiff_t m_bFlashScreenshotHasBeenGrabbed = 0x1406; // bool
+                constexpr std::ptrdiff_t m_flFlashMaxAlpha = 0x1408; // float32
+                constexpr std::ptrdiff_t m_flFlashDuration = 0x140C; // float32
+                constexpr std::ptrdiff_t m_iHealthBarRenderMaskIndex = 0x1410; // int32
+                constexpr std::ptrdiff_t m_flHealthFadeValue = 0x1414; // float32
+                constexpr std::ptrdiff_t m_flHealthFadeAlpha = 0x1418; // float32
+                constexpr std::ptrdiff_t m_flDeathCCWeight = 0x1428; // float32
+                constexpr std::ptrdiff_t m_flPrevRoundEndTime = 0x142C; // float32
+                constexpr std::ptrdiff_t m_flPrevMatchEndTime = 0x1430; // float32
+                constexpr std::ptrdiff_t m_angEyeAngles = 0x1438; // QAngle
+                constexpr std::ptrdiff_t m_fNextThinkPushAway = 0x1450; // float32
+                constexpr std::ptrdiff_t m_bShouldAutobuyDMWeapons = 0x1454; // bool
+                constexpr std::ptrdiff_t m_bShouldAutobuyNow = 0x1455; // bool
+                constexpr std::ptrdiff_t m_iIDEntIndex = 0x1458; // CEntityIndex
+                constexpr std::ptrdiff_t m_delayTargetIDTimer = 0x1460; // CountdownTimer
+                constexpr std::ptrdiff_t m_iTargetItemEntIdx = 0x1478; // CEntityIndex
+                constexpr std::ptrdiff_t m_iOldIDEntIndex = 0x147C; // CEntityIndex
+                constexpr std::ptrdiff_t m_holdTargetIDTimer = 0x1480; // CountdownTimer
+                constexpr std::ptrdiff_t m_flCurrentMusicStartTime = 0x149C; // float32
+                constexpr std::ptrdiff_t m_flMusicRoundStartTime = 0x14A0; // float32
+                constexpr std::ptrdiff_t m_bDeferStartMusicOnWarmup = 0x14A4; // bool
+                constexpr std::ptrdiff_t m_cycleLatch = 0x14A8; // int32
+                constexpr std::ptrdiff_t m_serverIntendedCycle = 0x14AC; // float32
+                constexpr std::ptrdiff_t m_flLastSmokeOverlayAlpha = 0x14B0; // float32
+                constexpr std::ptrdiff_t m_flLastSmokeAge = 0x14B4; // float32
+                constexpr std::ptrdiff_t m_vLastSmokeOverlayColor = 0x14B8; // Vector
+                constexpr std::ptrdiff_t m_nPlayerSmokedFx = 0x14C4; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_nPlayerInfernoBodyFx = 0x14C8; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_nPlayerInfernoFootFx = 0x14CC; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_flNextMagDropTime = 0x14D0; // float32
+                constexpr std::ptrdiff_t m_nLastMagDropAttachmentIndex = 0x14D4; // int32
+                constexpr std::ptrdiff_t m_vecLastAliveLocalVelocity = 0x14D8; // Vector
+                constexpr std::ptrdiff_t m_bGuardianShouldSprayCustomXMark = 0x1500; // bool
+                constexpr std::ptrdiff_t m_hOriginalController = 0x1508; // CHandle<CCSPlayerController>
+            }
+            // Parent: C_WeaponBaseItem
+            // Field count: 0
+            namespace C_Item_Healthshot {
+            }
+            // Parent: None
+            // Field count: 29
+            //
+            // Metadata:
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iWindSeed (uint32)
+            // NetworkVarNames: m_iMinWind (uint16)
+            // NetworkVarNames: m_iMaxWind (uint16)
+            // NetworkVarNames: m_windRadius (int32)
+            // NetworkVarNames: m_iMinGust (uint16)
+            // NetworkVarNames: m_iMaxGust (uint16)
+            // NetworkVarNames: m_flMinGustDelay (float32)
+            // NetworkVarNames: m_flMaxGustDelay (float32)
+            // NetworkVarNames: m_flGustDuration (float32)
+            // NetworkVarNames: m_iGustDirChange (uint16)
+            // NetworkVarNames: m_location (Vector)
+            // NetworkVarNames: m_iInitialWindDir (uint16)
+            // NetworkVarNames: m_flInitialWindSpeed (float32)
+            namespace C_EnvWindShared {
+                constexpr std::ptrdiff_t m_flStartTime = 0x8; // GameTime_t
+                constexpr std::ptrdiff_t m_iWindSeed = 0xC; // uint32
+                constexpr std::ptrdiff_t m_iMinWind = 0x10; // uint16
+                constexpr std::ptrdiff_t m_iMaxWind = 0x12; // uint16
+                constexpr std::ptrdiff_t m_windRadius = 0x14; // int32
+                constexpr std::ptrdiff_t m_iMinGust = 0x18; // uint16
+                constexpr std::ptrdiff_t m_iMaxGust = 0x1A; // uint16
+                constexpr std::ptrdiff_t m_flMinGustDelay = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flMaxGustDelay = 0x20; // float32
+                constexpr std::ptrdiff_t m_flGustDuration = 0x24; // float32
+                constexpr std::ptrdiff_t m_iGustDirChange = 0x28; // uint16
+                constexpr std::ptrdiff_t m_location = 0x2C; // Vector
+                constexpr std::ptrdiff_t m_iszGustSound = 0x38; // int32
+                constexpr std::ptrdiff_t m_iWindDir = 0x3C; // int32
+                constexpr std::ptrdiff_t m_flWindSpeed = 0x40; // float32
+                constexpr std::ptrdiff_t m_currentWindVector = 0x44; // Vector
+                constexpr std::ptrdiff_t m_CurrentSwayVector = 0x50; // Vector
+                constexpr std::ptrdiff_t m_PrevSwayVector = 0x5C; // Vector
+                constexpr std::ptrdiff_t m_iInitialWindDir = 0x68; // uint16
+                constexpr std::ptrdiff_t m_flInitialWindSpeed = 0x6C; // float32
+                constexpr std::ptrdiff_t m_flVariationTime = 0x70; // GameTime_t
+                constexpr std::ptrdiff_t m_flSwayTime = 0x74; // GameTime_t
+                constexpr std::ptrdiff_t m_flSimTime = 0x78; // GameTime_t
+                constexpr std::ptrdiff_t m_flSwitchTime = 0x7C; // GameTime_t
+                constexpr std::ptrdiff_t m_flAveWindSpeed = 0x80; // float32
+                constexpr std::ptrdiff_t m_bGusting = 0x84; // bool
+                constexpr std::ptrdiff_t m_flWindAngleVariation = 0x88; // float32
+                constexpr std::ptrdiff_t m_flWindSpeedVariation = 0x8C; // float32
+                constexpr std::ptrdiff_t m_hEntOwner = 0x90; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPostSettings (HPostProcessingStrong)
+            // NetworkVarNames: m_flFadeDuration (float)
+            // NetworkVarNames: m_flMinLogExposure (float)
+            // NetworkVarNames: m_flMaxLogExposure (float)
+            // NetworkVarNames: m_flMinExposure (float)
+            // NetworkVarNames: m_flMaxExposure (float)
+            // NetworkVarNames: m_flExposureCompensation (float)
+            // NetworkVarNames: m_flExposureFadeSpeedUp (float)
+            // NetworkVarNames: m_flExposureFadeSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bExposureControl (bool)
+            // NetworkVarNames: m_flRate (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            namespace C_PostProcessingVolume {
+                constexpr std::ptrdiff_t m_hPostSettings = 0xD40; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+                constexpr std::ptrdiff_t m_flFadeDuration = 0xD48; // float32
+                constexpr std::ptrdiff_t m_flMinLogExposure = 0xD4C; // float32
+                constexpr std::ptrdiff_t m_flMaxLogExposure = 0xD50; // float32
+                constexpr std::ptrdiff_t m_flMinExposure = 0xD54; // float32
+                constexpr std::ptrdiff_t m_flMaxExposure = 0xD58; // float32
+                constexpr std::ptrdiff_t m_flExposureCompensation = 0xD5C; // float32
+                constexpr std::ptrdiff_t m_flExposureFadeSpeedUp = 0xD60; // float32
+                constexpr std::ptrdiff_t m_flExposureFadeSpeedDown = 0xD64; // float32
+                constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0xD68; // float32
+                constexpr std::ptrdiff_t m_bMaster = 0xD6C; // bool
+                constexpr std::ptrdiff_t m_bExposureControl = 0xD6D; // bool
+                constexpr std::ptrdiff_t m_flRate = 0xD70; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0xD74; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0xD78; // float32
+                constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0xD7C; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayerPing (CHandle<CBaseEntity>)
+            namespace CCSPlayer_PingServices {
+                constexpr std::ptrdiff_t m_hPlayerPing = 0x40; // CHandle<C_BaseEntity>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_FlashlightServices {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace CServerOnlyModelEntity {
+            }
+            // Parent: CAttributeManager
+            // Field count: 3
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_Item (CEconItemView)
+            namespace C_AttributeContainer {
+                constexpr std::ptrdiff_t m_Item = 0x50; // C_EconItemView
+                constexpr std::ptrdiff_t m_iExternalItemProviderRegisteredToken = 0x498; // int32
+                constexpr std::ptrdiff_t m_ullRegisteredAsItemID = 0x4A0; // uint64
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            //
+            // Metadata:
+            // MNetworkOverride
+            // MNetworkOverride
+            namespace C_FuncRotating {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flStartScale (float32)
+            // NetworkVarNames: m_flScaleTime (float)
+            // NetworkVarNames: m_nFlags (uint32)
+            namespace C_BaseFire {
+                constexpr std::ptrdiff_t m_flScale = 0x568; // float32
+                constexpr std::ptrdiff_t m_flStartScale = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flScaleTime = 0x570; // float32
+                constexpr std::ptrdiff_t m_nFlags = 0x574; // uint32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_nTickBase (uint32)
+            // NetworkVarNames: m_hPawn (CHandle<CBasePlayerPawn>)
+            // NetworkVarNames: m_bKnownTeamMismatch (bool)
+            // NetworkVarNames: m_iConnected (PlayerConnectedState)
+            // NetworkVarNames: m_iszPlayerName (char)
+            // NetworkVarNames: m_steamID (uint64)
+            // NetworkVarNames: m_iDesiredFOV (uint32)
+            // MNetworkReplayCompatField
+            namespace CBasePlayerController {
+                constexpr std::ptrdiff_t m_nFinalPredictedTick = 0x570; // int32
+                constexpr std::ptrdiff_t m_CommandContext = 0x578; // C_CommandContext
+                constexpr std::ptrdiff_t m_nInButtonsWhichAreToggles = 0x620; // uint64
+                constexpr std::ptrdiff_t m_nTickBase = 0x628; // uint32
+                constexpr std::ptrdiff_t m_hPawn = 0x62C; // CHandle<C_BasePlayerPawn>
+                constexpr std::ptrdiff_t m_bKnownTeamMismatch = 0x630; // bool
+                constexpr std::ptrdiff_t m_hPredictedPawn = 0x634; // CHandle<C_BasePlayerPawn>
+                constexpr std::ptrdiff_t m_nSplitScreenSlot = 0x638; // CSplitScreenSlot
+                constexpr std::ptrdiff_t m_hSplitOwner = 0x63C; // CHandle<CBasePlayerController>
+                constexpr std::ptrdiff_t m_hSplitScreenPlayers = 0x640; // CUtlVector<CHandle<CBasePlayerController>>
+                constexpr std::ptrdiff_t m_bIsHLTV = 0x658; // bool
+                constexpr std::ptrdiff_t m_iConnected = 0x65C; // PlayerConnectedState
+                constexpr std::ptrdiff_t m_iszPlayerName = 0x660; // char[128]
+                constexpr std::ptrdiff_t m_steamID = 0x6E8; // uint64
+                constexpr std::ptrdiff_t m_bIsLocalPlayerController = 0x6F0; // bool
+                constexpr std::ptrdiff_t m_iDesiredFOV = 0x6F4; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CPointTemplateAPI {
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDecoyShotTick (int)
+            namespace C_DecoyProjectile {
+                constexpr std::ptrdiff_t m_nDecoyShotTick = 0x1208; // int32
+                constexpr std::ptrdiff_t m_nClientLastKnownDecoyShotTick = 0x120C; // int32
+                constexpr std::ptrdiff_t m_flTimeParticleEffectSpawn = 0x1230; // GameTime_t
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace C_WaterBullet {
+            }
+            // Parent: C_CSPlayerPawn
+            // Field count: 3
+            namespace C_CSGO_PreviewPlayer {
+                constexpr std::ptrdiff_t m_animgraph = 0x3A40; // CUtlString
+                constexpr std::ptrdiff_t m_animgraphCharacterModeString = 0x3A48; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_flInitialModelScale = 0x3A50; // float32
+            }
+            // Parent: CSkeletonAnimationController
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_animGraphNetworkedVars (CAnimGraphNetworkedVariables)
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flSeqStartTime (GameTime_t)
+            // NetworkVarNames: m_flSeqFixedCycle (float)
+            // NetworkVarNames: m_nAnimLoopMode (AnimLoopMode_t)
+            namespace CBaseAnimGraphController {
+                constexpr std::ptrdiff_t m_animGraphNetworkedVars = 0x18; // CAnimGraphNetworkedVariables
+                constexpr std::ptrdiff_t m_bSequenceFinished = 0x14A8; // bool
+                constexpr std::ptrdiff_t m_flSoundSyncTime = 0x14AC; // float32
+                constexpr std::ptrdiff_t m_nActiveIKChainMask = 0x14B0; // uint32
+                constexpr std::ptrdiff_t m_hSequence = 0x14B4; // HSequence
+                constexpr std::ptrdiff_t m_flSeqStartTime = 0x14B8; // GameTime_t
+                constexpr std::ptrdiff_t m_flSeqFixedCycle = 0x14BC; // float32
+                constexpr std::ptrdiff_t m_nAnimLoopMode = 0x14C0; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_flPlaybackRate = 0x14C4; // CNetworkedQuantizedFloat
+                constexpr std::ptrdiff_t m_nNotifyState = 0x14D0; // SequenceFinishNotifyState_t
+                constexpr std::ptrdiff_t m_bNetworkedAnimationInputsChanged = 0x14D2; // bool
+                constexpr std::ptrdiff_t m_bNetworkedSequenceChanged = 0x14D3; // bool
+                constexpr std::ptrdiff_t m_bLastUpdateSkipped = 0x14D4; // bool
+                constexpr std::ptrdiff_t m_flPrevAnimUpdateTime = 0x14D8; // GameTime_t
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace CCSPointScriptEntity {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_bStartedArming (bool)
+            // NetworkVarNames: m_fArmedTime (GameTime_t)
+            // NetworkVarNames: m_bBombPlacedAnimation (bool)
+            // NetworkVarNames: m_bIsPlantingViaUse (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            namespace C_C4 {
+                constexpr std::ptrdiff_t m_szScreenText = 0x1B20; // char[32]
+                constexpr std::ptrdiff_t m_activeLightParticleIndex = 0x1B40; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_eActiveLightEffect = 0x1B44; // C4LightEffect_t
+                constexpr std::ptrdiff_t m_bStartedArming = 0x1B48; // bool
+                constexpr std::ptrdiff_t m_fArmedTime = 0x1B4C; // GameTime_t
+                constexpr std::ptrdiff_t m_bBombPlacedAnimation = 0x1B50; // bool
+                constexpr std::ptrdiff_t m_bIsPlantingViaUse = 0x1B51; // bool
+                constexpr std::ptrdiff_t m_entitySpottedState = 0x1B58; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_nSpotRules = 0x1B70; // int32
+                constexpr std::ptrdiff_t m_bPlayedArmingBeeps = 0x1B74; // bool[7]
+                constexpr std::ptrdiff_t m_bBombPlanted = 0x1B7B; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 13
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bInitiallyPopulateInterpHistory (bool)
+            // NetworkVarNames: m_bAnimGraphUpdateEnabled (bool)
+            // NetworkVarNames: m_vecForce (Vector)
+            // NetworkVarNames: m_nForceBone (int32)
+            // NetworkVarNames: m_RagdollPose (PhysicsRagdollPose_t)
+            // NetworkVarNames: m_bRagdollClientSide (bool)
+            namespace CBaseAnimGraph {
+                constexpr std::ptrdiff_t m_bInitiallyPopulateInterpHistory = 0xDA0; // bool
+                constexpr std::ptrdiff_t m_bSuppressAnimEventSounds = 0xDA2; // bool
+                constexpr std::ptrdiff_t m_bAnimGraphUpdateEnabled = 0xDB0; // bool
+                constexpr std::ptrdiff_t m_flMaxSlopeDistance = 0xDB4; // float32
+                constexpr std::ptrdiff_t m_vLastSlopeCheckPos = 0xDB8; // Vector
+                constexpr std::ptrdiff_t m_bAnimationUpdateScheduled = 0xDC4; // bool
+                constexpr std::ptrdiff_t m_vecForce = 0xDC8; // Vector
+                constexpr std::ptrdiff_t m_nForceBone = 0xDD4; // int32
+                constexpr std::ptrdiff_t m_pClientsideRagdoll = 0xDD8; // CBaseAnimGraph*
+                constexpr std::ptrdiff_t m_bBuiltRagdoll = 0xDE0; // bool
+                constexpr std::ptrdiff_t m_RagdollPose = 0xDF8; // PhysicsRagdollPose_t
+                constexpr std::ptrdiff_t m_bRagdollClientSide = 0xE40; // bool
+                constexpr std::ptrdiff_t m_bHasAnimatedMaterialAttributes = 0xE50; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_PointEntity {
+            }
+            // Parent: C_GameRules
+            // Field count: 0
+            namespace C_MultiplayRules {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CBasePlayerControllerAPI {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_flParticleSpacing (float)
+            // NetworkVarNames: m_flSlack (float)
+            // NetworkVarNames: m_flRadius (float)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_nEffectState (int)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_PathNodes_Position (Vector)
+            // NetworkVarNames: m_PathNodes_TangentIn (Vector)
+            // NetworkVarNames: m_PathNodes_TangentOut (Vector)
+            // NetworkVarNames: m_PathNodes_Color (Vector)
+            // NetworkVarNames: m_PathNodes_PinEnabled (bool)
+            // NetworkVarNames: m_PathNodes_RadiusScale (float)
+            namespace C_PathParticleRope {
+                constexpr std::ptrdiff_t m_bStartActive = 0x570; // bool
+                constexpr std::ptrdiff_t m_flMaxSimulationTime = 0x574; // float32
+                constexpr std::ptrdiff_t m_iszEffectName = 0x578; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PathNodes_Name = 0x580; // CUtlVector<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_flParticleSpacing = 0x598; // float32
+                constexpr std::ptrdiff_t m_flSlack = 0x59C; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x5A0; // float32
+                constexpr std::ptrdiff_t m_ColorTint = 0x5A4; // Color
+                constexpr std::ptrdiff_t m_nEffectState = 0x5A8; // int32
+                constexpr std::ptrdiff_t m_iEffectIndex = 0x5B0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_PathNodes_Position = 0x5B8; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_TangentIn = 0x5D0; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_TangentOut = 0x5E8; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_Color = 0x600; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_PinEnabled = 0x618; // C_NetworkUtlVectorBase<bool>
+                constexpr std::ptrdiff_t m_PathNodes_RadiusScale = 0x630; // C_NetworkUtlVectorBase<float32>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_CCSWeaponBaseVData {
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            namespace C_SoundEventAABBEntity {
+                constexpr std::ptrdiff_t m_vMins = 0x628; // Vector
+                constexpr std::ptrdiff_t m_vMaxs = 0x634; // Vector
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponP90 {
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            namespace CEnvSoundscapeAlias_snd_soundscape {
+            }
+            // Parent: C_EconEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_nNextPrimaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextPrimaryAttackTickRatio (float32)
+            // NetworkVarNames: m_nNextSecondaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextSecondaryAttackTickRatio (float32)
+            // NetworkVarNames: m_iClip1 (int32)
+            // NetworkVarNames: m_iClip2 (int32)
+            // NetworkVarNames: m_pReserveAmmo (int)
+            namespace C_BasePlayerWeapon {
+                constexpr std::ptrdiff_t m_nNextPrimaryAttackTick = 0x1668; // GameTick_t
+                constexpr std::ptrdiff_t m_flNextPrimaryAttackTickRatio = 0x166C; // float32
+                constexpr std::ptrdiff_t m_nNextSecondaryAttackTick = 0x1670; // GameTick_t
+                constexpr std::ptrdiff_t m_flNextSecondaryAttackTickRatio = 0x1674; // float32
+                constexpr std::ptrdiff_t m_iClip1 = 0x1678; // int32
+                constexpr std::ptrdiff_t m_iClip2 = 0x167C; // int32
+                constexpr std::ptrdiff_t m_pReserveAmmo = 0x1680; // int32[2]
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 22
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBasePlayerWeaponVData {
+                constexpr std::ptrdiff_t m_szWorldModel = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_sToolsOnlyOwnerModelName = 0x108; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_bBuiltRightHanded = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bAllowFlipping = 0x1E9; // bool
+                constexpr std::ptrdiff_t m_sMuzzleAttachment = 0x1F0; // CAttachmentNameSymbolWithStorage
+                constexpr std::ptrdiff_t m_szMuzzleFlashParticle = 0x210; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_bLinkedCooldowns = 0x2F0; // bool
+                constexpr std::ptrdiff_t m_iFlags = 0x2F1; // ItemFlagTypes_t
+                constexpr std::ptrdiff_t m_nPrimaryAmmoType = 0x2F2; // AmmoIndex_t
+                constexpr std::ptrdiff_t m_nSecondaryAmmoType = 0x2F3; // AmmoIndex_t
+                constexpr std::ptrdiff_t m_iMaxClip1 = 0x2F4; // int32
+                constexpr std::ptrdiff_t m_iMaxClip2 = 0x2F8; // int32
+                constexpr std::ptrdiff_t m_iDefaultClip1 = 0x2FC; // int32
+                constexpr std::ptrdiff_t m_iDefaultClip2 = 0x300; // int32
+                constexpr std::ptrdiff_t m_bReserveAmmoAsClips = 0x304; // bool
+                constexpr std::ptrdiff_t m_iWeight = 0x308; // int32
+                constexpr std::ptrdiff_t m_bAutoSwitchTo = 0x30C; // bool
+                constexpr std::ptrdiff_t m_bAutoSwitchFrom = 0x30D; // bool
+                constexpr std::ptrdiff_t m_iRumbleEffect = 0x310; // RumbleEffect_t
+                constexpr std::ptrdiff_t m_iSlot = 0x314; // int32
+                constexpr std::ptrdiff_t m_iPosition = 0x318; // int32
+                constexpr std::ptrdiff_t m_aShootSounds = 0x320; // CUtlOrderedMap<WeaponSound_t,CSoundEventName>
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 23
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_poolOrigin (Vector)
+            // NetworkVarNames: m_waterLevel (float32)
+            // NetworkVarNames: m_x (float32)
+            // NetworkVarNames: m_y (float32)
+            // NetworkVarNames: m_z (float32)
+            // NetworkVarNames: m_angle (float32)
+            namespace C_Fish {
+                constexpr std::ptrdiff_t m_pos = 0xF88; // Vector
+                constexpr std::ptrdiff_t m_vel = 0xF94; // Vector
+                constexpr std::ptrdiff_t m_angles = 0xFA0; // QAngle
+                constexpr std::ptrdiff_t m_localLifeState = 0xFAC; // int32
+                constexpr std::ptrdiff_t m_deathDepth = 0xFB0; // float32
+                constexpr std::ptrdiff_t m_deathAngle = 0xFB4; // float32
+                constexpr std::ptrdiff_t m_buoyancy = 0xFB8; // float32
+                constexpr std::ptrdiff_t m_wiggleTimer = 0xFC0; // CountdownTimer
+                constexpr std::ptrdiff_t m_wigglePhase = 0xFD8; // float32
+                constexpr std::ptrdiff_t m_wiggleRate = 0xFDC; // float32
+                constexpr std::ptrdiff_t m_actualPos = 0xFE0; // Vector
+                constexpr std::ptrdiff_t m_actualAngles = 0xFEC; // QAngle
+                constexpr std::ptrdiff_t m_poolOrigin = 0xFF8; // Vector
+                constexpr std::ptrdiff_t m_waterLevel = 0x1004; // float32
+                constexpr std::ptrdiff_t m_gotUpdate = 0x1008; // bool
+                constexpr std::ptrdiff_t m_x = 0x100C; // float32
+                constexpr std::ptrdiff_t m_y = 0x1010; // float32
+                constexpr std::ptrdiff_t m_z = 0x1014; // float32
+                constexpr std::ptrdiff_t m_angle = 0x1018; // float32
+                constexpr std::ptrdiff_t m_errorHistory = 0x101C; // float32[20]
+                constexpr std::ptrdiff_t m_errorHistoryIndex = 0x106C; // int32
+                constexpr std::ptrdiff_t m_errorHistoryCount = 0x1070; // int32
+                constexpr std::ptrdiff_t m_averageError = 0x1074; // float32
+            }
+            // Parent: IntervalTimer
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_flValues (float)
+            // NetworkVarNames: m_nValueCounts (int)
+            // NetworkVarNames: m_nBucketCount (int)
+            // NetworkVarNames: m_flInterval (float)
+            // NetworkVarNames: m_flFinalValue (float)
+            // NetworkVarNames: m_nCompressionType (TimelineCompression_t)
+            // NetworkVarNames: m_bStopped (bool)
+            namespace CTimeline {
+                constexpr std::ptrdiff_t m_flValues = 0x10; // float32[64]
+                constexpr std::ptrdiff_t m_nValueCounts = 0x110; // int32[64]
+                constexpr std::ptrdiff_t m_nBucketCount = 0x210; // int32
+                constexpr std::ptrdiff_t m_flInterval = 0x214; // float32
+                constexpr std::ptrdiff_t m_flFinalValue = 0x218; // float32
+                constexpr std::ptrdiff_t m_nCompressionType = 0x21C; // TimelineCompression_t
+                constexpr std::ptrdiff_t m_bStopped = 0x220; // bool
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponAWP {
+            }
+            // Parent: C_BaseCombatCharacter
+            // Field count: 28
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pWeaponServices (CPlayer_WeaponServices*)
+            // NetworkVarNames: m_pItemServices (CPlayer_ItemServices*)
+            // NetworkVarNames: m_pAutoaimServices (CPlayer_AutoaimServices*)
+            // NetworkVarNames: m_pObserverServices (CPlayer_ObserverServices*)
+            // NetworkVarNames: m_pWaterServices (CPlayer_WaterServices*)
+            // NetworkVarNames: m_pUseServices (CPlayer_UseServices*)
+            // NetworkVarNames: m_pFlashlightServices (CPlayer_FlashlightServices*)
+            // NetworkVarNames: m_pCameraServices (CPlayer_CameraServices*)
+            // NetworkVarNames: m_pMovementServices (CPlayer_MovementServices*)
+            // NetworkVarNames: m_ServerViewAngleChanges (ViewAngleServerChange_t)
+            // NetworkVarNames: m_iHideHUD (uint32)
+            // NetworkVarNames: m_skybox3d (sky3dparams_t)
+            // NetworkVarNames: m_flDeathTime (GameTime_t)
+            // NetworkVarNames: m_hController (CHandle<CBasePlayerController>)
+            namespace C_BasePlayerPawn {
+                constexpr std::ptrdiff_t m_pWeaponServices = 0x11A8; // CPlayer_WeaponServices*
+                constexpr std::ptrdiff_t m_pItemServices = 0x11B0; // CPlayer_ItemServices*
+                constexpr std::ptrdiff_t m_pAutoaimServices = 0x11B8; // CPlayer_AutoaimServices*
+                constexpr std::ptrdiff_t m_pObserverServices = 0x11C0; // CPlayer_ObserverServices*
+                constexpr std::ptrdiff_t m_pWaterServices = 0x11C8; // CPlayer_WaterServices*
+                constexpr std::ptrdiff_t m_pUseServices = 0x11D0; // CPlayer_UseServices*
+                constexpr std::ptrdiff_t m_pFlashlightServices = 0x11D8; // CPlayer_FlashlightServices*
+                constexpr std::ptrdiff_t m_pCameraServices = 0x11E0; // CPlayer_CameraServices*
+                constexpr std::ptrdiff_t m_pMovementServices = 0x11E8; // CPlayer_MovementServices*
+                constexpr std::ptrdiff_t m_ServerViewAngleChanges = 0x11F8; // C_UtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
+                constexpr std::ptrdiff_t m_nHighestConsumedServerViewAngleChangeIndex = 0x1248; // uint32
+                constexpr std::ptrdiff_t v_angle = 0x124C; // QAngle
+                constexpr std::ptrdiff_t v_anglePrevious = 0x1258; // QAngle
+                constexpr std::ptrdiff_t m_iHideHUD = 0x1264; // uint32
+                constexpr std::ptrdiff_t m_skybox3d = 0x1268; // sky3dparams_t
+                constexpr std::ptrdiff_t m_flDeathTime = 0x12F8; // GameTime_t
+                constexpr std::ptrdiff_t m_vecPredictionError = 0x12FC; // Vector
+                constexpr std::ptrdiff_t m_flPredictionErrorTime = 0x1308; // GameTime_t
+                constexpr std::ptrdiff_t m_vecLastCameraSetupLocalOrigin = 0x130C; // Vector
+                constexpr std::ptrdiff_t m_flLastCameraSetupTime = 0x1318; // GameTime_t
+                constexpr std::ptrdiff_t m_flFOVSensitivityAdjust = 0x131C; // float32
+                constexpr std::ptrdiff_t m_flMouseSensitivity = 0x1320; // float32
+                constexpr std::ptrdiff_t m_vOldOrigin = 0x1324; // Vector
+                constexpr std::ptrdiff_t m_flOldSimulationTime = 0x1330; // float32
+                constexpr std::ptrdiff_t m_nLastExecutedCommandNumber = 0x1334; // int32
+                constexpr std::ptrdiff_t m_nLastExecutedCommandTick = 0x1338; // int32
+                constexpr std::ptrdiff_t m_hController = 0x133C; // CHandle<CBasePlayerController>
+                constexpr std::ptrdiff_t m_bIsSwappingToPredictableController = 0x1340; // bool
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iReapplyProvisionParity (int)
+            // NetworkVarNames: m_hOuter (EHANDLE)
+            // NetworkVarNames: m_ProviderType (attributeprovidertypes_t)
+            namespace CAttributeManager {
+                constexpr std::ptrdiff_t m_Providers = 0x8; // CUtlVector<CHandle<C_BaseEntity>>
+                constexpr std::ptrdiff_t m_iReapplyProvisionParity = 0x20; // int32
+                constexpr std::ptrdiff_t m_hOuter = 0x24; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bPreventLoopback = 0x28; // bool
+                constexpr std::ptrdiff_t m_ProviderType = 0x2C; // attributeprovidertypes_t
+                constexpr std::ptrdiff_t m_CachedResults = 0x30; // CUtlVector<CAttributeManager::cached_attribute_float_t>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace CLogicalEntity {
+            }
+            // Parent: None
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_PredNetBoolVariables (uint32)
+            // NetworkVarNames: m_PredNetByteVariables (byte)
+            // NetworkVarNames: m_PredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_PredNetIntVariables (int32)
+            // NetworkVarNames: m_PredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_PredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_PredNetFloatVariables (float)
+            // NetworkVarNames: m_PredNetVectorVariables (Vector)
+            // NetworkVarNames: m_PredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_PredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_OwnerOnlyPredNetBoolVariables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetByteVariables (byte)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_OwnerOnlyPredNetIntVariables (int32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_OwnerOnlyPredNetFloatVariables (float)
+            // NetworkVarNames: m_OwnerOnlyPredNetVectorVariables (Vector)
+            // NetworkVarNames: m_OwnerOnlyPredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_OwnerOnlyPredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_nBoolVariablesCount (int)
+            // NetworkVarNames: m_nOwnerOnlyBoolVariablesCount (int)
+            // NetworkVarNames: m_nRandomSeedOffset (int)
+            // NetworkVarNames: m_flLastTeleportTime (float)
+            namespace CAnimGraphNetworkedVariables {
+                constexpr std::ptrdiff_t m_PredNetBoolVariables = 0x8; // C_NetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_PredNetByteVariables = 0x20; // C_NetworkUtlVectorBase<uint8>
+                constexpr std::ptrdiff_t m_PredNetUInt16Variables = 0x38; // C_NetworkUtlVectorBase<uint16>
+                constexpr std::ptrdiff_t m_PredNetIntVariables = 0x50; // C_NetworkUtlVectorBase<int32>
+                constexpr std::ptrdiff_t m_PredNetUInt32Variables = 0x68; // C_NetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_PredNetUInt64Variables = 0x80; // C_NetworkUtlVectorBase<uint64>
+                constexpr std::ptrdiff_t m_PredNetFloatVariables = 0x98; // C_NetworkUtlVectorBase<float32>
+                constexpr std::ptrdiff_t m_PredNetVectorVariables = 0xB0; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PredNetQuaternionVariables = 0xC8; // C_NetworkUtlVectorBase<Quaternion>
+                constexpr std::ptrdiff_t m_PredNetGlobalSymbolVariables = 0xE0; // C_NetworkUtlVectorBase<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetBoolVariables = 0xF8; // C_NetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetByteVariables = 0x110; // C_NetworkUtlVectorBase<uint8>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt16Variables = 0x128; // C_NetworkUtlVectorBase<uint16>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetIntVariables = 0x140; // C_NetworkUtlVectorBase<int32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt32Variables = 0x158; // C_NetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt64Variables = 0x170; // C_NetworkUtlVectorBase<uint64>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetFloatVariables = 0x188; // C_NetworkUtlVectorBase<float32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetVectorVariables = 0x1A0; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetQuaternionVariables = 0x1B8; // C_NetworkUtlVectorBase<Quaternion>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetGlobalSymbolVariables = 0x1D0; // C_NetworkUtlVectorBase<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_nBoolVariablesCount = 0x1E8; // int32
+                constexpr std::ptrdiff_t m_nOwnerOnlyBoolVariablesCount = 0x1EC; // int32
+                constexpr std::ptrdiff_t m_nRandomSeedOffset = 0x1F0; // int32
+                constexpr std::ptrdiff_t m_flLastTeleportTime = 0x1F4; // float32
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFluidDensity (float)
+            namespace C_TriggerBuoyancy {
+                constexpr std::ptrdiff_t m_BuoyancyHelper = 0xD30; // CBuoyancyHelper
+                constexpr std::ptrdiff_t m_flFluidDensity = 0xDB0; // float32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 41
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_flScrollSpeed (float32)
+            // NetworkVarNames: m_RopeFlags (uint16)
+            // NetworkVarNames: m_iRopeMaterialModelIndex (HMaterialStrong)
+            // NetworkVarNames: m_nSegments (uint8)
+            // NetworkVarNames: m_hStartPoint (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_hEndPoint (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_iStartAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_iEndAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_Subdiv (uint8)
+            // NetworkVarNames: m_RopeLength (int16)
+            // NetworkVarNames: m_Slack (int16)
+            // NetworkVarNames: m_TextureScale (float32)
+            // NetworkVarNames: m_fLockedPoints (uint8)
+            // NetworkVarNames: m_nChangeCount (uint8)
+            // NetworkVarNames: m_Width (float32)
+            // NetworkVarNames: m_bConstrainBetweenEndpoints (bool)
+            namespace C_RopeKeyframe {
+                constexpr std::ptrdiff_t m_LinksTouchingSomething = 0xD30; // CBitVec<10>
+                constexpr std::ptrdiff_t m_nLinksTouchingSomething = 0xD34; // int32
+                constexpr std::ptrdiff_t m_bApplyWind = 0xD38; // bool
+                constexpr std::ptrdiff_t m_fPrevLockedPoints = 0xD3C; // int32
+                constexpr std::ptrdiff_t m_iForcePointMoveCounter = 0xD40; // int32
+                constexpr std::ptrdiff_t m_bPrevEndPointPos = 0xD44; // bool[2]
+                constexpr std::ptrdiff_t m_vPrevEndPointPos = 0xD48; // Vector[2]
+                constexpr std::ptrdiff_t m_flCurScroll = 0xD60; // float32
+                constexpr std::ptrdiff_t m_flScrollSpeed = 0xD64; // float32
+                constexpr std::ptrdiff_t m_RopeFlags = 0xD68; // uint16
+                constexpr std::ptrdiff_t m_iRopeMaterialModelIndex = 0xD70; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_LightValues = 0xFE8; // Vector[10]
+                constexpr std::ptrdiff_t m_nSegments = 0x1060; // uint8
+                constexpr std::ptrdiff_t m_hStartPoint = 0x1064; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hEndPoint = 0x1068; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_iStartAttachment = 0x106C; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_iEndAttachment = 0x106D; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_Subdiv = 0x106E; // uint8
+                constexpr std::ptrdiff_t m_RopeLength = 0x1070; // int16
+                constexpr std::ptrdiff_t m_Slack = 0x1072; // int16
+                constexpr std::ptrdiff_t m_TextureScale = 0x1074; // float32
+                constexpr std::ptrdiff_t m_fLockedPoints = 0x1078; // uint8
+                constexpr std::ptrdiff_t m_nChangeCount = 0x1079; // uint8
+                constexpr std::ptrdiff_t m_Width = 0x107C; // float32
+                constexpr std::ptrdiff_t m_PhysicsDelegate = 0x1080; // C_RopeKeyframe::CPhysicsDelegate
+                constexpr std::ptrdiff_t m_hMaterial = 0x1090; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_TextureHeight = 0x1098; // int32
+                constexpr std::ptrdiff_t m_vecImpulse = 0x109C; // Vector
+                constexpr std::ptrdiff_t m_vecPreviousImpulse = 0x10A8; // Vector
+                constexpr std::ptrdiff_t m_flCurrentGustTimer = 0x10B4; // float32
+                constexpr std::ptrdiff_t m_flCurrentGustLifetime = 0x10B8; // float32
+                constexpr std::ptrdiff_t m_flTimeToNextGust = 0x10BC; // float32
+                constexpr std::ptrdiff_t m_vWindDir = 0x10C0; // Vector
+                constexpr std::ptrdiff_t m_vColorMod = 0x10CC; // Vector
+                constexpr std::ptrdiff_t m_vCachedEndPointAttachmentPos = 0x10D8; // Vector[2]
+                constexpr std::ptrdiff_t m_vCachedEndPointAttachmentAngle = 0x10F0; // QAngle[2]
+                constexpr std::ptrdiff_t m_bConstrainBetweenEndpoints = 0x1108; // bool
+                constexpr std::ptrdiff_t m_bEndPointAttachmentPositionsDirty = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bEndPointAttachmentAnglesDirty = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNewDataThisFrame = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bPhysicsInitted = 0x0; // bitfield:1
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hGradientFogTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_flFogStartDistance (float)
+            // NetworkVarNames: m_flFogEndDistance (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogStartHeight (float)
+            // NetworkVarNames: m_flFogEndHeight (float)
+            // NetworkVarNames: m_flFarZ (float)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_flFogVerticalExponent (float)
+            // NetworkVarNames: m_fogColor (Color)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            namespace C_GradientFog {
+                constexpr std::ptrdiff_t m_hGradientFogTexture = 0x568; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_flFogStartDistance = 0x570; // float32
+                constexpr std::ptrdiff_t m_flFogEndDistance = 0x574; // float32
+                constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x578; // bool
+                constexpr std::ptrdiff_t m_flFogStartHeight = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flFogEndHeight = 0x580; // float32
+                constexpr std::ptrdiff_t m_flFarZ = 0x584; // float32
+                constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x588; // float32
+                constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x58C; // float32
+                constexpr std::ptrdiff_t m_flFogVerticalExponent = 0x590; // float32
+                constexpr std::ptrdiff_t m_fogColor = 0x594; // Color
+                constexpr std::ptrdiff_t m_flFogStrength = 0x598; // float32
+                constexpr std::ptrdiff_t m_flFadeTime = 0x59C; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x5A0; // bool
+                constexpr std::ptrdiff_t m_bIsEnabled = 0x5A1; // bool
+                constexpr std::ptrdiff_t m_bGradientFogNeedsTextures = 0x5A2; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_bSpotted (bool)
+            // NetworkVarNames: m_bSpottedByMask (uint32)
+            namespace EntitySpottedState_t {
+                constexpr std::ptrdiff_t m_bSpotted = 0x8; // bool
+                constexpr std::ptrdiff_t m_bSpottedByMask = 0xC; // uint32[2]
+            }
+            // Parent: C_CSGO_MapPreviewCameraPath
+            // Field count: 7
+            namespace C_CSGO_TeamPreviewCamera {
+                constexpr std::ptrdiff_t m_nVariant = 0x5D8; // int32
+                constexpr std::ptrdiff_t m_bDofEnabled = 0x5DC; // bool
+                constexpr std::ptrdiff_t m_flDofNearBlurry = 0x5E0; // float32
+                constexpr std::ptrdiff_t m_flDofNearCrisp = 0x5E4; // float32
+                constexpr std::ptrdiff_t m_flDofFarCrisp = 0x5E8; // float32
+                constexpr std::ptrdiff_t m_flDofFarBlurry = 0x5EC; // float32
+                constexpr std::ptrdiff_t m_flDofTiltToGround = 0x5F0; // float32
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 2
+            namespace CCSPlayer_CameraServices {
+                constexpr std::ptrdiff_t m_flDeathCamTilt = 0x228; // float32
+                constexpr std::ptrdiff_t m_vClientScopeInaccuracy = 0x230; // Vector
+            }
+            // Parent: C_CSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_TeamSelectCounterTerroristPosition {
+            }
+            // Parent: C_EconEntity
+            // Field count: 2
+            namespace C_EconWearable {
+                constexpr std::ptrdiff_t m_nForceSkin = 0x1668; // int32
+                constexpr std::ptrdiff_t m_bAlwaysAllow = 0x166C; // bool
+            }
+            // Parent: C_CSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_WingmanIntroCharacterPosition {
+            }
+            // Parent: CSPerRoundStats_t
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iEnemy5Ks (int)
+            // NetworkVarNames: m_iEnemy4Ks (int)
+            // NetworkVarNames: m_iEnemy3Ks (int)
+            // NetworkVarNames: m_iEnemyKnifeKills (int)
+            // NetworkVarNames: m_iEnemyTaserKills (int)
+            namespace CSMatchStats_t {
+                constexpr std::ptrdiff_t m_iEnemy5Ks = 0x68; // int32
+                constexpr std::ptrdiff_t m_iEnemy4Ks = 0x6C; // int32
+                constexpr std::ptrdiff_t m_iEnemy3Ks = 0x70; // int32
+                constexpr std::ptrdiff_t m_iEnemyKnifeKills = 0x74; // int32
+                constexpr std::ptrdiff_t m_iEnemyTaserKills = 0x78; // int32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_BaseToggle {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flStrength (float)
+            // NetworkVarNames: m_nFalloffShape (int)
+            // NetworkVarNames: m_flFalloffExponent (float)
+            // NetworkVarNames: m_flHeightFogDepth (float)
+            // NetworkVarNames: m_fHeightFogEdgeWidth (float)
+            // NetworkVarNames: m_fIndirectLightStrength (float)
+            // NetworkVarNames: m_fSunLightStrength (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_bOverrideIndirectLightStrength (bool)
+            // NetworkVarNames: m_bOverrideSunLightStrength (bool)
+            // NetworkVarNames: m_bOverrideNoiseStrength (bool)
+            // NetworkVarNames: m_bAllowLPVIndirect (bool)
+            namespace C_EnvVolumetricFogVolume {
+                constexpr std::ptrdiff_t m_bActive = 0x568; // bool
+                constexpr std::ptrdiff_t m_vBoxMins = 0x56C; // Vector
+                constexpr std::ptrdiff_t m_vBoxMaxs = 0x578; // Vector
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x584; // bool
+                constexpr std::ptrdiff_t m_flStrength = 0x588; // float32
+                constexpr std::ptrdiff_t m_nFalloffShape = 0x58C; // int32
+                constexpr std::ptrdiff_t m_flFalloffExponent = 0x590; // float32
+                constexpr std::ptrdiff_t m_flHeightFogDepth = 0x594; // float32
+                constexpr std::ptrdiff_t m_fHeightFogEdgeWidth = 0x598; // float32
+                constexpr std::ptrdiff_t m_fIndirectLightStrength = 0x59C; // float32
+                constexpr std::ptrdiff_t m_fSunLightStrength = 0x5A0; // float32
+                constexpr std::ptrdiff_t m_fNoiseStrength = 0x5A4; // float32
+                constexpr std::ptrdiff_t m_bOverrideIndirectLightStrength = 0x5A8; // bool
+                constexpr std::ptrdiff_t m_bOverrideSunLightStrength = 0x5A9; // bool
+                constexpr std::ptrdiff_t m_bOverrideNoiseStrength = 0x5AA; // bool
+                constexpr std::ptrdiff_t m_bAllowLPVIndirect = 0x5AB; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace CWaterSplasher {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_ModelPointEntity {
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 0
+            namespace CCSObserver_ViewModelServices {
+            }
+            // Parent: C_BaseFire
+            // Field count: 13
+            //
+            // Metadata:
+            // MNetworkOverride
+            // MNetworkOverride
+            // NetworkVarNames: m_nFlameModelIndex (int32)
+            // NetworkVarNames: m_nFlameFromAboveModelIndex (int32)
+            namespace C_FireSmoke {
+                constexpr std::ptrdiff_t m_nFlameModelIndex = 0x578; // int32
+                constexpr std::ptrdiff_t m_nFlameFromAboveModelIndex = 0x57C; // int32
+                constexpr std::ptrdiff_t m_flScaleRegister = 0x580; // float32
+                constexpr std::ptrdiff_t m_flScaleStart = 0x584; // float32
+                constexpr std::ptrdiff_t m_flScaleEnd = 0x588; // float32
+                constexpr std::ptrdiff_t m_flScaleTimeStart = 0x58C; // GameTime_t
+                constexpr std::ptrdiff_t m_flScaleTimeEnd = 0x590; // GameTime_t
+                constexpr std::ptrdiff_t m_flChildFlameSpread = 0x594; // float32
+                constexpr std::ptrdiff_t m_flClipPerc = 0x5A8; // float32
+                constexpr std::ptrdiff_t m_bClipTested = 0x5AC; // bool
+                constexpr std::ptrdiff_t m_bFadingOut = 0x5AD; // bool
+                constexpr std::ptrdiff_t m_tParticleSpawn = 0x5B0; // TimedEvent
+                constexpr std::ptrdiff_t m_pFireOverlay = 0x5B8; // CFireOverlay*
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponRevolver {
+            }
+            // Parent: C_Sprite
+            // Field count: 0
+            namespace C_FireFromAboveSprite {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_Color (Color)
+            // NetworkVarNames: m_Entity_flBrightness (float)
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            namespace C_EnvCombinedLightProbeVolume {
+                constexpr std::ptrdiff_t m_Entity_Color = 0x15C8; // Color
+                constexpr std::ptrdiff_t m_Entity_flBrightness = 0x15CC; // float32
+                constexpr std::ptrdiff_t m_Entity_hCubemapTexture = 0x15D0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_bCustomCubemapTexture = 0x15D8; // bool
+                constexpr std::ptrdiff_t m_Entity_hLightProbeTexture = 0x15E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightIndicesTexture = 0x15E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightScalarsTexture = 0x15F0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightShadowsTexture = 0x15F8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_vBoxMins = 0x1600; // Vector
+                constexpr std::ptrdiff_t m_Entity_vBoxMaxs = 0x160C; // Vector
+                constexpr std::ptrdiff_t m_Entity_bMoveable = 0x1618; // bool
+                constexpr std::ptrdiff_t m_Entity_nHandshake = 0x161C; // int32
+                constexpr std::ptrdiff_t m_Entity_nEnvCubeMapArrayIndex = 0x1620; // int32
+                constexpr std::ptrdiff_t m_Entity_nPriority = 0x1624; // int32
+                constexpr std::ptrdiff_t m_Entity_bStartDisabled = 0x1628; // bool
+                constexpr std::ptrdiff_t m_Entity_flEdgeFadeDist = 0x162C; // float32
+                constexpr std::ptrdiff_t m_Entity_vEdgeFadeDists = 0x1630; // Vector
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeX = 0x163C; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeY = 0x1640; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeZ = 0x1644; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasX = 0x1648; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasY = 0x164C; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasZ = 0x1650; // int32
+                constexpr std::ptrdiff_t m_Entity_bEnabled = 0x1669; // bool
+            }
+            // Parent: C_SoundOpvarSetPointBase
+            // Field count: 0
+            namespace C_SoundOpvarSetOBBWindEntity {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (ModelConfigHandle_t)
+            // NetworkVarNames: m_Name (string_t)
+            // NetworkVarNames: m_AssociatedEntities (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_AssociatedEntityNames (string_t)
+            namespace ActiveModelConfig_t {
+                constexpr std::ptrdiff_t m_Handle = 0x28; // ModelConfigHandle_t
+                constexpr std::ptrdiff_t m_Name = 0x30; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_AssociatedEntities = 0x38; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                constexpr std::ptrdiff_t m_AssociatedEntityNames = 0x50; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponMP5SD {
+            }
+            // Parent: C_DynamicProp
+            // Field count: 0
+            namespace C_DynamicPropAlias_dynamic_prop {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_totalHitsOnServer (int32)
+            namespace CCSPlayer_BulletServices {
+                constexpr std::ptrdiff_t m_totalHitsOnServer = 0x40; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            namespace CLogicRelay {
+                constexpr std::ptrdiff_t m_OnTrigger = 0x568; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnSpawn = 0x590; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bDisabled = 0x5B8; // bool
+                constexpr std::ptrdiff_t m_bWaitForRefire = 0x5B9; // bool
+                constexpr std::ptrdiff_t m_bTriggerOnce = 0x5BA; // bool
+                constexpr std::ptrdiff_t m_bFastRetrigger = 0x5BB; // bool
+                constexpr std::ptrdiff_t m_bPassthoughCaller = 0x5BC; // bool
+            }
+            // Parent: C_PointCamera
+            // Field count: 1
+            namespace C_PointCameraVFOV {
+                constexpr std::ptrdiff_t m_flVerticalFOV = 0x5C8; // float32
+            }
+            // Parent: CPlayer_ItemServices
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHasDefuser (bool)
+            // NetworkVarNames: m_bHasHelmet (bool)
+            // NetworkVarNames: m_bHasHeavyArmor (bool)
+            namespace CCSPlayer_ItemServices {
+                constexpr std::ptrdiff_t m_bHasDefuser = 0x40; // bool
+                constexpr std::ptrdiff_t m_bHasHelmet = 0x41; // bool
+                constexpr std::ptrdiff_t m_bHasHeavyArmor = 0x42; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 73
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_nColorMode (int)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_flColorTemperature (float)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_nLuminaireShape (int)
+            // NetworkVarNames: m_flLuminaireSize (float)
+            // NetworkVarNames: m_flLuminaireAnisotropy (float)
+            // NetworkVarNames: m_LightStyleString (CUtlString)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_QueuedLightStyleStrings (CUtlString)
+            // NetworkVarNames: m_LightStyleEvents (CUtlString)
+            // NetworkVarNames: m_LightStyleTargets (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_flShape (float)
+            // NetworkVarNames: m_flSoftX (float)
+            // NetworkVarNames: m_flSoftY (float)
+            // NetworkVarNames: m_flSkirt (float)
+            // NetworkVarNames: m_flSkirtNear (float)
+            // NetworkVarNames: m_vSizeParams (Vector)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_vShear (Vector)
+            // NetworkVarNames: m_nBakeSpecularToCubemaps (int)
+            // NetworkVarNames: m_vBakeSpecularToCubemapsSize (Vector)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowMapSize (int)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_bContactShadow (bool)
+            // NetworkVarNames: m_nBounceLight (int)
+            // NetworkVarNames: m_flBounceScale (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            // NetworkVarNames: m_vAlternateColor (Vector)
+            // NetworkVarNames: m_fAlternateColorBrightness (float)
+            // NetworkVarNames: m_nFog (int)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_nFogShadows (int)
+            // NetworkVarNames: m_flFogScale (float)
+            // NetworkVarNames: m_bFogMixedShadows (bool)
+            // NetworkVarNames: m_flFadeSizeStart (float)
+            // NetworkVarNames: m_flFadeSizeEnd (float)
+            // NetworkVarNames: m_flShadowFadeSizeStart (float)
+            // NetworkVarNames: m_flShadowFadeSizeEnd (float)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_nPrecomputedSubFrusta (int)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles0 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles1 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles2 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles3 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles4 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin5 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles5 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent5 (Vector)
+            // NetworkVarNames: m_VisClusters (uint16)
+            namespace C_BarnLight {
+                constexpr std::ptrdiff_t m_bEnabled = 0xD28; // bool
+                constexpr std::ptrdiff_t m_nColorMode = 0xD2C; // int32
+                constexpr std::ptrdiff_t m_Color = 0xD30; // Color
+                constexpr std::ptrdiff_t m_flColorTemperature = 0xD34; // float32
+                constexpr std::ptrdiff_t m_flBrightness = 0xD38; // float32
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_nDirectLight = 0xD40; // int32
+                constexpr std::ptrdiff_t m_nBakedShadowIndex = 0xD44; // int32
+                constexpr std::ptrdiff_t m_nLuminaireShape = 0xD48; // int32
+                constexpr std::ptrdiff_t m_flLuminaireSize = 0xD4C; // float32
+                constexpr std::ptrdiff_t m_flLuminaireAnisotropy = 0xD50; // float32
+                constexpr std::ptrdiff_t m_LightStyleString = 0xD58; // CUtlString
+                constexpr std::ptrdiff_t m_flLightStyleStartTime = 0xD60; // GameTime_t
+                constexpr std::ptrdiff_t m_QueuedLightStyleStrings = 0xD68; // C_NetworkUtlVectorBase<CUtlString>
+                constexpr std::ptrdiff_t m_LightStyleEvents = 0xD80; // C_NetworkUtlVectorBase<CUtlString>
+                constexpr std::ptrdiff_t m_LightStyleTargets = 0xD98; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                constexpr std::ptrdiff_t m_StyleEvent = 0xDB0; // CEntityIOOutput[4]
+                constexpr std::ptrdiff_t m_hLightCookie = 0xE50; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_flShape = 0xE58; // float32
+                constexpr std::ptrdiff_t m_flSoftX = 0xE5C; // float32
+                constexpr std::ptrdiff_t m_flSoftY = 0xE60; // float32
+                constexpr std::ptrdiff_t m_flSkirt = 0xE64; // float32
+                constexpr std::ptrdiff_t m_flSkirtNear = 0xE68; // float32
+                constexpr std::ptrdiff_t m_vSizeParams = 0xE6C; // Vector
+                constexpr std::ptrdiff_t m_flRange = 0xE78; // float32
+                constexpr std::ptrdiff_t m_vShear = 0xE7C; // Vector
+                constexpr std::ptrdiff_t m_nBakeSpecularToCubemaps = 0xE88; // int32
+                constexpr std::ptrdiff_t m_vBakeSpecularToCubemapsSize = 0xE8C; // Vector
+                constexpr std::ptrdiff_t m_nCastShadows = 0xE98; // int32
+                constexpr std::ptrdiff_t m_nShadowMapSize = 0xE9C; // int32
+                constexpr std::ptrdiff_t m_nShadowPriority = 0xEA0; // int32
+                constexpr std::ptrdiff_t m_bContactShadow = 0xEA4; // bool
+                constexpr std::ptrdiff_t m_nBounceLight = 0xEA8; // int32
+                constexpr std::ptrdiff_t m_flBounceScale = 0xEAC; // float32
+                constexpr std::ptrdiff_t m_flMinRoughness = 0xEB0; // float32
+                constexpr std::ptrdiff_t m_vAlternateColor = 0xEB4; // Vector
+                constexpr std::ptrdiff_t m_fAlternateColorBrightness = 0xEC0; // float32
+                constexpr std::ptrdiff_t m_nFog = 0xEC4; // int32
+                constexpr std::ptrdiff_t m_flFogStrength = 0xEC8; // float32
+                constexpr std::ptrdiff_t m_nFogShadows = 0xECC; // int32
+                constexpr std::ptrdiff_t m_flFogScale = 0xED0; // float32
+                constexpr std::ptrdiff_t m_bFogMixedShadows = 0xED4; // bool
+                constexpr std::ptrdiff_t m_flFadeSizeStart = 0xED8; // float32
+                constexpr std::ptrdiff_t m_flFadeSizeEnd = 0xEDC; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeSizeStart = 0xEE0; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeSizeEnd = 0xEE4; // float32
+                constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0xEE8; // bool
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0xEEC; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0xEF8; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0xF04; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0xF10; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0xF1C; // Vector
+                constexpr std::ptrdiff_t m_nPrecomputedSubFrusta = 0xF28; // int32
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin0 = 0xF2C; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles0 = 0xF38; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent0 = 0xF44; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin1 = 0xF50; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles1 = 0xF5C; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent1 = 0xF68; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin2 = 0xF74; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles2 = 0xF80; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent2 = 0xF8C; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin3 = 0xF98; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles3 = 0xFA4; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent3 = 0xFB0; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin4 = 0xFBC; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles4 = 0xFC8; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent4 = 0xFD4; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin5 = 0xFE0; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles5 = 0xFEC; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent5 = 0xFF8; // Vector
+                constexpr std::ptrdiff_t m_bInitialBoneSetup = 0x1048; // bool
+                constexpr std::ptrdiff_t m_VisClusters = 0x1050; // C_NetworkUtlVectorBase<uint16>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAutoExposureMin (float)
+            // NetworkVarNames: m_flAutoExposureMax (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedUp (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            namespace C_TonemapController2 {
+                constexpr std::ptrdiff_t m_flAutoExposureMin = 0x568; // float32
+                constexpr std::ptrdiff_t m_flAutoExposureMax = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0x570; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0x574; // float32
+                constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0x578; // float32
+                constexpr std::ptrdiff_t m_flExposureAdaptationSpeedUp = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flExposureAdaptationSpeedDown = 0x580; // float32
+                constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0x584; // float32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponG3SG1 {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 1
+            namespace CFuncWater {
+                constexpr std::ptrdiff_t m_BuoyancyHelper = 0xD28; // CBuoyancyHelper
+            }
+            // Parent: C_SoundOpvarSetPointEntity
+            // Field count: 0
+            namespace C_SoundOpvarSetAutoRoomEntity {
+            }
+            // Parent: C_BaseFlex
+            // Field count: 20
+            //
+            // Metadata:
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_OriginalOwnerXuidLow (uint32)
+            // NetworkVarNames: m_OriginalOwnerXuidHigh (uint32)
+            // NetworkVarNames: m_nFallbackPaintKit (int)
+            // NetworkVarNames: m_nFallbackSeed (int)
+            // NetworkVarNames: m_flFallbackWear (float)
+            // NetworkVarNames: m_nFallbackStatTrak (int)
+            namespace C_EconEntity {
+                constexpr std::ptrdiff_t m_flFlexDelayTime = 0x1130; // float32
+                constexpr std::ptrdiff_t m_flFlexDelayedWeight = 0x1138; // float32*
+                constexpr std::ptrdiff_t m_bAttributesInitialized = 0x1140; // bool
+                constexpr std::ptrdiff_t m_AttributeManager = 0x1148; // C_AttributeContainer
+                constexpr std::ptrdiff_t m_OriginalOwnerXuidLow = 0x15F0; // uint32
+                constexpr std::ptrdiff_t m_OriginalOwnerXuidHigh = 0x15F4; // uint32
+                constexpr std::ptrdiff_t m_nFallbackPaintKit = 0x15F8; // int32
+                constexpr std::ptrdiff_t m_nFallbackSeed = 0x15FC; // int32
+                constexpr std::ptrdiff_t m_flFallbackWear = 0x1600; // float32
+                constexpr std::ptrdiff_t m_nFallbackStatTrak = 0x1604; // int32
+                constexpr std::ptrdiff_t m_bClientside = 0x1608; // bool
+                constexpr std::ptrdiff_t m_bParticleSystemsCreated = 0x1609; // bool
+                constexpr std::ptrdiff_t m_vecAttachedParticles = 0x1610; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_hViewmodelAttachment = 0x1628; // CHandle<CBaseAnimGraph>
+                constexpr std::ptrdiff_t m_iOldTeam = 0x162C; // int32
+                constexpr std::ptrdiff_t m_bAttachmentDirty = 0x1630; // bool
+                constexpr std::ptrdiff_t m_nUnloadedModelIndex = 0x1634; // int32
+                constexpr std::ptrdiff_t m_iNumOwnerValidationRetries = 0x1638; // int32
+                constexpr std::ptrdiff_t m_hOldProvidee = 0x1648; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_vecAttachedModels = 0x1650; // CUtlVector<C_EconEntity::AttachedModelData_t>
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponSG556 {
+            }
+            // Parent: C_BarnLight
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShowLight (bool)
+            namespace C_RectLight {
+                constexpr std::ptrdiff_t m_bShowLight = 0x1070; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_szSnapshotFileName (char)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bFrozen (bool)
+            // NetworkVarNames: m_flFreezeTransitionDuration (float)
+            // NetworkVarNames: m_nStopType (int)
+            // NetworkVarNames: m_bAnimateDuringGameplayPause (bool)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flPreSimTime (float32)
+            // NetworkVarNames: m_vServerControlPoints (Vector)
+            // NetworkVarNames: m_iServerControlPointAssignments (uint8)
+            // NetworkVarNames: m_hControlPointEnts (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bNoSave (bool)
+            // NetworkVarNames: m_bNoFreeze (bool)
+            // NetworkVarNames: m_bNoRamp (bool)
+            namespace C_ParticleSystem {
+                constexpr std::ptrdiff_t m_szSnapshotFileName = 0xD28; // char[512]
+                constexpr std::ptrdiff_t m_bActive = 0xF28; // bool
+                constexpr std::ptrdiff_t m_bFrozen = 0xF29; // bool
+                constexpr std::ptrdiff_t m_flFreezeTransitionDuration = 0xF2C; // float32
+                constexpr std::ptrdiff_t m_nStopType = 0xF30; // int32
+                constexpr std::ptrdiff_t m_bAnimateDuringGameplayPause = 0xF34; // bool
+                constexpr std::ptrdiff_t m_iEffectIndex = 0xF38; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_flStartTime = 0xF40; // GameTime_t
+                constexpr std::ptrdiff_t m_flPreSimTime = 0xF44; // float32
+                constexpr std::ptrdiff_t m_vServerControlPoints = 0xF48; // Vector[4]
+                constexpr std::ptrdiff_t m_iServerControlPointAssignments = 0xF78; // uint8[4]
+                constexpr std::ptrdiff_t m_hControlPointEnts = 0xF7C; // CHandle<C_BaseEntity>[64]
+                constexpr std::ptrdiff_t m_bNoSave = 0x107C; // bool
+                constexpr std::ptrdiff_t m_bNoFreeze = 0x107D; // bool
+                constexpr std::ptrdiff_t m_bNoRamp = 0x107E; // bool
+                constexpr std::ptrdiff_t m_bStartActive = 0x107F; // bool
+                constexpr std::ptrdiff_t m_iszEffectName = 0x1080; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszControlPointNames = 0x1088; // CUtlSymbolLarge[64]
+                constexpr std::ptrdiff_t m_nDataCP = 0x1288; // int32
+                constexpr std::ptrdiff_t m_vecDataCPValue = 0x128C; // Vector
+                constexpr std::ptrdiff_t m_nTintCP = 0x1298; // int32
+                constexpr std::ptrdiff_t m_clrTint = 0x129C; // Color
+                constexpr std::ptrdiff_t m_bOldActive = 0x12C0; // bool
+                constexpr std::ptrdiff_t m_bOldFrozen = 0x12C1; // bool
+            }
+            // Parent: C_CSGO_PreviewPlayer
+            // Field count: 0
+            namespace C_CSGO_TeamPreviewModel {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponGlock {
+            }
+            // Parent: CEnvSoundscapeTriggerable
+            // Field count: 0
+            namespace CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable {
+            }
+            // Parent: C_GameRulesProxy
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pGameRules (C_CSGameRules*)
+            namespace C_CSGameRulesProxy {
+                constexpr std::ptrdiff_t m_pGameRules = 0x568; // C_CSGameRules*
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iObserverMode (uint8)
+            // NetworkVarNames: m_hObserverTarget (CHandle<CBaseEntity>)
+            namespace CPlayer_ObserverServices {
+                constexpr std::ptrdiff_t m_iObserverMode = 0x40; // uint8
+                constexpr std::ptrdiff_t m_hObserverTarget = 0x44; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_iObserverLastMode = 0x48; // ObserverMode_t
+                constexpr std::ptrdiff_t m_bForcedObserverMode = 0x4C; // bool
+                constexpr std::ptrdiff_t m_flObserverChaseDistance = 0x50; // float32
+                constexpr std::ptrdiff_t m_flObserverChaseDistanceCalcTime = 0x54; // GameTime_t
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_WaterServices {
+            }
+            // Parent: C_CSGO_EndOfMatchLineupEndpoint
+            // Field count: 0
+            namespace C_CSGO_EndOfMatchLineupEnd {
+            }
+            // Parent: None
+            // Field count: 6
+            namespace SequenceHistory_t {
+                constexpr std::ptrdiff_t m_hSequence = 0x0; // HSequence
+                constexpr std::ptrdiff_t m_flSeqStartTime = 0x4; // GameTime_t
+                constexpr std::ptrdiff_t m_flSeqFixedCycle = 0x8; // float32
+                constexpr std::ptrdiff_t m_nSeqLoopMode = 0xC; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_flPlaybackRate = 0x10; // float32
+                constexpr std::ptrdiff_t m_flCyclesPerSecond = 0x14; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 1
+            namespace C_Multimeter {
+                constexpr std::ptrdiff_t m_hTargetC4 = 0xF90; // CHandle<C_PlantedC4>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            namespace C_CsmFovOverride {
+                constexpr std::ptrdiff_t m_cameraName = 0x568; // CUtlString
+                constexpr std::ptrdiff_t m_flCsmFovOverrideValue = 0x570; // float32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_hDecalMaterial (HMaterialStrong)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDepth (float)
+            // NetworkVarNames: m_nRenderOrder (uint32)
+            // NetworkVarNames: m_bProjectOnWorld (bool)
+            // NetworkVarNames: m_bProjectOnCharacters (bool)
+            // NetworkVarNames: m_bProjectOnWater (bool)
+            // NetworkVarNames: m_flDepthSortBias (float)
+            namespace C_EnvDecal {
+                constexpr std::ptrdiff_t m_hDecalMaterial = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_flWidth = 0xD30; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0xD34; // float32
+                constexpr std::ptrdiff_t m_flDepth = 0xD38; // float32
+                constexpr std::ptrdiff_t m_nRenderOrder = 0xD3C; // uint32
+                constexpr std::ptrdiff_t m_bProjectOnWorld = 0xD40; // bool
+                constexpr std::ptrdiff_t m_bProjectOnCharacters = 0xD41; // bool
+                constexpr std::ptrdiff_t m_bProjectOnWater = 0xD42; // bool
+                constexpr std::ptrdiff_t m_flDepthSortBias = 0xD44; // float32
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 0
+            namespace CCSGameModeRules_Noop {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_MinFalloff (float32)
+            // NetworkVarNames: m_MaxFalloff (float32)
+            // NetworkVarNames: m_flFadeInDuration (float32)
+            // NetworkVarNames: m_flFadeOutDuration (float32)
+            // NetworkVarNames: m_flMaxWeight (float32)
+            // NetworkVarNames: m_flCurWeight (float32)
+            // NetworkVarNames: m_netlookupFilename (char)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bClientSide (bool)
+            // NetworkVarNames: m_bExclusive (bool)
+            namespace C_ColorCorrection {
+                constexpr std::ptrdiff_t m_vecOrigin = 0x568; // Vector
+                constexpr std::ptrdiff_t m_MinFalloff = 0x574; // float32
+                constexpr std::ptrdiff_t m_MaxFalloff = 0x578; // float32
+                constexpr std::ptrdiff_t m_flFadeInDuration = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flFadeOutDuration = 0x580; // float32
+                constexpr std::ptrdiff_t m_flMaxWeight = 0x584; // float32
+                constexpr std::ptrdiff_t m_flCurWeight = 0x588; // float32
+                constexpr std::ptrdiff_t m_netlookupFilename = 0x58C; // char[512]
+                constexpr std::ptrdiff_t m_bEnabled = 0x78C; // bool
+                constexpr std::ptrdiff_t m_bMaster = 0x78D; // bool
+                constexpr std::ptrdiff_t m_bClientSide = 0x78E; // bool
+                constexpr std::ptrdiff_t m_bExclusive = 0x78F; // bool
+                constexpr std::ptrdiff_t m_bEnabledOnClient = 0x790; // bool[1]
+                constexpr std::ptrdiff_t m_flCurWeightOnClient = 0x794; // float32[1]
+                constexpr std::ptrdiff_t m_bFadingIn = 0x798; // bool[1]
+                constexpr std::ptrdiff_t m_flFadeStartWeight = 0x79C; // float32[1]
+                constexpr std::ptrdiff_t m_flFadeStartTime = 0x7A0; // float32[1]
+                constexpr std::ptrdiff_t m_flFadeDuration = 0x7A4; // float32[1]
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 0
+            namespace CHostageRescueZoneShim {
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_hModel (HModelStrong)
+            // NetworkVarNames: m_bClientClothCreationSuppressed (bool)
+            // NetworkVarNames: m_MeshGroupMask (MeshGroupMask_t)
+            // NetworkVarNames: m_nIdealMotionType (int8)
+            namespace CModelState {
+                constexpr std::ptrdiff_t m_hModel = 0xA0; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_ModelName = 0xA8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bClientClothCreationSuppressed = 0xE8; // bool
+                constexpr std::ptrdiff_t m_MeshGroupMask = 0x198; // uint64
+                constexpr std::ptrdiff_t m_nIdealMotionType = 0x21A; // int8
+                constexpr std::ptrdiff_t m_nForceLOD = 0x21B; // int8
+                constexpr std::ptrdiff_t m_nClothUpdateFlags = 0x21C; // int8
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponP250 {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace C_EconEntity__AttachedModelData_t {
+                constexpr std::ptrdiff_t m_iModelDisplayFlags = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Attributes (CEconItemAttribute)
+            namespace CAttributeList {
+                constexpr std::ptrdiff_t m_Attributes = 0x8; // C_UtlVectorEmbeddedNetworkVar<CEconItemAttribute>
+                constexpr std::ptrdiff_t m_pManager = 0x58; // CAttributeManager*
+            }
+            // Parent: C_MultiplayRules
+            // Field count: 0
+            namespace C_TeamplayRules {
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            namespace C_CSGO_CounterTerroristWingmanIntroCamera {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 0
+            namespace C_WeaponNOVA {
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 0
+            namespace C_HEGrenadeProjectile {
+            }
+            // Parent: C_BaseToggle
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsUsable (bool)
+            namespace C_BaseDoor {
+                constexpr std::ptrdiff_t m_bIsUsable = 0xD28; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 2
+            namespace CGrenadeTracer {
+                constexpr std::ptrdiff_t m_flTracerDuration = 0xD40; // float32
+                constexpr std::ptrdiff_t m_nType = 0xD44; // GrenadeType_t
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombPlantedHere (bool)
+            namespace CBombTarget {
+                constexpr std::ptrdiff_t m_bBombPlantedHere = 0xD30; // bool
+            }
+            // Parent: C_BaseClientUIEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hActivator (EHANDLE)
+            namespace C_PointClientUIDialog {
+                constexpr std::ptrdiff_t m_hActivator = 0xD58; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bStartEnabled = 0xD5C; // bool
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_WeaponSequence (CUtlString)
+            namespace CCSGameModeRules_ArmsRace {
+                constexpr std::ptrdiff_t m_WeaponSequence = 0x30; // C_NetworkUtlVectorBase<CUtlString>
+            }
+            // Parent: C_PointEntity
+            // Field count: 1
+            namespace CPointChildModifier {
+                constexpr std::ptrdiff_t m_bOrphanInsteadOfDeletingChildrenOnRemove = 0x568; // bool
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_PlayerDamager (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_PlayerRecipient (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPlayerControllerDamager (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_hPlayerControllerRecipient (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_szPlayerDamagerName (CUtlString)
+            // NetworkVarNames: m_szPlayerRecipientName (CUtlString)
+            // NetworkVarNames: m_DamagerXuid (uint64)
+            // NetworkVarNames: m_RecipientXuid (uint64)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iActualHealthRemoved (int)
+            // NetworkVarNames: m_iNumHits (int)
+            // NetworkVarNames: m_iLastBulletUpdate (int)
+            // NetworkVarNames: m_bIsOtherEnemy (bool)
+            // NetworkVarNames: m_killType (EKillTypes_t)
+            namespace CDamageRecord {
+                constexpr std::ptrdiff_t m_PlayerDamager = 0x28; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_PlayerRecipient = 0x2C; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_hPlayerControllerDamager = 0x30; // CHandle<CCSPlayerController>
+                constexpr std::ptrdiff_t m_hPlayerControllerRecipient = 0x34; // CHandle<CCSPlayerController>
+                constexpr std::ptrdiff_t m_szPlayerDamagerName = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_szPlayerRecipientName = 0x40; // CUtlString
+                constexpr std::ptrdiff_t m_DamagerXuid = 0x48; // uint64
+                constexpr std::ptrdiff_t m_RecipientXuid = 0x50; // uint64
+                constexpr std::ptrdiff_t m_iBulletsDamage = 0x58; // int32
+                constexpr std::ptrdiff_t m_iDamage = 0x5C; // int32
+                constexpr std::ptrdiff_t m_iActualHealthRemoved = 0x60; // int32
+                constexpr std::ptrdiff_t m_iNumHits = 0x64; // int32
+                constexpr std::ptrdiff_t m_iLastBulletUpdate = 0x68; // int32
+                constexpr std::ptrdiff_t m_bIsOtherEnemy = 0x6C; // bool
+                constexpr std::ptrdiff_t m_killType = 0x6D; // EKillTypes_t
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_InfoLadderDismount {
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSendUpdate (int)
+            // NetworkVarNames: m_DamageList (CDamageRecord)
+            namespace CCSPlayerController_DamageServices {
+                constexpr std::ptrdiff_t m_nSendUpdate = 0x40; // int32
+                constexpr std::ptrdiff_t m_DamageList = 0x48; // C_UtlVectorEmbeddedNetworkVar<CDamageRecord>
+            }
+            // Parent: CEntityComponent
+            // Field count: 5
+            namespace CRenderComponent {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x10; // CNetworkVarChainer
+                constexpr std::ptrdiff_t m_bIsRenderingWithViewModels = 0x50; // bool
+                constexpr std::ptrdiff_t m_nSplitscreenFlags = 0x54; // uint32
+                constexpr std::ptrdiff_t m_bEnableRendering = 0x60; // bool
+                constexpr std::ptrdiff_t m_bInterpolationReadyToDraw = 0xB0; // bool
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 1
+            namespace CEnvSoundscapeProxy {
+                constexpr std::ptrdiff_t m_MainSoundscapeName = 0x608; // CUtlSymbolLarge
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            namespace C_SoundEventOBBEntity {
+                constexpr std::ptrdiff_t m_vMins = 0x628; // Vector
+                constexpr std::ptrdiff_t m_vMaxs = 0x634; // Vector
+            }
+            // Parent: CEntityComponent
+            // Field count: 66
+            //
+            // Metadata:
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_SecondaryColor (Color)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_flBrightnessMult (float)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_flFalloff (float)
+            // NetworkVarNames: m_flAttenuation0 (float)
+            // NetworkVarNames: m_flAttenuation1 (float)
+            // NetworkVarNames: m_flAttenuation2 (float)
+            // NetworkVarNames: m_flTheta (float)
+            // NetworkVarNames: m_flPhi (float)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_nCascades (int)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowWidth (int)
+            // NetworkVarNames: m_nShadowHeight (int)
+            // NetworkVarNames: m_bRenderDiffuse (bool)
+            // NetworkVarNames: m_nRenderSpecular (int)
+            // NetworkVarNames: m_bRenderTransmissive (bool)
+            // NetworkVarNames: m_flOrthoLightWidth (float)
+            // NetworkVarNames: m_flOrthoLightHeight (float)
+            // NetworkVarNames: m_nStyle (int)
+            // NetworkVarNames: m_Pattern (CUtlString)
+            // NetworkVarNames: m_nCascadeRenderStaticObjects (int)
+            // NetworkVarNames: m_flShadowCascadeCrossFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistanceFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistance0 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance1 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance2 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance3 (float)
+            // NetworkVarNames: m_nShadowCascadeResolution0 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution1 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution2 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution3 (int)
+            // NetworkVarNames: m_bUsesBakedShadowing (bool)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nIndirectLight (int)
+            // NetworkVarNames: m_flFadeMinDist (float)
+            // NetworkVarNames: m_flFadeMaxDist (float)
+            // NetworkVarNames: m_flShadowFadeMinDist (float)
+            // NetworkVarNames: m_flShadowFadeMaxDist (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFlicker (bool)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_flPrecomputedMaxRange (float)
+            // NetworkVarNames: m_nFogLightingMode (int)
+            // NetworkVarNames: m_flFogContributionStength (float)
+            // NetworkVarNames: m_flNearClipPlane (float)
+            // NetworkVarNames: m_SkyColor (Color)
+            // NetworkVarNames: m_flSkyIntensity (float)
+            // NetworkVarNames: m_SkyAmbientBounce (Color)
+            // NetworkVarNames: m_bUseSecondaryColor (bool)
+            // NetworkVarNames: m_bMixedShadows (bool)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_flCapsuleLength (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            namespace CLightComponent {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x38; // CNetworkVarChainer
+                constexpr std::ptrdiff_t m_Color = 0x75; // Color
+                constexpr std::ptrdiff_t m_SecondaryColor = 0x79; // Color
+                constexpr std::ptrdiff_t m_flBrightness = 0x80; // float32
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x84; // float32
+                constexpr std::ptrdiff_t m_flBrightnessMult = 0x88; // float32
+                constexpr std::ptrdiff_t m_flRange = 0x8C; // float32
+                constexpr std::ptrdiff_t m_flFalloff = 0x90; // float32
+                constexpr std::ptrdiff_t m_flAttenuation0 = 0x94; // float32
+                constexpr std::ptrdiff_t m_flAttenuation1 = 0x98; // float32
+                constexpr std::ptrdiff_t m_flAttenuation2 = 0x9C; // float32
+                constexpr std::ptrdiff_t m_flTheta = 0xA0; // float32
+                constexpr std::ptrdiff_t m_flPhi = 0xA4; // float32
+                constexpr std::ptrdiff_t m_hLightCookie = 0xA8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_nCascades = 0xB0; // int32
+                constexpr std::ptrdiff_t m_nCastShadows = 0xB4; // int32
+                constexpr std::ptrdiff_t m_nShadowWidth = 0xB8; // int32
+                constexpr std::ptrdiff_t m_nShadowHeight = 0xBC; // int32
+                constexpr std::ptrdiff_t m_bRenderDiffuse = 0xC0; // bool
+                constexpr std::ptrdiff_t m_nRenderSpecular = 0xC4; // int32
+                constexpr std::ptrdiff_t m_bRenderTransmissive = 0xC8; // bool
+                constexpr std::ptrdiff_t m_flOrthoLightWidth = 0xCC; // float32
+                constexpr std::ptrdiff_t m_flOrthoLightHeight = 0xD0; // float32
+                constexpr std::ptrdiff_t m_nStyle = 0xD4; // int32
+                constexpr std::ptrdiff_t m_Pattern = 0xD8; // CUtlString
+                constexpr std::ptrdiff_t m_nCascadeRenderStaticObjects = 0xE0; // int32
+                constexpr std::ptrdiff_t m_flShadowCascadeCrossFade = 0xE4; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistanceFade = 0xE8; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance0 = 0xEC; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance1 = 0xF0; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance2 = 0xF4; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance3 = 0xF8; // float32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution0 = 0xFC; // int32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution1 = 0x100; // int32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution2 = 0x104; // int32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution3 = 0x108; // int32
+                constexpr std::ptrdiff_t m_bUsesBakedShadowing = 0x10C; // bool
+                constexpr std::ptrdiff_t m_nShadowPriority = 0x110; // int32
+                constexpr std::ptrdiff_t m_nBakedShadowIndex = 0x114; // int32
+                constexpr std::ptrdiff_t m_bRenderToCubemaps = 0x118; // bool
+                constexpr std::ptrdiff_t m_nDirectLight = 0x11C; // int32
+                constexpr std::ptrdiff_t m_nIndirectLight = 0x120; // int32
+                constexpr std::ptrdiff_t m_flFadeMinDist = 0x124; // float32
+                constexpr std::ptrdiff_t m_flFadeMaxDist = 0x128; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeMinDist = 0x12C; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeMaxDist = 0x130; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0x134; // bool
+                constexpr std::ptrdiff_t m_bFlicker = 0x135; // bool
+                constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0x136; // bool
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0x138; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0x144; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0x150; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0x15C; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0x168; // Vector
+                constexpr std::ptrdiff_t m_flPrecomputedMaxRange = 0x174; // float32
+                constexpr std::ptrdiff_t m_nFogLightingMode = 0x178; // int32
+                constexpr std::ptrdiff_t m_flFogContributionStength = 0x17C; // float32
+                constexpr std::ptrdiff_t m_flNearClipPlane = 0x180; // float32
+                constexpr std::ptrdiff_t m_SkyColor = 0x184; // Color
+                constexpr std::ptrdiff_t m_flSkyIntensity = 0x188; // float32
+                constexpr std::ptrdiff_t m_SkyAmbientBounce = 0x18C; // Color
+                constexpr std::ptrdiff_t m_bUseSecondaryColor = 0x190; // bool
+                constexpr std::ptrdiff_t m_bMixedShadows = 0x191; // bool
+                constexpr std::ptrdiff_t m_flLightStyleStartTime = 0x194; // GameTime_t
+                constexpr std::ptrdiff_t m_flCapsuleLength = 0x198; // float32
+                constexpr std::ptrdiff_t m_flMinRoughness = 0x19C; // float32
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            namespace C_CSGO_CounterTerroristTeamIntroCamera {
+            }
+            // Parent: None
+            // Field count: 0
+            namespace CEntityComponent {
+            }
+            // Parent: IEconItemInterface
+            // Field count: 29
+            //
+            // Metadata:
+            // NetworkVarNames: m_iItemDefinitionIndex (item_definition_index_t)
+            // NetworkVarNames: m_iEntityQuality (int)
+            // NetworkVarNames: m_iEntityLevel (uint32)
+            // NetworkVarNames: m_iItemIDHigh (uint32)
+            // NetworkVarNames: m_iItemIDLow (uint32)
+            // NetworkVarNames: m_iAccountID (uint32)
+            // NetworkVarNames: m_iInventoryPosition (uint32)
+            // NetworkVarNames: m_bInitialized (bool)
+            // NetworkVarNames: m_AttributeList (CAttributeList)
+            // NetworkVarNames: m_NetworkedDynamicAttributes (CAttributeList)
+            // NetworkVarNames: m_szCustomName (char)
+            namespace C_EconItemView {
+                constexpr std::ptrdiff_t m_bInventoryImageRgbaRequested = 0x60; // bool
+                constexpr std::ptrdiff_t m_bInventoryImageTriedCache = 0x61; // bool
+                constexpr std::ptrdiff_t m_nInventoryImageRgbaWidth = 0x80; // int32
+                constexpr std::ptrdiff_t m_nInventoryImageRgbaHeight = 0x84; // int32
+                constexpr std::ptrdiff_t m_szCurrentLoadCachedFileName = 0x88; // char[260]
+                constexpr std::ptrdiff_t m_bRestoreCustomMaterialAfterPrecache = 0x1B8; // bool
+                constexpr std::ptrdiff_t m_iItemDefinitionIndex = 0x1BA; // uint16
+                constexpr std::ptrdiff_t m_iEntityQuality = 0x1BC; // int32
+                constexpr std::ptrdiff_t m_iEntityLevel = 0x1C0; // uint32
+                constexpr std::ptrdiff_t m_iItemID = 0x1C8; // uint64
+                constexpr std::ptrdiff_t m_iItemIDHigh = 0x1D0; // uint32
+                constexpr std::ptrdiff_t m_iItemIDLow = 0x1D4; // uint32
+                constexpr std::ptrdiff_t m_iAccountID = 0x1D8; // uint32
+                constexpr std::ptrdiff_t m_iInventoryPosition = 0x1DC; // uint32
+                constexpr std::ptrdiff_t m_bInitialized = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bDisallowSOC = 0x1E9; // bool
+                constexpr std::ptrdiff_t m_bIsStoreItem = 0x1EA; // bool
+                constexpr std::ptrdiff_t m_bIsTradeItem = 0x1EB; // bool
+                constexpr std::ptrdiff_t m_iEntityQuantity = 0x1EC; // int32
+                constexpr std::ptrdiff_t m_iRarityOverride = 0x1F0; // int32
+                constexpr std::ptrdiff_t m_iQualityOverride = 0x1F4; // int32
+                constexpr std::ptrdiff_t m_iOriginOverride = 0x1F8; // int32
+                constexpr std::ptrdiff_t m_unClientFlags = 0x1FC; // uint8
+                constexpr std::ptrdiff_t m_unOverrideStyle = 0x1FD; // uint8
+                constexpr std::ptrdiff_t m_AttributeList = 0x210; // CAttributeList
+                constexpr std::ptrdiff_t m_NetworkedDynamicAttributes = 0x270; // CAttributeList
+                constexpr std::ptrdiff_t m_szCustomName = 0x2D0; // char[161]
+                constexpr std::ptrdiff_t m_szCustomNameOverride = 0x371; // char[161]
+                constexpr std::ptrdiff_t m_bInitializedTags = 0x440; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bSendHandle (bool)
+            namespace C_HandleTest {
+                constexpr std::ptrdiff_t m_Handle = 0x568; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bSendHandle = 0x56C; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+            namespace C_EnvWindClientside {
+                constexpr std::ptrdiff_t m_EnvWindShared = 0x568; // C_EnvWindShared
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponMAC10 {
+            }
+            // Parent: C_PointClientUIWorldPanel
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            namespace C_PointClientUIWorldTextPanel {
+                constexpr std::ptrdiff_t m_messageText = 0xF90; // char[512]
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 0
+            namespace CCSPlayer_UseServices {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_nToggleButtonDownMask (ButtonBitMask_t)
+            // NetworkVarNames: m_flMaxspeed (float32)
+            // NetworkVarNames: m_arrForceSubtickMoveWhen (float32)
+            namespace CPlayer_MovementServices {
+                constexpr std::ptrdiff_t m_nImpulse = 0x40; // int32
+                constexpr std::ptrdiff_t m_nButtons = 0x48; // CInButtonState
+                constexpr std::ptrdiff_t m_nQueuedButtonDownMask = 0x68; // uint64
+                constexpr std::ptrdiff_t m_nQueuedButtonChangeMask = 0x70; // uint64
+                constexpr std::ptrdiff_t m_nButtonDoublePressed = 0x78; // uint64
+                constexpr std::ptrdiff_t m_pButtonPressedCmdNumber = 0x80; // uint32[64]
+                constexpr std::ptrdiff_t m_nLastCommandNumberProcessed = 0x180; // uint32
+                constexpr std::ptrdiff_t m_nToggleButtonDownMask = 0x188; // uint64
+                constexpr std::ptrdiff_t m_flMaxspeed = 0x198; // float32
+                constexpr std::ptrdiff_t m_arrForceSubtickMoveWhen = 0x19C; // float32[4]
+                constexpr std::ptrdiff_t m_flForwardMove = 0x1AC; // float32
+                constexpr std::ptrdiff_t m_flLeftMove = 0x1B0; // float32
+                constexpr std::ptrdiff_t m_flUpMove = 0x1B4; // float32
+                constexpr std::ptrdiff_t m_vecLastMovementImpulses = 0x1B8; // Vector
+                constexpr std::ptrdiff_t m_vecOldViewAngles = 0x1C4; // QAngle
+            }
+            // Parent: C_BaseEntity
+            // Field count: 11
+            namespace CEnvSoundscape {
+                constexpr std::ptrdiff_t m_OnPlay = 0x568; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_flRadius = 0x590; // float32
+                constexpr std::ptrdiff_t m_soundEventName = 0x598; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bOverrideWithEvent = 0x5A0; // bool
+                constexpr std::ptrdiff_t m_soundscapeIndex = 0x5A4; // int32
+                constexpr std::ptrdiff_t m_soundscapeEntityListId = 0x5A8; // int32
+                constexpr std::ptrdiff_t m_positionNames = 0x5B0; // CUtlSymbolLarge[8]
+                constexpr std::ptrdiff_t m_hProxySoundscape = 0x5F0; // CHandle<CEnvSoundscape>
+                constexpr std::ptrdiff_t m_bDisabled = 0x5F4; // bool
+                constexpr std::ptrdiff_t m_soundscapeName = 0x5F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_soundEventHash = 0x600; // uint32
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBasePlayerVData {
+                constexpr std::ptrdiff_t m_sModelName = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_flHeadDamageMultiplier = 0x108; // CSkillFloat
+                constexpr std::ptrdiff_t m_flChestDamageMultiplier = 0x118; // CSkillFloat
+                constexpr std::ptrdiff_t m_flStomachDamageMultiplier = 0x128; // CSkillFloat
+                constexpr std::ptrdiff_t m_flArmDamageMultiplier = 0x138; // CSkillFloat
+                constexpr std::ptrdiff_t m_flLegDamageMultiplier = 0x148; // CSkillFloat
+                constexpr std::ptrdiff_t m_flHoldBreathTime = 0x158; // float32
+                constexpr std::ptrdiff_t m_flDrowningDamageInterval = 0x15C; // float32
+                constexpr std::ptrdiff_t m_nDrowningDamageInitial = 0x160; // int32
+                constexpr std::ptrdiff_t m_nDrowningDamageMax = 0x164; // int32
+                constexpr std::ptrdiff_t m_nWaterSpeed = 0x168; // int32
+                constexpr std::ptrdiff_t m_flUseRange = 0x16C; // float32
+                constexpr std::ptrdiff_t m_flUseAngleTolerance = 0x170; // float32
+                constexpr std::ptrdiff_t m_flCrouchTime = 0x174; // float32
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAccount (int)
+            // NetworkVarNames: m_iStartAccount (int)
+            // NetworkVarNames: m_iTotalCashSpent (int)
+            // NetworkVarNames: m_iCashSpentThisRound (int)
+            namespace CCSPlayerController_InGameMoneyServices {
+                constexpr std::ptrdiff_t m_iAccount = 0x40; // int32
+                constexpr std::ptrdiff_t m_iStartAccount = 0x44; // int32
+                constexpr std::ptrdiff_t m_iTotalCashSpent = 0x48; // int32
+                constexpr std::ptrdiff_t m_iCashSpentThisRound = 0x4C; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            namespace C_EnvWindShared__WindVariationEvent_t {
+                constexpr std::ptrdiff_t m_flWindAngleVariation = 0x0; // float32
+                constexpr std::ptrdiff_t m_flWindSpeedVariation = 0x4; // float32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponUSPSilencer {
+            }
+            // Parent: C_Sprite
+            // Field count: 0
+            namespace CSpriteOriented {
+            }
+            // Parent: C_CSGO_EndOfMatchLineupEndpoint
+            // Field count: 0
+            namespace C_CSGO_EndOfMatchLineupStart {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponFamas {
+            }
+            // Parent: C_ParticleSystem
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flRadiusScale (float32)
+            // NetworkVarNames: m_flSelfIllumScale (float32)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_hTextureOverride (HRenderTextureStrong)
+            namespace C_EnvParticleGlow {
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x12D8; // float32
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x12DC; // float32
+                constexpr std::ptrdiff_t m_flSelfIllumScale = 0x12E0; // float32
+                constexpr std::ptrdiff_t m_ColorTint = 0x12E4; // Color
+                constexpr std::ptrdiff_t m_hTextureOverride = 0x12E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 15
+            namespace C_SoundEventEntity {
+                constexpr std::ptrdiff_t m_bStartOnSpawn = 0x568; // bool
+                constexpr std::ptrdiff_t m_bToLocalPlayer = 0x569; // bool
+                constexpr std::ptrdiff_t m_bStopOnNew = 0x56A; // bool
+                constexpr std::ptrdiff_t m_bSaveRestore = 0x56B; // bool
+                constexpr std::ptrdiff_t m_bSavedIsPlaying = 0x56C; // bool
+                constexpr std::ptrdiff_t m_flSavedElapsedTime = 0x570; // float32
+                constexpr std::ptrdiff_t m_iszSourceEntityName = 0x578; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszAttachmentName = 0x580; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_onGUIDChanged = 0x588; // CEntityOutputTemplate<uint64>
+                constexpr std::ptrdiff_t m_onSoundFinished = 0x5B0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_flClientCullRadius = 0x5D8; // float32
+                constexpr std::ptrdiff_t m_iszSoundName = 0x608; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hSource = 0x618; // CEntityHandle
+                constexpr std::ptrdiff_t m_nEntityIndexSelection = 0x61C; // int32
+                constexpr std::ptrdiff_t m_bClientSideOnly = 0x0; // bitfield:1
+            }
+            // Parent: C_CSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_TeamIntroCharacterPosition {
+            }
+            // Parent: C_CSGO_PreviewModel
+            // Field count: 0
+            namespace C_CSGO_PreviewModelAlias_csgo_item_previewmodel {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkExcludeByName
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_vDirection (Vector)
+            // NetworkVarNames: m_iszEffectName (string_t)
+            // NetworkVarNames: m_iszSSEffectName (string_t)
+            // NetworkVarNames: m_clrOverlay (Color)
+            // NetworkVarNames: m_bOn (bool)
+            // NetworkVarNames: m_bmaxColor (bool)
+            // NetworkVarNames: m_flSize (float32)
+            // NetworkVarNames: m_flHazeScale (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_flAlphaHaze (float32)
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flAlphaHdr (float32)
+            // NetworkVarNames: m_flFarZScale (float32)
+            namespace C_Sun {
+                constexpr std::ptrdiff_t m_fxSSSunFlareEffectIndex = 0xD28; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_fxSunFlareEffectIndex = 0xD2C; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_fdistNormalize = 0xD30; // float32
+                constexpr std::ptrdiff_t m_vSunPos = 0xD34; // Vector
+                constexpr std::ptrdiff_t m_vDirection = 0xD40; // Vector
+                constexpr std::ptrdiff_t m_iszEffectName = 0xD50; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSSEffectName = 0xD58; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_clrOverlay = 0xD60; // Color
+                constexpr std::ptrdiff_t m_bOn = 0xD64; // bool
+                constexpr std::ptrdiff_t m_bmaxColor = 0xD65; // bool
+                constexpr std::ptrdiff_t m_flSize = 0xD68; // float32
+                constexpr std::ptrdiff_t m_flHazeScale = 0xD6C; // float32
+                constexpr std::ptrdiff_t m_flRotation = 0xD70; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0xD74; // float32
+                constexpr std::ptrdiff_t m_flAlphaHaze = 0xD78; // float32
+                constexpr std::ptrdiff_t m_flAlphaScale = 0xD7C; // float32
+                constexpr std::ptrdiff_t m_flAlphaHdr = 0xD80; // float32
+                constexpr std::ptrdiff_t m_flFarZScale = 0xD84; // float32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_CSGO_EndOfMatchLineupEndpoint {
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_perRoundStats (CSPerRoundStats_t)
+            // NetworkVarNames: m_matchStats (CSMatchStats_t)
+            // NetworkVarNames: m_iNumRoundKills (int)
+            // NetworkVarNames: m_iNumRoundKillsHeadshots (int)
+            // NetworkVarNames: m_unTotalRoundDamageDealt (uint32)
+            namespace CCSPlayerController_ActionTrackingServices {
+                constexpr std::ptrdiff_t m_perRoundStats = 0x40; // C_UtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
+                constexpr std::ptrdiff_t m_matchStats = 0x90; // CSMatchStats_t
+                constexpr std::ptrdiff_t m_iNumRoundKills = 0x110; // int32
+                constexpr std::ptrdiff_t m_iNumRoundKillsHeadshots = 0x114; // int32
+                constexpr std::ptrdiff_t m_unTotalRoundDamageDealt = 0x118; // uint32
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bvDisabledHitGroups (uint32)
+            namespace CHitboxComponent {
+                constexpr std::ptrdiff_t m_bvDisabledHitGroups = 0x24; // uint32[1]
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_MaxWeight (float)
+            // NetworkVarNames: m_FadeDuration (float)
+            // NetworkVarNames: m_Weight (float)
+            // NetworkVarNames: m_lookupFilename (char)
+            namespace C_ColorCorrectionVolume {
+                constexpr std::ptrdiff_t m_LastEnterWeight = 0xD30; // float32
+                constexpr std::ptrdiff_t m_LastEnterTime = 0xD34; // float32
+                constexpr std::ptrdiff_t m_LastExitWeight = 0xD38; // float32
+                constexpr std::ptrdiff_t m_LastExitTime = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0xD40; // bool
+                constexpr std::ptrdiff_t m_MaxWeight = 0xD44; // float32
+                constexpr std::ptrdiff_t m_FadeDuration = 0xD48; // float32
+                constexpr std::ptrdiff_t m_Weight = 0xD4C; // float32
+                constexpr std::ptrdiff_t m_lookupFilename = 0xD50; // char[512]
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_PrecipitationBlocker {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 6
+            namespace C_BulletHitModel {
+                constexpr std::ptrdiff_t m_matLocal = 0xF88; // matrix3x4_t
+                constexpr std::ptrdiff_t m_iBoneIndex = 0xFB8; // int32
+                constexpr std::ptrdiff_t m_hPlayerParent = 0xFBC; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bIsHit = 0xFC0; // bool
+                constexpr std::ptrdiff_t m_flTimeCreated = 0xFC4; // float32
+                constexpr std::ptrdiff_t m_vecStartPos = 0xFC8; // Vector
+            }
+            // Parent: C_BaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDraftType (int)
+            // NetworkVarNames: m_nTeamWinningCoinToss (int)
+            // NetworkVarNames: m_nTeamWithFirstChoice (int)
+            // NetworkVarNames: m_nVoteMapIdsList (int)
+            // NetworkVarNames: m_nAccountIDs (int)
+            // NetworkVarNames: m_nMapId0 (int)
+            // NetworkVarNames: m_nMapId1 (int)
+            // NetworkVarNames: m_nMapId2 (int)
+            // NetworkVarNames: m_nMapId3 (int)
+            // NetworkVarNames: m_nMapId4 (int)
+            // NetworkVarNames: m_nMapId5 (int)
+            // NetworkVarNames: m_nStartingSide0 (int)
+            // NetworkVarNames: m_nCurrentPhase (int)
+            // NetworkVarNames: m_nPhaseStartTick (int)
+            // NetworkVarNames: m_nPhaseDurationTicks (int)
+            namespace C_MapVetoPickController {
+                constexpr std::ptrdiff_t m_nDraftType = 0x578; // int32
+                constexpr std::ptrdiff_t m_nTeamWinningCoinToss = 0x57C; // int32
+                constexpr std::ptrdiff_t m_nTeamWithFirstChoice = 0x580; // int32[64]
+                constexpr std::ptrdiff_t m_nVoteMapIdsList = 0x680; // int32[7]
+                constexpr std::ptrdiff_t m_nAccountIDs = 0x69C; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId0 = 0x79C; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId1 = 0x89C; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId2 = 0x99C; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId3 = 0xA9C; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId4 = 0xB9C; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId5 = 0xC9C; // int32[64]
+                constexpr std::ptrdiff_t m_nStartingSide0 = 0xD9C; // int32[64]
+                constexpr std::ptrdiff_t m_nCurrentPhase = 0xE9C; // int32
+                constexpr std::ptrdiff_t m_nPhaseStartTick = 0xEA0; // int32
+                constexpr std::ptrdiff_t m_nPhaseDurationTicks = 0xEA4; // int32
+                constexpr std::ptrdiff_t m_nPostDataUpdateTick = 0xEA8; // int32
+                constexpr std::ptrdiff_t m_bDisabledHud = 0xEAC; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGapTypeQueriesForScopeSingleton
+            namespace CSharedGapTypeQueryRegistration {
+            }
+            // Parent: C_BarnLight
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flInnerAngle (float)
+            // NetworkVarNames: m_flOuterAngle (float)
+            // NetworkVarNames: m_bShowLight (bool)
+            namespace C_OmniLight {
+                constexpr std::ptrdiff_t m_flInnerAngle = 0x1070; // float32
+                constexpr std::ptrdiff_t m_flOuterAngle = 0x1074; // float32
+                constexpr std::ptrdiff_t m_bShowLight = 0x1078; // bool
+            }
+            // Parent: C_Inferno
+            // Field count: 0
+            namespace C_FireCrackerBlast {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponMP9 {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_weaponPurchases (WeaponPurchaseCount_t)
+            namespace WeaponPurchaseTracker_t {
+                constexpr std::ptrdiff_t m_weaponPurchases = 0x8; // C_UtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMatchSeed (int)
+            // NetworkVarNames: m_bBlockersPresent (bool)
+            // NetworkVarNames: m_bRoundInProgress (bool)
+            // NetworkVarNames: m_iFirstSecondHalfRound (int)
+            // NetworkVarNames: m_iBombSite (int)
+            namespace C_RetakeGameRules {
+                constexpr std::ptrdiff_t m_nMatchSeed = 0xF8; // int32
+                constexpr std::ptrdiff_t m_bBlockersPresent = 0xFC; // bool
+                constexpr std::ptrdiff_t m_bRoundInProgress = 0xFD; // bool
+                constexpr std::ptrdiff_t m_iFirstSecondHalfRound = 0x100; // int32
+                constexpr std::ptrdiff_t m_iBombSite = 0x104; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (float32)
+            // NetworkVarNames: m_timescale (float32)
+            namespace EngineCountdownTimer {
+                constexpr std::ptrdiff_t m_duration = 0x8; // float32
+                constexpr std::ptrdiff_t m_timestamp = 0xC; // float32
+                constexpr std::ptrdiff_t m_timescale = 0x10; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CCSPlayer_GlowServices {
+            }
+            // Parent: None
+            // Field count: 5
+            namespace C_BaseFlex__Emphasized_Phoneme {
+                constexpr std::ptrdiff_t m_sClassName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_flAmount = 0x18; // float32
+                constexpr std::ptrdiff_t m_bRequired = 0x1C; // bool
+                constexpr std::ptrdiff_t m_bBasechecked = 0x1D; // bool
+                constexpr std::ptrdiff_t m_bValid = 0x1E; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            namespace IntervalTimer {
+                constexpr std::ptrdiff_t m_timestamp = 0x8; // GameTime_t
+                constexpr std::ptrdiff_t m_nWorldGroupId = 0xC; // WorldGroupId_t
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponSSG08 {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderDir (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionTop (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionBottom (Vector)
+            // NetworkVarNames: m_flAutoRideSpeed (float)
+            // NetworkVarNames: m_bFakeLadder (bool)
+            namespace C_FuncLadder {
+                constexpr std::ptrdiff_t m_vecLadderDir = 0xD28; // Vector
+                constexpr std::ptrdiff_t m_Dismounts = 0xD38; // CUtlVector<CHandle<C_InfoLadderDismount>>
+                constexpr std::ptrdiff_t m_vecLocalTop = 0xD50; // Vector
+                constexpr std::ptrdiff_t m_vecPlayerMountPositionTop = 0xD5C; // Vector
+                constexpr std::ptrdiff_t m_vecPlayerMountPositionBottom = 0xD68; // Vector
+                constexpr std::ptrdiff_t m_flAutoRideSpeed = 0xD74; // float32
+                constexpr std::ptrdiff_t m_bDisabled = 0xD78; // bool
+                constexpr std::ptrdiff_t m_bFakeLadder = 0xD79; // bool
+                constexpr std::ptrdiff_t m_bHasSlack = 0xD7A; // bool
+            }
+            // Parent: C_SoundOpvarSetAABBEntity
+            // Field count: 0
+            namespace C_SoundOpvarSetOBBEntity {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_hMyWeapons (CHandle<C_BasePlayerWeapon>)
+            // NetworkVarNames: m_hActiveWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hLastWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_iAmmo (uint16)
+            namespace CPlayer_WeaponServices {
+                constexpr std::ptrdiff_t m_hMyWeapons = 0x40; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerWeapon>>
+                constexpr std::ptrdiff_t m_hActiveWeapon = 0x58; // CHandle<C_BasePlayerWeapon>
+                constexpr std::ptrdiff_t m_hLastWeapon = 0x5C; // CHandle<C_BasePlayerWeapon>
+                constexpr std::ptrdiff_t m_iAmmo = 0x60; // uint16[32]
+            }
+            // Parent: None
+            // Field count: 3
+            namespace CAttributeManager__cached_attribute_float_t {
+                constexpr std::ptrdiff_t flIn = 0x0; // float32
+                constexpr std::ptrdiff_t iAttribHook = 0x8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t flOut = 0x10; // float32
+            }
+            // Parent: C_BaseFlex
+            // Field count: 12
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_bIsLive (bool)
+            // NetworkVarNames: m_DmgRadius (float32)
+            // NetworkVarNames: m_flDetonateTime (GameTime_t)
+            // NetworkVarNames: m_flDamage (float32)
+            // NetworkVarNames: m_hThrower (CHandle<CCSPlayerPawn>)
+            namespace C_BaseGrenade {
+                constexpr std::ptrdiff_t m_bHasWarnedAI = 0x1120; // bool
+                constexpr std::ptrdiff_t m_bIsSmokeGrenade = 0x1121; // bool
+                constexpr std::ptrdiff_t m_bIsLive = 0x1122; // bool
+                constexpr std::ptrdiff_t m_DmgRadius = 0x1124; // float32
+                constexpr std::ptrdiff_t m_flDetonateTime = 0x1128; // GameTime_t
+                constexpr std::ptrdiff_t m_flWarnAITime = 0x112C; // float32
+                constexpr std::ptrdiff_t m_flDamage = 0x1130; // float32
+                constexpr std::ptrdiff_t m_iszBounceSound = 0x1138; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ExplosionSound = 0x1140; // CUtlString
+                constexpr std::ptrdiff_t m_hThrower = 0x114C; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_flNextAttack = 0x1164; // GameTime_t
+                constexpr std::ptrdiff_t m_hOriginalThrower = 0x1168; // CHandle<C_CSPlayerPawn>
+            }
+            // Parent: None
+            // Field count: 1
+            namespace CCSGameModeRules {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nInteractsAs (uint64)
+            // NetworkVarNames: m_nInteractsWith (uint64)
+            // NetworkVarNames: m_nInteractsExclude (uint64)
+            // NetworkVarNames: m_nEntityId (uint32)
+            // NetworkVarNames: m_nOwnerId (uint32)
+            // NetworkVarNames: m_nHierarchyId (uint16)
+            // NetworkVarNames: m_nCollisionGroup (uint8)
+            // NetworkVarNames: m_nCollisionFunctionMask (uint8)
+            namespace VPhysicsCollisionAttribute_t {
+                constexpr std::ptrdiff_t m_nInteractsAs = 0x8; // uint64
+                constexpr std::ptrdiff_t m_nInteractsWith = 0x10; // uint64
+                constexpr std::ptrdiff_t m_nInteractsExclude = 0x18; // uint64
+                constexpr std::ptrdiff_t m_nEntityId = 0x20; // uint32
+                constexpr std::ptrdiff_t m_nOwnerId = 0x24; // uint32
+                constexpr std::ptrdiff_t m_nHierarchyId = 0x28; // uint16
+                constexpr std::ptrdiff_t m_nCollisionGroup = 0x2A; // uint8
+                constexpr std::ptrdiff_t m_nCollisionFunctionMask = 0x2B; // uint8
+            }
+            // Parent: C_BaseEntity
+            // Field count: 34
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScattering (float)
+            // NetworkVarNames: m_flAnisotropy (float)
+            // NetworkVarNames: m_flFadeSpeed (float)
+            // NetworkVarNames: m_flDrawDistance (float)
+            // NetworkVarNames: m_flFadeInStart (float)
+            // NetworkVarNames: m_flFadeInEnd (float)
+            // NetworkVarNames: m_flIndirectStrength (float)
+            // NetworkVarNames: m_nVolumeDepth (int)
+            // NetworkVarNames: m_fFirstVolumeSliceThickness (float)
+            // NetworkVarNames: m_nIndirectTextureDimX (int)
+            // NetworkVarNames: m_nIndirectTextureDimY (int)
+            // NetworkVarNames: m_nIndirectTextureDimZ (int)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartAnisoTime (GameTime_t)
+            // NetworkVarNames: m_flStartScatterTime (GameTime_t)
+            // NetworkVarNames: m_flStartDrawDistanceTime (GameTime_t)
+            // NetworkVarNames: m_flStartAnisotropy (float)
+            // NetworkVarNames: m_flStartScattering (float)
+            // NetworkVarNames: m_flStartDrawDistance (float)
+            // NetworkVarNames: m_flDefaultAnisotropy (float)
+            // NetworkVarNames: m_flDefaultScattering (float)
+            // NetworkVarNames: m_flDefaultDrawDistance (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bEnableIndirect (bool)
+            // NetworkVarNames: m_bIndirectUseLPVs (bool)
+            // NetworkVarNames: m_bIsMaster (bool)
+            // NetworkVarNames: m_hFogIndirectTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_nForceRefreshCount (int)
+            // NetworkVarNames: m_fNoiseSpeed (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_vNoiseScale (Vector)
+            namespace C_EnvVolumetricFogController {
+                constexpr std::ptrdiff_t m_flScattering = 0x568; // float32
+                constexpr std::ptrdiff_t m_flAnisotropy = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flFadeSpeed = 0x570; // float32
+                constexpr std::ptrdiff_t m_flDrawDistance = 0x574; // float32
+                constexpr std::ptrdiff_t m_flFadeInStart = 0x578; // float32
+                constexpr std::ptrdiff_t m_flFadeInEnd = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flIndirectStrength = 0x580; // float32
+                constexpr std::ptrdiff_t m_nVolumeDepth = 0x584; // int32
+                constexpr std::ptrdiff_t m_fFirstVolumeSliceThickness = 0x588; // float32
+                constexpr std::ptrdiff_t m_nIndirectTextureDimX = 0x58C; // int32
+                constexpr std::ptrdiff_t m_nIndirectTextureDimY = 0x590; // int32
+                constexpr std::ptrdiff_t m_nIndirectTextureDimZ = 0x594; // int32
+                constexpr std::ptrdiff_t m_vBoxMins = 0x598; // Vector
+                constexpr std::ptrdiff_t m_vBoxMaxs = 0x5A4; // Vector
+                constexpr std::ptrdiff_t m_bActive = 0x5B0; // bool
+                constexpr std::ptrdiff_t m_flStartAnisoTime = 0x5B4; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartScatterTime = 0x5B8; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartDrawDistanceTime = 0x5BC; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartAnisotropy = 0x5C0; // float32
+                constexpr std::ptrdiff_t m_flStartScattering = 0x5C4; // float32
+                constexpr std::ptrdiff_t m_flStartDrawDistance = 0x5C8; // float32
+                constexpr std::ptrdiff_t m_flDefaultAnisotropy = 0x5CC; // float32
+                constexpr std::ptrdiff_t m_flDefaultScattering = 0x5D0; // float32
+                constexpr std::ptrdiff_t m_flDefaultDrawDistance = 0x5D4; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x5D8; // bool
+                constexpr std::ptrdiff_t m_bEnableIndirect = 0x5D9; // bool
+                constexpr std::ptrdiff_t m_bIndirectUseLPVs = 0x5DA; // bool
+                constexpr std::ptrdiff_t m_bIsMaster = 0x5DB; // bool
+                constexpr std::ptrdiff_t m_hFogIndirectTexture = 0x5E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_nForceRefreshCount = 0x5E8; // int32
+                constexpr std::ptrdiff_t m_fNoiseSpeed = 0x5EC; // float32
+                constexpr std::ptrdiff_t m_fNoiseStrength = 0x5F0; // float32
+                constexpr std::ptrdiff_t m_vNoiseScale = 0x5F4; // Vector
+                constexpr std::ptrdiff_t m_bFirstTime = 0x600; // bool
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponTec9 {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flStartTimeInCommentary (float32)
+            // NetworkVarNames: m_iszCommentaryFile (string_t)
+            // NetworkVarNames: m_iszTitle (string_t)
+            // NetworkVarNames: m_iszSpeakers (string_t)
+            // NetworkVarNames: m_iNodeNumber (int)
+            // NetworkVarNames: m_iNodeNumberMax (int)
+            // NetworkVarNames: m_bListenedTo (bool)
+            // NetworkVarNames: m_hViewPosition (CHandle<C_BaseEntity>)
+            namespace C_PointCommentaryNode {
+                constexpr std::ptrdiff_t m_bActive = 0xF90; // bool
+                constexpr std::ptrdiff_t m_bWasActive = 0xF91; // bool
+                constexpr std::ptrdiff_t m_flEndTime = 0xF94; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartTime = 0xF98; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartTimeInCommentary = 0xF9C; // float32
+                constexpr std::ptrdiff_t m_iszCommentaryFile = 0xFA0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTitle = 0xFA8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSpeakers = 0xFB0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iNodeNumber = 0xFB8; // int32
+                constexpr std::ptrdiff_t m_iNodeNumberMax = 0xFBC; // int32
+                constexpr std::ptrdiff_t m_bListenedTo = 0xFC0; // bool
+                constexpr std::ptrdiff_t m_hViewPosition = 0xFD0; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bRestartAfterRestore = 0xFD4; // bool
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 0
+            namespace CCSObserver_CameraServices {
+            }
+            // Parent: CCSPointScriptEntity
+            // Field count: 0
+            namespace CCSClientPointScriptEntity {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: localSound (Vector)
+            // NetworkVarNames: soundscapeIndex (int32)
+            // NetworkVarNames: localBits (uint8)
+            // NetworkVarNames: soundscapeEntityListIndex (int)
+            // NetworkVarNames: soundEventHash (uint32)
+            namespace audioparams_t {
+                constexpr std::ptrdiff_t localSound = 0x8; // Vector[8]
+                constexpr std::ptrdiff_t soundscapeIndex = 0x68; // int32
+                constexpr std::ptrdiff_t localBits = 0x6C; // uint8
+                constexpr std::ptrdiff_t soundscapeEntityListIndex = 0x70; // int32
+                constexpr std::ptrdiff_t soundEventHash = 0x74; // uint32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace C_CS2WeaponModuleBase {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMode (int)
+            // NetworkVarNames: m_vBoxSize (Vector)
+            // NetworkVarNames: m_bEnabled (bool)
+            namespace C_InfoVisibilityBox {
+                constexpr std::ptrdiff_t m_nMode = 0x56C; // int32
+                constexpr std::ptrdiff_t m_vBoxSize = 0x570; // Vector
+                constexpr std::ptrdiff_t m_bEnabled = 0x57C; // bool
+            }
+            // Parent: C_Sprite
+            // Field count: 2
+            namespace C_FireSprite {
+                constexpr std::ptrdiff_t m_vecMoveDir = 0xE38; // Vector
+                constexpr std::ptrdiff_t m_bFadeFromAbove = 0xE44; // bool
+            }
+            // Parent: C_CSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_TeamIntroTerroristPosition {
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 8
+            namespace C_Precipitation {
+                constexpr std::ptrdiff_t m_flDensity = 0xD30; // float32
+                constexpr std::ptrdiff_t m_flParticleInnerDist = 0xD40; // float32
+                constexpr std::ptrdiff_t m_pParticleDef = 0xD48; // char*
+                constexpr std::ptrdiff_t m_tParticlePrecipTraceTimer = 0xD70; // TimedEvent[1]
+                constexpr std::ptrdiff_t m_bActiveParticlePrecipEmitter = 0xD78; // bool[1]
+                constexpr std::ptrdiff_t m_bParticlePrecipInitialized = 0xD79; // bool
+                constexpr std::ptrdiff_t m_bHasSimulatedSinceLastSceneObjectUpdate = 0xD7A; // bool
+                constexpr std::ptrdiff_t m_nAvailableSheetSequencesMaxIndex = 0xD7C; // int32
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPrecipitationVData {
+                constexpr std::ptrdiff_t m_szParticlePrecipitationEffect = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_flInnerDistance = 0x108; // float32
+                constexpr std::ptrdiff_t m_nAttachType = 0x10C; // ParticleAttachment_t
+                constexpr std::ptrdiff_t m_bBatchSameVolumeType = 0x110; // bool
+                constexpr std::ptrdiff_t m_nRTEnvCP = 0x114; // int32
+                constexpr std::ptrdiff_t m_nRTEnvCPComponent = 0x118; // int32
+                constexpr std::ptrdiff_t m_szModifier = 0x120; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            namespace CBuoyancyHelper {
+                constexpr std::ptrdiff_t m_nFluidType = 0x18; // CUtlStringToken
+                constexpr std::ptrdiff_t m_flFluidDensity = 0x1C; // float32
+                constexpr std::ptrdiff_t m_vecFractionOfWheelSubmergedForWheelFriction = 0x20; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecWheelFrictionScales = 0x38; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecFractionOfWheelSubmergedForWheelDrag = 0x50; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecWheelDrag = 0x68; // CUtlVector<float32>
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_DialogXMLName (string_t)
+            // NetworkVarNames: m_PanelClassName (string_t)
+            // NetworkVarNames: m_PanelID (string_t)
+            namespace C_BaseClientUIEntity {
+                constexpr std::ptrdiff_t m_bEnabled = 0xD30; // bool
+                constexpr std::ptrdiff_t m_DialogXMLName = 0xD38; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PanelClassName = 0xD40; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PanelID = 0xD48; // CUtlSymbolLarge
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 3
+            namespace C_FuncTrackTrain {
+                constexpr std::ptrdiff_t m_nLongAxis = 0xD28; // int32
+                constexpr std::ptrdiff_t m_flRadius = 0xD2C; // float32
+                constexpr std::ptrdiff_t m_flLineLength = 0xD30; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsRescuing (bool)
+            // NetworkVarNames: m_weaponPurchasesThisMatch (WeaponPurchaseTracker_t)
+            // NetworkVarNames: m_weaponPurchasesThisRound (WeaponPurchaseTracker_t)
+            namespace CCSPlayer_ActionTrackingServices {
+                constexpr std::ptrdiff_t m_hLastWeaponBeforeC4AutoSwitch = 0x40; // CHandle<C_BasePlayerWeapon>
+                constexpr std::ptrdiff_t m_bIsRescuing = 0x44; // bool
+                constexpr std::ptrdiff_t m_weaponPurchasesThisMatch = 0x48; // WeaponPurchaseTracker_t
+                constexpr std::ptrdiff_t m_weaponPurchasesThisRound = 0xA0; // WeaponPurchaseTracker_t
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_nModelID (int32)
+            // NetworkVarNames: m_hMaterialBase (HMaterialStrong)
+            // NetworkVarNames: m_hMaterialDamageOverlay (HMaterialStrong)
+            // NetworkVarNames: m_solid (ShardSolid_t)
+            // NetworkVarNames: m_vecPanelSize (Vector2D)
+            // NetworkVarNames: m_vecStressPositionA (Vector2D)
+            // NetworkVarNames: m_vecStressPositionB (Vector2D)
+            // NetworkVarNames: m_vecPanelVertices (Vector2D)
+            // NetworkVarNames: m_vInitialPanelVertices (Vector4D)
+            // NetworkVarNames: m_flGlassHalfThickness (float)
+            // NetworkVarNames: m_bHasParent (bool)
+            // NetworkVarNames: m_bParentFrozen (bool)
+            // NetworkVarNames: m_SurfacePropStringToken (CUtlStringToken)
+            namespace shard_model_desc_t {
+                constexpr std::ptrdiff_t m_nModelID = 0x8; // int32
+                constexpr std::ptrdiff_t m_hMaterialBase = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_hMaterialDamageOverlay = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_solid = 0x20; // ShardSolid_t
+                constexpr std::ptrdiff_t m_vecPanelSize = 0x24; // Vector2D
+                constexpr std::ptrdiff_t m_vecStressPositionA = 0x2C; // Vector2D
+                constexpr std::ptrdiff_t m_vecStressPositionB = 0x34; // Vector2D
+                constexpr std::ptrdiff_t m_vecPanelVertices = 0x40; // C_NetworkUtlVectorBase<Vector2D>
+                constexpr std::ptrdiff_t m_vInitialPanelVertices = 0x58; // C_NetworkUtlVectorBase<Vector4D>
+                constexpr std::ptrdiff_t m_flGlassHalfThickness = 0x70; // float32
+                constexpr std::ptrdiff_t m_bHasParent = 0x74; // bool
+                constexpr std::ptrdiff_t m_bParentFrozen = 0x75; // bool
+                constexpr std::ptrdiff_t m_SurfacePropStringToken = 0x78; // CUtlStringToken
+            }
+            // Parent: None
+            // Field count: 1
+            namespace C_SceneEntity__QueuedEvents_t {
+                constexpr std::ptrdiff_t starttime = 0x0; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 4
+            namespace CBaseProp {
+                constexpr std::ptrdiff_t m_bModelOverrodeBlockLOS = 0xF88; // bool
+                constexpr std::ptrdiff_t m_iShapeType = 0xF8C; // int32
+                constexpr std::ptrdiff_t m_bConformToCollisionBounds = 0xF90; // bool
+                constexpr std::ptrdiff_t m_mPreferredCatchTransform = 0xF94; // matrix3x4_t
+            }
+            // Parent: C_CSGO_PreviewPlayer
+            // Field count: 0
+            namespace C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_observer {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 12
+            namespace CPointTemplate {
+                constexpr std::ptrdiff_t m_iszWorldName = 0x568; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSource2EntityLumpName = 0x570; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszEntityFilterName = 0x578; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flTimeoutInterval = 0x580; // float32
+                constexpr std::ptrdiff_t m_bAsynchronouslySpawnEntities = 0x584; // bool
+                constexpr std::ptrdiff_t m_pOutputOnSpawned = 0x588; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_clientOnlyEntityBehavior = 0x5B0; // PointTemplateClientOnlyEntityBehavior_t
+                constexpr std::ptrdiff_t m_ownerSpawnGroupType = 0x5B4; // PointTemplateOwnerSpawnGroupType_t
+                constexpr std::ptrdiff_t m_createdSpawnGroupHandles = 0x5B8; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_SpawnedEntityHandles = 0x5D0; // CUtlVector<CEntityHandle>
+                constexpr std::ptrdiff_t m_ScriptSpawnCallback = 0x5E8; // HSCRIPT
+                constexpr std::ptrdiff_t m_ScriptCallbackScope = 0x5F0; // HSCRIPT
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponHKP2000 {
+            }
+            // Parent: C_BaseFlex
+            // Field count: 6
+            namespace C_CSGO_PreviewModel {
+                constexpr std::ptrdiff_t m_animgraph = 0x1120; // CUtlString
+                constexpr std::ptrdiff_t m_animgraphCharacterModeString = 0x1128; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_defaultAnim = 0x1130; // CUtlString
+                constexpr std::ptrdiff_t m_nDefaultAnimLoopMode = 0x1138; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_flInitialModelScale = 0x113C; // float32
+                constexpr std::ptrdiff_t m_sInitialWeaponState = 0x1140; // CUtlString
+            }
+            // Parent: C_PointEntity
+            // Field count: 5
+            namespace CInfoDynamicShadowHint {
+                constexpr std::ptrdiff_t m_bDisabled = 0x568; // bool
+                constexpr std::ptrdiff_t m_flRange = 0x56C; // float32
+                constexpr std::ptrdiff_t m_nImportance = 0x570; // int32
+                constexpr std::ptrdiff_t m_nLightChoice = 0x574; // int32
+                constexpr std::ptrdiff_t m_hLight = 0x578; // CHandle<C_BaseEntity>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CTakeDamageInfoAPI {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace C_BaseEntityAPI {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 0
+            namespace C_WeaponXM1014 {
+            }
+            // Parent: C_ParticleSystem
+            // Field count: 0
+            namespace C_MapPreviewParticleSystem {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_iGlowType (int32)
+            // NetworkVarNames: m_iGlowTeam (int32)
+            // NetworkVarNames: m_nGlowRange (int32)
+            // NetworkVarNames: m_nGlowRangeMin (int32)
+            // NetworkVarNames: m_glowColorOverride (Color)
+            // NetworkVarNames: m_bFlashing (bool)
+            // NetworkVarNames: m_flGlowTime (float)
+            // NetworkVarNames: m_flGlowStartTime (float)
+            // NetworkVarNames: m_bEligibleForScreenHighlight (bool)
+            namespace CGlowProperty {
+                constexpr std::ptrdiff_t m_fGlowColor = 0x8; // Vector
+                constexpr std::ptrdiff_t m_iGlowType = 0x30; // int32
+                constexpr std::ptrdiff_t m_iGlowTeam = 0x34; // int32
+                constexpr std::ptrdiff_t m_nGlowRange = 0x38; // int32
+                constexpr std::ptrdiff_t m_nGlowRangeMin = 0x3C; // int32
+                constexpr std::ptrdiff_t m_glowColorOverride = 0x40; // Color
+                constexpr std::ptrdiff_t m_bFlashing = 0x44; // bool
+                constexpr std::ptrdiff_t m_flGlowTime = 0x48; // float32
+                constexpr std::ptrdiff_t m_flGlowStartTime = 0x4C; // float32
+                constexpr std::ptrdiff_t m_bEligibleForScreenHighlight = 0x50; // bool
+                constexpr std::ptrdiff_t m_bGlowing = 0x51; // bool
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_gravityScale (float)
+            // NetworkVarNames: m_linearLimit (float)
+            // NetworkVarNames: m_linearDamping (float)
+            // NetworkVarNames: m_angularLimit (float)
+            // NetworkVarNames: m_angularDamping (float)
+            // NetworkVarNames: m_linearForce (float)
+            // NetworkVarNames: m_flFrequency (float)
+            // NetworkVarNames: m_flDampingRatio (float)
+            // NetworkVarNames: m_vecLinearForcePointAt (Vector)
+            // NetworkVarNames: m_bCollapseToForcePoint (bool)
+            // NetworkVarNames: m_vecLinearForcePointAtWorld (Vector)
+            // NetworkVarNames: m_vecLinearForceDirection (Vector)
+            // NetworkVarNames: m_bConvertToDebrisWhenPossible (bool)
+            namespace C_TriggerPhysics {
+                constexpr std::ptrdiff_t m_gravityScale = 0xD30; // float32
+                constexpr std::ptrdiff_t m_linearLimit = 0xD34; // float32
+                constexpr std::ptrdiff_t m_linearDamping = 0xD38; // float32
+                constexpr std::ptrdiff_t m_angularLimit = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_angularDamping = 0xD40; // float32
+                constexpr std::ptrdiff_t m_linearForce = 0xD44; // float32
+                constexpr std::ptrdiff_t m_flFrequency = 0xD48; // float32
+                constexpr std::ptrdiff_t m_flDampingRatio = 0xD4C; // float32
+                constexpr std::ptrdiff_t m_vecLinearForcePointAt = 0xD50; // Vector
+                constexpr std::ptrdiff_t m_bCollapseToForcePoint = 0xD5C; // bool
+                constexpr std::ptrdiff_t m_vecLinearForcePointAtWorld = 0xD60; // Vector
+                constexpr std::ptrdiff_t m_vecLinearForceDirection = 0xD6C; // Vector
+                constexpr std::ptrdiff_t m_bConvertToDebrisWhenPossible = 0xD78; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCarriedHostage (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hCarriedHostageProp (CHandle<CBaseEntity>)
+            namespace CCSPlayer_HostageServices {
+                constexpr std::ptrdiff_t m_hCarriedHostage = 0x40; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hCarriedHostageProp = 0x44; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_LightEntity
+            // Field count: 0
+            namespace C_LightDirectionalEntity {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_flInfluenceRadius (float)
+            // NetworkVarNames: m_Entity_vBoxProjectMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxProjectMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_flDiffuseScale (float)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_bDefaultEnvMap (bool)
+            // NetworkVarNames: m_Entity_bDefaultSpecEnvMap (bool)
+            // NetworkVarNames: m_Entity_bIndoorCubeMap (bool)
+            // NetworkVarNames: m_Entity_bCopyDiffuseFromDefaultCubemap (bool)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            namespace C_EnvCubemap {
+                constexpr std::ptrdiff_t m_Entity_hCubemapTexture = 0x5E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_bCustomCubemapTexture = 0x5F0; // bool
+                constexpr std::ptrdiff_t m_Entity_flInfluenceRadius = 0x5F4; // float32
+                constexpr std::ptrdiff_t m_Entity_vBoxProjectMins = 0x5F8; // Vector
+                constexpr std::ptrdiff_t m_Entity_vBoxProjectMaxs = 0x604; // Vector
+                constexpr std::ptrdiff_t m_Entity_bMoveable = 0x610; // bool
+                constexpr std::ptrdiff_t m_Entity_nHandshake = 0x614; // int32
+                constexpr std::ptrdiff_t m_Entity_nEnvCubeMapArrayIndex = 0x618; // int32
+                constexpr std::ptrdiff_t m_Entity_nPriority = 0x61C; // int32
+                constexpr std::ptrdiff_t m_Entity_flEdgeFadeDist = 0x620; // float32
+                constexpr std::ptrdiff_t m_Entity_vEdgeFadeDists = 0x624; // Vector
+                constexpr std::ptrdiff_t m_Entity_flDiffuseScale = 0x630; // float32
+                constexpr std::ptrdiff_t m_Entity_bStartDisabled = 0x634; // bool
+                constexpr std::ptrdiff_t m_Entity_bDefaultEnvMap = 0x635; // bool
+                constexpr std::ptrdiff_t m_Entity_bDefaultSpecEnvMap = 0x636; // bool
+                constexpr std::ptrdiff_t m_Entity_bIndoorCubeMap = 0x637; // bool
+                constexpr std::ptrdiff_t m_Entity_bCopyDiffuseFromDefaultCubemap = 0x638; // bool
+                constexpr std::ptrdiff_t m_Entity_bEnabled = 0x648; // bool
+            }
+            // Parent: C_BaseViewModel
+            // Field count: 3
+            namespace C_PredictedViewModel {
+                constexpr std::ptrdiff_t m_vPredictedLagOffset = 0xFF0; // Vector
+                constexpr std::ptrdiff_t m_targetSpeed = 0xFFC; // QAngle
+                constexpr std::ptrdiff_t m_currentSpeed = 0x1008; // QAngle
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponBizon {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_AK47 {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bUpdateOnClient (bool)
+            // NetworkVarNames: m_nInputType (ValueRemapperInputType_t)
+            // NetworkVarNames: m_hRemapLineStart (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hRemapLineEnd (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_flMaximumChangePerSecond (float)
+            // NetworkVarNames: m_flDisengageDistance (float)
+            // NetworkVarNames: m_flEngageDistance (float)
+            // NetworkVarNames: m_bRequiresUseKey (bool)
+            // NetworkVarNames: m_nOutputType (ValueRemapperOutputType_t)
+            // NetworkVarNames: m_hOutputEntities (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_nHapticsType (ValueRemapperHapticsType_t)
+            // NetworkVarNames: m_nMomentumType (ValueRemapperMomentumType_t)
+            // NetworkVarNames: m_flMomentumModifier (float)
+            // NetworkVarNames: m_flSnapValue (float)
+            // NetworkVarNames: m_nRatchetType (ValueRemapperRatchetType_t)
+            // NetworkVarNames: m_flInputOffset (float)
+            namespace C_PointValueRemapper {
+                constexpr std::ptrdiff_t m_bDisabled = 0x568; // bool
+                constexpr std::ptrdiff_t m_bDisabledOld = 0x569; // bool
+                constexpr std::ptrdiff_t m_bUpdateOnClient = 0x56A; // bool
+                constexpr std::ptrdiff_t m_nInputType = 0x56C; // ValueRemapperInputType_t
+                constexpr std::ptrdiff_t m_hRemapLineStart = 0x570; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hRemapLineEnd = 0x574; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_flMaximumChangePerSecond = 0x578; // float32
+                constexpr std::ptrdiff_t m_flDisengageDistance = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flEngageDistance = 0x580; // float32
+                constexpr std::ptrdiff_t m_bRequiresUseKey = 0x584; // bool
+                constexpr std::ptrdiff_t m_nOutputType = 0x588; // ValueRemapperOutputType_t
+                constexpr std::ptrdiff_t m_hOutputEntities = 0x590; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
+                constexpr std::ptrdiff_t m_nHapticsType = 0x5A8; // ValueRemapperHapticsType_t
+                constexpr std::ptrdiff_t m_nMomentumType = 0x5AC; // ValueRemapperMomentumType_t
+                constexpr std::ptrdiff_t m_flMomentumModifier = 0x5B0; // float32
+                constexpr std::ptrdiff_t m_flSnapValue = 0x5B4; // float32
+                constexpr std::ptrdiff_t m_flCurrentMomentum = 0x5B8; // float32
+                constexpr std::ptrdiff_t m_nRatchetType = 0x5BC; // ValueRemapperRatchetType_t
+                constexpr std::ptrdiff_t m_flRatchetOffset = 0x5C0; // float32
+                constexpr std::ptrdiff_t m_flInputOffset = 0x5C4; // float32
+                constexpr std::ptrdiff_t m_bEngaged = 0x5C8; // bool
+                constexpr std::ptrdiff_t m_bFirstUpdate = 0x5C9; // bool
+                constexpr std::ptrdiff_t m_flPreviousValue = 0x5CC; // float32
+                constexpr std::ptrdiff_t m_flPreviousUpdateTickTime = 0x5D0; // GameTime_t
+                constexpr std::ptrdiff_t m_vecPreviousTestPoint = 0x5D4; // Vector
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFirstAttack (bool)
+            namespace C_Knife {
+                constexpr std::ptrdiff_t m_bFirstAttack = 0x1B20; // bool
+            }
+            // Parent: C_EnvCubemap
+            // Field count: 0
+            namespace C_EnvCubemapBox {
+            }
+            // Parent: C_Item
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_OwningPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_KillingPlayer (CHandle<CCSPlayerPawn>)
+            namespace C_ItemDogtags {
+                constexpr std::ptrdiff_t m_OwningPlayer = 0x1768; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_KillingPlayer = 0x176C; // CHandle<C_CSPlayerPawn>
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            namespace C_CSGO_EndOfMatchCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_iOpvarIndex (int)
+            // NetworkVarNames: m_bUseAutoCompare (bool)
+            namespace C_SoundOpvarSetPointBase {
+                constexpr std::ptrdiff_t m_iszStackName = 0x568; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOperatorName = 0x570; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOpvarName = 0x578; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iOpvarIndex = 0x580; // int32
+                constexpr std::ptrdiff_t m_bUseAutoCompare = 0x584; // bool
+            }
+            // Parent: C_Breakable
+            // Field count: 0
+            namespace C_PhysBox {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecSellbackPurchaseEntries (SellbackPurchaseEntry_t)
+            namespace CCSPlayer_BuyServices {
+                constexpr std::ptrdiff_t m_vecSellbackPurchaseEntries = 0x40; // C_UtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CPathSimpleAPI {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_fFireTime (GameTime_t)
+            namespace C_WeaponTaser {
+                constexpr std::ptrdiff_t m_fFireTime = 0x1B40; // GameTime_t
+                constexpr std::ptrdiff_t m_nLastAttackTick = 0x1B44; // int32
+            }
+            // Parent: C_PhysicsProp
+            // Field count: 0
+            namespace C_PhysicsPropMultiplayer {
+            }
+            // Parent: CInfoDynamicShadowHint
+            // Field count: 2
+            namespace CInfoDynamicShadowHintBox {
+                constexpr std::ptrdiff_t m_vBoxMins = 0x580; // Vector
+                constexpr std::ptrdiff_t m_vBoxMaxs = 0x58C; // Vector
+            }
+            // Parent: C_SoundOpvarSetPointEntity
+            // Field count: 0
+            namespace C_SoundOpvarSetPathCornerEntity {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_flEndDistance (float)
+            // NetworkVarNames: m_flStartDistance (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogHeightWidth (float)
+            // NetworkVarNames: m_flFogHeightEnd (float)
+            // NetworkVarNames: m_flFogHeightStart (float)
+            // NetworkVarNames: m_flFogHeightExponent (float)
+            // NetworkVarNames: m_flLODBias (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_nCubemapSourceType (int)
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_iszSkyEntity (string_t)
+            // NetworkVarNames: m_hFogCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_bHasHeightFogEnd (bool)
+            namespace C_EnvCubemapFog {
+                constexpr std::ptrdiff_t m_flEndDistance = 0x568; // float32
+                constexpr std::ptrdiff_t m_flStartDistance = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x570; // float32
+                constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x574; // bool
+                constexpr std::ptrdiff_t m_flFogHeightWidth = 0x578; // float32
+                constexpr std::ptrdiff_t m_flFogHeightEnd = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flFogHeightStart = 0x580; // float32
+                constexpr std::ptrdiff_t m_flFogHeightExponent = 0x584; // float32
+                constexpr std::ptrdiff_t m_flLODBias = 0x588; // float32
+                constexpr std::ptrdiff_t m_bActive = 0x58C; // bool
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x58D; // bool
+                constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x590; // float32
+                constexpr std::ptrdiff_t m_nCubemapSourceType = 0x594; // int32
+                constexpr std::ptrdiff_t m_hSkyMaterial = 0x598; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_iszSkyEntity = 0x5A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFogCubemapTexture = 0x5A8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_bHasHeightFogEnd = 0x5B0; // bool
+                constexpr std::ptrdiff_t m_bFirstTime = 0x5B1; // bool
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 0
+            namespace C_WeaponSawedoff {
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_collisionAttribute (VPhysicsCollisionAttribute_t)
+            // NetworkVarNames: m_vecMins (Vector)
+            // NetworkVarNames: m_vecMaxs (Vector)
+            // NetworkVarNames: m_usSolidFlags (uint8)
+            // NetworkVarNames: m_nSolidType (SolidType_t)
+            // NetworkVarNames: m_triggerBloat (uint8)
+            // NetworkVarNames: m_nSurroundType (SurroundingBoundsType_t)
+            // NetworkVarNames: m_CollisionGroup (uint8)
+            // NetworkVarNames: m_nEnablePhysics (uint8)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMins (Vector)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMaxs (Vector)
+            // NetworkVarNames: m_vCapsuleCenter1 (Vector)
+            // NetworkVarNames: m_vCapsuleCenter2 (Vector)
+            // NetworkVarNames: m_flCapsuleRadius (float)
+            namespace CCollisionProperty {
+                constexpr std::ptrdiff_t m_collisionAttribute = 0x10; // VPhysicsCollisionAttribute_t
+                constexpr std::ptrdiff_t m_vecMins = 0x40; // Vector
+                constexpr std::ptrdiff_t m_vecMaxs = 0x4C; // Vector
+                constexpr std::ptrdiff_t m_usSolidFlags = 0x5A; // uint8
+                constexpr std::ptrdiff_t m_nSolidType = 0x5B; // SolidType_t
+                constexpr std::ptrdiff_t m_triggerBloat = 0x5C; // uint8
+                constexpr std::ptrdiff_t m_nSurroundType = 0x5D; // SurroundingBoundsType_t
+                constexpr std::ptrdiff_t m_CollisionGroup = 0x5E; // uint8
+                constexpr std::ptrdiff_t m_nEnablePhysics = 0x5F; // uint8
+                constexpr std::ptrdiff_t m_flBoundingRadius = 0x60; // float32
+                constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMins = 0x64; // Vector
+                constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMaxs = 0x70; // Vector
+                constexpr std::ptrdiff_t m_vecSurroundingMaxs = 0x7C; // Vector
+                constexpr std::ptrdiff_t m_vecSurroundingMins = 0x88; // Vector
+                constexpr std::ptrdiff_t m_vCapsuleCenter1 = 0x94; // Vector
+                constexpr std::ptrdiff_t m_vCapsuleCenter2 = 0xA0; // Vector
+                constexpr std::ptrdiff_t m_flCapsuleRadius = 0xAC; // float32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flPrevCycle (float32)
+            // NetworkVarNames: m_flCycle (float32)
+            namespace CNetworkedSequenceOperation {
+                constexpr std::ptrdiff_t m_hSequence = 0x8; // HSequence
+                constexpr std::ptrdiff_t m_flPrevCycle = 0xC; // float32
+                constexpr std::ptrdiff_t m_flCycle = 0x10; // float32
+                constexpr std::ptrdiff_t m_flWeight = 0x14; // CNetworkedQuantizedFloat
+                constexpr std::ptrdiff_t m_bSequenceChangeNetworked = 0x1C; // bool
+                constexpr std::ptrdiff_t m_bDiscontinuity = 0x1D; // bool
+                constexpr std::ptrdiff_t m_flPrevCycleFromDiscontinuity = 0x20; // float32
+                constexpr std::ptrdiff_t m_flPrevCycleForAnimEventDetection = 0x24; // float32
+            }
+            // Parent: C_ModelPointEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_nUniqueID (int)
+            // NetworkVarNames: m_unAccountID (uint32)
+            // NetworkVarNames: m_unTraceID (uint32)
+            // NetworkVarNames: m_rtGcTime (uint32)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            // NetworkVarNames: m_vecStart (Vector)
+            // NetworkVarNames: m_vecLeft (Vector)
+            // NetworkVarNames: m_vecNormal (Vector)
+            // NetworkVarNames: m_nPlayer (int)
+            // NetworkVarNames: m_nEntity (int)
+            // NetworkVarNames: m_nHitbox (int)
+            // NetworkVarNames: m_flCreationTime (float)
+            // NetworkVarNames: m_nTintID (int)
+            // NetworkVarNames: m_nVersion (uint8)
+            // NetworkVarNames: m_ubSignature (uint8)
+            namespace C_PlayerSprayDecal {
+                constexpr std::ptrdiff_t m_nUniqueID = 0xD28; // int32
+                constexpr std::ptrdiff_t m_unAccountID = 0xD2C; // uint32
+                constexpr std::ptrdiff_t m_unTraceID = 0xD30; // uint32
+                constexpr std::ptrdiff_t m_rtGcTime = 0xD34; // uint32
+                constexpr std::ptrdiff_t m_vecEndPos = 0xD38; // Vector
+                constexpr std::ptrdiff_t m_vecStart = 0xD44; // Vector
+                constexpr std::ptrdiff_t m_vecLeft = 0xD50; // Vector
+                constexpr std::ptrdiff_t m_vecNormal = 0xD5C; // Vector
+                constexpr std::ptrdiff_t m_nPlayer = 0xD68; // int32
+                constexpr std::ptrdiff_t m_nEntity = 0xD6C; // int32
+                constexpr std::ptrdiff_t m_nHitbox = 0xD70; // int32
+                constexpr std::ptrdiff_t m_flCreationTime = 0xD74; // float32
+                constexpr std::ptrdiff_t m_nTintID = 0xD78; // int32
+                constexpr std::ptrdiff_t m_nVersion = 0xD7C; // uint8
+                constexpr std::ptrdiff_t m_ubSignature = 0xD7D; // uint8[128]
+                constexpr std::ptrdiff_t m_SprayRenderHelper = 0xE08; // CPlayerSprayDecalRenderHelper
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_ID (CUtlStringToken)
+            // NetworkVarNames: m_Values (Vector4D)
+            namespace EntityRenderAttribute_t {
+                constexpr std::ptrdiff_t m_ID = 0x30; // CUtlStringToken
+                constexpr std::ptrdiff_t m_Values = 0x34; // Vector4D
+            }
+            // Parent: C_PhysicsProp
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_ShardDesc (shard_model_desc_t)
+            namespace C_ShatterGlassShardPhysics {
+                constexpr std::ptrdiff_t m_ShardDesc = 0x1120; // shard_model_desc_t
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponElite {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_CLightComponent (CLightComponent::Storage_t)
+            namespace C_LightEntity {
+                constexpr std::ptrdiff_t m_CLightComponent = 0xD28; // CLightComponent*
+            }
+            // Parent: C_BaseEntity
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_flVisibilityStrength (float)
+            // NetworkVarNames: m_flFogDistanceMultiplier (float)
+            // NetworkVarNames: m_flFogMaxDensityMultiplier (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            namespace C_PlayerVisibility {
+                constexpr std::ptrdiff_t m_flVisibilityStrength = 0x568; // float32
+                constexpr std::ptrdiff_t m_flFogDistanceMultiplier = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flFogMaxDensityMultiplier = 0x570; // float32
+                constexpr std::ptrdiff_t m_flFadeTime = 0x574; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x578; // bool
+                constexpr std::ptrdiff_t m_bIsEnabled = 0x579; // bool
+            }
+            // Parent: None
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: dirPrimary (Vector)
+            // NetworkVarNames: colorPrimary (Color)
+            // NetworkVarNames: colorSecondary (Color)
+            // NetworkVarNames: colorPrimaryLerpTo (Color)
+            // NetworkVarNames: colorSecondaryLerpTo (Color)
+            // NetworkVarNames: start (float32)
+            // NetworkVarNames: end (float32)
+            // NetworkVarNames: farz (float32)
+            // NetworkVarNames: maxdensity (float32)
+            // NetworkVarNames: exponent (float32)
+            // NetworkVarNames: HDRColorScale (float32)
+            // NetworkVarNames: skyboxFogFactor (float32)
+            // NetworkVarNames: skyboxFogFactorLerpTo (float32)
+            // NetworkVarNames: startLerpTo (float32)
+            // NetworkVarNames: endLerpTo (float32)
+            // NetworkVarNames: maxdensityLerpTo (float32)
+            // NetworkVarNames: lerptime (GameTime_t)
+            // NetworkVarNames: duration (float32)
+            // NetworkVarNames: blendtobackground (float32)
+            // NetworkVarNames: scattering (float32)
+            // NetworkVarNames: locallightscale (float32)
+            // NetworkVarNames: enable (bool)
+            // NetworkVarNames: blend (bool)
+            // NetworkVarNames: m_bNoReflectionFog (bool)
+            namespace fogparams_t {
+                constexpr std::ptrdiff_t dirPrimary = 0x8; // Vector
+                constexpr std::ptrdiff_t colorPrimary = 0x14; // Color
+                constexpr std::ptrdiff_t colorSecondary = 0x18; // Color
+                constexpr std::ptrdiff_t colorPrimaryLerpTo = 0x1C; // Color
+                constexpr std::ptrdiff_t colorSecondaryLerpTo = 0x20; // Color
+                constexpr std::ptrdiff_t start = 0x24; // float32
+                constexpr std::ptrdiff_t end = 0x28; // float32
+                constexpr std::ptrdiff_t farz = 0x2C; // float32
+                constexpr std::ptrdiff_t maxdensity = 0x30; // float32
+                constexpr std::ptrdiff_t exponent = 0x34; // float32
+                constexpr std::ptrdiff_t HDRColorScale = 0x38; // float32
+                constexpr std::ptrdiff_t skyboxFogFactor = 0x3C; // float32
+                constexpr std::ptrdiff_t skyboxFogFactorLerpTo = 0x40; // float32
+                constexpr std::ptrdiff_t startLerpTo = 0x44; // float32
+                constexpr std::ptrdiff_t endLerpTo = 0x48; // float32
+                constexpr std::ptrdiff_t maxdensityLerpTo = 0x4C; // float32
+                constexpr std::ptrdiff_t lerptime = 0x50; // GameTime_t
+                constexpr std::ptrdiff_t duration = 0x54; // float32
+                constexpr std::ptrdiff_t blendtobackground = 0x58; // float32
+                constexpr std::ptrdiff_t scattering = 0x5C; // float32
+                constexpr std::ptrdiff_t locallightscale = 0x60; // float32
+                constexpr std::ptrdiff_t enable = 0x64; // bool
+                constexpr std::ptrdiff_t blend = 0x65; // bool
+                constexpr std::ptrdiff_t m_bNoReflectionFog = 0x66; // bool
+                constexpr std::ptrdiff_t m_bPadding = 0x67; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 19
+            //
+            // Metadata:
+            // NetworkVarNames: m_flexWeight (float32)
+            // NetworkVarNames: m_blinktoggle (bool)
+            namespace C_BaseFlex {
+                constexpr std::ptrdiff_t m_flexWeight = 0xF98; // C_NetworkUtlVectorBase<float32>
+                constexpr std::ptrdiff_t m_vLookTargetPosition = 0xFB0; // Vector
+                constexpr std::ptrdiff_t m_blinktoggle = 0xFC8; // bool
+                constexpr std::ptrdiff_t m_nLastFlexUpdateFrameCount = 0x1028; // int32
+                constexpr std::ptrdiff_t m_CachedViewTarget = 0x102C; // Vector
+                constexpr std::ptrdiff_t m_nNextSceneEventId = 0x1038; // SceneEventId_t
+                constexpr std::ptrdiff_t m_iBlink = 0x103C; // int32
+                constexpr std::ptrdiff_t m_blinktime = 0x1040; // float32
+                constexpr std::ptrdiff_t m_prevblinktoggle = 0x1044; // bool
+                constexpr std::ptrdiff_t m_iJawOpen = 0x1048; // int32
+                constexpr std::ptrdiff_t m_flJawOpenAmount = 0x104C; // float32
+                constexpr std::ptrdiff_t m_flBlinkAmount = 0x1050; // float32
+                constexpr std::ptrdiff_t m_iMouthAttachment = 0x1054; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_iEyeAttachment = 0x1055; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_bResetFlexWeightsOnModelChange = 0x1056; // bool
+                constexpr std::ptrdiff_t m_nEyeOcclusionRendererBone = 0x1070; // int32
+                constexpr std::ptrdiff_t m_mEyeOcclusionRendererCameraToBoneTransform = 0x1074; // matrix3x4_t
+                constexpr std::ptrdiff_t m_vEyeOcclusionRendererHalfExtent = 0x10A4; // Vector
+                constexpr std::ptrdiff_t m_PhonemeClasses = 0x10C0; // C_BaseFlex::Emphasized_Phoneme[3]
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hSkyMaterialLightingOnly (HMaterialStrong)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_vTintColor (Color)
+            // NetworkVarNames: m_vTintColorLightingOnly (Color)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nFogType (int)
+            // NetworkVarNames: m_flFogMinStart (float)
+            // NetworkVarNames: m_flFogMinEnd (float)
+            // NetworkVarNames: m_flFogMaxStart (float)
+            // NetworkVarNames: m_flFogMaxEnd (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            namespace C_EnvSky {
+                constexpr std::ptrdiff_t m_hSkyMaterial = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_hSkyMaterialLightingOnly = 0xD30; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_bStartDisabled = 0xD38; // bool
+                constexpr std::ptrdiff_t m_vTintColor = 0xD39; // Color
+                constexpr std::ptrdiff_t m_vTintColorLightingOnly = 0xD3D; // Color
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0xD44; // float32
+                constexpr std::ptrdiff_t m_nFogType = 0xD48; // int32
+                constexpr std::ptrdiff_t m_flFogMinStart = 0xD4C; // float32
+                constexpr std::ptrdiff_t m_flFogMinEnd = 0xD50; // float32
+                constexpr std::ptrdiff_t m_flFogMaxStart = 0xD54; // float32
+                constexpr std::ptrdiff_t m_flFogMaxEnd = 0xD58; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0xD5C; // bool
+            }
+            // Parent: C_PointEntity
+            // Field count: 0
+            namespace CInfoTarget {
+            }
+            // Parent: C_CSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_TeamIntroCounterTerroristPosition {
+            }
+            // Parent: C_BreakableProp
+            // Field count: 23
+            //
+            // Metadata:
+            // NetworkVarNames: m_bUseHitboxesForRenderBox (bool)
+            // NetworkVarNames: m_bUseAnimGraph (bool)
+            namespace C_DynamicProp {
+                constexpr std::ptrdiff_t m_bUseHitboxesForRenderBox = 0x1110; // bool
+                constexpr std::ptrdiff_t m_bUseAnimGraph = 0x1111; // bool
+                constexpr std::ptrdiff_t m_pOutputAnimBegun = 0x1118; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pOutputAnimOver = 0x1140; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pOutputAnimLoopCycleOver = 0x1168; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAnimReachedStart = 0x1190; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAnimReachedEnd = 0x11B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iszIdleAnim = 0x11E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nIdleAnimLoopMode = 0x11E8; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_bRandomizeCycle = 0x11EC; // bool
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x11ED; // bool
+                constexpr std::ptrdiff_t m_bFiredStartEndOutput = 0x11EE; // bool
+                constexpr std::ptrdiff_t m_bForceNpcExclude = 0x11EF; // bool
+                constexpr std::ptrdiff_t m_bCreateNonSolid = 0x11F0; // bool
+                constexpr std::ptrdiff_t m_bIsOverrideProp = 0x11F1; // bool
+                constexpr std::ptrdiff_t m_iInitialGlowState = 0x11F4; // int32
+                constexpr std::ptrdiff_t m_nGlowRange = 0x11F8; // int32
+                constexpr std::ptrdiff_t m_nGlowRangeMin = 0x11FC; // int32
+                constexpr std::ptrdiff_t m_glowColor = 0x1200; // Color
+                constexpr std::ptrdiff_t m_nGlowTeam = 0x1204; // int32
+                constexpr std::ptrdiff_t m_iCachedFrameCount = 0x1208; // int32
+                constexpr std::ptrdiff_t m_vecCachedRenderMins = 0x120C; // Vector
+                constexpr std::ptrdiff_t m_vecCachedRenderMaxs = 0x1218; // Vector
+            }
+            // Parent: CEntityComponent
+            // Field count: 10
+            namespace CPropDataComponent {
+                constexpr std::ptrdiff_t m_flDmgModBullet = 0x10; // float32
+                constexpr std::ptrdiff_t m_flDmgModClub = 0x14; // float32
+                constexpr std::ptrdiff_t m_flDmgModExplosive = 0x18; // float32
+                constexpr std::ptrdiff_t m_flDmgModFire = 0x1C; // float32
+                constexpr std::ptrdiff_t m_iszPhysicsDamageTableName = 0x20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszBasePropData = 0x28; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nInteractions = 0x30; // int32
+                constexpr std::ptrdiff_t m_bSpawnMotionDisabled = 0x34; // bool
+                constexpr std::ptrdiff_t m_nDisableTakePhysicsDamageSpawnFlag = 0x38; // int32
+                constexpr std::ptrdiff_t m_nMotionDisabledSpawnFlag = 0x3C; // int32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponSCAR20 {
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            namespace C_DecoyGrenade {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_player {
+            }
+            // Parent: C_CS2WeaponModuleBase
+            // Field count: 2
+            namespace C_KeychainModule {
+                constexpr std::ptrdiff_t m_nKeychainDefID = 0xF90; // uint32
+                constexpr std::ptrdiff_t m_nKeychainSeed = 0xF94; // uint32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_vDistanceInnerMins (Vector)
+            // NetworkVarNames: m_vDistanceInnerMaxs (Vector)
+            // NetworkVarNames: m_vDistanceOuterMins (Vector)
+            // NetworkVarNames: m_vDistanceOuterMaxs (Vector)
+            // NetworkVarNames: m_nAABBDirection (int)
+            namespace CCitadelSoundOpvarSetOBB {
+                constexpr std::ptrdiff_t m_iszStackName = 0x580; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOperatorName = 0x588; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOpvarName = 0x590; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vDistanceInnerMins = 0x598; // Vector
+                constexpr std::ptrdiff_t m_vDistanceInnerMaxs = 0x5A4; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMins = 0x5B0; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMaxs = 0x5BC; // Vector
+                constexpr std::ptrdiff_t m_nAABBDirection = 0x5C8; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_unDefIdx (item_definition_index_t)
+            // NetworkVarNames: m_nCost (int)
+            // NetworkVarNames: m_nPrevArmor (int)
+            // NetworkVarNames: m_bPrevHelmet (bool)
+            // NetworkVarNames: m_hItem (CEntityHandle)
+            namespace SellbackPurchaseEntry_t {
+                constexpr std::ptrdiff_t m_unDefIdx = 0x30; // uint16
+                constexpr std::ptrdiff_t m_nCost = 0x34; // int32
+                constexpr std::ptrdiff_t m_nPrevArmor = 0x38; // int32
+                constexpr std::ptrdiff_t m_bPrevHelmet = 0x3C; // bool
+                constexpr std::ptrdiff_t m_hItem = 0x40; // CEntityHandle
+            }
+            // Parent: C_GameRules
+            // Field count: 0
+            namespace C_SingleplayRules {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 25
+            namespace C_LocalTempEntity {
+                constexpr std::ptrdiff_t flags = 0xF88; // int32
+                constexpr std::ptrdiff_t die = 0xF8C; // GameTime_t
+                constexpr std::ptrdiff_t m_flFrameMax = 0xF90; // float32
+                constexpr std::ptrdiff_t x = 0xF94; // float32
+                constexpr std::ptrdiff_t y = 0xF98; // float32
+                constexpr std::ptrdiff_t fadeSpeed = 0xF9C; // float32
+                constexpr std::ptrdiff_t bounceFactor = 0xFA0; // float32
+                constexpr std::ptrdiff_t hitSound = 0xFA4; // int32
+                constexpr std::ptrdiff_t priority = 0xFA8; // int32
+                constexpr std::ptrdiff_t tentOffset = 0xFAC; // Vector
+                constexpr std::ptrdiff_t m_vecTempEntAngVelocity = 0xFB8; // QAngle
+                constexpr std::ptrdiff_t tempent_renderamt = 0xFC4; // int32
+                constexpr std::ptrdiff_t m_vecNormal = 0xFC8; // Vector
+                constexpr std::ptrdiff_t m_flSpriteScale = 0xFD4; // float32
+                constexpr std::ptrdiff_t m_nFlickerFrame = 0xFD8; // int32
+                constexpr std::ptrdiff_t m_flFrameRate = 0xFDC; // float32
+                constexpr std::ptrdiff_t m_flFrame = 0xFE0; // float32
+                constexpr std::ptrdiff_t m_pszImpactEffect = 0xFE8; // char*
+                constexpr std::ptrdiff_t m_pszParticleEffect = 0xFF0; // char*
+                constexpr std::ptrdiff_t m_bParticleCollision = 0xFF8; // bool
+                constexpr std::ptrdiff_t m_iLastCollisionFrame = 0xFFC; // int32
+                constexpr std::ptrdiff_t m_vLastCollisionOrigin = 0x1000; // Vector
+                constexpr std::ptrdiff_t m_vecTempEntVelocity = 0x100C; // Vector
+                constexpr std::ptrdiff_t m_vecPrevAbsOrigin = 0x1018; // Vector
+                constexpr std::ptrdiff_t m_vecTempEntAcceleration = 0x1024; // Vector
+            }
+            // Parent: None
+            // Field count: 2
+            namespace C_EnvWindShared__WindAveEvent_t {
+                constexpr std::ptrdiff_t m_flStartWindSpeed = 0x0; // float32
+                constexpr std::ptrdiff_t m_flAveWindSpeed = 0x4; // float32
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsIncGrenade (bool)
+            namespace C_MolotovProjectile {
+                constexpr std::ptrdiff_t m_bIsIncGrenade = 0x1208; // bool
+            }
+            // Parent: C_LightDirectionalEntity
+            // Field count: 0
+            namespace C_LightEnvironmentEntity {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponUMP45 {
+            }
+            // Parent: C_PointEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_nResolutionX (int)
+            // NetworkVarNames: m_nResolutionY (int)
+            // NetworkVarNames: m_szLayoutFileName (string_t)
+            // NetworkVarNames: m_RenderAttrName (string_t)
+            // NetworkVarNames: m_TargetEntities (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_nTargetChangeCount (int)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            namespace CInfoOffscreenPanoramaTexture {
+                constexpr std::ptrdiff_t m_bDisabled = 0x568; // bool
+                constexpr std::ptrdiff_t m_nResolutionX = 0x56C; // int32
+                constexpr std::ptrdiff_t m_nResolutionY = 0x570; // int32
+                constexpr std::ptrdiff_t m_szLayoutFileName = 0x578; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_RenderAttrName = 0x580; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_TargetEntities = 0x588; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                constexpr std::ptrdiff_t m_nTargetChangeCount = 0x5A0; // int32
+                constexpr std::ptrdiff_t m_vecCSSClasses = 0x5A8; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_bCheckCSSClasses = 0x720; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_Flags (uint8)
+            // NetworkVarNames: m_LightStyle (uint8)
+            // NetworkVarNames: m_Radius (float32)
+            // NetworkVarNames: m_Exponent (int32)
+            // NetworkVarNames: m_InnerAngle (float32)
+            // NetworkVarNames: m_OuterAngle (float32)
+            // NetworkVarNames: m_SpotRadius (float32)
+            namespace C_DynamicLight {
+                constexpr std::ptrdiff_t m_Flags = 0xD28; // uint8
+                constexpr std::ptrdiff_t m_LightStyle = 0xD29; // uint8
+                constexpr std::ptrdiff_t m_Radius = 0xD2C; // float32
+                constexpr std::ptrdiff_t m_Exponent = 0xD30; // int32
+                constexpr std::ptrdiff_t m_InnerAngle = 0xD34; // float32
+                constexpr std::ptrdiff_t m_OuterAngle = 0xD38; // float32
+                constexpr std::ptrdiff_t m_SpotRadius = 0xD3C; // float32
+            }
+            // Parent: C_BasePlayerWeapon
+            // Field count: 73
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_flFireSequenceStartTime (float)
+            // NetworkVarNames: m_nFireSequenceStartTimeChange (int)
+            // NetworkVarNames: m_ePlayerFireEvent (PlayerAnimEvent_t)
+            // NetworkVarNames: m_ePlayerFireEventAttackType (WeaponAttackType_t)
+            // NetworkVarNames: m_iState (CSWeaponState_t)
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_flTimeWeaponIdle (GameTime_t)
+            // NetworkVarNames: m_weaponMode (CSWeaponMode)
+            // NetworkVarNames: m_fAccuracyPenalty (float)
+            // NetworkVarNames: m_iRecoilIndex (int)
+            // NetworkVarNames: m_flRecoilIndex (float)
+            // NetworkVarNames: m_bBurstMode (bool)
+            // NetworkVarNames: m_nPostponeFireReadyTicks (GameTick_t)
+            // NetworkVarNames: m_flPostponeFireReadyFrac (float)
+            // NetworkVarNames: m_bInReload (bool)
+            // NetworkVarNames: m_bReloadVisuallyComplete (bool)
+            // NetworkVarNames: m_flDroppedAtTime (GameTime_t)
+            // NetworkVarNames: m_bIsHauledBack (bool)
+            // NetworkVarNames: m_bSilencerOn (bool)
+            // NetworkVarNames: m_flTimeSilencerSwitchComplete (GameTime_t)
+            // NetworkVarNames: m_iOriginalTeamNumber (int)
+            // NetworkVarNames: m_iMostRecentTeamNumber (int)
+            // NetworkVarNames: m_bDroppedNearBuyZone (bool)
+            // NetworkVarNames: m_nextPrevOwnerUseTime (GameTime_t)
+            // NetworkVarNames: m_hPrevOwner (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_nDropTick (GameTick_t)
+            // NetworkVarNames: m_fLastShotTime (GameTime_t)
+            // NetworkVarNames: m_iIronSightMode (int)
+            // NetworkVarNames: m_iNumEmptyAttacks (int)
+            namespace C_CSWeaponBase {
+                constexpr std::ptrdiff_t m_flFireSequenceStartTime = 0x16DC; // float32
+                constexpr std::ptrdiff_t m_nFireSequenceStartTimeChange = 0x16E0; // int32
+                constexpr std::ptrdiff_t m_nFireSequenceStartTimeAck = 0x16E4; // int32
+                constexpr std::ptrdiff_t m_ePlayerFireEvent = 0x16E8; // PlayerAnimEvent_t
+                constexpr std::ptrdiff_t m_ePlayerFireEventAttackType = 0x16EC; // WeaponAttackType_t
+                constexpr std::ptrdiff_t m_seqIdle = 0x16F0; // HSequence
+                constexpr std::ptrdiff_t m_seqFirePrimary = 0x16F4; // HSequence
+                constexpr std::ptrdiff_t m_seqFireSecondary = 0x16F8; // HSequence
+                constexpr std::ptrdiff_t m_thirdPersonFireSequences = 0x1700; // CUtlVector<HSequence>
+                constexpr std::ptrdiff_t m_hCurrentThirdPersonSequence = 0x1718; // HSequence
+                constexpr std::ptrdiff_t m_nSilencerBoneIndex = 0x171C; // int32
+                constexpr std::ptrdiff_t m_thirdPersonSequences = 0x1720; // HSequence[7]
+                constexpr std::ptrdiff_t m_ClientPreviousWeaponState = 0x1758; // CSWeaponState_t
+                constexpr std::ptrdiff_t m_iState = 0x175C; // CSWeaponState_t
+                constexpr std::ptrdiff_t m_flCrosshairDistance = 0x1760; // float32
+                constexpr std::ptrdiff_t m_iAmmoLastCheck = 0x1764; // int32
+                constexpr std::ptrdiff_t m_iAlpha = 0x1768; // int32
+                constexpr std::ptrdiff_t m_iScopeTextureID = 0x176C; // int32
+                constexpr std::ptrdiff_t m_iCrosshairTextureID = 0x1770; // int32
+                constexpr std::ptrdiff_t m_flGunAccuracyPositionDeprecated = 0x1774; // float32
+                constexpr std::ptrdiff_t m_nLastEmptySoundCmdNum = 0x1778; // int32
+                constexpr std::ptrdiff_t m_nViewModelIndex = 0x177C; // uint32
+                constexpr std::ptrdiff_t m_bReloadsWithClips = 0x1780; // bool
+                constexpr std::ptrdiff_t m_flTimeWeaponIdle = 0x1784; // GameTime_t
+                constexpr std::ptrdiff_t m_bFireOnEmpty = 0x1788; // bool
+                constexpr std::ptrdiff_t m_OnPlayerPickup = 0x1790; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_weaponMode = 0x17B8; // CSWeaponMode
+                constexpr std::ptrdiff_t m_flTurningInaccuracyDelta = 0x17BC; // float32
+                constexpr std::ptrdiff_t m_vecTurningInaccuracyEyeDirLast = 0x17C0; // Vector
+                constexpr std::ptrdiff_t m_flTurningInaccuracy = 0x17CC; // float32
+                constexpr std::ptrdiff_t m_fAccuracyPenalty = 0x17D0; // float32
+                constexpr std::ptrdiff_t m_flLastAccuracyUpdateTime = 0x17D4; // GameTime_t
+                constexpr std::ptrdiff_t m_fAccuracySmoothedForZoom = 0x17D8; // float32
+                constexpr std::ptrdiff_t m_fScopeZoomEndTime = 0x17DC; // GameTime_t
+                constexpr std::ptrdiff_t m_iRecoilIndex = 0x17E0; // int32
+                constexpr std::ptrdiff_t m_flRecoilIndex = 0x17E4; // float32
+                constexpr std::ptrdiff_t m_bBurstMode = 0x17E8; // bool
+                constexpr std::ptrdiff_t m_flLastBurstModeChangeTime = 0x17EC; // GameTime_t
+                constexpr std::ptrdiff_t m_nPostponeFireReadyTicks = 0x17F0; // GameTick_t
+                constexpr std::ptrdiff_t m_flPostponeFireReadyFrac = 0x17F4; // float32
+                constexpr std::ptrdiff_t m_bInReload = 0x17F8; // bool
+                constexpr std::ptrdiff_t m_bReloadVisuallyComplete = 0x17F9; // bool
+                constexpr std::ptrdiff_t m_flDroppedAtTime = 0x17FC; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsHauledBack = 0x1800; // bool
+                constexpr std::ptrdiff_t m_bSilencerOn = 0x1801; // bool
+                constexpr std::ptrdiff_t m_flTimeSilencerSwitchComplete = 0x1804; // GameTime_t
+                constexpr std::ptrdiff_t m_iOriginalTeamNumber = 0x1808; // int32
+                constexpr std::ptrdiff_t m_iMostRecentTeamNumber = 0x180C; // int32
+                constexpr std::ptrdiff_t m_bDroppedNearBuyZone = 0x1810; // bool
+                constexpr std::ptrdiff_t m_flNextAttackRenderTimeOffset = 0x1814; // float32
+                constexpr std::ptrdiff_t m_bClearWeaponIdentifyingUGC = 0x18B0; // bool
+                constexpr std::ptrdiff_t m_bVisualsDataSet = 0x18B1; // bool
+                constexpr std::ptrdiff_t m_bOldFirstPersonSpectatedState = 0x18B2; // bool
+                constexpr std::ptrdiff_t m_bUIWeapon = 0x18B3; // bool
+                constexpr std::ptrdiff_t m_nCustomEconReloadEventId = 0x18B4; // int32
+                constexpr std::ptrdiff_t m_nextPrevOwnerUseTime = 0x18C0; // GameTime_t
+                constexpr std::ptrdiff_t m_hPrevOwner = 0x18C4; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_nDropTick = 0x18C8; // GameTick_t
+                constexpr std::ptrdiff_t m_donated = 0x18EC; // bool
+                constexpr std::ptrdiff_t m_fLastShotTime = 0x18F0; // GameTime_t
+                constexpr std::ptrdiff_t m_bWasOwnedByCT = 0x18F4; // bool
+                constexpr std::ptrdiff_t m_bWasOwnedByTerrorist = 0x18F5; // bool
+                constexpr std::ptrdiff_t m_gunHeat = 0x18F8; // float32
+                constexpr std::ptrdiff_t m_smokeAttachments = 0x18FC; // uint32
+                constexpr std::ptrdiff_t m_lastSmokeTime = 0x1900; // GameTime_t
+                constexpr std::ptrdiff_t m_flNextClientFireBulletTime = 0x1904; // float32
+                constexpr std::ptrdiff_t m_flNextClientFireBulletTime_Repredict = 0x1908; // float32
+                constexpr std::ptrdiff_t m_IronSightController = 0x19E0; // C_IronSightController
+                constexpr std::ptrdiff_t m_iIronSightMode = 0x1A90; // int32
+                constexpr std::ptrdiff_t m_flLastLOSTraceFailureTime = 0x1AA0; // GameTime_t
+                constexpr std::ptrdiff_t m_iNumEmptyAttacks = 0x1AA4; // int32
+                constexpr std::ptrdiff_t m_flLastMagDropRequestTime = 0x1B00; // GameTime_t
+                constexpr std::ptrdiff_t m_flWatTickOffset = 0x1B04; // float32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_TriggerVolume {
+            }
+            // Parent: C_FuncBrush
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_EffectName (string_t)
+            // NetworkVarNames: m_bState (bool)
+            namespace C_FuncElectrifiedVolume {
+                constexpr std::ptrdiff_t m_nAmbientEffect = 0xD28; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_EffectName = 0xD30; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bState = 0xD38; // bool
+            }
+            // Parent: CPlayer_WeaponServices
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_flNextAttack (GameTime_t)
+            // NetworkVarNames: m_bIsLookingAtWeapon (bool)
+            // NetworkVarNames: m_bIsHoldingLookAtWeapon (bool)
+            namespace CCSPlayer_WeaponServices {
+                constexpr std::ptrdiff_t m_flNextAttack = 0xB8; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsLookingAtWeapon = 0xBC; // bool
+                constexpr std::ptrdiff_t m_bIsHoldingLookAtWeapon = 0xBD; // bool
+                constexpr std::ptrdiff_t m_nOldShootPositionHistoryCount = 0xC0; // uint32
+                constexpr std::ptrdiff_t m_nOldInputHistoryCount = 0x458; // uint32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFadeStartDist (float32)
+            // NetworkVarNames: m_flFadeEndDist (float32)
+            namespace C_EnvDetailController {
+                constexpr std::ptrdiff_t m_flFadeStartDist = 0x568; // float32
+                constexpr std::ptrdiff_t m_flFadeEndDist = 0x56C; // float32
+            }
+            // Parent: CEntityInstance
+            // Field count: 82
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_CBodyComponent (CBodyComponent::Storage_t)
+            // NetworkVarNames: m_iMaxHealth (int32)
+            // NetworkVarNames: m_iHealth (int32)
+            // NetworkVarNames: m_lifeState (uint8)
+            // NetworkVarNames: m_bTakesDamage (bool)
+            // NetworkVarNames: m_nTakeDamageFlags (TakeDamageFlags_t)
+            // NetworkVarNames: m_nPlatformType (EntityPlatformTypes_t)
+            // NetworkVarNames: m_ubInterpolationFrame (uint8)
+            // NetworkVarNames: m_nSubclassID (EntitySubclassID_t)
+            // NetworkVarNames: m_flAnimTime (float32)
+            // NetworkVarNames: m_flSimulationTime (float32)
+            // NetworkVarNames: m_flCreateTime (GameTime_t)
+            // NetworkVarNames: m_flSpeed (float)
+            // NetworkVarNames: m_bClientSideRagdoll (bool)
+            // NetworkVarNames: m_iTeamNum (uint8)
+            // NetworkVarNames: m_spawnflags (uint32)
+            // NetworkVarNames: m_nNextThinkTick (GameTick_t)
+            // NetworkVarNames: m_fFlags (uint32)
+            // NetworkVarNames: m_vecBaseVelocity (Vector)
+            // NetworkVarNames: m_hEffectEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hOwnerEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_MoveCollide (MoveCollide_t)
+            // NetworkVarNames: m_MoveType (MoveType_t)
+            // NetworkVarNames: m_flWaterLevel (float32)
+            // NetworkVarNames: m_fEffects (uint32)
+            // NetworkVarNames: m_hGroundEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nGroundBodyIndex (int)
+            // NetworkVarNames: m_flFriction (float32)
+            // NetworkVarNames: m_flElasticity (float32)
+            // NetworkVarNames: m_flGravityScale (float32)
+            // NetworkVarNames: m_flTimeScale (float32)
+            // NetworkVarNames: m_bAnimatedEveryTick (bool)
+            // NetworkVarNames: m_flNavIgnoreUntilTime (GameTime_t)
+            // NetworkVarNames: m_nBloodType (BloodType)
+            namespace C_BaseEntity {
+                constexpr std::ptrdiff_t m_CBodyComponent = 0x38; // CBodyComponent*
+                constexpr std::ptrdiff_t m_NetworkTransmitComponent = 0x40; // CNetworkTransmitComponent
+                constexpr std::ptrdiff_t m_nLastThinkTick = 0x320; // GameTick_t
+                constexpr std::ptrdiff_t m_pGameSceneNode = 0x328; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_pRenderComponent = 0x330; // CRenderComponent*
+                constexpr std::ptrdiff_t m_pCollision = 0x338; // CCollisionProperty*
+                constexpr std::ptrdiff_t m_iMaxHealth = 0x340; // int32
+                constexpr std::ptrdiff_t m_iHealth = 0x344; // int32
+                constexpr std::ptrdiff_t m_lifeState = 0x348; // uint8
+                constexpr std::ptrdiff_t m_bTakesDamage = 0x349; // bool
+                constexpr std::ptrdiff_t m_nTakeDamageFlags = 0x350; // TakeDamageFlags_t
+                constexpr std::ptrdiff_t m_nPlatformType = 0x358; // EntityPlatformTypes_t
+                constexpr std::ptrdiff_t m_ubInterpolationFrame = 0x359; // uint8
+                constexpr std::ptrdiff_t m_hSceneObjectController = 0x35C; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_nNoInterpolationTick = 0x360; // int32
+                constexpr std::ptrdiff_t m_nVisibilityNoInterpolationTick = 0x364; // int32
+                constexpr std::ptrdiff_t m_flProxyRandomValue = 0x368; // float32
+                constexpr std::ptrdiff_t m_iEFlags = 0x36C; // int32
+                constexpr std::ptrdiff_t m_nWaterType = 0x370; // uint8
+                constexpr std::ptrdiff_t m_bInterpolateEvenWithNoModel = 0x371; // bool
+                constexpr std::ptrdiff_t m_bPredictionEligible = 0x372; // bool
+                constexpr std::ptrdiff_t m_bApplyLayerMatchIDToModel = 0x373; // bool
+                constexpr std::ptrdiff_t m_tokLayerMatchID = 0x374; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nSubclassID = 0x378; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nSimulationTick = 0x388; // int32
+                constexpr std::ptrdiff_t m_iCurrentThinkContext = 0x38C; // int32
+                constexpr std::ptrdiff_t m_aThinkFunctions = 0x390; // CUtlVector<thinkfunc_t>
+                constexpr std::ptrdiff_t m_bDisabledContextThinks = 0x3A8; // bool
+                constexpr std::ptrdiff_t m_flAnimTime = 0x3AC; // float32
+                constexpr std::ptrdiff_t m_flSimulationTime = 0x3B0; // float32
+                constexpr std::ptrdiff_t m_nSceneObjectOverrideFlags = 0x3B4; // uint8
+                constexpr std::ptrdiff_t m_bHasSuccessfullyInterpolated = 0x3B5; // bool
+                constexpr std::ptrdiff_t m_bHasAddedVarsToInterpolation = 0x3B6; // bool
+                constexpr std::ptrdiff_t m_bRenderEvenWhenNotSuccessfullyInterpolated = 0x3B7; // bool
+                constexpr std::ptrdiff_t m_nInterpolationLatchDirtyFlags = 0x3B8; // int32[2]
+                constexpr std::ptrdiff_t m_ListEntry = 0x3C0; // uint16[11]
+                constexpr std::ptrdiff_t m_flCreateTime = 0x3D8; // GameTime_t
+                constexpr std::ptrdiff_t m_flSpeed = 0x3DC; // float32
+                constexpr std::ptrdiff_t m_EntClientFlags = 0x3E0; // uint16
+                constexpr std::ptrdiff_t m_bClientSideRagdoll = 0x3E2; // bool
+                constexpr std::ptrdiff_t m_iTeamNum = 0x3E3; // uint8
+                constexpr std::ptrdiff_t m_spawnflags = 0x3E4; // uint32
+                constexpr std::ptrdiff_t m_nNextThinkTick = 0x3E8; // GameTick_t
+                constexpr std::ptrdiff_t m_fFlags = 0x3EC; // uint32
+                constexpr std::ptrdiff_t m_vecAbsVelocity = 0x3F0; // Vector
+                constexpr std::ptrdiff_t m_vecVelocity = 0x400; // CNetworkVelocityVector
+                constexpr std::ptrdiff_t m_vecBaseVelocity = 0x430; // Vector
+                constexpr std::ptrdiff_t m_hEffectEntity = 0x43C; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hOwnerEntity = 0x440; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_MoveCollide = 0x444; // MoveCollide_t
+                constexpr std::ptrdiff_t m_MoveType = 0x445; // MoveType_t
+                constexpr std::ptrdiff_t m_nActualMoveType = 0x446; // MoveType_t
+                constexpr std::ptrdiff_t m_flWaterLevel = 0x448; // float32
+                constexpr std::ptrdiff_t m_fEffects = 0x44C; // uint32
+                constexpr std::ptrdiff_t m_hGroundEntity = 0x450; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_nGroundBodyIndex = 0x454; // int32
+                constexpr std::ptrdiff_t m_flFriction = 0x458; // float32
+                constexpr std::ptrdiff_t m_flElasticity = 0x45C; // float32
+                constexpr std::ptrdiff_t m_flGravityScale = 0x460; // float32
+                constexpr std::ptrdiff_t m_flTimeScale = 0x464; // float32
+                constexpr std::ptrdiff_t m_bAnimatedEveryTick = 0x468; // bool
+                constexpr std::ptrdiff_t m_flNavIgnoreUntilTime = 0x46C; // GameTime_t
+                constexpr std::ptrdiff_t m_hThink = 0x470; // uint16
+                constexpr std::ptrdiff_t m_fBBoxVisFlags = 0x480; // uint8
+                constexpr std::ptrdiff_t m_bPredictable = 0x481; // bool
+                constexpr std::ptrdiff_t m_bRenderWithViewModels = 0x482; // bool
+                constexpr std::ptrdiff_t m_nSplitUserPlayerPredictionSlot = 0x484; // CSplitScreenSlot
+                constexpr std::ptrdiff_t m_nFirstPredictableCommand = 0x488; // int32
+                constexpr std::ptrdiff_t m_nLastPredictableCommand = 0x48C; // int32
+                constexpr std::ptrdiff_t m_hOldMoveParent = 0x490; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_Particles = 0x498; // CParticleProperty
+                constexpr std::ptrdiff_t m_vecPredictedScriptFloats = 0x4C0; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecPredictedScriptFloatIDs = 0x4D8; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_nNextScriptVarRecordID = 0x508; // int32
+                constexpr std::ptrdiff_t m_vecAngVelocity = 0x518; // QAngle
+                constexpr std::ptrdiff_t m_DataChangeEventRef = 0x524; // int32
+                constexpr std::ptrdiff_t m_dependencies = 0x528; // CUtlVector<CEntityHandle>
+                constexpr std::ptrdiff_t m_nCreationTick = 0x540; // int32
+                constexpr std::ptrdiff_t m_bAnimTimeChanged = 0x54D; // bool
+                constexpr std::ptrdiff_t m_bSimulationTimeChanged = 0x54E; // bool
+                constexpr std::ptrdiff_t m_sUniqueHammerID = 0x558; // CUtlString
+                constexpr std::ptrdiff_t m_nBloodType = 0x560; // BloodType
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_nameStringableIndex (int32)
+            namespace CEntityIdentity {
+                constexpr std::ptrdiff_t m_nameStringableIndex = 0x14; // int32
+                constexpr std::ptrdiff_t m_name = 0x18; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_designerName = 0x20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flags = 0x30; // uint32
+                constexpr std::ptrdiff_t m_worldGroupId = 0x38; // WorldGroupId_t
+                constexpr std::ptrdiff_t m_fDataObjectTypes = 0x3C; // uint32
+                constexpr std::ptrdiff_t m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t
+                constexpr std::ptrdiff_t m_pPrev = 0x58; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_pNext = 0x60; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_pPrevByClass = 0x68; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_pNextByClass = 0x70; // CEntityIdentity*
+            }
+            // Parent: C_CS2WeaponModuleBase
+            // Field count: 1
+            namespace C_StattrakModule {
+                constexpr std::ptrdiff_t m_bKnife = 0xF90; // bool
+            }
+            // Parent: C_BreakableProp
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bAwake (bool)
+            namespace C_PhysicsProp {
+                constexpr std::ptrdiff_t m_bAwake = 0x1110; // bool
+            }
+            // Parent: CBaseProp
+            // Field count: 29
+            //
+            // Metadata:
+            // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+            // NetworkVarNames: m_noGhostCollision (bool)
+            namespace C_BreakableProp {
+                constexpr std::ptrdiff_t m_CPropDataComponent = 0xFC8; // CPropDataComponent
+                constexpr std::ptrdiff_t m_OnBreak = 0x1008; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHealthChanged = 0x1030; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnTakeDamage = 0x1058; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_impactEnergyScale = 0x1080; // float32
+                constexpr std::ptrdiff_t m_iMinHealthDmg = 0x1084; // int32
+                constexpr std::ptrdiff_t m_flPressureDelay = 0x1088; // float32
+                constexpr std::ptrdiff_t m_flDefBurstScale = 0x108C; // float32
+                constexpr std::ptrdiff_t m_vDefBurstOffset = 0x1090; // Vector
+                constexpr std::ptrdiff_t m_hBreaker = 0x109C; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_PerformanceMode = 0x10A0; // PerformanceMode_t
+                constexpr std::ptrdiff_t m_flPreventDamageBeforeTime = 0x10A4; // GameTime_t
+                constexpr std::ptrdiff_t m_BreakableContentsType = 0x10A8; // BreakableContentsType_t
+                constexpr std::ptrdiff_t m_strBreakableContentsPropGroupOverride = 0x10B0; // CUtlString
+                constexpr std::ptrdiff_t m_strBreakableContentsParticleOverride = 0x10B8; // CUtlString
+                constexpr std::ptrdiff_t m_bHasBreakPiecesOrCommands = 0x10C0; // bool
+                constexpr std::ptrdiff_t m_explodeDamage = 0x10C4; // float32
+                constexpr std::ptrdiff_t m_explodeRadius = 0x10C8; // float32
+                constexpr std::ptrdiff_t m_explosionDelay = 0x10D0; // float32
+                constexpr std::ptrdiff_t m_explosionBuildupSound = 0x10D8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_explosionCustomEffect = 0x10E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_explosionCustomSound = 0x10E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_explosionModifier = 0x10F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hPhysicsAttacker = 0x10F8; // CHandle<C_BasePlayerPawn>
+                constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0x10FC; // GameTime_t
+                constexpr std::ptrdiff_t m_flDefaultFadeScale = 0x1100; // float32
+                constexpr std::ptrdiff_t m_hLastAttacker = 0x1104; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hFlareEnt = 0x1108; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_noGhostCollision = 0x110C; // bool
+            }
+            // Parent: C_BaseToggle
+            // Field count: 0
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            namespace C_FuncMoveLinear {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // NetworkVarNames: m_flFrameRate (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_nNumBeamEnts (uint8)
+            // NetworkVarNames: m_hBaseMaterial (HMaterialStrong)
+            // NetworkVarNames: m_nHaloIndex (HMaterialStrong)
+            // NetworkVarNames: m_nBeamType (BeamType_t)
+            // NetworkVarNames: m_nBeamFlags (uint32)
+            // NetworkVarNames: m_hAttachEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_fWidth (float32)
+            // NetworkVarNames: m_fEndWidth (float32)
+            // NetworkVarNames: m_fFadeLength (float32)
+            // NetworkVarNames: m_fHaloScale (float32)
+            // NetworkVarNames: m_fAmplitude (float32)
+            // NetworkVarNames: m_fStartFrame (float32)
+            // NetworkVarNames: m_fSpeed (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nClipStyle (BeamClipStyle_t)
+            // NetworkVarNames: m_bTurnedOff (bool)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            namespace C_Beam {
+                constexpr std::ptrdiff_t m_flFrameRate = 0xD28; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0xD2C; // float32
+                constexpr std::ptrdiff_t m_flFireTime = 0xD30; // GameTime_t
+                constexpr std::ptrdiff_t m_flDamage = 0xD34; // float32
+                constexpr std::ptrdiff_t m_nNumBeamEnts = 0xD38; // uint8
+                constexpr std::ptrdiff_t m_queryHandleHalo = 0xD3C; // int32
+                constexpr std::ptrdiff_t m_hBaseMaterial = 0xD60; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nHaloIndex = 0xD68; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nBeamType = 0xD70; // BeamType_t
+                constexpr std::ptrdiff_t m_nBeamFlags = 0xD74; // uint32
+                constexpr std::ptrdiff_t m_hAttachEntity = 0xD78; // CHandle<C_BaseEntity>[10]
+                constexpr std::ptrdiff_t m_nAttachIndex = 0xDA0; // AttachmentHandle_t[10]
+                constexpr std::ptrdiff_t m_fWidth = 0xDAC; // float32
+                constexpr std::ptrdiff_t m_fEndWidth = 0xDB0; // float32
+                constexpr std::ptrdiff_t m_fFadeLength = 0xDB4; // float32
+                constexpr std::ptrdiff_t m_fHaloScale = 0xDB8; // float32
+                constexpr std::ptrdiff_t m_fAmplitude = 0xDBC; // float32
+                constexpr std::ptrdiff_t m_fStartFrame = 0xDC0; // float32
+                constexpr std::ptrdiff_t m_fSpeed = 0xDC4; // float32
+                constexpr std::ptrdiff_t m_flFrame = 0xDC8; // float32
+                constexpr std::ptrdiff_t m_nClipStyle = 0xDCC; // BeamClipStyle_t
+                constexpr std::ptrdiff_t m_bTurnedOff = 0xDD0; // bool
+                constexpr std::ptrdiff_t m_vecEndPos = 0xDD4; // Vector
+                constexpr std::ptrdiff_t m_hEndEntity = 0xDE0; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nVariant (int)
+            // NetworkVarNames: m_nRandom (int)
+            // NetworkVarNames: m_nOrdinal (int)
+            // NetworkVarNames: m_sWeaponName (CUtlString)
+            // NetworkVarNames: m_xuid (XUID)
+            // NetworkVarNames: m_agentItem (CEconItemView)
+            // NetworkVarNames: m_glovesItem (CEconItemView)
+            // NetworkVarNames: m_weaponItem (CEconItemView)
+            namespace C_CSGO_TeamPreviewCharacterPosition {
+                constexpr std::ptrdiff_t m_nVariant = 0x568; // int32
+                constexpr std::ptrdiff_t m_nRandom = 0x56C; // int32
+                constexpr std::ptrdiff_t m_nOrdinal = 0x570; // int32
+                constexpr std::ptrdiff_t m_sWeaponName = 0x578; // CUtlString
+                constexpr std::ptrdiff_t m_xuid = 0x580; // uint64
+                constexpr std::ptrdiff_t m_agentItem = 0x588; // C_EconItemView
+                constexpr std::ptrdiff_t m_glovesItem = 0x9D0; // C_EconItemView
+                constexpr std::ptrdiff_t m_weaponItem = 0xE18; // C_EconItemView
+            }
+            // Parent: C_DynamicProp
+            // Field count: 0
+            namespace C_DynamicPropAlias_prop_dynamic_override {
+            }
+            // Parent: C_PointEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszOverlayNames (string_t)
+            // NetworkVarNames: m_flOverlayTimes (float32)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iDesiredOverlay (int32)
+            // NetworkVarNames: m_bIsActive (bool)
+            namespace C_EnvScreenOverlay {
+                constexpr std::ptrdiff_t m_iszOverlayNames = 0x568; // CUtlSymbolLarge[10]
+                constexpr std::ptrdiff_t m_flOverlayTimes = 0x5B8; // float32[10]
+                constexpr std::ptrdiff_t m_flStartTime = 0x5E0; // GameTime_t
+                constexpr std::ptrdiff_t m_iDesiredOverlay = 0x5E4; // int32
+                constexpr std::ptrdiff_t m_bIsActive = 0x5E8; // bool
+                constexpr std::ptrdiff_t m_bWasActive = 0x5E9; // bool
+                constexpr std::ptrdiff_t m_iCachedDesiredOverlay = 0x5EC; // int32
+                constexpr std::ptrdiff_t m_iCurrentOverlay = 0x5F0; // int32
+                constexpr std::ptrdiff_t m_flCurrentOverlayTime = 0x5F4; // GameTime_t
+            }
+            // Parent: CBasePlayerWeaponVData
+            // Field count: 92
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertySuppressBaseClassField
+            // MPropertySuppressBaseClassField
+            namespace CCSWeaponBaseVData {
+                constexpr std::ptrdiff_t m_WeaponType = 0x348; // CSWeaponType
+                constexpr std::ptrdiff_t m_WeaponCategory = 0x34C; // CSWeaponCategory
+                constexpr std::ptrdiff_t m_szViewModel = 0x350; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szPlayerModel = 0x430; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szWorldDroppedModel = 0x510; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szAimsightLensMaskModel = 0x5F0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szMagazineModel = 0x6D0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szHeatEffect = 0x7B0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szEjectBrassEffect = 0x890; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szMuzzleFlashParticleAlt = 0x970; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticle = 0xA50; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticleAlt = 0xB30; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szTracerParticle = 0xC10; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_GearSlot = 0xCF0; // gear_slot_t
+                constexpr std::ptrdiff_t m_GearSlotPosition = 0xCF4; // int32
+                constexpr std::ptrdiff_t m_DefaultLoadoutSlot = 0xCF8; // loadout_slot_t
+                constexpr std::ptrdiff_t m_sWrongTeamMsg = 0xD00; // CUtlString
+                constexpr std::ptrdiff_t m_nPrice = 0xD08; // int32
+                constexpr std::ptrdiff_t m_nKillAward = 0xD0C; // int32
+                constexpr std::ptrdiff_t m_nPrimaryReserveAmmoMax = 0xD10; // int32
+                constexpr std::ptrdiff_t m_nSecondaryReserveAmmoMax = 0xD14; // int32
+                constexpr std::ptrdiff_t m_bMeleeWeapon = 0xD18; // bool
+                constexpr std::ptrdiff_t m_bHasBurstMode = 0xD19; // bool
+                constexpr std::ptrdiff_t m_bIsRevolver = 0xD1A; // bool
+                constexpr std::ptrdiff_t m_bCannotShootUnderwater = 0xD1B; // bool
+                constexpr std::ptrdiff_t m_szName = 0xD20; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_szAnimExtension = 0xD28; // CUtlString
+                constexpr std::ptrdiff_t m_eSilencerType = 0xD30; // CSWeaponSilencerType
+                constexpr std::ptrdiff_t m_nCrosshairMinDistance = 0xD34; // int32
+                constexpr std::ptrdiff_t m_nCrosshairDeltaDistance = 0xD38; // int32
+                constexpr std::ptrdiff_t m_bIsFullAuto = 0xD3C; // bool
+                constexpr std::ptrdiff_t m_nNumBullets = 0xD40; // int32
+                constexpr std::ptrdiff_t m_flCycleTime = 0xD44; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flMaxSpeed = 0xD4C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flSpread = 0xD54; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyCrouch = 0xD5C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyStand = 0xD64; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyJump = 0xD6C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyLand = 0xD74; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyLadder = 0xD7C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyFire = 0xD84; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyMove = 0xD8C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilAngle = 0xD94; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilAngleVariance = 0xD9C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilMagnitude = 0xDA4; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilMagnitudeVariance = 0xDAC; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_nTracerFrequency = 0xDB4; // CFiringModeInt
+                constexpr std::ptrdiff_t m_flInaccuracyJumpInitial = 0xDBC; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyJumpApex = 0xDC0; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyReload = 0xDC4; // float32
+                constexpr std::ptrdiff_t m_nRecoilSeed = 0xDC8; // int32
+                constexpr std::ptrdiff_t m_nSpreadSeed = 0xDCC; // int32
+                constexpr std::ptrdiff_t m_flTimeToIdleAfterFire = 0xDD0; // float32
+                constexpr std::ptrdiff_t m_flIdleInterval = 0xDD4; // float32
+                constexpr std::ptrdiff_t m_flAttackMovespeedFactor = 0xDD8; // float32
+                constexpr std::ptrdiff_t m_flHeatPerShot = 0xDDC; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyPitchShift = 0xDE0; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyAltSoundThreshold = 0xDE4; // float32
+                constexpr std::ptrdiff_t m_flBotAudibleRange = 0xDE8; // float32
+                constexpr std::ptrdiff_t m_szUseRadioSubtitle = 0xDF0; // CUtlString
+                constexpr std::ptrdiff_t m_bUnzoomsAfterShot = 0xDF8; // bool
+                constexpr std::ptrdiff_t m_bHideViewModelWhenZoomed = 0xDF9; // bool
+                constexpr std::ptrdiff_t m_nZoomLevels = 0xDFC; // int32
+                constexpr std::ptrdiff_t m_nZoomFOV1 = 0xE00; // int32
+                constexpr std::ptrdiff_t m_nZoomFOV2 = 0xE04; // int32
+                constexpr std::ptrdiff_t m_flZoomTime0 = 0xE08; // float32
+                constexpr std::ptrdiff_t m_flZoomTime1 = 0xE0C; // float32
+                constexpr std::ptrdiff_t m_flZoomTime2 = 0xE10; // float32
+                constexpr std::ptrdiff_t m_flIronSightPullUpSpeed = 0xE14; // float32
+                constexpr std::ptrdiff_t m_flIronSightPutDownSpeed = 0xE18; // float32
+                constexpr std::ptrdiff_t m_flIronSightFOV = 0xE1C; // float32
+                constexpr std::ptrdiff_t m_flIronSightPivotForward = 0xE20; // float32
+                constexpr std::ptrdiff_t m_flIronSightLooseness = 0xE24; // float32
+                constexpr std::ptrdiff_t m_angPivotAngle = 0xE28; // QAngle
+                constexpr std::ptrdiff_t m_vecIronSightEyePos = 0xE34; // Vector
+                constexpr std::ptrdiff_t m_nDamage = 0xE40; // int32
+                constexpr std::ptrdiff_t m_flHeadshotMultiplier = 0xE44; // float32
+                constexpr std::ptrdiff_t m_flArmorRatio = 0xE48; // float32
+                constexpr std::ptrdiff_t m_flPenetration = 0xE4C; // float32
+                constexpr std::ptrdiff_t m_flRange = 0xE50; // float32
+                constexpr std::ptrdiff_t m_flRangeModifier = 0xE54; // float32
+                constexpr std::ptrdiff_t m_flFlinchVelocityModifierLarge = 0xE58; // float32
+                constexpr std::ptrdiff_t m_flFlinchVelocityModifierSmall = 0xE5C; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeCrouch = 0xE60; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeStand = 0xE64; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeCrouchFinal = 0xE68; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeStandFinal = 0xE6C; // float32
+                constexpr std::ptrdiff_t m_nRecoveryTransitionStartBullet = 0xE70; // int32
+                constexpr std::ptrdiff_t m_nRecoveryTransitionEndBullet = 0xE74; // int32
+                constexpr std::ptrdiff_t m_flThrowVelocity = 0xE78; // float32
+                constexpr std::ptrdiff_t m_vSmokeColor = 0xE7C; // Vector
+                constexpr std::ptrdiff_t m_szAnimClass = 0xE88; // CGlobalSymbol
+            }
+            // Parent: C_ModelPointEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            // NetworkVarNames: m_FontName (char)
+            // NetworkVarNames: m_BackgroundMaterialName (char)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFullbright (bool)
+            // NetworkVarNames: m_flWorldUnitsPerPx (float)
+            // NetworkVarNames: m_flFontSize (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_bDrawBackground (bool)
+            // NetworkVarNames: m_flBackgroundBorderWidth (float)
+            // NetworkVarNames: m_flBackgroundBorderHeight (float)
+            // NetworkVarNames: m_flBackgroundWorldToUV (float)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_nJustifyHorizontal (PointWorldTextJustifyHorizontal_t)
+            // NetworkVarNames: m_nJustifyVertical (PointWorldTextJustifyVertical_t)
+            // NetworkVarNames: m_nReorientMode (PointWorldTextReorientMode_t)
+            namespace C_PointWorldText {
+                constexpr std::ptrdiff_t m_bForceRecreateNextUpdate = 0xD30; // bool
+                constexpr std::ptrdiff_t m_messageText = 0xD48; // char[512]
+                constexpr std::ptrdiff_t m_FontName = 0xF48; // char[64]
+                constexpr std::ptrdiff_t m_BackgroundMaterialName = 0xF88; // char[64]
+                constexpr std::ptrdiff_t m_bEnabled = 0xFC8; // bool
+                constexpr std::ptrdiff_t m_bFullbright = 0xFC9; // bool
+                constexpr std::ptrdiff_t m_flWorldUnitsPerPx = 0xFCC; // float32
+                constexpr std::ptrdiff_t m_flFontSize = 0xFD0; // float32
+                constexpr std::ptrdiff_t m_flDepthOffset = 0xFD4; // float32
+                constexpr std::ptrdiff_t m_bDrawBackground = 0xFD8; // bool
+                constexpr std::ptrdiff_t m_flBackgroundBorderWidth = 0xFDC; // float32
+                constexpr std::ptrdiff_t m_flBackgroundBorderHeight = 0xFE0; // float32
+                constexpr std::ptrdiff_t m_flBackgroundWorldToUV = 0xFE4; // float32
+                constexpr std::ptrdiff_t m_Color = 0xFE8; // Color
+                constexpr std::ptrdiff_t m_nJustifyHorizontal = 0xFEC; // PointWorldTextJustifyHorizontal_t
+                constexpr std::ptrdiff_t m_nJustifyVertical = 0xFF0; // PointWorldTextJustifyVertical_t
+                constexpr std::ptrdiff_t m_nReorientMode = 0xFF4; // PointWorldTextReorientMode_t
+            }
+            // Parent: CBasePlayerController
+            // Field count: 66
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_pInGameMoneyServices (CCSPlayerController_InGameMoneyServices*)
+            // NetworkVarNames: m_pInventoryServices (CCSPlayerController_InventoryServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayerController_ActionTrackingServices*)
+            // NetworkVarNames: m_pDamageServices (CCSPlayerController_DamageServices*)
+            // NetworkVarNames: m_iPing (uint32)
+            // NetworkVarNames: m_bHasCommunicationAbuseMute (bool)
+            // NetworkVarNames: m_szCrosshairCodes (string_t)
+            // NetworkVarNames: m_iPendingTeamNum (uint8)
+            // NetworkVarNames: m_flForceTeamTime (GameTime_t)
+            // NetworkVarNames: m_iCompTeammateColor (int)
+            // NetworkVarNames: m_bEverPlayedOnTeam (bool)
+            // NetworkVarNames: m_szClan (string_t)
+            // NetworkVarNames: m_iCoachingTeam (int)
+            // NetworkVarNames: m_nPlayerDominated (uint64)
+            // NetworkVarNames: m_nPlayerDominatingMe (uint64)
+            // NetworkVarNames: m_iCompetitiveRanking (int)
+            // NetworkVarNames: m_iCompetitiveWins (int)
+            // NetworkVarNames: m_iCompetitiveRankType (int8)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Win (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Loss (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Tie (int)
+            // NetworkVarNames: m_nEndMatchNextMapVote (int)
+            // NetworkVarNames: m_unActiveQuestId (uint16)
+            // NetworkVarNames: m_nQuestProgressReason (QuestProgress::Reason)
+            // NetworkVarNames: m_unPlayerTvControlFlags (uint32)
+            // NetworkVarNames: m_nDisconnectionTick (int)
+            // NetworkVarNames: m_bControllingBot (bool)
+            // NetworkVarNames: m_bHasControlledBotThisRound (bool)
+            // NetworkVarNames: m_bCanControlObservedBot (bool)
+            // NetworkVarNames: m_hPlayerPawn (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hObserverPawn (CHandle<CCSObserverPawn>)
+            // NetworkVarNames: m_bPawnIsAlive (bool)
+            // NetworkVarNames: m_iPawnHealth (uint32)
+            // NetworkVarNames: m_iPawnArmor (int)
+            // NetworkVarNames: m_bPawnHasDefuser (bool)
+            // NetworkVarNames: m_bPawnHasHelmet (bool)
+            // NetworkVarNames: m_nPawnCharacterDefIndex (item_definition_index_t)
+            // NetworkVarNames: m_iPawnLifetimeStart (int)
+            // NetworkVarNames: m_iPawnLifetimeEnd (int)
+            // NetworkVarNames: m_iPawnBotDifficulty (int)
+            // NetworkVarNames: m_hOriginalControllerOfCurrentPawn (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_recentKillQueue (uint8)
+            // NetworkVarNames: m_nFirstKill (uint8)
+            // NetworkVarNames: m_nKillCount (uint8)
+            // NetworkVarNames: m_bMvpNoMusic (bool)
+            // NetworkVarNames: m_eMvpReason (int)
+            // NetworkVarNames: m_iMusicKitID (int)
+            // NetworkVarNames: m_iMusicKitMVPs (int)
+            // NetworkVarNames: m_iMVPs (int)
+            // NetworkVarNames: m_bFireBulletsSeedSynchronized (bool)
+            namespace CCSPlayerController {
+                constexpr std::ptrdiff_t m_pInGameMoneyServices = 0x720; // CCSPlayerController_InGameMoneyServices*
+                constexpr std::ptrdiff_t m_pInventoryServices = 0x728; // CCSPlayerController_InventoryServices*
+                constexpr std::ptrdiff_t m_pActionTrackingServices = 0x730; // CCSPlayerController_ActionTrackingServices*
+                constexpr std::ptrdiff_t m_pDamageServices = 0x738; // CCSPlayerController_DamageServices*
+                constexpr std::ptrdiff_t m_iPing = 0x740; // uint32
+                constexpr std::ptrdiff_t m_bHasCommunicationAbuseMute = 0x744; // bool
+                constexpr std::ptrdiff_t m_szCrosshairCodes = 0x748; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iPendingTeamNum = 0x750; // uint8
+                constexpr std::ptrdiff_t m_flForceTeamTime = 0x754; // GameTime_t
+                constexpr std::ptrdiff_t m_iCompTeammateColor = 0x758; // int32
+                constexpr std::ptrdiff_t m_bEverPlayedOnTeam = 0x75C; // bool
+                constexpr std::ptrdiff_t m_flPreviousForceJoinTeamTime = 0x760; // GameTime_t
+                constexpr std::ptrdiff_t m_szClan = 0x768; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sSanitizedPlayerName = 0x770; // CUtlString
+                constexpr std::ptrdiff_t m_iCoachingTeam = 0x778; // int32
+                constexpr std::ptrdiff_t m_nPlayerDominated = 0x780; // uint64
+                constexpr std::ptrdiff_t m_nPlayerDominatingMe = 0x788; // uint64
+                constexpr std::ptrdiff_t m_iCompetitiveRanking = 0x790; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveWins = 0x794; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveRankType = 0x798; // int8
+                constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Win = 0x79C; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Loss = 0x7A0; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Tie = 0x7A4; // int32
+                constexpr std::ptrdiff_t m_nEndMatchNextMapVote = 0x7A8; // int32
+                constexpr std::ptrdiff_t m_unActiveQuestId = 0x7AC; // uint16
+                constexpr std::ptrdiff_t m_nQuestProgressReason = 0x7B0; // QuestProgress::Reason
+                constexpr std::ptrdiff_t m_unPlayerTvControlFlags = 0x7B4; // uint32
+                constexpr std::ptrdiff_t m_iDraftIndex = 0x7E0; // int32
+                constexpr std::ptrdiff_t m_msQueuedModeDisconnectionTimestamp = 0x7E4; // uint32
+                constexpr std::ptrdiff_t m_uiAbandonRecordedReason = 0x7E8; // uint32
+                constexpr std::ptrdiff_t m_eNetworkDisconnectionReason = 0x7EC; // uint32
+                constexpr std::ptrdiff_t m_bCannotBeKicked = 0x7F0; // bool
+                constexpr std::ptrdiff_t m_bEverFullyConnected = 0x7F1; // bool
+                constexpr std::ptrdiff_t m_bAbandonAllowsSurrender = 0x7F2; // bool
+                constexpr std::ptrdiff_t m_bAbandonOffersInstantSurrender = 0x7F3; // bool
+                constexpr std::ptrdiff_t m_bDisconnection1MinWarningPrinted = 0x7F4; // bool
+                constexpr std::ptrdiff_t m_bScoreReported = 0x7F5; // bool
+                constexpr std::ptrdiff_t m_nDisconnectionTick = 0x7F8; // int32
+                constexpr std::ptrdiff_t m_bControllingBot = 0x808; // bool
+                constexpr std::ptrdiff_t m_bHasControlledBotThisRound = 0x809; // bool
+                constexpr std::ptrdiff_t m_bHasBeenControlledByPlayerThisRound = 0x80A; // bool
+                constexpr std::ptrdiff_t m_nBotsControlledThisRound = 0x80C; // int32
+                constexpr std::ptrdiff_t m_bCanControlObservedBot = 0x810; // bool
+                constexpr std::ptrdiff_t m_hPlayerPawn = 0x814; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_hObserverPawn = 0x818; // CHandle<C_CSObserverPawn>
+                constexpr std::ptrdiff_t m_bPawnIsAlive = 0x81C; // bool
+                constexpr std::ptrdiff_t m_iPawnHealth = 0x820; // uint32
+                constexpr std::ptrdiff_t m_iPawnArmor = 0x824; // int32
+                constexpr std::ptrdiff_t m_bPawnHasDefuser = 0x828; // bool
+                constexpr std::ptrdiff_t m_bPawnHasHelmet = 0x829; // bool
+                constexpr std::ptrdiff_t m_nPawnCharacterDefIndex = 0x82A; // uint16
+                constexpr std::ptrdiff_t m_iPawnLifetimeStart = 0x82C; // int32
+                constexpr std::ptrdiff_t m_iPawnLifetimeEnd = 0x830; // int32
+                constexpr std::ptrdiff_t m_iPawnBotDifficulty = 0x834; // int32
+                constexpr std::ptrdiff_t m_hOriginalControllerOfCurrentPawn = 0x838; // CHandle<CCSPlayerController>
+                constexpr std::ptrdiff_t m_iScore = 0x83C; // int32
+                constexpr std::ptrdiff_t m_recentKillQueue = 0x840; // uint8[8]
+                constexpr std::ptrdiff_t m_nFirstKill = 0x848; // uint8
+                constexpr std::ptrdiff_t m_nKillCount = 0x849; // uint8
+                constexpr std::ptrdiff_t m_bMvpNoMusic = 0x84A; // bool
+                constexpr std::ptrdiff_t m_eMvpReason = 0x84C; // int32
+                constexpr std::ptrdiff_t m_iMusicKitID = 0x850; // int32
+                constexpr std::ptrdiff_t m_iMusicKitMVPs = 0x854; // int32
+                constexpr std::ptrdiff_t m_iMVPs = 0x858; // int32
+                constexpr std::ptrdiff_t m_bIsPlayerNameDirty = 0x85C; // bool
+                constexpr std::ptrdiff_t m_bFireBulletsSeedSynchronized = 0x85D; // bool
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponFiveSeven {
+            }
+            // Parent: C_DynamicProp
+            // Field count: 7
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_eDoorState (DoorState_t)
+            // NetworkVarNames: m_bLocked (bool)
+            // NetworkVarNames: m_closedPosition (Vector)
+            // NetworkVarNames: m_closedAngles (QAngle)
+            // NetworkVarNames: m_hMaster (CHandle<C_BasePropDoor>)
+            namespace C_BasePropDoor {
+                constexpr std::ptrdiff_t m_eDoorState = 0x1238; // DoorState_t
+                constexpr std::ptrdiff_t m_modelChanged = 0x123C; // bool
+                constexpr std::ptrdiff_t m_bLocked = 0x123D; // bool
+                constexpr std::ptrdiff_t m_closedPosition = 0x1240; // Vector
+                constexpr std::ptrdiff_t m_closedAngles = 0x124C; // QAngle
+                constexpr std::ptrdiff_t m_hMaster = 0x1258; // CHandle<C_BasePropDoor>
+                constexpr std::ptrdiff_t m_vWhereToSetLightingOrigin = 0x125C; // Vector
+            }
+            // Parent: C_CSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            namespace C_CSGO_TeamSelectTerroristPosition {
+            }
+            // Parent: C_CS2WeaponModuleBase
+            // Field count: 1
+            namespace C_NametagModule {
+                constexpr std::ptrdiff_t m_strNametagString = 0xF90; // CUtlString
+            }
+            // Parent: C_BreakableProp
+            // Field count: 6
+            namespace C_PhysPropClientside {
+                constexpr std::ptrdiff_t m_flTouchDelta = 0x1110; // GameTime_t
+                constexpr std::ptrdiff_t m_fDeathTime = 0x1114; // GameTime_t
+                constexpr std::ptrdiff_t m_inertiaScale = 0x1118; // float32
+                constexpr std::ptrdiff_t m_vecDamagePosition = 0x111C; // Vector
+                constexpr std::ptrdiff_t m_vecDamageDirection = 0x1128; // Vector
+                constexpr std::ptrdiff_t m_nDamageType = 0x1134; // DamageTypes_t
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            namespace C_CSGO_TeamSelectCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_iszSoundAreaType (string_t)
+            // NetworkVarNames: m_vPos (Vector)
+            namespace C_SoundAreaEntityBase {
+                constexpr std::ptrdiff_t m_bDisabled = 0x568; // bool
+                constexpr std::ptrdiff_t m_bWasEnabled = 0x570; // bool
+                constexpr std::ptrdiff_t m_iszSoundAreaType = 0x578; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vPos = 0x580; // Vector
+            }
+            // Parent: C_BaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_fog (fogparams_t)
+            namespace C_FogController {
+                constexpr std::ptrdiff_t m_fog = 0x568; // fogparams_t
+                constexpr std::ptrdiff_t m_bUseAngles = 0x5D0; // bool
+                constexpr std::ptrdiff_t m_iChangedVariables = 0x5D4; // int32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_ItemServices {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_FuncBrush {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_worldName (string_t)
+            // NetworkVarNames: m_layerName (string_t)
+            // NetworkVarNames: m_bWorldLayerVisible (bool)
+            // NetworkVarNames: m_bEntitiesSpawned (bool)
+            namespace CInfoWorldLayer {
+                constexpr std::ptrdiff_t m_pOutputOnEntitiesSpawned = 0x568; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_worldName = 0x590; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_layerName = 0x598; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bWorldLayerVisible = 0x5A0; // bool
+                constexpr std::ptrdiff_t m_bEntitiesSpawned = 0x5A1; // bool
+                constexpr std::ptrdiff_t m_bCreateAsChildSpawnGroup = 0x5A2; // bool
+                constexpr std::ptrdiff_t m_hLayerSpawnGroup = 0x5A4; // uint32
+                constexpr std::ptrdiff_t m_bWorldLayerActuallyVisible = 0x5A8; // bool
+            }
+            // Parent: C_BaseCombatCharacter
+            // Field count: 0
+            namespace C_NetTestBaseCombatCharacter {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 2
+            namespace C_PhysMagnet {
+                constexpr std::ptrdiff_t m_aAttachedObjectsFromServer = 0xF88; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_aAttachedObjects = 0xFA0; // CUtlVector<CHandle<C_BaseEntity>>
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // NetworkVarNames: m_vecMoveDirEntitySpace (Vector)
+            // NetworkVarNames: m_flTargetSpeed (float32)
+            // NetworkVarNames: m_nTransitionStartTick (GameTick_t)
+            // NetworkVarNames: m_nTransitionDurationTicks (int)
+            // NetworkVarNames: m_flTransitionStartSpeed (float32)
+            // NetworkVarNames: m_hConveyorModels (EHANDLE)
+            namespace C_FuncConveyor {
+                constexpr std::ptrdiff_t m_vecMoveDirEntitySpace = 0xD30; // Vector
+                constexpr std::ptrdiff_t m_flTargetSpeed = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_nTransitionStartTick = 0xD40; // GameTick_t
+                constexpr std::ptrdiff_t m_nTransitionDurationTicks = 0xD44; // int32
+                constexpr std::ptrdiff_t m_flTransitionStartSpeed = 0xD48; // float32
+                constexpr std::ptrdiff_t m_hConveyorModels = 0xD50; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
+                constexpr std::ptrdiff_t m_flCurrentConveyorOffset = 0xD68; // float32
+                constexpr std::ptrdiff_t m_flCurrentConveyorSpeed = 0xD6C; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_pEntity (CEntityIdentity*)
+            // NetworkVarNames: m_CScriptComponent (CScriptComponent::Storage_t)
+            namespace CEntityInstance {
+                constexpr std::ptrdiff_t m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pEntity = 0x10; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_CScriptComponent = 0x28; // CScriptComponent*
+                constexpr std::ptrdiff_t m_bVisibleinPVS = 0x30; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            namespace ServerAuthoritativeWeaponSlot_t {
+                constexpr std::ptrdiff_t unClass = 0x28; // uint16
+                constexpr std::ptrdiff_t unSlot = 0x2A; // uint16
+                constexpr std::ptrdiff_t unItemDefIdx = 0x2C; // uint16
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CCSPlayer_DamageReactServices {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 16
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkOverride
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_nAnimationParity (uint32)
+            // NetworkVarNames: m_flAnimationStartTime (float32)
+            // NetworkVarNames: m_hWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            namespace C_BaseViewModel {
+                constexpr std::ptrdiff_t m_vecLastFacing = 0xF90; // Vector
+                constexpr std::ptrdiff_t m_nViewModelIndex = 0xF9C; // uint32
+                constexpr std::ptrdiff_t m_nAnimationParity = 0xFA0; // uint32
+                constexpr std::ptrdiff_t m_flAnimationStartTime = 0xFA4; // float32
+                constexpr std::ptrdiff_t m_hWeapon = 0xFA8; // CHandle<C_BasePlayerWeapon>
+                constexpr std::ptrdiff_t m_sVMName = 0xFB0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sAnimationPrefix = 0xFB8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iCameraAttachment = 0xFC0; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_vecLastCameraAngles = 0xFC4; // QAngle
+                constexpr std::ptrdiff_t m_previousElapsedDuration = 0xFD0; // float32
+                constexpr std::ptrdiff_t m_previousCycle = 0xFD4; // float32
+                constexpr std::ptrdiff_t m_nOldAnimationParity = 0xFD8; // int32
+                constexpr std::ptrdiff_t m_hOldLayerSequence = 0xFDC; // HSequence
+                constexpr std::ptrdiff_t m_oldLayer = 0xFE0; // int32
+                constexpr std::ptrdiff_t m_oldLayerStartTime = 0xFE4; // float32
+                constexpr std::ptrdiff_t m_hControlPanel = 0xFE8; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_PortraitWorldCallbackHandler {
+            }
+            // Parent: CHostageRescueZoneShim
+            // Field count: 0
+            namespace CHostageRescueZone {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponNegev {
+            }
+            // Parent: None
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_hParent (CGameSceneNodeHandle)
+            // NetworkVarNames: m_vecOrigin (CNetworkOriginCellCoordQuantizedVector)
+            // NetworkVarNames: m_angRotation (QAngle)
+            // NetworkVarNames: m_flScale (float)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            // NetworkVarNames: m_hierarchyAttachName (CUtlStringToken)
+            namespace CGameSceneNode {
+                constexpr std::ptrdiff_t m_nodeToWorld = 0x10; // CTransform
+                constexpr std::ptrdiff_t m_pOwner = 0x30; // CEntityInstance*
+                constexpr std::ptrdiff_t m_pParent = 0x38; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_pChild = 0x40; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_pNextSibling = 0x48; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_hParent = 0x78; // CGameSceneNodeHandle
+                constexpr std::ptrdiff_t m_vecOrigin = 0x88; // CNetworkOriginCellCoordQuantizedVector
+                constexpr std::ptrdiff_t m_angRotation = 0xC0; // QAngle
+                constexpr std::ptrdiff_t m_flScale = 0xCC; // float32
+                constexpr std::ptrdiff_t m_vecAbsOrigin = 0xD0; // Vector
+                constexpr std::ptrdiff_t m_angAbsRotation = 0xDC; // QAngle
+                constexpr std::ptrdiff_t m_flAbsScale = 0xE8; // float32
+                constexpr std::ptrdiff_t m_nParentAttachmentOrBone = 0xEC; // int16
+                constexpr std::ptrdiff_t m_bDebugAbsOriginChanges = 0xEE; // bool
+                constexpr std::ptrdiff_t m_bDormant = 0xEF; // bool
+                constexpr std::ptrdiff_t m_bForceParentToBeNetworked = 0xF0; // bool
+                constexpr std::ptrdiff_t m_bDirtyHierarchy = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bDirtyBoneMergeInfo = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNetworkedPositionChanged = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNetworkedAnglesChanged = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNetworkedScaleChanged = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bWillBeCallingPostDataUpdate = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bBoneMergeFlex = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_nLatchAbsOrigin = 0x0; // bitfield:2
+                constexpr std::ptrdiff_t m_bDirtyBoneMergeBoneToRoot = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_nHierarchicalDepth = 0xF3; // uint8
+                constexpr std::ptrdiff_t m_nHierarchyType = 0xF4; // uint8
+                constexpr std::ptrdiff_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount = 0xF5; // uint8
+                constexpr std::ptrdiff_t m_name = 0xF8; // CUtlStringToken
+                constexpr std::ptrdiff_t m_hierarchyAttachName = 0x138; // CUtlStringToken
+                constexpr std::ptrdiff_t m_flZOffset = 0x13C; // float32
+                constexpr std::ptrdiff_t m_flClientLocalScale = 0x140; // float32
+                constexpr std::ptrdiff_t m_vRenderOrigin = 0x144; // Vector
+            }
+            // Parent: C_MolotovGrenade
+            // Field count: 0
+            namespace C_IncendiaryGrenade {
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            namespace CCSPointScript {
+                constexpr std::ptrdiff_t m_pParent = 0xF8; // CCSPointScriptEntity*
+            }
+            // Parent: C_CSPlayerPawnBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            namespace C_CSObserverPawn {
+                constexpr std::ptrdiff_t m_hDetectParentChange = 0x1510; // CEntityHandle
+            }
+            // Parent: C_BaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_hEntAttached (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_bCheapEffect (bool)
+            namespace C_EntityFlame {
+                constexpr std::ptrdiff_t m_hEntAttached = 0x568; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_hOldAttached = 0x590; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_bCheapEffect = 0x594; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            namespace C_Breakable {
+            }
+            // Parent: CPlayer_ObserverServices
+            // Field count: 8
+            namespace CCSObserver_ObserverServices {
+                constexpr std::ptrdiff_t m_hLastObserverTarget = 0x58; // CEntityHandle
+                constexpr std::ptrdiff_t m_vecObserverInterpolateOffset = 0x5C; // Vector
+                constexpr std::ptrdiff_t m_vecObserverInterpStartPos = 0x68; // Vector
+                constexpr std::ptrdiff_t m_flObsInterp_PathLength = 0x74; // float32
+                constexpr std::ptrdiff_t m_qObsInterp_OrientationStart = 0x80; // Quaternion
+                constexpr std::ptrdiff_t m_qObsInterp_OrientationTravelDir = 0x90; // Quaternion
+                constexpr std::ptrdiff_t m_obsInterpState = 0xA0; // ObserverInterpState_t
+                constexpr std::ptrdiff_t m_bObserverInterpolationNeedsDeferredSetup = 0xA4; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            namespace C_TintController {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_AutoaimServices {
+            }
+            // Parent: C_BaseCombatCharacter
+            // Field count: 23
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_leader (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_reuseTimer (CountdownTimer)
+            // NetworkVarNames: m_vel (Vector)
+            // NetworkVarNames: m_isRescued (bool)
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_nHostageState (int)
+            // NetworkVarNames: m_bHandsHaveBeenCut (bool)
+            // NetworkVarNames: m_hHostageGrabber (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_flRescueStartTime (GameTime_t)
+            // NetworkVarNames: m_flGrabSuccessTime (GameTime_t)
+            // NetworkVarNames: m_flDropStartTime (GameTime_t)
+            namespace C_Hostage {
+                constexpr std::ptrdiff_t m_entitySpottedState = 0x11A8; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_leader = 0x11C0; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_reuseTimer = 0x11C8; // CountdownTimer
+                constexpr std::ptrdiff_t m_vel = 0x11E0; // Vector
+                constexpr std::ptrdiff_t m_isRescued = 0x11EC; // bool
+                constexpr std::ptrdiff_t m_jumpedThisFrame = 0x11ED; // bool
+                constexpr std::ptrdiff_t m_nHostageState = 0x11F0; // int32
+                constexpr std::ptrdiff_t m_bHandsHaveBeenCut = 0x11F4; // bool
+                constexpr std::ptrdiff_t m_hHostageGrabber = 0x11F8; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_fLastGrabTime = 0x11FC; // GameTime_t
+                constexpr std::ptrdiff_t m_vecGrabbedPos = 0x1200; // Vector
+                constexpr std::ptrdiff_t m_flRescueStartTime = 0x120C; // GameTime_t
+                constexpr std::ptrdiff_t m_flGrabSuccessTime = 0x1210; // GameTime_t
+                constexpr std::ptrdiff_t m_flDropStartTime = 0x1214; // GameTime_t
+                constexpr std::ptrdiff_t m_flDeadOrRescuedTime = 0x1218; // GameTime_t
+                constexpr std::ptrdiff_t m_blinkTimer = 0x1220; // CountdownTimer
+                constexpr std::ptrdiff_t m_lookAt = 0x1238; // Vector
+                constexpr std::ptrdiff_t m_lookAroundTimer = 0x1248; // CountdownTimer
+                constexpr std::ptrdiff_t m_isInit = 0x1260; // bool
+                constexpr std::ptrdiff_t m_eyeAttachment = 0x1261; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_chestAttachment = 0x1262; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_pPredictionOwner = 0x1268; // CBasePlayerController*
+                constexpr std::ptrdiff_t m_fNewestAlphaThinkTime = 0x1270; // GameTime_t
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSpriteMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hAttachedToEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_flSpriteFramerate (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nBrightness (uint32)
+            // NetworkVarNames: m_flBrightnessDuration (float32)
+            // NetworkVarNames: m_flSpriteScale (float32)
+            // NetworkVarNames: m_flScaleDuration (float32)
+            // NetworkVarNames: m_bWorldSpaceScale (bool)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            namespace C_Sprite {
+                constexpr std::ptrdiff_t m_hSpriteMaterial = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_hAttachedToEntity = 0xD30; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_nAttachment = 0xD34; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_flSpriteFramerate = 0xD38; // float32
+                constexpr std::ptrdiff_t m_flFrame = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_flDieTime = 0xD40; // GameTime_t
+                constexpr std::ptrdiff_t m_nBrightness = 0xD50; // uint32
+                constexpr std::ptrdiff_t m_flBrightnessDuration = 0xD54; // float32
+                constexpr std::ptrdiff_t m_flSpriteScale = 0xD58; // float32
+                constexpr std::ptrdiff_t m_flScaleDuration = 0xD5C; // float32
+                constexpr std::ptrdiff_t m_bWorldSpaceScale = 0xD60; // bool
+                constexpr std::ptrdiff_t m_flGlowProxySize = 0xD64; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0xD68; // float32
+                constexpr std::ptrdiff_t m_flLastTime = 0xD6C; // GameTime_t
+                constexpr std::ptrdiff_t m_flMaxFrame = 0xD70; // float32
+                constexpr std::ptrdiff_t m_flStartScale = 0xD74; // float32
+                constexpr std::ptrdiff_t m_flDestScale = 0xD78; // float32
+                constexpr std::ptrdiff_t m_flScaleTimeStart = 0xD7C; // GameTime_t
+                constexpr std::ptrdiff_t m_nStartBrightness = 0xD80; // int32
+                constexpr std::ptrdiff_t m_nDestBrightness = 0xD84; // int32
+                constexpr std::ptrdiff_t m_flBrightnessTimeStart = 0xD88; // GameTime_t
+                constexpr std::ptrdiff_t m_hOldSpriteMaterial = 0xD90; // CWeakHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nSpriteWidth = 0xE30; // int32
+                constexpr std::ptrdiff_t m_nSpriteHeight = 0xE34; // int32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            namespace C_WeaponM4A1Silencer {
+            }
+            // Parent: C_PointEntity
+            // Field count: 9
+            namespace CMapInfo {
+                constexpr std::ptrdiff_t m_iBuyingStatus = 0x568; // int32
+                constexpr std::ptrdiff_t m_flBombRadius = 0x56C; // float32
+                constexpr std::ptrdiff_t m_iPetPopulation = 0x570; // int32
+                constexpr std::ptrdiff_t m_bUseNormalSpawnsForDM = 0x574; // bool
+                constexpr std::ptrdiff_t m_bDisableAutoGeneratedDMSpawns = 0x575; // bool
+                constexpr std::ptrdiff_t m_flBotMaxVisionDistance = 0x578; // float32
+                constexpr std::ptrdiff_t m_iHostageCount = 0x57C; // int32
+                constexpr std::ptrdiff_t m_bFadePlayerVisibilityFarZ = 0x580; // bool
+                constexpr std::ptrdiff_t m_bRainTraceToSkyEnabled = 0x581; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombTicking (bool)
+            // NetworkVarNames: m_nBombSite (int)
+            // NetworkVarNames: m_nSourceSoundscapeHash (int)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_flC4Blow (GameTime_t)
+            // NetworkVarNames: m_bCannotBeDefused (bool)
+            // NetworkVarNames: m_bHasExploded (bool)
+            // NetworkVarNames: m_flTimerLength (float)
+            // NetworkVarNames: m_bBeingDefused (bool)
+            // NetworkVarNames: m_flDefuseLength (float)
+            // NetworkVarNames: m_flDefuseCountDown (GameTime_t)
+            // NetworkVarNames: m_bBombDefused (bool)
+            // NetworkVarNames: m_hBombDefuser (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            namespace C_PlantedC4 {
+                constexpr std::ptrdiff_t m_bBombTicking = 0xF90; // bool
+                constexpr std::ptrdiff_t m_nBombSite = 0xF94; // int32
+                constexpr std::ptrdiff_t m_nSourceSoundscapeHash = 0xF98; // int32
+                constexpr std::ptrdiff_t m_entitySpottedState = 0xFA0; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_flNextGlow = 0xFB8; // GameTime_t
+                constexpr std::ptrdiff_t m_flNextBeep = 0xFBC; // GameTime_t
+                constexpr std::ptrdiff_t m_flC4Blow = 0xFC0; // GameTime_t
+                constexpr std::ptrdiff_t m_bCannotBeDefused = 0xFC4; // bool
+                constexpr std::ptrdiff_t m_bHasExploded = 0xFC5; // bool
+                constexpr std::ptrdiff_t m_flTimerLength = 0xFC8; // float32
+                constexpr std::ptrdiff_t m_bBeingDefused = 0xFCC; // bool
+                constexpr std::ptrdiff_t m_bTriggerWarning = 0xFD0; // float32
+                constexpr std::ptrdiff_t m_bExplodeWarning = 0xFD4; // float32
+                constexpr std::ptrdiff_t m_bC4Activated = 0xFD8; // bool
+                constexpr std::ptrdiff_t m_bTenSecWarning = 0xFD9; // bool
+                constexpr std::ptrdiff_t m_flDefuseLength = 0xFDC; // float32
+                constexpr std::ptrdiff_t m_flDefuseCountDown = 0xFE0; // GameTime_t
+                constexpr std::ptrdiff_t m_bBombDefused = 0xFE4; // bool
+                constexpr std::ptrdiff_t m_hBombDefuser = 0xFE8; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_hControlPanel = 0xFEC; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_AttributeManager = 0xFF0; // C_AttributeContainer
+                constexpr std::ptrdiff_t m_hDefuserMultimeter = 0x1498; // CHandle<C_Multimeter>
+                constexpr std::ptrdiff_t m_flNextRadarFlashTime = 0x149C; // GameTime_t
+                constexpr std::ptrdiff_t m_bRadarFlash = 0x14A0; // bool
+                constexpr std::ptrdiff_t m_pBombDefuser = 0x14A4; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_fLastDefuseTime = 0x14A8; // GameTime_t
+                constexpr std::ptrdiff_t m_pPredictionOwner = 0x14B0; // CBasePlayerController*
+                constexpr std::ptrdiff_t m_vecC4ExplodeSpectatePos = 0x14B8; // Vector
+                constexpr std::ptrdiff_t m_vecC4ExplodeSpectateAng = 0x14C4; // QAngle
+                constexpr std::ptrdiff_t m_flC4ExplodeSpectateDuration = 0x14D0; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_ragPos (Vector)
+            // NetworkVarNames: m_ragAngles (QAngle)
+            // NetworkVarNames: m_flBlendWeight (float32)
+            // NetworkVarNames: m_hRagdollSource (EHANDLE)
+            namespace C_RagdollProp {
+                constexpr std::ptrdiff_t m_ragPos = 0xF90; // C_NetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_ragAngles = 0xFA8; // C_NetworkUtlVectorBase<QAngle>
+                constexpr std::ptrdiff_t m_flBlendWeight = 0xFC0; // float32
+                constexpr std::ptrdiff_t m_hRagdollSource = 0xFC4; // CHandle<C_BaseEntity>
+                constexpr std::ptrdiff_t m_iEyeAttachment = 0xFC8; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_flBlendWeightCurrent = 0xFCC; // float32
+                constexpr std::ptrdiff_t m_parentPhysicsBoneIndices = 0xFD0; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_worldSpaceBoneComputationOrder = 0xFE8; // CUtlVector<int32>
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            namespace C_CSGO_TerroristTeamIntroCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_iActiveIssueIndex (int)
+            // NetworkVarNames: m_iOnlyTeamToVote (int)
+            // NetworkVarNames: m_nVoteOptionCount (int)
+            // NetworkVarNames: m_nPotentialVotes (int)
+            // NetworkVarNames: m_bIsYesNoVote (bool)
+            namespace C_VoteController {
+                constexpr std::ptrdiff_t m_iActiveIssueIndex = 0x578; // int32
+                constexpr std::ptrdiff_t m_iOnlyTeamToVote = 0x57C; // int32
+                constexpr std::ptrdiff_t m_nVoteOptionCount = 0x580; // int32[5]
+                constexpr std::ptrdiff_t m_nPotentialVotes = 0x594; // int32
+                constexpr std::ptrdiff_t m_bVotesDirty = 0x598; // bool
+                constexpr std::ptrdiff_t m_bTypeDirty = 0x599; // bool
+                constexpr std::ptrdiff_t m_bIsYesNoVote = 0x59A; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: nType (FixAngleSet_t)
+            // NetworkVarNames: qAngle (QAngle)
+            // NetworkVarNames: nIndex (uint32)
+            namespace ViewAngleServerChange_t {
+                constexpr std::ptrdiff_t nType = 0x30; // FixAngleSet_t
+                constexpr std::ptrdiff_t qAngle = 0x34; // QAngle
+                constexpr std::ptrdiff_t nIndex = 0x40; // uint32
+            }
+            // Parent: C_DynamicProp
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_leader (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            namespace C_Chicken {
+                constexpr std::ptrdiff_t m_hHolidayHatAddon = 0x1230; // CHandle<CBaseAnimGraph>
+                constexpr std::ptrdiff_t m_jumpedThisFrame = 0x1234; // bool
+                constexpr std::ptrdiff_t m_leader = 0x1238; // CHandle<C_CSPlayerPawn>
+                constexpr std::ptrdiff_t m_AttributeManager = 0x1240; // C_AttributeContainer
+                constexpr std::ptrdiff_t m_bAttributesInitialized = 0x16E8; // bool
+                constexpr std::ptrdiff_t m_hWaterWakeParticles = 0x16EC; // ParticleIndex_t
+                constexpr std::ptrdiff_t m_bIsPreviewModel = 0x16F0; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Transforms (CTransform)
+            // NetworkVarNames: m_hOwner (EHANDLE)
+            namespace PhysicsRagdollPose_t {
+                constexpr std::ptrdiff_t m_Transforms = 0x8; // C_NetworkUtlVectorBase<CTransform>
+                constexpr std::ptrdiff_t m_hOwner = 0x20; // CHandle<C_BaseEntity>
+            }
+        }
+    }
+}
diff --git a/output/client_dll.json b/output/client_dll.json
new file mode 100644
index 0000000..cb961bc
--- /dev/null
+++ b/output/client_dll.json
@@ -0,0 +1,14548 @@
+{
+  "client.dll": {
+    "classes": {
+      "ActiveModelConfig_t": {
+        "fields": {
+          "m_AssociatedEntities": 56,
+          "m_AssociatedEntityNames": 80,
+          "m_Handle": 40,
+          "m_Name": 48
+        },
+        "metadata": [
+          {
+            "name": "m_Handle",
+            "type": "NetworkVarNames",
+            "type_name": "ModelConfigHandle_t"
+          },
+          {
+            "name": "m_Name",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_AssociatedEntities",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseModelEntity>"
+          },
+          {
+            "name": "m_AssociatedEntityNames",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": null
+      },
+      "CAnimGraphNetworkedVariables": {
+        "fields": {
+          "m_OwnerOnlyPredNetBoolVariables": 248,
+          "m_OwnerOnlyPredNetByteVariables": 272,
+          "m_OwnerOnlyPredNetFloatVariables": 392,
+          "m_OwnerOnlyPredNetGlobalSymbolVariables": 464,
+          "m_OwnerOnlyPredNetIntVariables": 320,
+          "m_OwnerOnlyPredNetQuaternionVariables": 440,
+          "m_OwnerOnlyPredNetUInt16Variables": 296,
+          "m_OwnerOnlyPredNetUInt32Variables": 344,
+          "m_OwnerOnlyPredNetUInt64Variables": 368,
+          "m_OwnerOnlyPredNetVectorVariables": 416,
+          "m_PredNetBoolVariables": 8,
+          "m_PredNetByteVariables": 32,
+          "m_PredNetFloatVariables": 152,
+          "m_PredNetGlobalSymbolVariables": 224,
+          "m_PredNetIntVariables": 80,
+          "m_PredNetQuaternionVariables": 200,
+          "m_PredNetUInt16Variables": 56,
+          "m_PredNetUInt32Variables": 104,
+          "m_PredNetUInt64Variables": 128,
+          "m_PredNetVectorVariables": 176,
+          "m_flLastTeleportTime": 500,
+          "m_nBoolVariablesCount": 488,
+          "m_nOwnerOnlyBoolVariablesCount": 492,
+          "m_nRandomSeedOffset": 496
+        },
+        "metadata": [
+          {
+            "name": "m_PredNetBoolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_PredNetByteVariables",
+            "type": "NetworkVarNames",
+            "type_name": "byte"
+          },
+          {
+            "name": "m_PredNetUInt16Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_PredNetIntVariables",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_PredNetUInt32Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_PredNetUInt64Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_PredNetFloatVariables",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_PredNetVectorVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PredNetQuaternionVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Quaternion"
+          },
+          {
+            "name": "m_PredNetGlobalSymbolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "CGlobalSymbol"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetBoolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetByteVariables",
+            "type": "NetworkVarNames",
+            "type_name": "byte"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetUInt16Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetIntVariables",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetUInt32Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetUInt64Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetFloatVariables",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetVectorVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetQuaternionVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Quaternion"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetGlobalSymbolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "CGlobalSymbol"
+          },
+          {
+            "name": "m_nBoolVariablesCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nOwnerOnlyBoolVariablesCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRandomSeedOffset",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flLastTeleportTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": null
+      },
+      "CAttributeList": {
+        "fields": {
+          "m_Attributes": 8,
+          "m_pManager": 88
+        },
+        "metadata": [
+          {
+            "name": "m_Attributes",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemAttribute"
+          }
+        ],
+        "parent": null
+      },
+      "CAttributeManager": {
+        "fields": {
+          "m_CachedResults": 48,
+          "m_ProviderType": 44,
+          "m_Providers": 8,
+          "m_bPreventLoopback": 40,
+          "m_hOuter": 36,
+          "m_iReapplyProvisionParity": 32
+        },
+        "metadata": [
+          {
+            "name": "m_iReapplyProvisionParity",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hOuter",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          },
+          {
+            "name": "m_ProviderType",
+            "type": "NetworkVarNames",
+            "type_name": "attributeprovidertypes_t"
+          }
+        ],
+        "parent": null
+      },
+      "CAttributeManager__cached_attribute_float_t": {
+        "fields": {
+          "flIn": 0,
+          "flOut": 16,
+          "iAttribHook": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CBaseAnimGraph": {
+        "fields": {
+          "m_RagdollPose": 3576,
+          "m_bAnimGraphUpdateEnabled": 3504,
+          "m_bAnimationUpdateScheduled": 3524,
+          "m_bBuiltRagdoll": 3552,
+          "m_bHasAnimatedMaterialAttributes": 3664,
+          "m_bInitiallyPopulateInterpHistory": 3488,
+          "m_bRagdollClientSide": 3648,
+          "m_bSuppressAnimEventSounds": 3490,
+          "m_flMaxSlopeDistance": 3508,
+          "m_nForceBone": 3540,
+          "m_pClientsideRagdoll": 3544,
+          "m_vLastSlopeCheckPos": 3512,
+          "m_vecForce": 3528
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bInitiallyPopulateInterpHistory",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAnimGraphUpdateEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecForce",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nForceBone",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_RagdollPose",
+            "type": "NetworkVarNames",
+            "type_name": "PhysicsRagdollPose_t"
+          },
+          {
+            "name": "m_bRagdollClientSide",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "CBaseAnimGraphController": {
+        "fields": {
+          "m_animGraphNetworkedVars": 24,
+          "m_bLastUpdateSkipped": 5332,
+          "m_bNetworkedAnimationInputsChanged": 5330,
+          "m_bNetworkedSequenceChanged": 5331,
+          "m_bSequenceFinished": 5288,
+          "m_flPlaybackRate": 5316,
+          "m_flPrevAnimUpdateTime": 5336,
+          "m_flSeqFixedCycle": 5308,
+          "m_flSeqStartTime": 5304,
+          "m_flSoundSyncTime": 5292,
+          "m_hSequence": 5300,
+          "m_nActiveIKChainMask": 5296,
+          "m_nAnimLoopMode": 5312,
+          "m_nNotifyState": 5328
+        },
+        "metadata": [
+          {
+            "name": "m_animGraphNetworkedVars",
+            "type": "NetworkVarNames",
+            "type_name": "CAnimGraphNetworkedVariables"
+          },
+          {
+            "name": "m_hSequence",
+            "type": "NetworkVarNames",
+            "type_name": "HSequence"
+          },
+          {
+            "name": "m_flSeqStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flSeqFixedCycle",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nAnimLoopMode",
+            "type": "NetworkVarNames",
+            "type_name": "AnimLoopMode_t"
+          }
+        ],
+        "parent": "CSkeletonAnimationController"
+      },
+      "CBasePlayerController": {
+        "fields": {
+          "m_CommandContext": 1400,
+          "m_bIsHLTV": 1624,
+          "m_bIsLocalPlayerController": 1776,
+          "m_bKnownTeamMismatch": 1584,
+          "m_hPawn": 1580,
+          "m_hPredictedPawn": 1588,
+          "m_hSplitOwner": 1596,
+          "m_hSplitScreenPlayers": 1600,
+          "m_iConnected": 1628,
+          "m_iDesiredFOV": 1780,
+          "m_iszPlayerName": 1632,
+          "m_nFinalPredictedTick": 1392,
+          "m_nInButtonsWhichAreToggles": 1568,
+          "m_nSplitScreenSlot": 1592,
+          "m_nTickBase": 1576,
+          "m_steamID": 1768
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nTickBase",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_hPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerPawn>"
+          },
+          {
+            "name": "m_bKnownTeamMismatch",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iConnected",
+            "type": "NetworkVarNames",
+            "type_name": "PlayerConnectedState"
+          },
+          {
+            "name": "m_iszPlayerName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_steamID",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_iDesiredFOV",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "MNetworkReplayCompatField",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "CBasePlayerControllerAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CBasePlayerVData": {
+        "fields": {
+          "m_flArmDamageMultiplier": 312,
+          "m_flChestDamageMultiplier": 280,
+          "m_flCrouchTime": 372,
+          "m_flDrowningDamageInterval": 348,
+          "m_flHeadDamageMultiplier": 264,
+          "m_flHoldBreathTime": 344,
+          "m_flLegDamageMultiplier": 328,
+          "m_flStomachDamageMultiplier": 296,
+          "m_flUseAngleTolerance": 368,
+          "m_flUseRange": 364,
+          "m_nDrowningDamageInitial": 352,
+          "m_nDrowningDamageMax": 356,
+          "m_nWaterSpeed": 360,
+          "m_sModelName": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CEntitySubclassVDataBase"
+      },
+      "CBasePlayerWeaponVData": {
+        "fields": {
+          "m_aShootSounds": 800,
+          "m_bAllowFlipping": 489,
+          "m_bAutoSwitchFrom": 781,
+          "m_bAutoSwitchTo": 780,
+          "m_bBuiltRightHanded": 488,
+          "m_bLinkedCooldowns": 752,
+          "m_bReserveAmmoAsClips": 772,
+          "m_iDefaultClip1": 764,
+          "m_iDefaultClip2": 768,
+          "m_iFlags": 753,
+          "m_iMaxClip1": 756,
+          "m_iMaxClip2": 760,
+          "m_iPosition": 792,
+          "m_iRumbleEffect": 784,
+          "m_iSlot": 788,
+          "m_iWeight": 776,
+          "m_nPrimaryAmmoType": 754,
+          "m_nSecondaryAmmoType": 755,
+          "m_sMuzzleAttachment": 496,
+          "m_sToolsOnlyOwnerModelName": 264,
+          "m_szMuzzleFlashParticle": 528,
+          "m_szWorldModel": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CEntitySubclassVDataBase"
+      },
+      "CBaseProp": {
+        "fields": {
+          "m_bConformToCollisionBounds": 3984,
+          "m_bModelOverrodeBlockLOS": 3976,
+          "m_iShapeType": 3980,
+          "m_mPreferredCatchTransform": 3988
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CBodyComponent": {
+        "fields": {
+          "__m_pChainEntity": 32,
+          "m_pSceneNode": 8
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CBodyComponentBaseAnimGraph": {
+        "fields": {
+          "m_animationController": 1168
+        },
+        "metadata": [
+          {
+            "name": "m_animationController",
+            "type": "NetworkVarNames",
+            "type_name": "CBaseAnimGraphController"
+          }
+        ],
+        "parent": "CBodyComponentSkeletonInstance"
+      },
+      "CBodyComponentBaseModelEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBodyComponentSkeletonInstance"
+      },
+      "CBodyComponentPoint": {
+        "fields": {
+          "m_sceneNode": 80
+        },
+        "metadata": [
+          {
+            "name": "m_sceneNode",
+            "type": "NetworkVarNames",
+            "type_name": "CGameSceneNode"
+          }
+        ],
+        "parent": "CBodyComponent"
+      },
+      "CBodyComponentSkeletonInstance": {
+        "fields": {
+          "m_skeletonInstance": 80
+        },
+        "metadata": [
+          {
+            "name": "m_skeletonInstance",
+            "type": "NetworkVarNames",
+            "type_name": "CSkeletonInstance"
+          }
+        ],
+        "parent": "CBodyComponent"
+      },
+      "CBombTarget": {
+        "fields": {
+          "m_bBombPlantedHere": 3376
+        },
+        "metadata": [
+          {
+            "name": "m_bBombPlantedHere",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseTrigger"
+      },
+      "CBuoyancyHelper": {
+        "fields": {
+          "m_flFluidDensity": 28,
+          "m_nFluidType": 24,
+          "m_vecFractionOfWheelSubmergedForWheelDrag": 80,
+          "m_vecFractionOfWheelSubmergedForWheelFriction": 32,
+          "m_vecWheelDrag": 104,
+          "m_vecWheelFrictionScales": 56
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CCSClientPointScriptEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSPointScriptEntity"
+      },
+      "CCSGO_WingmanIntroCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamIntroCharacterPosition"
+      },
+      "CCSGO_WingmanIntroCounterTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_WingmanIntroCharacterPosition"
+      },
+      "CCSGO_WingmanIntroTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_WingmanIntroCharacterPosition"
+      },
+      "CCSGameModeRules": {
+        "fields": {
+          "__m_pChainEntity": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CCSGameModeRules_ArmsRace": {
+        "fields": {
+          "m_WeaponSequence": 48
+        },
+        "metadata": [
+          {
+            "name": "m_WeaponSequence",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "CCSGameModeRules"
+      },
+      "CCSGameModeRules_Deathmatch": {
+        "fields": {
+          "m_flDMBonusStartTime": 48,
+          "m_flDMBonusTimeLength": 52,
+          "m_sDMBonusWeapon": 56
+        },
+        "metadata": [
+          {
+            "name": "m_flDMBonusStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flDMBonusTimeLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_sDMBonusWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "CCSGameModeRules"
+      },
+      "CCSGameModeRules_Noop": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGameModeRules"
+      },
+      "CCSObserver_CameraServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSPlayerBase_CameraServices"
+      },
+      "CCSObserver_MovementServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_MovementServices"
+      },
+      "CCSObserver_ObserverServices": {
+        "fields": {
+          "m_bObserverInterpolationNeedsDeferredSetup": 164,
+          "m_flObsInterp_PathLength": 116,
+          "m_hLastObserverTarget": 88,
+          "m_obsInterpState": 160,
+          "m_qObsInterp_OrientationStart": 128,
+          "m_qObsInterp_OrientationTravelDir": 144,
+          "m_vecObserverInterpStartPos": 104,
+          "m_vecObserverInterpolateOffset": 92
+        },
+        "metadata": [],
+        "parent": "CPlayer_ObserverServices"
+      },
+      "CCSObserver_UseServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_UseServices"
+      },
+      "CCSObserver_ViewModelServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_ViewModelServices"
+      },
+      "CCSPlayerBase_CameraServices": {
+        "fields": {
+          "m_flFOVRate": 540,
+          "m_flFOVTime": 536,
+          "m_flLastShotFOV": 548,
+          "m_hZoomOwner": 544,
+          "m_iFOV": 528,
+          "m_iFOVStart": 532
+        },
+        "metadata": [
+          {
+            "name": "m_iFOV",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iFOVStart",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flFOVTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flFOVRate",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hZoomOwner",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayer_CameraServices"
+      },
+      "CCSPlayerController": {
+        "fields": {
+          "m_bAbandonAllowsSurrender": 2034,
+          "m_bAbandonOffersInstantSurrender": 2035,
+          "m_bCanControlObservedBot": 2064,
+          "m_bCannotBeKicked": 2032,
+          "m_bControllingBot": 2056,
+          "m_bDisconnection1MinWarningPrinted": 2036,
+          "m_bEverFullyConnected": 2033,
+          "m_bEverPlayedOnTeam": 1884,
+          "m_bFireBulletsSeedSynchronized": 2141,
+          "m_bHasBeenControlledByPlayerThisRound": 2058,
+          "m_bHasCommunicationAbuseMute": 1860,
+          "m_bHasControlledBotThisRound": 2057,
+          "m_bIsPlayerNameDirty": 2140,
+          "m_bMvpNoMusic": 2122,
+          "m_bPawnHasDefuser": 2088,
+          "m_bPawnHasHelmet": 2089,
+          "m_bPawnIsAlive": 2076,
+          "m_bScoreReported": 2037,
+          "m_eMvpReason": 2124,
+          "m_eNetworkDisconnectionReason": 2028,
+          "m_flForceTeamTime": 1876,
+          "m_flPreviousForceJoinTeamTime": 1888,
+          "m_hObserverPawn": 2072,
+          "m_hOriginalControllerOfCurrentPawn": 2104,
+          "m_hPlayerPawn": 2068,
+          "m_iCoachingTeam": 1912,
+          "m_iCompTeammateColor": 1880,
+          "m_iCompetitiveRankType": 1944,
+          "m_iCompetitiveRanking": 1936,
+          "m_iCompetitiveRankingPredicted_Loss": 1952,
+          "m_iCompetitiveRankingPredicted_Tie": 1956,
+          "m_iCompetitiveRankingPredicted_Win": 1948,
+          "m_iCompetitiveWins": 1940,
+          "m_iDraftIndex": 2016,
+          "m_iMVPs": 2136,
+          "m_iMusicKitID": 2128,
+          "m_iMusicKitMVPs": 2132,
+          "m_iPawnArmor": 2084,
+          "m_iPawnBotDifficulty": 2100,
+          "m_iPawnHealth": 2080,
+          "m_iPawnLifetimeEnd": 2096,
+          "m_iPawnLifetimeStart": 2092,
+          "m_iPendingTeamNum": 1872,
+          "m_iPing": 1856,
+          "m_iScore": 2108,
+          "m_msQueuedModeDisconnectionTimestamp": 2020,
+          "m_nBotsControlledThisRound": 2060,
+          "m_nDisconnectionTick": 2040,
+          "m_nEndMatchNextMapVote": 1960,
+          "m_nFirstKill": 2120,
+          "m_nKillCount": 2121,
+          "m_nPawnCharacterDefIndex": 2090,
+          "m_nPlayerDominated": 1920,
+          "m_nPlayerDominatingMe": 1928,
+          "m_nQuestProgressReason": 1968,
+          "m_pActionTrackingServices": 1840,
+          "m_pDamageServices": 1848,
+          "m_pInGameMoneyServices": 1824,
+          "m_pInventoryServices": 1832,
+          "m_recentKillQueue": 2112,
+          "m_sSanitizedPlayerName": 1904,
+          "m_szClan": 1896,
+          "m_szCrosshairCodes": 1864,
+          "m_uiAbandonRecordedReason": 2024,
+          "m_unActiveQuestId": 1964,
+          "m_unPlayerTvControlFlags": 1972
+        },
+        "metadata": [
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pInGameMoneyServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_InGameMoneyServices*"
+          },
+          {
+            "name": "m_pInventoryServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_InventoryServices*"
+          },
+          {
+            "name": "m_pActionTrackingServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_ActionTrackingServices*"
+          },
+          {
+            "name": "m_pDamageServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_DamageServices*"
+          },
+          {
+            "name": "m_iPing",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bHasCommunicationAbuseMute",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szCrosshairCodes",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iPendingTeamNum",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_flForceTeamTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iCompTeammateColor",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bEverPlayedOnTeam",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szClan",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iCoachingTeam",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPlayerDominated",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nPlayerDominatingMe",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_iCompetitiveRanking",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveWins",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveRankType",
+            "type": "NetworkVarNames",
+            "type_name": "int8"
+          },
+          {
+            "name": "m_iCompetitiveRankingPredicted_Win",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveRankingPredicted_Loss",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveRankingPredicted_Tie",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEndMatchNextMapVote",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_unActiveQuestId",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nQuestProgressReason",
+            "type": "NetworkVarNames",
+            "type_name": "QuestProgress::Reason"
+          },
+          {
+            "name": "m_unPlayerTvControlFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nDisconnectionTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bControllingBot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasControlledBotThisRound",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCanControlObservedBot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hPlayerPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hObserverPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSObserverPawn>"
+          },
+          {
+            "name": "m_bPawnIsAlive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iPawnHealth",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iPawnArmor",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bPawnHasDefuser",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPawnHasHelmet",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nPawnCharacterDefIndex",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_iPawnLifetimeStart",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iPawnLifetimeEnd",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iPawnBotDifficulty",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hOriginalControllerOfCurrentPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          },
+          {
+            "name": "m_iScore",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_recentKillQueue",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nFirstKill",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nKillCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_bMvpNoMusic",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_eMvpReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMusicKitID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMusicKitMVPs",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMVPs",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bFireBulletsSeedSynchronized",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBasePlayerController"
+      },
+      "CCSPlayerController_ActionTrackingServices": {
+        "fields": {
+          "m_iNumRoundKills": 272,
+          "m_iNumRoundKillsHeadshots": 276,
+          "m_matchStats": 144,
+          "m_perRoundStats": 64,
+          "m_unTotalRoundDamageDealt": 280
+        },
+        "metadata": [
+          {
+            "name": "m_perRoundStats",
+            "type": "NetworkVarNames",
+            "type_name": "CSPerRoundStats_t"
+          },
+          {
+            "name": "m_matchStats",
+            "type": "NetworkVarNames",
+            "type_name": "CSMatchStats_t"
+          },
+          {
+            "name": "m_iNumRoundKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumRoundKillsHeadshots",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_unTotalRoundDamageDealt",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerController_DamageServices": {
+        "fields": {
+          "m_DamageList": 72,
+          "m_nSendUpdate": 64
+        },
+        "metadata": [
+          {
+            "name": "m_nSendUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_DamageList",
+            "type": "NetworkVarNames",
+            "type_name": "CDamageRecord"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerController_InGameMoneyServices": {
+        "fields": {
+          "m_iAccount": 64,
+          "m_iCashSpentThisRound": 76,
+          "m_iStartAccount": 68,
+          "m_iTotalCashSpent": 72
+        },
+        "metadata": [
+          {
+            "name": "m_iAccount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iStartAccount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iTotalCashSpent",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCashSpentThisRound",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerController_InventoryServices": {
+        "fields": {
+          "m_nPersonaDataPublicCommendsFriendly": 104,
+          "m_nPersonaDataPublicCommendsLeader": 96,
+          "m_nPersonaDataPublicCommendsTeacher": 100,
+          "m_nPersonaDataPublicLevel": 92,
+          "m_nPersonaDataXpTrailLevel": 108,
+          "m_rank": 68,
+          "m_unMusicID": 64,
+          "m_vecServerAuthoritativeWeaponSlots": 112
+        },
+        "metadata": [
+          {
+            "name": "m_unMusicID",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_rank",
+            "type": "NetworkVarNames",
+            "type_name": "MedalRank_t"
+          },
+          {
+            "name": "m_nPersonaDataPublicLevel",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataPublicCommendsLeader",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataPublicCommendsTeacher",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataPublicCommendsFriendly",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataXpTrailLevel",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vecServerAuthoritativeWeaponSlots",
+            "type": "NetworkVarNames",
+            "type_name": "ServerAuthoritativeWeaponSlot_t"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayer_ActionTrackingServices": {
+        "fields": {
+          "m_bIsRescuing": 68,
+          "m_hLastWeaponBeforeC4AutoSwitch": 64,
+          "m_weaponPurchasesThisMatch": 72,
+          "m_weaponPurchasesThisRound": 160
+        },
+        "metadata": [
+          {
+            "name": "m_bIsRescuing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_weaponPurchasesThisMatch",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponPurchaseTracker_t"
+          },
+          {
+            "name": "m_weaponPurchasesThisRound",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponPurchaseTracker_t"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_BulletServices": {
+        "fields": {
+          "m_totalHitsOnServer": 64
+        },
+        "metadata": [
+          {
+            "name": "m_totalHitsOnServer",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_BuyServices": {
+        "fields": {
+          "m_vecSellbackPurchaseEntries": 64
+        },
+        "metadata": [
+          {
+            "name": "m_vecSellbackPurchaseEntries",
+            "type": "NetworkVarNames",
+            "type_name": "SellbackPurchaseEntry_t"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_CameraServices": {
+        "fields": {
+          "m_flDeathCamTilt": 552,
+          "m_vClientScopeInaccuracy": 560
+        },
+        "metadata": [],
+        "parent": "CCSPlayerBase_CameraServices"
+      },
+      "CCSPlayer_DamageReactServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_GlowServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_HostageServices": {
+        "fields": {
+          "m_hCarriedHostage": 64,
+          "m_hCarriedHostageProp": 68
+        },
+        "metadata": [
+          {
+            "name": "m_hCarriedHostage",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hCarriedHostageProp",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_ItemServices": {
+        "fields": {
+          "m_bHasDefuser": 64,
+          "m_bHasHeavyArmor": 66,
+          "m_bHasHelmet": 65
+        },
+        "metadata": [
+          {
+            "name": "m_bHasDefuser",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasHelmet",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasHeavyArmor",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPlayer_ItemServices"
+      },
+      "CCSPlayer_MovementServices": {
+        "fields": {
+          "m_StuckLast": 1132,
+          "m_bDesiresDuck": 561,
+          "m_bDuckOverride": 560,
+          "m_bHasWalkMovedSinceLastJump": 601,
+          "m_bInStuckTest": 602,
+          "m_bOldJumpPressed": 1192,
+          "m_bSpeedCropped": 1136,
+          "m_duckUntilOnGround": 600,
+          "m_fStashGrenadeParameterWhen": 1200,
+          "m_flAccumulatedJumpError": 1244,
+          "m_flDuckAmount": 552,
+          "m_flDuckOffset": 564,
+          "m_flDuckSpeed": 556,
+          "m_flGroundMoveEfficiency": 1140,
+          "m_flHeightAtJumpStart": 1228,
+          "m_flJumpPressedTime": 1196,
+          "m_flLastDuckTime": 580,
+          "m_flMaxJumpHeightLastJump": 1236,
+          "m_flMaxJumpHeightThisJump": 1232,
+          "m_flOffsetTickCompleteTime": 1216,
+          "m_flOffsetTickStashedSpeed": 1220,
+          "m_flStamina": 1224,
+          "m_flStaminaAtJumpStart": 1240,
+          "m_flStuckCheckTime": 616,
+          "m_flWaterEntryTime": 1148,
+          "m_nButtonDownMaskPrev": 1208,
+          "m_nDuckJumpTimeMsecs": 572,
+          "m_nDuckTimeMsecs": 568,
+          "m_nGameCodeHasMovedPlayerAfterCommand": 1188,
+          "m_nJumpTimeMsecs": 576,
+          "m_nLadderSurfacePropIndex": 548,
+          "m_nOldWaterLevel": 1144,
+          "m_nTraceCount": 1128,
+          "m_vecForward": 1152,
+          "m_vecLadderNormal": 536,
+          "m_vecLastPositionAtFullCrouchSpeed": 592,
+          "m_vecLeft": 1164,
+          "m_vecUp": 1176
+        },
+        "metadata": [
+          {
+            "name": "m_vecLadderNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nLadderSurfacePropIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flDuckAmount",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDuckSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bDuckOverride",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDesiresDuck",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nDuckTimeMsecs",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nDuckJumpTimeMsecs",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nJumpTimeMsecs",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flLastDuckTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nGameCodeHasMovedPlayerAfterCommand",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bOldJumpPressed",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fStashGrenadeParameterWhen",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nButtonDownMaskPrev",
+            "type": "NetworkVarNames",
+            "type_name": "ButtonBitMask_t"
+          },
+          {
+            "name": "m_flOffsetTickCompleteTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flOffsetTickStashedSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStamina",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CPlayer_MovementServices_Humanoid"
+      },
+      "CCSPlayer_PingServices": {
+        "fields": {
+          "m_hPlayerPing": 64
+        },
+        "metadata": [
+          {
+            "name": "m_hPlayerPing",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_UseServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_UseServices"
+      },
+      "CCSPlayer_ViewModelServices": {
+        "fields": {
+          "m_hViewModel": 64
+        },
+        "metadata": [
+          {
+            "name": "m_hViewModel",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseViewModel>"
+          }
+        ],
+        "parent": "CPlayer_ViewModelServices"
+      },
+      "CCSPlayer_WaterServices": {
+        "fields": {
+          "m_flSwimSoundTime": 80,
+          "m_flWaterJumpTime": 64,
+          "m_vecWaterJumpVel": 68
+        },
+        "metadata": [],
+        "parent": "CPlayer_WaterServices"
+      },
+      "CCSPlayer_WeaponServices": {
+        "fields": {
+          "m_bIsHoldingLookAtWeapon": 189,
+          "m_bIsLookingAtWeapon": 188,
+          "m_flNextAttack": 184,
+          "m_nOldInputHistoryCount": 1112,
+          "m_nOldShootPositionHistoryCount": 192
+        },
+        "metadata": [
+          {
+            "name": "m_flNextAttack",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsLookingAtWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsHoldingLookAtWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPlayer_WeaponServices"
+      },
+      "CCSPointScript": {
+        "fields": {
+          "m_pParent": 248
+        },
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePulseGraphInstance"
+      },
+      "CCSPointScriptEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "CCSPointScriptExtensions_CCSWeaponBaseVData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_entity": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_observer": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_player": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_player_controller": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_weapon_cs_base": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSWeaponBaseVData": {
+        "fields": {
+          "m_DefaultLoadoutSlot": 3320,
+          "m_GearSlot": 3312,
+          "m_GearSlotPosition": 3316,
+          "m_WeaponCategory": 844,
+          "m_WeaponType": 840,
+          "m_angPivotAngle": 3624,
+          "m_bCannotShootUnderwater": 3355,
+          "m_bHasBurstMode": 3353,
+          "m_bHideViewModelWhenZoomed": 3577,
+          "m_bIsFullAuto": 3388,
+          "m_bIsRevolver": 3354,
+          "m_bMeleeWeapon": 3352,
+          "m_bUnzoomsAfterShot": 3576,
+          "m_eSilencerType": 3376,
+          "m_flArmorRatio": 3656,
+          "m_flAttackMovespeedFactor": 3544,
+          "m_flBotAudibleRange": 3560,
+          "m_flCycleTime": 3396,
+          "m_flFlinchVelocityModifierLarge": 3672,
+          "m_flFlinchVelocityModifierSmall": 3676,
+          "m_flHeadshotMultiplier": 3652,
+          "m_flHeatPerShot": 3548,
+          "m_flIdleInterval": 3540,
+          "m_flInaccuracyAltSoundThreshold": 3556,
+          "m_flInaccuracyCrouch": 3420,
+          "m_flInaccuracyFire": 3460,
+          "m_flInaccuracyJump": 3436,
+          "m_flInaccuracyJumpApex": 3520,
+          "m_flInaccuracyJumpInitial": 3516,
+          "m_flInaccuracyLadder": 3452,
+          "m_flInaccuracyLand": 3444,
+          "m_flInaccuracyMove": 3468,
+          "m_flInaccuracyPitchShift": 3552,
+          "m_flInaccuracyReload": 3524,
+          "m_flInaccuracyStand": 3428,
+          "m_flIronSightFOV": 3612,
+          "m_flIronSightLooseness": 3620,
+          "m_flIronSightPivotForward": 3616,
+          "m_flIronSightPullUpSpeed": 3604,
+          "m_flIronSightPutDownSpeed": 3608,
+          "m_flMaxSpeed": 3404,
+          "m_flPenetration": 3660,
+          "m_flRange": 3664,
+          "m_flRangeModifier": 3668,
+          "m_flRecoilAngle": 3476,
+          "m_flRecoilAngleVariance": 3484,
+          "m_flRecoilMagnitude": 3492,
+          "m_flRecoilMagnitudeVariance": 3500,
+          "m_flRecoveryTimeCrouch": 3680,
+          "m_flRecoveryTimeCrouchFinal": 3688,
+          "m_flRecoveryTimeStand": 3684,
+          "m_flRecoveryTimeStandFinal": 3692,
+          "m_flSpread": 3412,
+          "m_flThrowVelocity": 3704,
+          "m_flTimeToIdleAfterFire": 3536,
+          "m_flZoomTime0": 3592,
+          "m_flZoomTime1": 3596,
+          "m_flZoomTime2": 3600,
+          "m_nCrosshairDeltaDistance": 3384,
+          "m_nCrosshairMinDistance": 3380,
+          "m_nDamage": 3648,
+          "m_nKillAward": 3340,
+          "m_nNumBullets": 3392,
+          "m_nPrice": 3336,
+          "m_nPrimaryReserveAmmoMax": 3344,
+          "m_nRecoilSeed": 3528,
+          "m_nRecoveryTransitionEndBullet": 3700,
+          "m_nRecoveryTransitionStartBullet": 3696,
+          "m_nSecondaryReserveAmmoMax": 3348,
+          "m_nSpreadSeed": 3532,
+          "m_nTracerFrequency": 3508,
+          "m_nZoomFOV1": 3584,
+          "m_nZoomFOV2": 3588,
+          "m_nZoomLevels": 3580,
+          "m_sWrongTeamMsg": 3328,
+          "m_szAimsightLensMaskModel": 1520,
+          "m_szAnimClass": 3720,
+          "m_szAnimExtension": 3368,
+          "m_szEjectBrassEffect": 2192,
+          "m_szHeatEffect": 1968,
+          "m_szMagazineModel": 1744,
+          "m_szMuzzleFlashParticleAlt": 2416,
+          "m_szMuzzleFlashThirdPersonParticle": 2640,
+          "m_szMuzzleFlashThirdPersonParticleAlt": 2864,
+          "m_szName": 3360,
+          "m_szPlayerModel": 1072,
+          "m_szTracerParticle": 3088,
+          "m_szUseRadioSubtitle": 3568,
+          "m_szViewModel": 848,
+          "m_szWorldDroppedModel": 1296,
+          "m_vSmokeColor": 3708,
+          "m_vecIronSightEyePos": 3636
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertySuppressBaseClassField",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertySuppressBaseClassField",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePlayerWeaponVData"
+      },
+      "CCitadelSoundOpvarSetOBB": {
+        "fields": {
+          "m_iszOperatorName": 1416,
+          "m_iszOpvarName": 1424,
+          "m_iszStackName": 1408,
+          "m_nAABBDirection": 1480,
+          "m_vDistanceInnerMaxs": 1444,
+          "m_vDistanceInnerMins": 1432,
+          "m_vDistanceOuterMaxs": 1468,
+          "m_vDistanceOuterMins": 1456
+        },
+        "metadata": [
+          {
+            "name": "m_iszStackName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOperatorName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOpvarName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_vDistanceInnerMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDistanceInnerMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDistanceOuterMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDistanceOuterMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nAABBDirection",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "CCollisionProperty": {
+        "fields": {
+          "m_CollisionGroup": 94,
+          "m_collisionAttribute": 16,
+          "m_flBoundingRadius": 96,
+          "m_flCapsuleRadius": 172,
+          "m_nEnablePhysics": 95,
+          "m_nSolidType": 91,
+          "m_nSurroundType": 93,
+          "m_triggerBloat": 92,
+          "m_usSolidFlags": 90,
+          "m_vCapsuleCenter1": 148,
+          "m_vCapsuleCenter2": 160,
+          "m_vecMaxs": 76,
+          "m_vecMins": 64,
+          "m_vecSpecifiedSurroundingMaxs": 112,
+          "m_vecSpecifiedSurroundingMins": 100,
+          "m_vecSurroundingMaxs": 124,
+          "m_vecSurroundingMins": 136
+        },
+        "metadata": [
+          {
+            "name": "m_collisionAttribute",
+            "type": "NetworkVarNames",
+            "type_name": "VPhysicsCollisionAttribute_t"
+          },
+          {
+            "name": "m_vecMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_usSolidFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nSolidType",
+            "type": "NetworkVarNames",
+            "type_name": "SolidType_t"
+          },
+          {
+            "name": "m_triggerBloat",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nSurroundType",
+            "type": "NetworkVarNames",
+            "type_name": "SurroundingBoundsType_t"
+          },
+          {
+            "name": "m_CollisionGroup",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nEnablePhysics",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_vecSpecifiedSurroundingMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecSpecifiedSurroundingMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vCapsuleCenter1",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vCapsuleCenter2",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flCapsuleRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": null
+      },
+      "CDamageRecord": {
+        "fields": {
+          "m_DamagerXuid": 72,
+          "m_PlayerDamager": 40,
+          "m_PlayerRecipient": 44,
+          "m_RecipientXuid": 80,
+          "m_bIsOtherEnemy": 108,
+          "m_hPlayerControllerDamager": 48,
+          "m_hPlayerControllerRecipient": 52,
+          "m_iActualHealthRemoved": 96,
+          "m_iBulletsDamage": 88,
+          "m_iDamage": 92,
+          "m_iLastBulletUpdate": 104,
+          "m_iNumHits": 100,
+          "m_killType": 109,
+          "m_szPlayerDamagerName": 56,
+          "m_szPlayerRecipientName": 64
+        },
+        "metadata": [
+          {
+            "name": "m_PlayerDamager",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_PlayerRecipient",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hPlayerControllerDamager",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          },
+          {
+            "name": "m_hPlayerControllerRecipient",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          },
+          {
+            "name": "m_szPlayerDamagerName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_szPlayerRecipientName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_DamagerXuid",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_RecipientXuid",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_iDamage",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iActualHealthRemoved",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumHits",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iLastBulletUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bIsOtherEnemy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_killType",
+            "type": "NetworkVarNames",
+            "type_name": "EKillTypes_t"
+          }
+        ],
+        "parent": null
+      },
+      "CEconItemAttribute": {
+        "fields": {
+          "m_bSetBonus": 64,
+          "m_flInitialValue": 56,
+          "m_flValue": 52,
+          "m_iAttributeDefinitionIndex": 48,
+          "m_nRefundableCurrency": 60
+        },
+        "metadata": [
+          {
+            "name": "m_iAttributeDefinitionIndex",
+            "type": "NetworkVarNames",
+            "type_name": "attrib_definition_index_t"
+          },
+          {
+            "name": "m_flValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flInitialValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nRefundableCurrency",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bSetBonus",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "CEffectData": {
+        "fields": {
+          "m_fFlags": 99,
+          "m_flMagnitude": 68,
+          "m_flRadius": 72,
+          "m_flScale": 64,
+          "m_hEntity": 56,
+          "m_hOtherEntity": 60,
+          "m_iEffectName": 108,
+          "m_nAttachmentIndex": 100,
+          "m_nAttachmentName": 104,
+          "m_nColor": 98,
+          "m_nDamageType": 88,
+          "m_nEffectIndex": 80,
+          "m_nExplosionType": 110,
+          "m_nHitBox": 96,
+          "m_nMaterial": 94,
+          "m_nPenetrate": 92,
+          "m_nSurfaceProp": 76,
+          "m_vAngles": 44,
+          "m_vNormal": 32,
+          "m_vOrigin": 8,
+          "m_vStart": 20
+        },
+        "metadata": [
+          {
+            "name": "m_vOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vStart",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_hEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          },
+          {
+            "name": "m_hOtherEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          },
+          {
+            "name": "m_flScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flMagnitude",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nSurfaceProp",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_nEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinition"
+          },
+          {
+            "name": "m_nDamageType",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nPenetrate",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nHitBox",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nColor",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_fFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nAttachmentIndex",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_nAttachmentName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_iEffectName",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nExplosionType",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": null
+      },
+      "CEntityComponent": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "CEntityIdentity": {
+        "fields": {
+          "m_PathIndex": 64,
+          "m_designerName": 32,
+          "m_fDataObjectTypes": 60,
+          "m_flags": 48,
+          "m_name": 24,
+          "m_nameStringableIndex": 20,
+          "m_pNext": 96,
+          "m_pNextByClass": 112,
+          "m_pPrev": 88,
+          "m_pPrevByClass": 104,
+          "m_worldGroupId": 56
+        },
+        "metadata": [
+          {
+            "name": "m_nameStringableIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": null
+      },
+      "CEntityInstance": {
+        "fields": {
+          "m_CScriptComponent": 40,
+          "m_bVisibleinPVS": 48,
+          "m_iszPrivateVScripts": 8,
+          "m_pEntity": 16
+        },
+        "metadata": [
+          {
+            "name": "m_pEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityIdentity*"
+          },
+          {
+            "name": "m_CScriptComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CScriptComponent::Storage_t"
+          }
+        ],
+        "parent": null
+      },
+      "CEnvSoundscape": {
+        "fields": {
+          "m_OnPlay": 1384,
+          "m_bDisabled": 1524,
+          "m_bOverrideWithEvent": 1440,
+          "m_flRadius": 1424,
+          "m_hProxySoundscape": 1520,
+          "m_positionNames": 1456,
+          "m_soundEventHash": 1536,
+          "m_soundEventName": 1432,
+          "m_soundscapeEntityListId": 1448,
+          "m_soundscapeIndex": 1444,
+          "m_soundscapeName": 1528
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "CEnvSoundscapeAlias_snd_soundscape": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscape"
+      },
+      "CEnvSoundscapeProxy": {
+        "fields": {
+          "m_MainSoundscapeName": 1544
+        },
+        "metadata": [],
+        "parent": "CEnvSoundscape"
+      },
+      "CEnvSoundscapeProxyAlias_snd_soundscape_proxy": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscapeProxy"
+      },
+      "CEnvSoundscapeTriggerable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscape"
+      },
+      "CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscapeTriggerable"
+      },
+      "CFuncWater": {
+        "fields": {
+          "m_BuoyancyHelper": 3368
+        },
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "CGameSceneNode": {
+        "fields": {
+          "m_angAbsRotation": 220,
+          "m_angRotation": 192,
+          "m_bBoneMergeFlex": 0,
+          "m_bDebugAbsOriginChanges": 238,
+          "m_bDirtyBoneMergeBoneToRoot": 0,
+          "m_bDirtyBoneMergeInfo": 0,
+          "m_bDirtyHierarchy": 0,
+          "m_bDormant": 239,
+          "m_bForceParentToBeNetworked": 240,
+          "m_bNetworkedAnglesChanged": 0,
+          "m_bNetworkedPositionChanged": 0,
+          "m_bNetworkedScaleChanged": 0,
+          "m_bWillBeCallingPostDataUpdate": 0,
+          "m_flAbsScale": 232,
+          "m_flClientLocalScale": 320,
+          "m_flScale": 204,
+          "m_flZOffset": 316,
+          "m_hParent": 120,
+          "m_hierarchyAttachName": 312,
+          "m_nDoNotSetAnimTimeInInvalidatePhysicsCount": 245,
+          "m_nHierarchicalDepth": 243,
+          "m_nHierarchyType": 244,
+          "m_nLatchAbsOrigin": 0,
+          "m_nParentAttachmentOrBone": 236,
+          "m_name": 248,
+          "m_nodeToWorld": 16,
+          "m_pChild": 64,
+          "m_pNextSibling": 72,
+          "m_pOwner": 48,
+          "m_pParent": 56,
+          "m_vRenderOrigin": 324,
+          "m_vecAbsOrigin": 208,
+          "m_vecOrigin": 136
+        },
+        "metadata": [
+          {
+            "name": "m_hParent",
+            "type": "NetworkVarNames",
+            "type_name": "CGameSceneNodeHandle"
+          },
+          {
+            "name": "m_vecOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "CNetworkOriginCellCoordQuantizedVector"
+          },
+          {
+            "name": "m_angRotation",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_flScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_name",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_hierarchyAttachName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": null
+      },
+      "CGameSceneNodeHandle": {
+        "fields": {
+          "m_hOwner": 8,
+          "m_name": 12
+        },
+        "metadata": [
+          {
+            "name": "m_hOwner",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          },
+          {
+            "name": "m_name",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": null
+      },
+      "CGlowProperty": {
+        "fields": {
+          "m_bEligibleForScreenHighlight": 80,
+          "m_bFlashing": 68,
+          "m_bGlowing": 81,
+          "m_fGlowColor": 8,
+          "m_flGlowStartTime": 76,
+          "m_flGlowTime": 72,
+          "m_glowColorOverride": 64,
+          "m_iGlowTeam": 52,
+          "m_iGlowType": 48,
+          "m_nGlowRange": 56,
+          "m_nGlowRangeMin": 60
+        },
+        "metadata": [
+          {
+            "name": "m_iGlowType",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iGlowTeam",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nGlowRange",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nGlowRangeMin",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_glowColorOverride",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_bFlashing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flGlowTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flGlowStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bEligibleForScreenHighlight",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "CGrenadeTracer": {
+        "fields": {
+          "m_flTracerDuration": 3392,
+          "m_nType": 3396
+        },
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "CHitboxComponent": {
+        "fields": {
+          "m_bvDisabledHitGroups": 36
+        },
+        "metadata": [
+          {
+            "name": "m_bvDisabledHitGroups",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CEntityComponent"
+      },
+      "CHostageRescueZone": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CHostageRescueZoneShim"
+      },
+      "CHostageRescueZoneShim": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseTrigger"
+      },
+      "CInfoDynamicShadowHint": {
+        "fields": {
+          "m_bDisabled": 1384,
+          "m_flRange": 1388,
+          "m_hLight": 1400,
+          "m_nImportance": 1392,
+          "m_nLightChoice": 1396
+        },
+        "metadata": [],
+        "parent": "C_PointEntity"
+      },
+      "CInfoDynamicShadowHintBox": {
+        "fields": {
+          "m_vBoxMaxs": 1420,
+          "m_vBoxMins": 1408
+        },
+        "metadata": [],
+        "parent": "CInfoDynamicShadowHint"
+      },
+      "CInfoOffscreenPanoramaTexture": {
+        "fields": {
+          "m_RenderAttrName": 1408,
+          "m_TargetEntities": 1416,
+          "m_bCheckCSSClasses": 1824,
+          "m_bDisabled": 1384,
+          "m_nResolutionX": 1388,
+          "m_nResolutionY": 1392,
+          "m_nTargetChangeCount": 1440,
+          "m_szLayoutFileName": 1400,
+          "m_vecCSSClasses": 1448
+        },
+        "metadata": [
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nResolutionX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nResolutionY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_szLayoutFileName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_RenderAttrName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_TargetEntities",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseModelEntity>"
+          },
+          {
+            "name": "m_nTargetChangeCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vecCSSClasses",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "C_PointEntity"
+      },
+      "CInfoParticleTarget": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_PointEntity"
+      },
+      "CInfoTarget": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_PointEntity"
+      },
+      "CInfoWorldLayer": {
+        "fields": {
+          "m_bCreateAsChildSpawnGroup": 1442,
+          "m_bEntitiesSpawned": 1441,
+          "m_bWorldLayerActuallyVisible": 1448,
+          "m_bWorldLayerVisible": 1440,
+          "m_hLayerSpawnGroup": 1444,
+          "m_layerName": 1432,
+          "m_pOutputOnEntitiesSpawned": 1384,
+          "m_worldName": 1424
+        },
+        "metadata": [
+          {
+            "name": "m_worldName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_layerName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_bWorldLayerVisible",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bEntitiesSpawned",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "CLightComponent": {
+        "fields": {
+          "__m_pChainEntity": 56,
+          "m_Color": 117,
+          "m_Pattern": 216,
+          "m_SecondaryColor": 121,
+          "m_SkyAmbientBounce": 396,
+          "m_SkyColor": 388,
+          "m_bEnabled": 308,
+          "m_bFlicker": 309,
+          "m_bMixedShadows": 401,
+          "m_bPrecomputedFieldsValid": 310,
+          "m_bRenderDiffuse": 192,
+          "m_bRenderToCubemaps": 280,
+          "m_bRenderTransmissive": 200,
+          "m_bUseSecondaryColor": 400,
+          "m_bUsesBakedShadowing": 268,
+          "m_flAttenuation0": 148,
+          "m_flAttenuation1": 152,
+          "m_flAttenuation2": 156,
+          "m_flBrightness": 128,
+          "m_flBrightnessMult": 136,
+          "m_flBrightnessScale": 132,
+          "m_flCapsuleLength": 408,
+          "m_flFadeMaxDist": 296,
+          "m_flFadeMinDist": 292,
+          "m_flFalloff": 144,
+          "m_flFogContributionStength": 380,
+          "m_flLightStyleStartTime": 404,
+          "m_flMinRoughness": 412,
+          "m_flNearClipPlane": 384,
+          "m_flOrthoLightHeight": 208,
+          "m_flOrthoLightWidth": 204,
+          "m_flPhi": 164,
+          "m_flPrecomputedMaxRange": 372,
+          "m_flRange": 140,
+          "m_flShadowCascadeCrossFade": 228,
+          "m_flShadowCascadeDistance0": 236,
+          "m_flShadowCascadeDistance1": 240,
+          "m_flShadowCascadeDistance2": 244,
+          "m_flShadowCascadeDistance3": 248,
+          "m_flShadowCascadeDistanceFade": 232,
+          "m_flShadowFadeMaxDist": 304,
+          "m_flShadowFadeMinDist": 300,
+          "m_flSkyIntensity": 392,
+          "m_flTheta": 160,
+          "m_hLightCookie": 168,
+          "m_nBakedShadowIndex": 276,
+          "m_nCascadeRenderStaticObjects": 224,
+          "m_nCascades": 176,
+          "m_nCastShadows": 180,
+          "m_nDirectLight": 284,
+          "m_nFogLightingMode": 376,
+          "m_nIndirectLight": 288,
+          "m_nRenderSpecular": 196,
+          "m_nShadowCascadeResolution0": 252,
+          "m_nShadowCascadeResolution1": 256,
+          "m_nShadowCascadeResolution2": 260,
+          "m_nShadowCascadeResolution3": 264,
+          "m_nShadowHeight": 188,
+          "m_nShadowPriority": 272,
+          "m_nShadowWidth": 184,
+          "m_nStyle": 212,
+          "m_vPrecomputedBoundsMaxs": 324,
+          "m_vPrecomputedBoundsMins": 312,
+          "m_vPrecomputedOBBAngles": 348,
+          "m_vPrecomputedOBBExtent": 360,
+          "m_vPrecomputedOBBOrigin": 336
+        },
+        "metadata": [
+          {
+            "name": "m_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_SecondaryColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightnessMult",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFalloff",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAttenuation0",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAttenuation1",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAttenuation2",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTheta",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flPhi",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_hLightCookie",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_nCascades",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCastShadows",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowWidth",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowHeight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderDiffuse",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nRenderSpecular",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderTransmissive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flOrthoLightWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flOrthoLightHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nStyle",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Pattern",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_nCascadeRenderStaticObjects",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flShadowCascadeCrossFade",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistanceFade",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance0",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance1",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance2",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance3",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nShadowCascadeResolution0",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowCascadeResolution1",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowCascadeResolution2",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowCascadeResolution3",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bUsesBakedShadowing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nShadowPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nBakedShadowIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderToCubemaps",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nDirectLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nIndirectLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFadeMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFlicker",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPrecomputedFieldsValid",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flPrecomputedMaxRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFogLightingMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogContributionStength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flNearClipPlane",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_SkyColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flSkyIntensity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_SkyAmbientBounce",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_bUseSecondaryColor",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMixedShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flLightStyleStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flCapsuleLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinRoughness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CEntityComponent"
+      },
+      "CLogicRelay": {
+        "fields": {
+          "m_OnSpawn": 1424,
+          "m_OnTrigger": 1384,
+          "m_bDisabled": 1464,
+          "m_bFastRetrigger": 1467,
+          "m_bPassthoughCaller": 1468,
+          "m_bTriggerOnce": 1466,
+          "m_bWaitForRefire": 1465
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicalEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "CMapInfo": {
+        "fields": {
+          "m_bDisableAutoGeneratedDMSpawns": 1397,
+          "m_bFadePlayerVisibilityFarZ": 1408,
+          "m_bRainTraceToSkyEnabled": 1409,
+          "m_bUseNormalSpawnsForDM": 1396,
+          "m_flBombRadius": 1388,
+          "m_flBotMaxVisionDistance": 1400,
+          "m_iBuyingStatus": 1384,
+          "m_iHostageCount": 1404,
+          "m_iPetPopulation": 1392
+        },
+        "metadata": [],
+        "parent": "C_PointEntity"
+      },
+      "CModelState": {
+        "fields": {
+          "m_MeshGroupMask": 408,
+          "m_ModelName": 168,
+          "m_bClientClothCreationSuppressed": 232,
+          "m_hModel": 160,
+          "m_nClothUpdateFlags": 540,
+          "m_nForceLOD": 539,
+          "m_nIdealMotionType": 538
+        },
+        "metadata": [
+          {
+            "name": "m_hModel",
+            "type": "NetworkVarNames",
+            "type_name": "HModelStrong"
+          },
+          {
+            "name": "m_bClientClothCreationSuppressed",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_MeshGroupMask",
+            "type": "NetworkVarNames",
+            "type_name": "MeshGroupMask_t"
+          },
+          {
+            "name": "m_nIdealMotionType",
+            "type": "NetworkVarNames",
+            "type_name": "int8"
+          }
+        ],
+        "parent": null
+      },
+      "CNetworkedSequenceOperation": {
+        "fields": {
+          "m_bDiscontinuity": 29,
+          "m_bSequenceChangeNetworked": 28,
+          "m_flCycle": 16,
+          "m_flPrevCycle": 12,
+          "m_flPrevCycleForAnimEventDetection": 36,
+          "m_flPrevCycleFromDiscontinuity": 32,
+          "m_flWeight": 20,
+          "m_hSequence": 8
+        },
+        "metadata": [
+          {
+            "name": "m_hSequence",
+            "type": "NetworkVarNames",
+            "type_name": "HSequence"
+          },
+          {
+            "name": "m_flPrevCycle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flCycle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": null
+      },
+      "CPathSimple": {
+        "fields": {
+          "m_pathString": 1472
+        },
+        "metadata": [
+          {
+            "name": "m_pathString",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "CPathSimpleAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPlayer_AutoaimServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_CameraServices": {
+        "fields": {
+          "m_CurrentFog": 320,
+          "m_OverrideFogColor": 433,
+          "m_PlayerFog": 88,
+          "m_PostProcessingVolumes": 288,
+          "m_angDemoViewAngles": 504,
+          "m_audio": 168,
+          "m_bOverrideFogColor": 428,
+          "m_bOverrideFogStartEnd": 453,
+          "m_fOverrideFogEnd": 480,
+          "m_fOverrideFogStart": 460,
+          "m_flCsViewPunchAngleTickRatio": 80,
+          "m_flOldPlayerViewOffsetZ": 316,
+          "m_flOldPlayerZ": 312,
+          "m_hActivePostProcessingVolume": 500,
+          "m_hColorCorrectionCtrl": 152,
+          "m_hOldFogController": 424,
+          "m_hTonemapController": 160,
+          "m_hViewEntity": 156,
+          "m_nCsViewPunchAngleTick": 76,
+          "m_vecCsViewPunchAngle": 64
+        },
+        "metadata": [
+          {
+            "name": "m_vecCsViewPunchAngle",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_nCsViewPunchAngleTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flCsViewPunchAngleTickRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_PlayerFog",
+            "type": "NetworkVarNames",
+            "type_name": "fogplayerparams_t"
+          },
+          {
+            "name": "m_hColorCorrectionCtrl",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CColorCorrection>"
+          },
+          {
+            "name": "m_hViewEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hTonemapController",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CTonemapController2>"
+          },
+          {
+            "name": "m_audio",
+            "type": "NetworkVarNames",
+            "type_name": "audioparams_t"
+          },
+          {
+            "name": "m_PostProcessingVolumes",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_PostProcessingVolume>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_FlashlightServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_ItemServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_MovementServices": {
+        "fields": {
+          "m_arrForceSubtickMoveWhen": 412,
+          "m_flForwardMove": 428,
+          "m_flLeftMove": 432,
+          "m_flMaxspeed": 408,
+          "m_flUpMove": 436,
+          "m_nButtonDoublePressed": 120,
+          "m_nButtons": 72,
+          "m_nImpulse": 64,
+          "m_nLastCommandNumberProcessed": 384,
+          "m_nQueuedButtonChangeMask": 112,
+          "m_nQueuedButtonDownMask": 104,
+          "m_nToggleButtonDownMask": 392,
+          "m_pButtonPressedCmdNumber": 128,
+          "m_vecLastMovementImpulses": 440,
+          "m_vecOldViewAngles": 452
+        },
+        "metadata": [
+          {
+            "name": "m_nToggleButtonDownMask",
+            "type": "NetworkVarNames",
+            "type_name": "ButtonBitMask_t"
+          },
+          {
+            "name": "m_flMaxspeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_arrForceSubtickMoveWhen",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_MovementServices_Humanoid": {
+        "fields": {
+          "m_bDucked": 492,
+          "m_bDucking": 493,
+          "m_bInCrouch": 480,
+          "m_bInDuckJump": 494,
+          "m_flCrouchTransitionStartTime": 488,
+          "m_flFallVelocity": 476,
+          "m_flStepSoundTime": 472,
+          "m_flSurfaceFriction": 508,
+          "m_groundNormal": 496,
+          "m_nCrouchState": 484,
+          "m_nStepside": 528,
+          "m_surfaceProps": 512
+        },
+        "metadata": [
+          {
+            "name": "m_flFallVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bInCrouch",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nCrouchState",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flCrouchTransitionStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bDucked",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDucking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bInDuckJump",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPlayer_MovementServices"
+      },
+      "CPlayer_ObserverServices": {
+        "fields": {
+          "m_bForcedObserverMode": 76,
+          "m_flObserverChaseDistance": 80,
+          "m_flObserverChaseDistanceCalcTime": 84,
+          "m_hObserverTarget": 68,
+          "m_iObserverLastMode": 72,
+          "m_iObserverMode": 64
+        },
+        "metadata": [
+          {
+            "name": "m_iObserverMode",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hObserverTarget",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_UseServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_ViewModelServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_WaterServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_WeaponServices": {
+        "fields": {
+          "m_hActiveWeapon": 88,
+          "m_hLastWeapon": 92,
+          "m_hMyWeapons": 64,
+          "m_iAmmo": 96
+        },
+        "metadata": [
+          {
+            "name": "m_hMyWeapons",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BasePlayerWeapon>"
+          },
+          {
+            "name": "m_hActiveWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_hLastWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_iAmmo",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPointChildModifier": {
+        "fields": {
+          "m_bOrphanInsteadOfDeletingChildrenOnRemove": 1384
+        },
+        "metadata": [],
+        "parent": "C_PointEntity"
+      },
+      "CPointOffScreenIndicatorUi": {
+        "fields": {
+          "m_bBeenEnabled": 3984,
+          "m_bHide": 3985,
+          "m_flSeenTargetTime": 3988,
+          "m_pTargetPanel": 3992
+        },
+        "metadata": [],
+        "parent": "C_PointClientUIWorldPanel"
+      },
+      "CPointTemplate": {
+        "fields": {
+          "m_ScriptCallbackScope": 1520,
+          "m_ScriptSpawnCallback": 1512,
+          "m_SpawnedEntityHandles": 1488,
+          "m_bAsynchronouslySpawnEntities": 1412,
+          "m_clientOnlyEntityBehavior": 1456,
+          "m_createdSpawnGroupHandles": 1464,
+          "m_flTimeoutInterval": 1408,
+          "m_iszEntityFilterName": 1400,
+          "m_iszSource2EntityLumpName": 1392,
+          "m_iszWorldName": 1384,
+          "m_ownerSpawnGroupType": 1460,
+          "m_pOutputOnSpawned": 1416
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CPointTemplateAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPrecipitationVData": {
+        "fields": {
+          "m_bBatchSameVolumeType": 272,
+          "m_flInnerDistance": 264,
+          "m_nAttachType": 268,
+          "m_nRTEnvCP": 276,
+          "m_nRTEnvCPComponent": 280,
+          "m_szModifier": 288,
+          "m_szParticlePrecipitationEffect": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CEntitySubclassVDataBase"
+      },
+      "CProjectedTextureBase": {
+        "fields": {
+          "m_LightColor": 36,
+          "m_SpotlightTextureName": 84,
+          "m_bAlwaysUpdate": 17,
+          "m_bCameraSpace": 28,
+          "m_bEnableShadows": 24,
+          "m_bFlipHorizontal": 620,
+          "m_bLightOnlyTarget": 26,
+          "m_bLightWorld": 27,
+          "m_bSimpleProjection": 25,
+          "m_bState": 16,
+          "m_bVolumetric": 52,
+          "m_flAmbient": 80,
+          "m_flBrightnessScale": 32,
+          "m_flColorTransitionTime": 76,
+          "m_flFarZ": 608,
+          "m_flFlashlightTime": 64,
+          "m_flIntensity": 40,
+          "m_flLightFOV": 20,
+          "m_flLinearAttenuation": 44,
+          "m_flNearZ": 604,
+          "m_flNoiseStrength": 60,
+          "m_flPlaneOffset": 72,
+          "m_flProjectionSize": 612,
+          "m_flQuadraticAttenuation": 48,
+          "m_flRotation": 616,
+          "m_flVolumetricIntensity": 56,
+          "m_hTargetEntity": 12,
+          "m_nNumPlanes": 68,
+          "m_nShadowQuality": 600,
+          "m_nSpotlightTextureFrame": 596
+        },
+        "metadata": [
+          {
+            "name": "m_hTargetEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseEntity>"
+          },
+          {
+            "name": "m_bState",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAlwaysUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flLightFOV",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bEnableShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bSimpleProjection",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLightOnlyTarget",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLightWorld",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCameraSpace",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_LightColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flIntensity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flLinearAttenuation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flQuadraticAttenuation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bVolumetric",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flVolumetricIntensity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFlashlightTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nNumPlanes",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flPlaneOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flColorTransitionTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAmbient",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_SpotlightTextureName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_nSpotlightTextureFrame",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nShadowQuality",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flNearZ",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFarZ",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flProjectionSize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRotation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bFlipHorizontal",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "CPropDataComponent": {
+        "fields": {
+          "m_bSpawnMotionDisabled": 52,
+          "m_flDmgModBullet": 16,
+          "m_flDmgModClub": 20,
+          "m_flDmgModExplosive": 24,
+          "m_flDmgModFire": 28,
+          "m_iszBasePropData": 40,
+          "m_iszPhysicsDamageTableName": 32,
+          "m_nDisableTakePhysicsDamageSpawnFlag": 56,
+          "m_nInteractions": 48,
+          "m_nMotionDisabledSpawnFlag": 60
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CRagdollManager": {
+        "fields": {
+          "m_iCurrentMaxRagdollCount": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_iCurrentMaxRagdollCount",
+            "type": "NetworkVarNames",
+            "type_name": "int8"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "CRenderComponent": {
+        "fields": {
+          "__m_pChainEntity": 16,
+          "m_bEnableRendering": 96,
+          "m_bInterpolationReadyToDraw": 176,
+          "m_bIsRenderingWithViewModels": 80,
+          "m_nSplitscreenFlags": 84
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CSMatchStats_t": {
+        "fields": {
+          "m_iEnemy3Ks": 112,
+          "m_iEnemy4Ks": 108,
+          "m_iEnemy5Ks": 104,
+          "m_iEnemyKnifeKills": 116,
+          "m_iEnemyTaserKills": 120
+        },
+        "metadata": [
+          {
+            "name": "m_iEnemy5Ks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemy4Ks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemy3Ks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemyKnifeKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemyTaserKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CSPerRoundStats_t"
+      },
+      "CSPerRoundStats_t": {
+        "fields": {
+          "m_iAssists": 56,
+          "m_iCashEarned": 88,
+          "m_iDamage": 60,
+          "m_iDeaths": 52,
+          "m_iEnemiesFlashed": 96,
+          "m_iEquipmentValue": 64,
+          "m_iHeadShotKills": 80,
+          "m_iKillReward": 72,
+          "m_iKills": 48,
+          "m_iLiveTime": 76,
+          "m_iMoneySaved": 68,
+          "m_iObjective": 84,
+          "m_iUtilityDamage": 92
+        },
+        "metadata": [
+          {
+            "name": "m_iKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iDeaths",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iAssists",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iDamage",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMoneySaved",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iKillReward",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iLiveTime",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iHeadShotKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iObjective",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCashEarned",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iUtilityDamage",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemiesFlashed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": null
+      },
+      "CScriptComponent": {
+        "fields": {
+          "m_scriptClassName": 48
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CServerOnlyModelEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "CSharedGapTypeQueryRegistration": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGapTypeQueriesForScopeSingleton",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSkeletonInstance": {
+        "fields": {
+          "m_bDirtyMotionType": 0,
+          "m_bDisableSolidCollisionsForHierarchy": 930,
+          "m_bIsAnimationEnabled": 928,
+          "m_bIsGeneratingLatchedParentSpaceState": 0,
+          "m_bUseParentRenderBounds": 929,
+          "m_materialGroup": 932,
+          "m_modelState": 368,
+          "m_nHitboxSet": 936
+        },
+        "metadata": [
+          {
+            "name": "m_modelState",
+            "type": "NetworkVarNames",
+            "type_name": "CModelState"
+          },
+          {
+            "name": "m_bIsAnimationEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseParentRenderBounds",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_materialGroup",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_nHitboxSet",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": "CGameSceneNode"
+      },
+      "CSkyboxReference": {
+        "fields": {
+          "m_hSkyCamera": 1388,
+          "m_worldGroupId": 1384
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "CSpriteOriented": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_Sprite"
+      },
+      "CTakeDamageInfoAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CTimeline": {
+        "fields": {
+          "m_bStopped": 544,
+          "m_flFinalValue": 536,
+          "m_flInterval": 532,
+          "m_flValues": 16,
+          "m_nBucketCount": 528,
+          "m_nCompressionType": 540,
+          "m_nValueCounts": 272
+        },
+        "metadata": [
+          {
+            "name": "m_flValues",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nValueCounts",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nBucketCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flInterval",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFinalValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nCompressionType",
+            "type": "NetworkVarNames",
+            "type_name": "TimelineCompression_t"
+          },
+          {
+            "name": "m_bStopped",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "IntervalTimer"
+      },
+      "CWaterSplasher": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_AK47": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_AttributeContainer": {
+        "fields": {
+          "m_Item": 80,
+          "m_iExternalItemProviderRegisteredToken": 1176,
+          "m_ullRegisteredAsItemID": 1184
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_Item",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          }
+        ],
+        "parent": "CAttributeManager"
+      },
+      "C_BarnLight": {
+        "fields": {
+          "m_Color": 3376,
+          "m_LightStyleEvents": 3456,
+          "m_LightStyleString": 3416,
+          "m_LightStyleTargets": 3480,
+          "m_QueuedLightStyleStrings": 3432,
+          "m_StyleEvent": 3504,
+          "m_VisClusters": 4176,
+          "m_bContactShadow": 3748,
+          "m_bEnabled": 3368,
+          "m_bFogMixedShadows": 3796,
+          "m_bInitialBoneSetup": 4168,
+          "m_bPrecomputedFieldsValid": 3816,
+          "m_fAlternateColorBrightness": 3776,
+          "m_flBounceScale": 3756,
+          "m_flBrightness": 3384,
+          "m_flBrightnessScale": 3388,
+          "m_flColorTemperature": 3380,
+          "m_flFadeSizeEnd": 3804,
+          "m_flFadeSizeStart": 3800,
+          "m_flFogScale": 3792,
+          "m_flFogStrength": 3784,
+          "m_flLightStyleStartTime": 3424,
+          "m_flLuminaireAnisotropy": 3408,
+          "m_flLuminaireSize": 3404,
+          "m_flMinRoughness": 3760,
+          "m_flRange": 3704,
+          "m_flShadowFadeSizeEnd": 3812,
+          "m_flShadowFadeSizeStart": 3808,
+          "m_flShape": 3672,
+          "m_flSkirt": 3684,
+          "m_flSkirtNear": 3688,
+          "m_flSoftX": 3676,
+          "m_flSoftY": 3680,
+          "m_hLightCookie": 3664,
+          "m_nBakeSpecularToCubemaps": 3720,
+          "m_nBakedShadowIndex": 3396,
+          "m_nBounceLight": 3752,
+          "m_nCastShadows": 3736,
+          "m_nColorMode": 3372,
+          "m_nDirectLight": 3392,
+          "m_nFog": 3780,
+          "m_nFogShadows": 3788,
+          "m_nLuminaireShape": 3400,
+          "m_nPrecomputedSubFrusta": 3880,
+          "m_nShadowMapSize": 3740,
+          "m_nShadowPriority": 3744,
+          "m_vAlternateColor": 3764,
+          "m_vBakeSpecularToCubemapsSize": 3724,
+          "m_vPrecomputedBoundsMaxs": 3832,
+          "m_vPrecomputedBoundsMins": 3820,
+          "m_vPrecomputedOBBAngles": 3856,
+          "m_vPrecomputedOBBAngles0": 3896,
+          "m_vPrecomputedOBBAngles1": 3932,
+          "m_vPrecomputedOBBAngles2": 3968,
+          "m_vPrecomputedOBBAngles3": 4004,
+          "m_vPrecomputedOBBAngles4": 4040,
+          "m_vPrecomputedOBBAngles5": 4076,
+          "m_vPrecomputedOBBExtent": 3868,
+          "m_vPrecomputedOBBExtent0": 3908,
+          "m_vPrecomputedOBBExtent1": 3944,
+          "m_vPrecomputedOBBExtent2": 3980,
+          "m_vPrecomputedOBBExtent3": 4016,
+          "m_vPrecomputedOBBExtent4": 4052,
+          "m_vPrecomputedOBBExtent5": 4088,
+          "m_vPrecomputedOBBOrigin": 3844,
+          "m_vPrecomputedOBBOrigin0": 3884,
+          "m_vPrecomputedOBBOrigin1": 3920,
+          "m_vPrecomputedOBBOrigin2": 3956,
+          "m_vPrecomputedOBBOrigin3": 3992,
+          "m_vPrecomputedOBBOrigin4": 4028,
+          "m_vPrecomputedOBBOrigin5": 4064,
+          "m_vShear": 3708,
+          "m_vSizeParams": 3692
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nColorMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flColorTemperature",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nDirectLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nBakedShadowIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nLuminaireShape",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flLuminaireSize",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flLuminaireAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_LightStyleString",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_flLightStyleStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_QueuedLightStyleStrings",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_LightStyleEvents",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_LightStyleTargets",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseModelEntity>"
+          },
+          {
+            "name": "m_hLightCookie",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_flShape",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSoftX",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSoftY",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSkirt",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSkirtNear",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vSizeParams",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vShear",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nBakeSpecularToCubemaps",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vBakeSpecularToCubemapsSize",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nCastShadows",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowMapSize",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bContactShadow",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nBounceLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flBounceScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinRoughness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vAlternateColor",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_fAlternateColorBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFog",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFogShadows",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bFogMixedShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFadeSizeStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeSizeEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeSizeStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeSizeEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bPrecomputedFieldsValid",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nPrecomputedSubFrusta",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin0",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles0",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent0",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin1",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles1",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent1",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin2",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles2",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent2",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin3",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles3",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent3",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin4",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles4",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent4",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin5",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles5",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent5",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_VisClusters",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_BaseButton": {
+        "fields": {
+          "m_glowEntity": 3368,
+          "m_szDisplayText": 3376,
+          "m_usable": 3372
+        },
+        "metadata": [
+          {
+            "name": "m_glowEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseModelEntity>"
+          },
+          {
+            "name": "m_usable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szDisplayText",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "C_BaseToggle"
+      },
+      "C_BaseCSGrenade": {
+        "fields": {
+          "m_bClientPredictDelete": 6944,
+          "m_bIsHeldByPlayer": 6946,
+          "m_bJumpThrow": 6948,
+          "m_bJustPulledPin": 6972,
+          "m_bPinPulled": 6947,
+          "m_bRedraw": 6945,
+          "m_bThrowAnimating": 6949,
+          "m_fDropTime": 6964,
+          "m_fPinPullTime": 6968,
+          "m_fThrowTime": 6952,
+          "m_flNextHoldFrac": 6980,
+          "m_flThrowStrength": 6956,
+          "m_flThrowStrengthApproach": 6960,
+          "m_hSwitchToWeaponAfterThrow": 6984,
+          "m_nNextHoldTick": 6976
+        },
+        "metadata": [
+          {
+            "name": "m_bRedraw",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsHeldByPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPinPulled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bJumpThrow",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bThrowAnimating",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fThrowTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flThrowStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flThrowStrengthApproach",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fDropTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_fPinPullTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bJustPulledPin",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nNextHoldTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flNextHoldFrac",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_hSwitchToWeaponAfterThrow",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSWeaponBase>"
+          }
+        ],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_BaseCSGrenadeProjectile": {
+        "fields": {
+          "flNextTrailLineTime": 4536,
+          "m_arrTrajectoryTrailPointCreationTimes": 4584,
+          "m_arrTrajectoryTrailPoints": 4560,
+          "m_bCanCreateGrenadeTrail": 4541,
+          "m_bExplodeEffectBegan": 4540,
+          "m_flSpawnTime": 4520,
+          "m_flTrajectoryTrailEffectCreationTime": 4608,
+          "m_hSnapshotTrajectoryParticleSnapshot": 4552,
+          "m_nBounces": 4488,
+          "m_nExplodeEffectIndex": 4496,
+          "m_nExplodeEffectTickBegin": 4504,
+          "m_nSnapshotTrajectoryEffectIndex": 4544,
+          "m_vInitialPosition": 4464,
+          "m_vInitialVelocity": 4476,
+          "m_vecExplodeEffectOrigin": 4508,
+          "vecLastTrailLinePos": 4524
+        },
+        "metadata": [
+          {
+            "name": "m_vInitialPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vInitialVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nBounces",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nExplodeEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinitionStrong"
+          },
+          {
+            "name": "m_nExplodeEffectTickBegin",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vecExplodeEffectOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_BaseGrenade"
+      },
+      "C_BaseClientUIEntity": {
+        "fields": {
+          "m_DialogXMLName": 3384,
+          "m_PanelClassName": 3392,
+          "m_PanelID": 3400,
+          "m_bEnabled": 3376
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_DialogXMLName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_PanelClassName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_PanelID",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_BaseCombatCharacter": {
+        "fields": {
+          "m_flWaterNextTraceTime": 4420,
+          "m_flWaterWorldZ": 4416,
+          "m_hMyWearables": 4384,
+          "m_leftFootAttachment": 4408,
+          "m_nWaterWakeMode": 4412,
+          "m_rightFootAttachment": 4409
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_hMyWearables",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_EconWearable>"
+          }
+        ],
+        "parent": "C_BaseFlex"
+      },
+      "C_BaseDoor": {
+        "fields": {
+          "m_bIsUsable": 3368
+        },
+        "metadata": [
+          {
+            "name": "m_bIsUsable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseToggle"
+      },
+      "C_BaseEntity": {
+        "fields": {
+          "m_CBodyComponent": 56,
+          "m_DataChangeEventRef": 1316,
+          "m_EntClientFlags": 992,
+          "m_ListEntry": 960,
+          "m_MoveCollide": 1092,
+          "m_MoveType": 1093,
+          "m_NetworkTransmitComponent": 64,
+          "m_Particles": 1176,
+          "m_aThinkFunctions": 912,
+          "m_bAnimTimeChanged": 1357,
+          "m_bAnimatedEveryTick": 1128,
+          "m_bApplyLayerMatchIDToModel": 883,
+          "m_bClientSideRagdoll": 994,
+          "m_bDisabledContextThinks": 936,
+          "m_bHasAddedVarsToInterpolation": 950,
+          "m_bHasSuccessfullyInterpolated": 949,
+          "m_bInterpolateEvenWithNoModel": 881,
+          "m_bPredictable": 1153,
+          "m_bPredictionEligible": 882,
+          "m_bRenderEvenWhenNotSuccessfullyInterpolated": 951,
+          "m_bRenderWithViewModels": 1154,
+          "m_bSimulationTimeChanged": 1358,
+          "m_bTakesDamage": 841,
+          "m_dependencies": 1320,
+          "m_fBBoxVisFlags": 1152,
+          "m_fEffects": 1100,
+          "m_fFlags": 1004,
+          "m_flAnimTime": 940,
+          "m_flCreateTime": 984,
+          "m_flElasticity": 1116,
+          "m_flFriction": 1112,
+          "m_flGravityScale": 1120,
+          "m_flNavIgnoreUntilTime": 1132,
+          "m_flProxyRandomValue": 872,
+          "m_flSimulationTime": 944,
+          "m_flSpeed": 988,
+          "m_flTimeScale": 1124,
+          "m_flWaterLevel": 1096,
+          "m_hEffectEntity": 1084,
+          "m_hGroundEntity": 1104,
+          "m_hOldMoveParent": 1168,
+          "m_hOwnerEntity": 1088,
+          "m_hSceneObjectController": 860,
+          "m_hThink": 1136,
+          "m_iCurrentThinkContext": 908,
+          "m_iEFlags": 876,
+          "m_iHealth": 836,
+          "m_iMaxHealth": 832,
+          "m_iTeamNum": 995,
+          "m_lifeState": 840,
+          "m_nActualMoveType": 1094,
+          "m_nBloodType": 1376,
+          "m_nCreationTick": 1344,
+          "m_nFirstPredictableCommand": 1160,
+          "m_nGroundBodyIndex": 1108,
+          "m_nInterpolationLatchDirtyFlags": 952,
+          "m_nLastPredictableCommand": 1164,
+          "m_nLastThinkTick": 800,
+          "m_nNextScriptVarRecordID": 1288,
+          "m_nNextThinkTick": 1000,
+          "m_nNoInterpolationTick": 864,
+          "m_nPlatformType": 856,
+          "m_nSceneObjectOverrideFlags": 948,
+          "m_nSimulationTick": 904,
+          "m_nSplitUserPlayerPredictionSlot": 1156,
+          "m_nSubclassID": 888,
+          "m_nTakeDamageFlags": 848,
+          "m_nVisibilityNoInterpolationTick": 868,
+          "m_nWaterType": 880,
+          "m_pCollision": 824,
+          "m_pGameSceneNode": 808,
+          "m_pRenderComponent": 816,
+          "m_sUniqueHammerID": 1368,
+          "m_spawnflags": 996,
+          "m_tokLayerMatchID": 884,
+          "m_ubInterpolationFrame": 857,
+          "m_vecAbsVelocity": 1008,
+          "m_vecAngVelocity": 1304,
+          "m_vecBaseVelocity": 1072,
+          "m_vecPredictedScriptFloatIDs": 1240,
+          "m_vecPredictedScriptFloats": 1216,
+          "m_vecVelocity": 1024
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_CBodyComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CBodyComponent::Storage_t"
+          },
+          {
+            "name": "m_iMaxHealth",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iHealth",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_lifeState",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_bTakesDamage",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nTakeDamageFlags",
+            "type": "NetworkVarNames",
+            "type_name": "TakeDamageFlags_t"
+          },
+          {
+            "name": "m_nPlatformType",
+            "type": "NetworkVarNames",
+            "type_name": "EntityPlatformTypes_t"
+          },
+          {
+            "name": "m_ubInterpolationFrame",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nSubclassID",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySubclassID_t"
+          },
+          {
+            "name": "m_flAnimTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flSimulationTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flCreateTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bClientSideRagdoll",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iTeamNum",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_spawnflags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nNextThinkTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_fFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_vecBaseVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_hEffectEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hOwnerEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_MoveCollide",
+            "type": "NetworkVarNames",
+            "type_name": "MoveCollide_t"
+          },
+          {
+            "name": "m_MoveType",
+            "type": "NetworkVarNames",
+            "type_name": "MoveType_t"
+          },
+          {
+            "name": "m_flWaterLevel",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fEffects",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_hGroundEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nGroundBodyIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFriction",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flElasticity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flGravityScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flTimeScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bAnimatedEveryTick",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flNavIgnoreUntilTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nBloodType",
+            "type": "NetworkVarNames",
+            "type_name": "BloodType"
+          }
+        ],
+        "parent": "CEntityInstance"
+      },
+      "C_BaseEntityAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "C_BaseFire": {
+        "fields": {
+          "m_flScale": 1384,
+          "m_flScaleTime": 1392,
+          "m_flStartScale": 1388,
+          "m_nFlags": 1396
+        },
+        "metadata": [
+          {
+            "name": "m_flScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flStartScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flScaleTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_BaseFlex": {
+        "fields": {
+          "m_CachedViewTarget": 4140,
+          "m_PhonemeClasses": 4288,
+          "m_bResetFlexWeightsOnModelChange": 4182,
+          "m_blinktime": 4160,
+          "m_blinktoggle": 4040,
+          "m_flBlinkAmount": 4176,
+          "m_flJawOpenAmount": 4172,
+          "m_flexWeight": 3992,
+          "m_iBlink": 4156,
+          "m_iEyeAttachment": 4181,
+          "m_iJawOpen": 4168,
+          "m_iMouthAttachment": 4180,
+          "m_mEyeOcclusionRendererCameraToBoneTransform": 4212,
+          "m_nEyeOcclusionRendererBone": 4208,
+          "m_nLastFlexUpdateFrameCount": 4136,
+          "m_nNextSceneEventId": 4152,
+          "m_prevblinktoggle": 4164,
+          "m_vEyeOcclusionRendererHalfExtent": 4260,
+          "m_vLookTargetPosition": 4016
+        },
+        "metadata": [
+          {
+            "name": "m_flexWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_blinktoggle",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_BaseFlex__Emphasized_Phoneme": {
+        "fields": {
+          "m_bBasechecked": 29,
+          "m_bRequired": 28,
+          "m_bValid": 30,
+          "m_flAmount": 24,
+          "m_sClassName": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "C_BaseGrenade": {
+        "fields": {
+          "m_DmgRadius": 4388,
+          "m_ExplosionSound": 4416,
+          "m_bHasWarnedAI": 4384,
+          "m_bIsLive": 4386,
+          "m_bIsSmokeGrenade": 4385,
+          "m_flDamage": 4400,
+          "m_flDetonateTime": 4392,
+          "m_flNextAttack": 4452,
+          "m_flWarnAITime": 4396,
+          "m_hOriginalThrower": 4456,
+          "m_hThrower": 4428,
+          "m_iszBounceSound": 4408
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bIsLive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_DmgRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flDetonateTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flDamage",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hThrower",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          }
+        ],
+        "parent": "C_BaseFlex"
+      },
+      "C_BaseModelEntity": {
+        "fields": {
+          "m_CHitboxComponent": 2648,
+          "m_CRenderComponent": 2640,
+          "m_ClientOverrideTint": 3304,
+          "m_Collision": 2896,
+          "m_ConfigEntitiesToPropagateMaterialDecalsTo": 3224,
+          "m_Glow": 3072,
+          "m_LastHitGroup": 2688,
+          "m_bAllowFadeInView": 2746,
+          "m_bInitModelEffects": 2728,
+          "m_bIsStaticProp": 2729,
+          "m_bNoInterpolate": 2889,
+          "m_bRenderToCubemaps": 2888,
+          "m_bUseClientOverrideTint": 3308,
+          "m_clrRender": 2776,
+          "m_fadeMaxDist": 3168,
+          "m_fadeMinDist": 3164,
+          "m_flDecalHealBloodRate": 3212,
+          "m_flDecalHealHeightRate": 3216,
+          "m_flFadeScale": 3172,
+          "m_flGlowBackfaceMult": 3160,
+          "m_flShadowStrength": 3176,
+          "m_iOldHealth": 2740,
+          "m_nAddDecal": 3184,
+          "m_nDecalsAdded": 2736,
+          "m_nLastAddDecal": 2732,
+          "m_nObjectCulling": 3180,
+          "m_nRenderFX": 2745,
+          "m_nRenderMode": 2744,
+          "m_pClientAlphaProperty": 3296,
+          "m_vDecalForwardAxis": 3200,
+          "m_vDecalPosition": 3188,
+          "m_vecRenderAttributes": 2784,
+          "m_vecViewOffset": 3248
+        },
+        "metadata": [
+          {
+            "name": "m_CRenderComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CRenderComponent::Storage_t"
+          },
+          {
+            "name": "m_CHitboxComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CHitboxComponent::Storage_t"
+          },
+          {
+            "name": "m_nRenderMode",
+            "type": "NetworkVarNames",
+            "type_name": "RenderMode_t"
+          },
+          {
+            "name": "m_nRenderFX",
+            "type": "NetworkVarNames",
+            "type_name": "RenderFx_t"
+          },
+          {
+            "name": "m_clrRender",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_vecRenderAttributes",
+            "type": "NetworkVarNames",
+            "type_name": "EntityRenderAttribute_t"
+          },
+          {
+            "name": "m_bRenderToCubemaps",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoInterpolate",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Collision",
+            "type": "NetworkVarNames",
+            "type_name": "CCollisionProperty"
+          },
+          {
+            "name": "m_Glow",
+            "type": "NetworkVarNames",
+            "type_name": "CGlowProperty"
+          },
+          {
+            "name": "m_flGlowBackfaceMult",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fadeMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fadeMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flShadowStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nObjectCulling",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nAddDecal",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vDecalPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDecalForwardAxis",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flDecalHealBloodRate",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDecalHealHeightRate",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_ConfigEntitiesToPropagateMaterialDecalsTo",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseModelEntity>"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_BasePlayerPawn": {
+        "fields": {
+          "m_ServerViewAngleChanges": 4600,
+          "m_bIsSwappingToPredictableController": 4928,
+          "m_flDeathTime": 4856,
+          "m_flFOVSensitivityAdjust": 4892,
+          "m_flLastCameraSetupTime": 4888,
+          "m_flMouseSensitivity": 4896,
+          "m_flOldSimulationTime": 4912,
+          "m_flPredictionErrorTime": 4872,
+          "m_hController": 4924,
+          "m_iHideHUD": 4708,
+          "m_nHighestConsumedServerViewAngleChangeIndex": 4680,
+          "m_nLastExecutedCommandNumber": 4916,
+          "m_nLastExecutedCommandTick": 4920,
+          "m_pAutoaimServices": 4536,
+          "m_pCameraServices": 4576,
+          "m_pFlashlightServices": 4568,
+          "m_pItemServices": 4528,
+          "m_pMovementServices": 4584,
+          "m_pObserverServices": 4544,
+          "m_pUseServices": 4560,
+          "m_pWaterServices": 4552,
+          "m_pWeaponServices": 4520,
+          "m_skybox3d": 4712,
+          "m_vOldOrigin": 4900,
+          "m_vecLastCameraSetupLocalOrigin": 4876,
+          "m_vecPredictionError": 4860,
+          "v_angle": 4684,
+          "v_anglePrevious": 4696
+        },
+        "metadata": [
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pWeaponServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_WeaponServices*"
+          },
+          {
+            "name": "m_pItemServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_ItemServices*"
+          },
+          {
+            "name": "m_pAutoaimServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_AutoaimServices*"
+          },
+          {
+            "name": "m_pObserverServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_ObserverServices*"
+          },
+          {
+            "name": "m_pWaterServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_WaterServices*"
+          },
+          {
+            "name": "m_pUseServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_UseServices*"
+          },
+          {
+            "name": "m_pFlashlightServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_FlashlightServices*"
+          },
+          {
+            "name": "m_pCameraServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_CameraServices*"
+          },
+          {
+            "name": "m_pMovementServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_MovementServices*"
+          },
+          {
+            "name": "m_ServerViewAngleChanges",
+            "type": "NetworkVarNames",
+            "type_name": "ViewAngleServerChange_t"
+          },
+          {
+            "name": "m_iHideHUD",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_skybox3d",
+            "type": "NetworkVarNames",
+            "type_name": "sky3dparams_t"
+          },
+          {
+            "name": "m_flDeathTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_hController",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerController>"
+          }
+        ],
+        "parent": "C_BaseCombatCharacter"
+      },
+      "C_BasePlayerWeapon": {
+        "fields": {
+          "m_flNextPrimaryAttackTickRatio": 5740,
+          "m_flNextSecondaryAttackTickRatio": 5748,
+          "m_iClip1": 5752,
+          "m_iClip2": 5756,
+          "m_nNextPrimaryAttackTick": 5736,
+          "m_nNextSecondaryAttackTick": 5744,
+          "m_pReserveAmmo": 5760
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nNextPrimaryAttackTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flNextPrimaryAttackTickRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nNextSecondaryAttackTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flNextSecondaryAttackTickRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_iClip1",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iClip2",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_pReserveAmmo",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_EconEntity"
+      },
+      "C_BasePropDoor": {
+        "fields": {
+          "m_bLocked": 4669,
+          "m_closedAngles": 4684,
+          "m_closedPosition": 4672,
+          "m_eDoorState": 4664,
+          "m_hMaster": 4696,
+          "m_modelChanged": 4668,
+          "m_vWhereToSetLightingOrigin": 4700
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_eDoorState",
+            "type": "NetworkVarNames",
+            "type_name": "DoorState_t"
+          },
+          {
+            "name": "m_bLocked",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_closedPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_closedAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_hMaster",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BasePropDoor>"
+          }
+        ],
+        "parent": "C_DynamicProp"
+      },
+      "C_BaseToggle": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_BaseTrigger": {
+        "fields": {
+          "m_bClientSidePredicted": 3369,
+          "m_bDisabled": 3368
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bClientSidePredicted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseToggle"
+      },
+      "C_BaseViewModel": {
+        "fields": {
+          "m_flAnimationStartTime": 4004,
+          "m_hControlPanel": 4072,
+          "m_hOldLayerSequence": 4060,
+          "m_hWeapon": 4008,
+          "m_iCameraAttachment": 4032,
+          "m_nAnimationParity": 4000,
+          "m_nOldAnimationParity": 4056,
+          "m_nViewModelIndex": 3996,
+          "m_oldLayer": 4064,
+          "m_oldLayerStartTime": 4068,
+          "m_previousCycle": 4052,
+          "m_previousElapsedDuration": 4048,
+          "m_sAnimationPrefix": 4024,
+          "m_sVMName": 4016,
+          "m_vecLastCameraAngles": 4036,
+          "m_vecLastFacing": 3984
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nViewModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nAnimationParity",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flAnimationStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_hControlPanel",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_Beam": {
+        "fields": {
+          "m_bTurnedOff": 3536,
+          "m_fAmplitude": 3516,
+          "m_fEndWidth": 3504,
+          "m_fFadeLength": 3508,
+          "m_fHaloScale": 3512,
+          "m_fSpeed": 3524,
+          "m_fStartFrame": 3520,
+          "m_fWidth": 3500,
+          "m_flDamage": 3380,
+          "m_flFireTime": 3376,
+          "m_flFrame": 3528,
+          "m_flFrameRate": 3368,
+          "m_flHDRColorScale": 3372,
+          "m_hAttachEntity": 3448,
+          "m_hBaseMaterial": 3424,
+          "m_hEndEntity": 3552,
+          "m_nAttachIndex": 3488,
+          "m_nBeamFlags": 3444,
+          "m_nBeamType": 3440,
+          "m_nClipStyle": 3532,
+          "m_nHaloIndex": 3432,
+          "m_nNumBeamEnts": 3384,
+          "m_queryHandleHalo": 3388,
+          "m_vecEndPos": 3540
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flFrameRate",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nNumBeamEnts",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hBaseMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_nHaloIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_nBeamType",
+            "type": "NetworkVarNames",
+            "type_name": "BeamType_t"
+          },
+          {
+            "name": "m_nBeamFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_hAttachEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nAttachIndex",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_fWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fEndWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fFadeLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fHaloScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fAmplitude",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fStartFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nClipStyle",
+            "type": "NetworkVarNames",
+            "type_name": "BeamClipStyle_t"
+          },
+          {
+            "name": "m_bTurnedOff",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecEndPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_Breakable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_BreakableProp": {
+        "fields": {
+          "m_BreakableContentsType": 4264,
+          "m_CPropDataComponent": 4040,
+          "m_OnBreak": 4104,
+          "m_OnHealthChanged": 4144,
+          "m_OnTakeDamage": 4184,
+          "m_PerformanceMode": 4256,
+          "m_bHasBreakPiecesOrCommands": 4288,
+          "m_explodeDamage": 4292,
+          "m_explodeRadius": 4296,
+          "m_explosionBuildupSound": 4312,
+          "m_explosionCustomEffect": 4320,
+          "m_explosionCustomSound": 4328,
+          "m_explosionDelay": 4304,
+          "m_explosionModifier": 4336,
+          "m_flDefBurstScale": 4236,
+          "m_flDefaultFadeScale": 4352,
+          "m_flLastPhysicsInfluenceTime": 4348,
+          "m_flPressureDelay": 4232,
+          "m_flPreventDamageBeforeTime": 4260,
+          "m_hBreaker": 4252,
+          "m_hFlareEnt": 4360,
+          "m_hLastAttacker": 4356,
+          "m_hPhysicsAttacker": 4344,
+          "m_iMinHealthDmg": 4228,
+          "m_impactEnergyScale": 4224,
+          "m_noGhostCollision": 4364,
+          "m_strBreakableContentsParticleOverride": 4280,
+          "m_strBreakableContentsPropGroupOverride": 4272,
+          "m_vDefBurstOffset": 4240
+        },
+        "metadata": [
+          {
+            "name": "m_CPropDataComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CPropDataComponent::Storage_t"
+          },
+          {
+            "name": "m_noGhostCollision",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseProp"
+      },
+      "C_BulletHitModel": {
+        "fields": {
+          "m_bIsHit": 4032,
+          "m_flTimeCreated": 4036,
+          "m_hPlayerParent": 4028,
+          "m_iBoneIndex": 4024,
+          "m_matLocal": 3976,
+          "m_vecStartPos": 4040
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_C4": {
+        "fields": {
+          "m_activeLightParticleIndex": 6976,
+          "m_bBombPlacedAnimation": 6992,
+          "m_bBombPlanted": 7035,
+          "m_bIsPlantingViaUse": 6993,
+          "m_bPlayedArmingBeeps": 7028,
+          "m_bStartedArming": 6984,
+          "m_eActiveLightEffect": 6980,
+          "m_entitySpottedState": 7000,
+          "m_fArmedTime": 6988,
+          "m_nSpotRules": 7024,
+          "m_szScreenText": 6944
+        },
+        "metadata": [
+          {
+            "name": "m_bStartedArming",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fArmedTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bBombPlacedAnimation",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsPlantingViaUse",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          }
+        ],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_CS2WeaponModuleBase": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_CSGOViewModel": {
+        "fields": {
+          "m_bNeedToQueueHighResComposite": 4136,
+          "m_bShouldIgnoreOffsetAndAccuracy": 4129,
+          "m_nLastKnownAssociatedWeaponEntIndex": 4132,
+          "m_vLoweredWeaponOffset": 4216
+        },
+        "metadata": [
+          {
+            "name": "m_bShouldIgnoreOffsetAndAccuracy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_PredictedViewModel"
+      },
+      "C_CSGO_CounterTerroristTeamIntroCamera": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCamera"
+      },
+      "C_CSGO_CounterTerroristWingmanIntroCamera": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCamera"
+      },
+      "C_CSGO_EndOfMatchCamera": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCamera"
+      },
+      "C_CSGO_EndOfMatchCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCharacterPosition"
+      },
+      "C_CSGO_EndOfMatchLineupEnd": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_EndOfMatchLineupEndpoint"
+      },
+      "C_CSGO_EndOfMatchLineupEndpoint": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_CSGO_EndOfMatchLineupStart": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_EndOfMatchLineupEndpoint"
+      },
+      "C_CSGO_MapPreviewCameraPath": {
+        "fields": {
+          "m_bConstantSpeed": 1394,
+          "m_bLoop": 1392,
+          "m_bVerticalFOV": 1393,
+          "m_flDuration": 1396,
+          "m_flPathDuration": 1468,
+          "m_flPathLength": 1464,
+          "m_flZFar": 1384,
+          "m_flZNear": 1388
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_CSGO_MapPreviewCameraPathNode": {
+        "fields": {
+          "m_flCameraSpeed": 1424,
+          "m_flEaseIn": 1428,
+          "m_flEaseOut": 1432,
+          "m_flFOV": 1420,
+          "m_nPathIndex": 1392,
+          "m_szParentPathUniqueID": 1384,
+          "m_vInTangentLocal": 1396,
+          "m_vInTangentWorld": 1436,
+          "m_vOutTangentLocal": 1408,
+          "m_vOutTangentWorld": 1448
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_CSGO_PreviewModel": {
+        "fields": {
+          "m_animgraph": 4384,
+          "m_animgraphCharacterModeString": 4392,
+          "m_defaultAnim": 4400,
+          "m_flInitialModelScale": 4412,
+          "m_nDefaultAnimLoopMode": 4408,
+          "m_sInitialWeaponState": 4416
+        },
+        "metadata": [],
+        "parent": "C_BaseFlex"
+      },
+      "C_CSGO_PreviewModelAlias_csgo_item_previewmodel": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_PreviewModel"
+      },
+      "C_CSGO_PreviewPlayer": {
+        "fields": {
+          "m_animgraph": 14912,
+          "m_animgraphCharacterModeString": 14920,
+          "m_flInitialModelScale": 14928
+        },
+        "metadata": [],
+        "parent": "C_CSPlayerPawn"
+      },
+      "C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_PreviewPlayer"
+      },
+      "C_CSGO_TeamIntroCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCharacterPosition"
+      },
+      "C_CSGO_TeamIntroCounterTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamIntroCharacterPosition"
+      },
+      "C_CSGO_TeamIntroTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamIntroCharacterPosition"
+      },
+      "C_CSGO_TeamPreviewCamera": {
+        "fields": {
+          "m_bDofEnabled": 1500,
+          "m_flDofFarBlurry": 1516,
+          "m_flDofFarCrisp": 1512,
+          "m_flDofNearBlurry": 1504,
+          "m_flDofNearCrisp": 1508,
+          "m_flDofTiltToGround": 1520,
+          "m_nVariant": 1496
+        },
+        "metadata": [],
+        "parent": "C_CSGO_MapPreviewCameraPath"
+      },
+      "C_CSGO_TeamPreviewCharacterPosition": {
+        "fields": {
+          "m_agentItem": 1416,
+          "m_glovesItem": 2512,
+          "m_nOrdinal": 1392,
+          "m_nRandom": 1388,
+          "m_nVariant": 1384,
+          "m_sWeaponName": 1400,
+          "m_weaponItem": 3608,
+          "m_xuid": 1408
+        },
+        "metadata": [
+          {
+            "name": "m_nVariant",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRandom",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nOrdinal",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_sWeaponName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_xuid",
+            "type": "NetworkVarNames",
+            "type_name": "XUID"
+          },
+          {
+            "name": "m_agentItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          },
+          {
+            "name": "m_glovesItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          },
+          {
+            "name": "m_weaponItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_CSGO_TeamPreviewModel": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_PreviewPlayer"
+      },
+      "C_CSGO_TeamSelectCamera": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCamera"
+      },
+      "C_CSGO_TeamSelectCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCharacterPosition"
+      },
+      "C_CSGO_TeamSelectCounterTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamSelectCharacterPosition"
+      },
+      "C_CSGO_TeamSelectTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamSelectCharacterPosition"
+      },
+      "C_CSGO_TerroristTeamIntroCamera": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCamera"
+      },
+      "C_CSGO_TerroristWingmanIntroCamera": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSGO_TeamPreviewCamera"
+      },
+      "C_CSGameRules": {
+        "fields": {
+          "m_MatchDevice": 168,
+          "m_MinimapVerticalSectionHeights": 3128,
+          "m_RetakeRules": 3504,
+          "m_TeamRespawnWaveTimes": 2844,
+          "m_arrProhibitedItemIndices": 2244,
+          "m_arrTournamentActiveCasterAccounts": 2444,
+          "m_bAnyHostageReached": 148,
+          "m_bBombDropped": 2468,
+          "m_bBombPlanted": 2469,
+          "m_bCTCantBuy": 2481,
+          "m_bCTTimeOutActive": 78,
+          "m_bFreezePeriod": 64,
+          "m_bGameRestart": 116,
+          "m_bHasMatchStarted": 172,
+          "m_bHasTriggeredRoundStartMusic": 3468,
+          "m_bIsDroppingItems": 2240,
+          "m_bIsHltvActive": 2242,
+          "m_bIsQuestEligible": 2241,
+          "m_bIsQueuedMatchmaking": 152,
+          "m_bIsValveDS": 160,
+          "m_bLogoMap": 161,
+          "m_bMapHasBombTarget": 149,
+          "m_bMapHasBuyZone": 151,
+          "m_bMapHasRescueZone": 150,
+          "m_bMarkClientStopRecordAtRoundEnd": 3296,
+          "m_bMatchWaitingForResume": 97,
+          "m_bPlayAllStepSoundsOnServer": 162,
+          "m_bRoundEndNoMusic": 3852,
+          "m_bRoundEndShowTimerDefend": 3808,
+          "m_bServerPaused": 76,
+          "m_bSpawnedTerrorHuntHeavy": 3160,
+          "m_bSwitchingTeamsAtRoundReset": 3469,
+          "m_bTCantBuy": 2480,
+          "m_bTeamIntroPeriod": 3796,
+          "m_bTechnicalTimeOut": 96,
+          "m_bTerroristTimeOutActive": 77,
+          "m_bWarmupPeriod": 65,
+          "m_eRoundEndReason": 3804,
+          "m_eRoundWinReason": 2476,
+          "m_fMatchStartTime": 104,
+          "m_fRoundStartTime": 108,
+          "m_fWarmupPeriodEnd": 68,
+          "m_fWarmupPeriodStart": 72,
+          "m_flCMMItemDropRevealEndTime": 2236,
+          "m_flCMMItemDropRevealStartTime": 2232,
+          "m_flCTTimeOutRemaining": 84,
+          "m_flGameStartTime": 120,
+          "m_flLastPerfSampleTime": 20264,
+          "m_flNextRespawnWave": 2972,
+          "m_flRestartRoundTime": 112,
+          "m_flTerroristTimeOutRemaining": 80,
+          "m_gamePhase": 128,
+          "m_iHostagesRemaining": 144,
+          "m_iMatchStats_PlayersAlive_CT": 2604,
+          "m_iMatchStats_PlayersAlive_T": 2724,
+          "m_iMatchStats_RoundResults": 2484,
+          "m_iNumConsecutiveCTLoses": 3260,
+          "m_iNumConsecutiveTerroristLoses": 3264,
+          "m_iRoundEndFunFactData1": 3828,
+          "m_iRoundEndFunFactData2": 3832,
+          "m_iRoundEndFunFactData3": 3836,
+          "m_iRoundEndFunFactPlayerSlot": 3824,
+          "m_iRoundEndLegacy": 3856,
+          "m_iRoundEndPlayerCount": 3848,
+          "m_iRoundEndTimerTime": 3812,
+          "m_iRoundEndWinnerTeam": 3800,
+          "m_iRoundStartRoundNumber": 3864,
+          "m_iRoundTime": 100,
+          "m_iRoundWinStatus": 2472,
+          "m_iSpectatorSlotCount": 164,
+          "m_nCTTeamIntroVariant": 3792,
+          "m_nCTTimeOuts": 92,
+          "m_nEndMatchMapGroupVoteOptions": 3216,
+          "m_nEndMatchMapGroupVoteTypes": 3176,
+          "m_nEndMatchMapVoteWinner": 3256,
+          "m_nHalloweenMaskListSeed": 2464,
+          "m_nMatchAbortedEarlyReason": 3464,
+          "m_nMatchEndCount": 3784,
+          "m_nNextMapInMapgroup": 176,
+          "m_nOvertimePlaying": 140,
+          "m_nQueuedMatchmakingMode": 156,
+          "m_nRoundEndCount": 3860,
+          "m_nRoundStartCount": 3868,
+          "m_nRoundsPlayedThisPhase": 136,
+          "m_nServerQuestID": 3100,
+          "m_nTTeamIntroVariant": 3788,
+          "m_nTerroristTimeOuts": 88,
+          "m_nTournamentPredictionsPct": 2228,
+          "m_numBestOfMaps": 2460,
+          "m_pGameModeRules": 3496,
+          "m_sRoundEndFunFactToken": 3816,
+          "m_sRoundEndMessage": 3840,
+          "m_szMatchStatTxt": 1204,
+          "m_szTournamentEventName": 180,
+          "m_szTournamentEventStage": 692,
+          "m_szTournamentPredictionsTxt": 1716,
+          "m_timeUntilNextPhaseStarts": 124,
+          "m_totalRoundsPlayed": 132,
+          "m_ullLocalMatchID": 3168,
+          "m_vMinimapMaxs": 3116,
+          "m_vMinimapMins": 3104
+        },
+        "metadata": [
+          {
+            "name": "m_bFreezePeriod",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bWarmupPeriod",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fWarmupPeriodEnd",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_fWarmupPeriodStart",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bServerPaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bTerroristTimeOutActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCTTimeOutActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTerroristTimeOutRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flCTTimeOutRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nTerroristTimeOuts",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCTTimeOuts",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bTechnicalTimeOut",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMatchWaitingForResume",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundTime",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_fMatchStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fRoundStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flRestartRoundTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bGameRestart",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flGameStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_timeUntilNextPhaseStarts",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_gamePhase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_totalRoundsPlayed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRoundsPlayedThisPhase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nOvertimePlaying",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iHostagesRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bAnyHostageReached",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMapHasBombTarget",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMapHasRescueZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMapHasBuyZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsQueuedMatchmaking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nQueuedMatchmakingMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bIsValveDS",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLogoMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPlayAllStepSoundsOnServer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iSpectatorSlotCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_MatchDevice",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bHasMatchStarted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nNextMapInMapgroup",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_szTournamentEventName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szTournamentEventStage",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szMatchStatTxt",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szTournamentPredictionsTxt",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_nTournamentPredictionsPct",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flCMMItemDropRevealStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flCMMItemDropRevealEndTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsDroppingItems",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsQuestEligible",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsHltvActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_arrProhibitedItemIndices",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_arrTournamentActiveCasterAccounts",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_numBestOfMaps",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nHalloweenMaskListSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bBombDropped",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bBombPlanted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundWinStatus",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_eRoundWinReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bTCantBuy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCTCantBuy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iMatchStats_RoundResults",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMatchStats_PlayersAlive_CT",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMatchStats_PlayersAlive_T",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_TeamRespawnWaveTimes",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flNextRespawnWave",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nServerQuestID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vMinimapMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMinimapMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_MinimapVerticalSectionHeights",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nEndMatchMapGroupVoteTypes",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEndMatchMapGroupVoteOptions",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEndMatchMapVoteWinner",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumConsecutiveCTLoses",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumConsecutiveTerroristLoses",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMatchAbortedEarlyReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_pGameModeRules",
+            "type": "NetworkVarNames",
+            "type_name": "CCSGameModeRules*"
+          },
+          {
+            "name": "m_RetakeRules",
+            "type": "NetworkVarNames",
+            "type_name": "CRetakeGameRules"
+          },
+          {
+            "name": "m_nMatchEndCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nTTeamIntroVariant",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCTTeamIntroVariant",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bTeamIntroPeriod",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundEndWinnerTeam",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_eRoundEndReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRoundEndShowTimerDefend",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundEndTimerTime",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_sRoundEndFunFactToken",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_iRoundEndFunFactPlayerSlot",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayerSlot"
+          },
+          {
+            "name": "m_iRoundEndFunFactData1",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iRoundEndFunFactData2",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iRoundEndFunFactData3",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_sRoundEndMessage",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_iRoundEndPlayerCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRoundEndNoMusic",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundEndLegacy",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRoundEndCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_iRoundStartRoundNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRoundStartCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": "C_TeamplayRules"
+      },
+      "C_CSGameRulesProxy": {
+        "fields": {
+          "m_pGameRules": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_pGameRules",
+            "type": "NetworkVarNames",
+            "type_name": "C_CSGameRules*"
+          }
+        ],
+        "parent": "C_GameRulesProxy"
+      },
+      "C_CSMinimapBoundary": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_CSObserverPawn": {
+        "fields": {
+          "m_hDetectParentChange": 5392
+        },
+        "metadata": [
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_CSPlayerPawnBase"
+      },
+      "C_CSPlayerPawn": {
+        "fields": {
+          "m_ArmorValue": 9244,
+          "m_EconGloves": 5992,
+          "m_GunGameImmunityColor": 8976,
+          "m_PredictedDamageTags": 9400,
+          "m_RetakesMVPBoostExtraUtility": 5952,
+          "m_aimPunchAngle": 5508,
+          "m_aimPunchAngleVel": 5520,
+          "m_aimPunchCache": 5544,
+          "m_aimPunchTickBase": 5532,
+          "m_aimPunchTickFraction": 5536,
+          "m_angShootAngleHistory": 9324,
+          "m_angStashedShootAngles": 9288,
+          "m_bGrenadeParametersStashed": 9284,
+          "m_bHasDeathInfo": 9261,
+          "m_bHasFemaleVoice": 5456,
+          "m_bInBombZone": 5585,
+          "m_bInBuyZone": 5504,
+          "m_bInHostageRescueZone": 5584,
+          "m_bInLanding": 5576,
+          "m_bInNoDefuseArea": 9204,
+          "m_bIsBuyMenuOpen": 5586,
+          "m_bIsDefusing": 9194,
+          "m_bIsGrabbingHostage": 9195,
+          "m_bIsScoped": 9192,
+          "m_bIsWalking": 9080,
+          "m_bKilledByHeadshot": 9241,
+          "m_bLastHeadBoneTransformIsValid": 8848,
+          "m_bLeftHanded": 8897,
+          "m_bMustSyncRagdollState": 7089,
+          "m_bNeedToReApplyGloves": 5984,
+          "m_bOldIsScoped": 9260,
+          "m_bOnGroundLastTick": 8856,
+          "m_bPrevDefuser": 5486,
+          "m_bPrevHelmet": 5487,
+          "m_bPreviouslyInBuyZone": 5505,
+          "m_bRagdollDamageHeadshot": 7184,
+          "m_bResumeZoom": 9193,
+          "m_bRetakesHasDefuseKit": 5944,
+          "m_bRetakesMVPLastRound": 5945,
+          "m_bSkipOneHeadConstraintUpdate": 8896,
+          "m_bWaitForNoAttack": 9232,
+          "m_entitySpottedState": 9168,
+          "m_fSwitchedHandednessTime": 8900,
+          "m_flDeathInfoTime": 9264,
+          "m_flEmitSoundTime": 9200,
+          "m_flFlinchStack": 9216,
+          "m_flHealthShotBoostExpirationTime": 5448,
+          "m_flHitHeading": 9224,
+          "m_flLandingStartTime": 5580,
+          "m_flLandingTimeSeconds": 5460,
+          "m_flLastFiredWeaponTime": 5452,
+          "m_flNextSprayDecalTime": 5592,
+          "m_flOldFallVelocity": 5464,
+          "m_flSlopeDropHeight": 9128,
+          "m_flSlopeDropOffset": 9112,
+          "m_flTimeOfLastInjury": 5588,
+          "m_flVelocityModifier": 9220,
+          "m_flViewmodelFOV": 8916,
+          "m_flViewmodelOffsetX": 8904,
+          "m_flViewmodelOffsetY": 8908,
+          "m_flViewmodelOffsetZ": 8912,
+          "m_grenadeParameterStashTime": 9280,
+          "m_iBlockingUseActionInProgress": 9196,
+          "m_iRetakesMVPBoostItem": 5948,
+          "m_iRetakesOffering": 5936,
+          "m_iRetakesOfferingCard": 5940,
+          "m_iShotsFired": 9212,
+          "m_ignoreLadderJumpTime": 9236,
+          "m_lastLandTime": 8852,
+          "m_nEconGlovesChanged": 7088,
+          "m_nHighestAppliedDamageTagTick": 9484,
+          "m_nHitBodyPart": 9228,
+          "m_nLastKillerIndex": 9256,
+          "m_nPrevArmorVal": 5488,
+          "m_nPrevGrenadeAmmoCount": 5492,
+          "m_nPrevHighestReceivedDamageTagTick": 9480,
+          "m_nRagdollDamageBone": 7092,
+          "m_nWhichBombZone": 9208,
+          "m_pActionTrackingServices": 5432,
+          "m_pBulletServices": 5400,
+          "m_pBuyServices": 5416,
+          "m_pDamageReactServices": 5440,
+          "m_pGlowServices": 5424,
+          "m_pHostageServices": 5408,
+          "m_qDeathEyeAngles": 8884,
+          "m_szLastPlaceName": 5468,
+          "m_szRagdollDamageWeaponName": 7120,
+          "m_thirdPersonHeading": 9088,
+          "m_unCurrentEquipmentValue": 9248,
+          "m_unFreezetimeEndEquipmentValue": 9252,
+          "m_unPreviousWeaponHash": 5496,
+          "m_unRoundStartEquipmentValue": 9250,
+          "m_unWeaponHash": 5500,
+          "m_vHeadConstraintOffset": 9144,
+          "m_vRagdollDamageForce": 7096,
+          "m_vRagdollDamagePosition": 7108,
+          "m_vRagdollServerOrigin": 7188,
+          "m_vecBulletHitModels": 9056,
+          "m_vecDeathInfoOrigin": 9268,
+          "m_vecPlayerPatchEconIndices": 8920,
+          "m_vecStashedGrenadeThrowPosition": 9300,
+          "m_vecStashedVelocity": 9312,
+          "m_vecThrowPositionHistory": 9348,
+          "m_vecVelocityHistory": 9372
+        },
+        "metadata": [
+          {
+            "name": "m_pBulletServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_BulletServices*"
+          },
+          {
+            "name": "m_pHostageServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_HostageServices*"
+          },
+          {
+            "name": "m_pBuyServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_BuyServices*"
+          },
+          {
+            "name": "m_pGlowServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_GlowServices*"
+          },
+          {
+            "name": "m_pActionTrackingServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_ActionTrackingServices*"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flHealthShotBoostExpirationTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bHasFemaleVoice",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szLastPlaceName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bInBuyZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_aimPunchAngle",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_aimPunchAngleVel",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_aimPunchTickBase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_aimPunchTickFraction",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bInHostageRescueZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bInBombZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsBuyMenuOpen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimeOfLastInjury",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flNextSprayDecalTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iRetakesOffering",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iRetakesOfferingCard",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRetakesHasDefuseKit",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bRetakesMVPLastRound",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRetakesMVPBoostItem",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_RetakesMVPBoostExtraUtility",
+            "type": "NetworkVarNames",
+            "type_name": "loadout_slot_t"
+          },
+          {
+            "name": "m_EconGloves",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          },
+          {
+            "name": "m_nEconGlovesChanged",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nRagdollDamageBone",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vRagdollDamageForce",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vRagdollDamagePosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_szRagdollDamageWeaponName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bRagdollDamageHeadshot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vRagdollServerOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "MNetworkReplayCompatField",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_qDeathEyeAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_bLeftHanded",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fSwitchedHandednessTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flViewmodelOffsetX",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flViewmodelOffsetY",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flViewmodelOffsetZ",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flViewmodelFOV",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vecPlayerPatchEconIndices",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_GunGameImmunityColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_bIsWalking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          },
+          {
+            "name": "m_bIsScoped",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bResumeZoom",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsDefusing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsGrabbingHostage",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iBlockingUseActionInProgress",
+            "type": "NetworkVarNames",
+            "type_name": "CSPlayerBlockingUseAction_t"
+          },
+          {
+            "name": "m_flEmitSoundTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bInNoDefuseArea",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nWhichBombZone",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iShotsFired",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFlinchStack",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flVelocityModifier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHitHeading",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nHitBodyPart",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bWaitForNoAttack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bKilledByHeadshot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_ArmorValue",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_unCurrentEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_unRoundStartEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_unFreezetimeEndEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nLastKillerIndex",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityIndex"
+          },
+          {
+            "name": "m_PredictedDamageTags",
+            "type": "NetworkVarNames",
+            "type_name": "PredictedDamageTag_t"
+          }
+        ],
+        "parent": "C_CSPlayerPawnBase"
+      },
+      "C_CSPlayerPawnBase": {
+        "fields": {
+          "m_angEyeAngles": 5176,
+          "m_bCachedPlaneIsValid": 5021,
+          "m_bClipHitStaticWorld": 5020,
+          "m_bDeferStartMusicOnWarmup": 5284,
+          "m_bFlashBuildUp": 5124,
+          "m_bFlashDspHasBeenCleared": 5125,
+          "m_bFlashScreenshotHasBeenGrabbed": 5126,
+          "m_bGuardianShouldSprayCustomXMark": 5376,
+          "m_bGunGameImmunity": 5052,
+          "m_bHasMovedSinceSpawn": 5053,
+          "m_bIsRescuing": 5040,
+          "m_bScreenTearFrameCaptured": 5108,
+          "m_bShouldAutobuyDMWeapons": 5204,
+          "m_bShouldAutobuyNow": 5205,
+          "m_cycleLatch": 5288,
+          "m_delayTargetIDTimer": 5216,
+          "m_fImmuneToGunGameDamageTime": 5044,
+          "m_fImmuneToGunGameDamageTimeLast": 5048,
+          "m_fMolotovDamageTime": 5060,
+          "m_fMolotovUseTime": 5056,
+          "m_fNextThinkPushAway": 5200,
+          "m_fRenderingClipPlane": 4976,
+          "m_flClientDeathTime": 5104,
+          "m_flCurrentMusicStartTime": 5276,
+          "m_flDeathCCWeight": 5160,
+          "m_flFlashBangTime": 5112,
+          "m_flFlashDuration": 5132,
+          "m_flFlashMaxAlpha": 5128,
+          "m_flFlashOverlayAlpha": 5120,
+          "m_flFlashScreenshotAlpha": 5116,
+          "m_flHealthFadeAlpha": 5144,
+          "m_flHealthFadeValue": 5140,
+          "m_flLastSmokeAge": 5300,
+          "m_flLastSmokeOverlayAlpha": 5296,
+          "m_flLastSpawnTimeIndex": 5068,
+          "m_flMusicRoundStartTime": 5280,
+          "m_flNextMagDropTime": 5328,
+          "m_flPrevMatchEndTime": 5168,
+          "m_flPrevRoundEndTime": 5164,
+          "m_flProgressBarStartTime": 5076,
+          "m_hOriginalController": 5384,
+          "m_holdTargetIDTimer": 5248,
+          "m_iHealthBarRenderMaskIndex": 5136,
+          "m_iIDEntIndex": 5208,
+          "m_iOldIDEntIndex": 5244,
+          "m_iPlayerState": 5036,
+          "m_iProgressBarDuration": 5072,
+          "m_iTargetItemEntIdx": 5240,
+          "m_iThrowGrenadeCounter": 5064,
+          "m_nLastClipPlaneSetupFrame": 4992,
+          "m_nLastMagDropAttachmentIndex": 5332,
+          "m_nPlayerInfernoBodyFx": 5320,
+          "m_nPlayerInfernoFootFx": 5324,
+          "m_nPlayerSmokedFx": 5316,
+          "m_pClippingWeapon": 5024,
+          "m_pPingServices": 4960,
+          "m_pViewModelServices": 4968,
+          "m_previousPlayerState": 5032,
+          "m_serverIntendedCycle": 5292,
+          "m_vLastSmokeOverlayColor": 5304,
+          "m_vecIntroStartEyePosition": 5080,
+          "m_vecIntroStartPlayerForward": 5092,
+          "m_vecLastAliveLocalVelocity": 5336,
+          "m_vecLastClipCameraForward": 5008,
+          "m_vecLastClipCameraPos": 4996
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pPingServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_PingServices*"
+          },
+          {
+            "name": "m_pViewModelServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_ViewModelServices*"
+          },
+          {
+            "name": "m_iPlayerState",
+            "type": "NetworkVarNames",
+            "type_name": "CSPlayerState"
+          },
+          {
+            "name": "m_bIsRescuing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fImmuneToGunGameDamageTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bGunGameImmunity",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasMovedSinceSpawn",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fMolotovUseTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fMolotovDamageTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_iThrowGrenadeCounter",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iProgressBarDuration",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flProgressBarStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFlashMaxAlpha",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFlashDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_cycleLatch",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hOriginalController",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          }
+        ],
+        "parent": "C_BasePlayerPawn"
+      },
+      "C_CSPlayerResource": {
+        "fields": {
+          "m_bEndMatchNextMapAllVoted": 1528,
+          "m_bHostageAlive": 1384,
+          "m_bombsiteCenterA": 1456,
+          "m_bombsiteCenterB": 1468,
+          "m_foundGoalPositions": 1529,
+          "m_hostageRescueX": 1480,
+          "m_hostageRescueY": 1496,
+          "m_hostageRescueZ": 1512,
+          "m_iHostageEntityIDs": 1408,
+          "m_isHostageFollowingSomeone": 1396
+        },
+        "metadata": [
+          {
+            "name": "m_bHostageAlive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_isHostageFollowingSomeone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iHostageEntityIDs",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityIndex"
+          },
+          {
+            "name": "m_bombsiteCenterA",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bombsiteCenterB",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_hostageRescueX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hostageRescueY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hostageRescueZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bEndMatchNextMapAllVoted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_CSTeam": {
+        "fields": {
+          "m_bSurrendered": 2084,
+          "m_iClanID": 2232,
+          "m_numMapVictories": 2080,
+          "m_scoreFirstHalf": 2088,
+          "m_scoreOvertime": 2096,
+          "m_scoreSecondHalf": 2092,
+          "m_szClanTeamname": 2100,
+          "m_szTeamFlagImage": 2236,
+          "m_szTeamLogoImage": 2244,
+          "m_szTeamMatchStat": 1568
+        },
+        "metadata": [
+          {
+            "name": "m_szTeamMatchStat",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_numMapVictories",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bSurrendered",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_scoreFirstHalf",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_scoreSecondHalf",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_scoreOvertime",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_szClanTeamname",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_iClanID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_szTeamFlagImage",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szTeamLogoImage",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "C_Team"
+      },
+      "C_CSWeaponBase": {
+        "fields": {
+          "m_ClientPreviousWeaponState": 5976,
+          "m_IronSightController": 6624,
+          "m_OnPlayerPickup": 6032,
+          "m_bBurstMode": 6120,
+          "m_bClearWeaponIdentifyingUGC": 6320,
+          "m_bDroppedNearBuyZone": 6160,
+          "m_bFireOnEmpty": 6024,
+          "m_bInReload": 6136,
+          "m_bIsHauledBack": 6144,
+          "m_bOldFirstPersonSpectatedState": 6322,
+          "m_bReloadVisuallyComplete": 6137,
+          "m_bReloadsWithClips": 6016,
+          "m_bSilencerOn": 6145,
+          "m_bUIWeapon": 6323,
+          "m_bVisualsDataSet": 6321,
+          "m_bWasOwnedByCT": 6388,
+          "m_bWasOwnedByTerrorist": 6389,
+          "m_donated": 6380,
+          "m_ePlayerFireEvent": 5864,
+          "m_ePlayerFireEventAttackType": 5868,
+          "m_fAccuracyPenalty": 6096,
+          "m_fAccuracySmoothedForZoom": 6104,
+          "m_fLastShotTime": 6384,
+          "m_fScopeZoomEndTime": 6108,
+          "m_flCrosshairDistance": 5984,
+          "m_flDroppedAtTime": 6140,
+          "m_flFireSequenceStartTime": 5852,
+          "m_flGunAccuracyPositionDeprecated": 6004,
+          "m_flLastAccuracyUpdateTime": 6100,
+          "m_flLastBurstModeChangeTime": 6124,
+          "m_flLastLOSTraceFailureTime": 6816,
+          "m_flLastMagDropRequestTime": 6912,
+          "m_flNextAttackRenderTimeOffset": 6164,
+          "m_flNextClientFireBulletTime": 6404,
+          "m_flNextClientFireBulletTime_Repredict": 6408,
+          "m_flPostponeFireReadyFrac": 6132,
+          "m_flRecoilIndex": 6116,
+          "m_flTimeSilencerSwitchComplete": 6148,
+          "m_flTimeWeaponIdle": 6020,
+          "m_flTurningInaccuracy": 6092,
+          "m_flTurningInaccuracyDelta": 6076,
+          "m_flWatTickOffset": 6916,
+          "m_gunHeat": 6392,
+          "m_hCurrentThirdPersonSequence": 5912,
+          "m_hPrevOwner": 6340,
+          "m_iAlpha": 5992,
+          "m_iAmmoLastCheck": 5988,
+          "m_iCrosshairTextureID": 6000,
+          "m_iIronSightMode": 6800,
+          "m_iMostRecentTeamNumber": 6156,
+          "m_iNumEmptyAttacks": 6820,
+          "m_iOriginalTeamNumber": 6152,
+          "m_iRecoilIndex": 6112,
+          "m_iScopeTextureID": 5996,
+          "m_iState": 5980,
+          "m_lastSmokeTime": 6400,
+          "m_nCustomEconReloadEventId": 6324,
+          "m_nDropTick": 6344,
+          "m_nFireSequenceStartTimeAck": 5860,
+          "m_nFireSequenceStartTimeChange": 5856,
+          "m_nLastEmptySoundCmdNum": 6008,
+          "m_nPostponeFireReadyTicks": 6128,
+          "m_nSilencerBoneIndex": 5916,
+          "m_nViewModelIndex": 6012,
+          "m_nextPrevOwnerUseTime": 6336,
+          "m_seqFirePrimary": 5876,
+          "m_seqFireSecondary": 5880,
+          "m_seqIdle": 5872,
+          "m_smokeAttachments": 6396,
+          "m_thirdPersonFireSequences": 5888,
+          "m_thirdPersonSequences": 5920,
+          "m_vecTurningInaccuracyEyeDirLast": 6080,
+          "m_weaponMode": 6072
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flFireSequenceStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFireSequenceStartTimeChange",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_ePlayerFireEvent",
+            "type": "NetworkVarNames",
+            "type_name": "PlayerAnimEvent_t"
+          },
+          {
+            "name": "m_ePlayerFireEventAttackType",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponAttackType_t"
+          },
+          {
+            "name": "m_iState",
+            "type": "NetworkVarNames",
+            "type_name": "CSWeaponState_t"
+          },
+          {
+            "name": "m_nViewModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flTimeWeaponIdle",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_weaponMode",
+            "type": "NetworkVarNames",
+            "type_name": "CSWeaponMode"
+          },
+          {
+            "name": "m_fAccuracyPenalty",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_iRecoilIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flRecoilIndex",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bBurstMode",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nPostponeFireReadyTicks",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flPostponeFireReadyFrac",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bInReload",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bReloadVisuallyComplete",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDroppedAtTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsHauledBack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bSilencerOn",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimeSilencerSwitchComplete",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iOriginalTeamNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMostRecentTeamNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bDroppedNearBuyZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nextPrevOwnerUseTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_hPrevOwner",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_nDropTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_fLastShotTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iIronSightMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumEmptyAttacks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BasePlayerWeapon"
+      },
+      "C_CSWeaponBaseGun": {
+        "fields": {
+          "m_bNeedsBoltAction": 6973,
+          "m_iBurstShotsRemaining": 6948,
+          "m_iSilencerBodygroup": 6952,
+          "m_inPrecache": 6972,
+          "m_silencedModelIndex": 6968,
+          "m_zoomLevel": 6944
+        },
+        "metadata": [
+          {
+            "name": "m_zoomLevel",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iBurstShotsRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bNeedsBoltAction",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_Chicken": {
+        "fields": {
+          "m_AttributeManager": 4672,
+          "m_bAttributesInitialized": 5864,
+          "m_bIsPreviewModel": 5872,
+          "m_hHolidayHatAddon": 4656,
+          "m_hWaterWakeParticles": 5868,
+          "m_jumpedThisFrame": 4660,
+          "m_leader": 4664
+        },
+        "metadata": [
+          {
+            "name": "m_jumpedThisFrame",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_leader",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_AttributeManager",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeContainer"
+          }
+        ],
+        "parent": "C_DynamicProp"
+      },
+      "C_ClientRagdoll": {
+        "fields": {
+          "m_bFadeOut": 3976,
+          "m_bFadingOut": 4006,
+          "m_bImportant": 3977,
+          "m_bReleaseRagdoll": 4004,
+          "m_flEffectTime": 3980,
+          "m_flScaleEnd": 4008,
+          "m_flScaleTimeEnd": 4088,
+          "m_flScaleTimeStart": 4048,
+          "m_gibDespawnTime": 3984,
+          "m_iCurrentFriction": 3988,
+          "m_iEyeAttachment": 4005,
+          "m_iFrictionAnimState": 4000,
+          "m_iMaxFriction": 3996,
+          "m_iMinFriction": 3992
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_ColorCorrection": {
+        "fields": {
+          "m_MaxFalloff": 1400,
+          "m_MinFalloff": 1396,
+          "m_bClientSide": 1934,
+          "m_bEnabled": 1932,
+          "m_bEnabledOnClient": 1936,
+          "m_bExclusive": 1935,
+          "m_bFadingIn": 1944,
+          "m_bMaster": 1933,
+          "m_flCurWeight": 1416,
+          "m_flCurWeightOnClient": 1940,
+          "m_flFadeDuration": 1956,
+          "m_flFadeInDuration": 1404,
+          "m_flFadeOutDuration": 1408,
+          "m_flFadeStartTime": 1952,
+          "m_flFadeStartWeight": 1948,
+          "m_flMaxWeight": 1412,
+          "m_netlookupFilename": 1420,
+          "m_vecOrigin": 1384
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_MinFalloff",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_MaxFalloff",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeInDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flMaxWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flCurWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_netlookupFilename",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMaster",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bClientSide",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bExclusive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_ColorCorrectionVolume": {
+        "fields": {
+          "m_FadeDuration": 3400,
+          "m_LastEnterTime": 3380,
+          "m_LastEnterWeight": 3376,
+          "m_LastExitTime": 3388,
+          "m_LastExitWeight": 3384,
+          "m_MaxWeight": 3396,
+          "m_Weight": 3404,
+          "m_bEnabled": 3392,
+          "m_lookupFilename": 3408
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_MaxWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_FadeDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Weight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_lookupFilename",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "C_BaseTrigger"
+      },
+      "C_CsmFovOverride": {
+        "fields": {
+          "m_cameraName": 1384,
+          "m_flCsmFovOverrideValue": 1392
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_DEagle": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_DecoyGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenade"
+      },
+      "C_DecoyProjectile": {
+        "fields": {
+          "m_flTimeParticleEffectSpawn": 4656,
+          "m_nClientLastKnownDecoyShotTick": 4620,
+          "m_nDecoyShotTick": 4616
+        },
+        "metadata": [
+          {
+            "name": "m_nDecoyShotTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BaseCSGrenadeProjectile"
+      },
+      "C_DynamicLight": {
+        "fields": {
+          "m_Exponent": 3376,
+          "m_Flags": 3368,
+          "m_InnerAngle": 3380,
+          "m_LightStyle": 3369,
+          "m_OuterAngle": 3384,
+          "m_Radius": 3372,
+          "m_SpotRadius": 3388
+        },
+        "metadata": [
+          {
+            "name": "m_Flags",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_LightStyle",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_Radius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_Exponent",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_InnerAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_OuterAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_SpotRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_DynamicProp": {
+        "fields": {
+          "m_OnAnimReachedEnd": 4536,
+          "m_OnAnimReachedStart": 4496,
+          "m_bCreateNonSolid": 4592,
+          "m_bFiredStartEndOutput": 4590,
+          "m_bForceNpcExclude": 4591,
+          "m_bIsOverrideProp": 4593,
+          "m_bRandomizeCycle": 4588,
+          "m_bStartDisabled": 4589,
+          "m_bUseAnimGraph": 4369,
+          "m_bUseHitboxesForRenderBox": 4368,
+          "m_glowColor": 4608,
+          "m_iCachedFrameCount": 4616,
+          "m_iInitialGlowState": 4596,
+          "m_iszIdleAnim": 4576,
+          "m_nGlowRange": 4600,
+          "m_nGlowRangeMin": 4604,
+          "m_nGlowTeam": 4612,
+          "m_nIdleAnimLoopMode": 4584,
+          "m_pOutputAnimBegun": 4376,
+          "m_pOutputAnimLoopCycleOver": 4456,
+          "m_pOutputAnimOver": 4416,
+          "m_vecCachedRenderMaxs": 4632,
+          "m_vecCachedRenderMins": 4620
+        },
+        "metadata": [
+          {
+            "name": "m_bUseHitboxesForRenderBox",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseAnimGraph",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BreakableProp"
+      },
+      "C_DynamicPropAlias_cable_dynamic": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_DynamicProp"
+      },
+      "C_DynamicPropAlias_dynamic_prop": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_DynamicProp"
+      },
+      "C_DynamicPropAlias_prop_dynamic_override": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_DynamicProp"
+      },
+      "C_EconEntity": {
+        "fields": {
+          "m_AttributeManager": 4424,
+          "m_OriginalOwnerXuidHigh": 5620,
+          "m_OriginalOwnerXuidLow": 5616,
+          "m_bAttachmentDirty": 5680,
+          "m_bAttributesInitialized": 4416,
+          "m_bClientside": 5640,
+          "m_bParticleSystemsCreated": 5641,
+          "m_flFallbackWear": 5632,
+          "m_flFlexDelayTime": 4400,
+          "m_flFlexDelayedWeight": 4408,
+          "m_hOldProvidee": 5704,
+          "m_hViewmodelAttachment": 5672,
+          "m_iNumOwnerValidationRetries": 5688,
+          "m_iOldTeam": 5676,
+          "m_nFallbackPaintKit": 5624,
+          "m_nFallbackSeed": 5628,
+          "m_nFallbackStatTrak": 5636,
+          "m_nUnloadedModelIndex": 5684,
+          "m_vecAttachedModels": 5712,
+          "m_vecAttachedParticles": 5648
+        },
+        "metadata": [
+          {
+            "name": "m_AttributeManager",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeContainer"
+          },
+          {
+            "name": "m_OriginalOwnerXuidLow",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_OriginalOwnerXuidHigh",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nFallbackPaintKit",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nFallbackSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFallbackWear",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFallbackStatTrak",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BaseFlex"
+      },
+      "C_EconEntity__AttachedModelData_t": {
+        "fields": {
+          "m_iModelDisplayFlags": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "C_EconItemView": {
+        "fields": {
+          "m_AttributeList": 528,
+          "m_NetworkedDynamicAttributes": 624,
+          "m_bDisallowSOC": 489,
+          "m_bInitialized": 488,
+          "m_bInitializedTags": 1088,
+          "m_bInventoryImageRgbaRequested": 96,
+          "m_bInventoryImageTriedCache": 97,
+          "m_bIsStoreItem": 490,
+          "m_bIsTradeItem": 491,
+          "m_bRestoreCustomMaterialAfterPrecache": 440,
+          "m_iAccountID": 472,
+          "m_iEntityLevel": 448,
+          "m_iEntityQuality": 444,
+          "m_iEntityQuantity": 492,
+          "m_iInventoryPosition": 476,
+          "m_iItemDefinitionIndex": 442,
+          "m_iItemID": 456,
+          "m_iItemIDHigh": 464,
+          "m_iItemIDLow": 468,
+          "m_iOriginOverride": 504,
+          "m_iQualityOverride": 500,
+          "m_iRarityOverride": 496,
+          "m_nInventoryImageRgbaHeight": 132,
+          "m_nInventoryImageRgbaWidth": 128,
+          "m_szCurrentLoadCachedFileName": 136,
+          "m_szCustomName": 720,
+          "m_szCustomNameOverride": 881,
+          "m_unClientFlags": 508,
+          "m_unOverrideStyle": 509
+        },
+        "metadata": [
+          {
+            "name": "m_iItemDefinitionIndex",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_iEntityQuality",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEntityLevel",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iItemIDHigh",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iItemIDLow",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iAccountID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iInventoryPosition",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bInitialized",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_AttributeList",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeList"
+          },
+          {
+            "name": "m_NetworkedDynamicAttributes",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeList"
+          },
+          {
+            "name": "m_szCustomName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "IEconItemInterface"
+      },
+      "C_EconWearable": {
+        "fields": {
+          "m_bAlwaysAllow": 5740,
+          "m_nForceSkin": 5736
+        },
+        "metadata": [],
+        "parent": "C_EconEntity"
+      },
+      "C_EntityDissolve": {
+        "fields": {
+          "m_bCoreExplode": 3428,
+          "m_bLinkedToServerEnt": 3429,
+          "m_flFadeInLength": 3384,
+          "m_flFadeInStart": 3380,
+          "m_flFadeOutLength": 3400,
+          "m_flFadeOutModelLength": 3392,
+          "m_flFadeOutModelStart": 3388,
+          "m_flFadeOutStart": 3396,
+          "m_flNextSparkTime": 3404,
+          "m_flStartTime": 3376,
+          "m_nDissolveType": 3408,
+          "m_nMagnitude": 3424,
+          "m_vDissolverOrigin": 3412
+        },
+        "metadata": [
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flFadeInStart",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeInLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutModelStart",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutModelLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutStart",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nDissolveType",
+            "type": "NetworkVarNames",
+            "type_name": "EntityDisolveType_t"
+          },
+          {
+            "name": "m_vDissolverOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nMagnitude",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_EntityFlame": {
+        "fields": {
+          "m_bCheapEffect": 1428,
+          "m_hEntAttached": 1384,
+          "m_hOldAttached": 1424
+        },
+        "metadata": [
+          {
+            "name": "m_hEntAttached",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseEntity>"
+          },
+          {
+            "name": "m_bCheapEffect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvCombinedLightProbeVolume": {
+        "fields": {
+          "m_Entity_Color": 5576,
+          "m_Entity_bCustomCubemapTexture": 5592,
+          "m_Entity_bEnabled": 5737,
+          "m_Entity_bMoveable": 5656,
+          "m_Entity_bStartDisabled": 5672,
+          "m_Entity_flBrightness": 5580,
+          "m_Entity_flEdgeFadeDist": 5676,
+          "m_Entity_hCubemapTexture": 5584,
+          "m_Entity_hLightProbeDirectLightIndicesTexture": 5608,
+          "m_Entity_hLightProbeDirectLightScalarsTexture": 5616,
+          "m_Entity_hLightProbeDirectLightShadowsTexture": 5624,
+          "m_Entity_hLightProbeTexture": 5600,
+          "m_Entity_nEnvCubeMapArrayIndex": 5664,
+          "m_Entity_nHandshake": 5660,
+          "m_Entity_nLightProbeAtlasX": 5704,
+          "m_Entity_nLightProbeAtlasY": 5708,
+          "m_Entity_nLightProbeAtlasZ": 5712,
+          "m_Entity_nLightProbeSizeX": 5692,
+          "m_Entity_nLightProbeSizeY": 5696,
+          "m_Entity_nLightProbeSizeZ": 5700,
+          "m_Entity_nPriority": 5668,
+          "m_Entity_vBoxMaxs": 5644,
+          "m_Entity_vBoxMins": 5632,
+          "m_Entity_vEdgeFadeDists": 5680
+        },
+        "metadata": [
+          {
+            "name": "m_Entity_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_Entity_flBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_hCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_bCustomCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_hLightProbeTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightIndicesTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightScalarsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightShadowsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_bMoveable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nHandshake",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nEnvCubeMapArrayIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_flEdgeFadeDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_vEdgeFadeDists",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvCubemap": {
+        "fields": {
+          "m_Entity_bCopyDiffuseFromDefaultCubemap": 1592,
+          "m_Entity_bCustomCubemapTexture": 1520,
+          "m_Entity_bDefaultEnvMap": 1589,
+          "m_Entity_bDefaultSpecEnvMap": 1590,
+          "m_Entity_bEnabled": 1608,
+          "m_Entity_bIndoorCubeMap": 1591,
+          "m_Entity_bMoveable": 1552,
+          "m_Entity_bStartDisabled": 1588,
+          "m_Entity_flDiffuseScale": 1584,
+          "m_Entity_flEdgeFadeDist": 1568,
+          "m_Entity_flInfluenceRadius": 1524,
+          "m_Entity_hCubemapTexture": 1512,
+          "m_Entity_nEnvCubeMapArrayIndex": 1560,
+          "m_Entity_nHandshake": 1556,
+          "m_Entity_nPriority": 1564,
+          "m_Entity_vBoxProjectMaxs": 1540,
+          "m_Entity_vBoxProjectMins": 1528,
+          "m_Entity_vEdgeFadeDists": 1572
+        },
+        "metadata": [
+          {
+            "name": "m_Entity_hCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_bCustomCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_flInfluenceRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_vBoxProjectMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_vBoxProjectMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_bMoveable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nHandshake",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nEnvCubeMapArrayIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_flEdgeFadeDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_vEdgeFadeDists",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_flDiffuseScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bDefaultEnvMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bDefaultSpecEnvMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bIndoorCubeMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bCopyDiffuseFromDefaultCubemap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvCubemapBox": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_EnvCubemap"
+      },
+      "C_EnvCubemapFog": {
+        "fields": {
+          "m_bActive": 1420,
+          "m_bFirstTime": 1457,
+          "m_bHasHeightFogEnd": 1456,
+          "m_bHeightFogEnabled": 1396,
+          "m_bStartDisabled": 1421,
+          "m_flEndDistance": 1384,
+          "m_flFogFalloffExponent": 1392,
+          "m_flFogHeightEnd": 1404,
+          "m_flFogHeightExponent": 1412,
+          "m_flFogHeightStart": 1408,
+          "m_flFogHeightWidth": 1400,
+          "m_flFogMaxOpacity": 1424,
+          "m_flLODBias": 1416,
+          "m_flStartDistance": 1388,
+          "m_hFogCubemapTexture": 1448,
+          "m_hSkyMaterial": 1432,
+          "m_iszSkyEntity": 1440,
+          "m_nCubemapSourceType": 1428
+        },
+        "metadata": [
+          {
+            "name": "m_flEndDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogFalloffExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHeightFogEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFogHeightWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogHeightEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogHeightStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogHeightExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flLODBias",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFogMaxOpacity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nCubemapSourceType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hSkyMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_iszSkyEntity",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_hFogCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_bHasHeightFogEnd",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvDecal": {
+        "fields": {
+          "m_bProjectOnCharacters": 3393,
+          "m_bProjectOnWater": 3394,
+          "m_bProjectOnWorld": 3392,
+          "m_flDepth": 3384,
+          "m_flDepthSortBias": 3396,
+          "m_flHeight": 3380,
+          "m_flWidth": 3376,
+          "m_hDecalMaterial": 3368,
+          "m_nRenderOrder": 3388
+        },
+        "metadata": [
+          {
+            "name": "m_hDecalMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_flWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nRenderOrder",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bProjectOnWorld",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bProjectOnCharacters",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bProjectOnWater",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDepthSortBias",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_EnvDetailController": {
+        "fields": {
+          "m_flFadeEndDist": 1388,
+          "m_flFadeStartDist": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_flFadeStartDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeEndDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvLightProbeVolume": {
+        "fields": {
+          "m_Entity_bEnabled": 5553,
+          "m_Entity_bMoveable": 5504,
+          "m_Entity_bStartDisabled": 5516,
+          "m_Entity_hLightProbeDirectLightIndicesTexture": 5456,
+          "m_Entity_hLightProbeDirectLightScalarsTexture": 5464,
+          "m_Entity_hLightProbeDirectLightShadowsTexture": 5472,
+          "m_Entity_hLightProbeTexture": 5448,
+          "m_Entity_nHandshake": 5508,
+          "m_Entity_nLightProbeAtlasX": 5532,
+          "m_Entity_nLightProbeAtlasY": 5536,
+          "m_Entity_nLightProbeAtlasZ": 5540,
+          "m_Entity_nLightProbeSizeX": 5520,
+          "m_Entity_nLightProbeSizeY": 5524,
+          "m_Entity_nLightProbeSizeZ": 5528,
+          "m_Entity_nPriority": 5512,
+          "m_Entity_vBoxMaxs": 5492,
+          "m_Entity_vBoxMins": 5480
+        },
+        "metadata": [
+          {
+            "name": "m_Entity_hLightProbeTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightIndicesTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightScalarsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightShadowsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_bMoveable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nHandshake",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvParticleGlow": {
+        "fields": {
+          "m_ColorTint": 4836,
+          "m_flAlphaScale": 4824,
+          "m_flRadiusScale": 4828,
+          "m_flSelfIllumScale": 4832,
+          "m_hTextureOverride": 4840
+        },
+        "metadata": [
+          {
+            "name": "m_flAlphaScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRadiusScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flSelfIllumScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_ColorTint",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_hTextureOverride",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          }
+        ],
+        "parent": "C_ParticleSystem"
+      },
+      "C_EnvProjectedTexture": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_ModelPointEntity"
+      },
+      "C_EnvScreenOverlay": {
+        "fields": {
+          "m_bIsActive": 1512,
+          "m_bWasActive": 1513,
+          "m_flCurrentOverlayTime": 1524,
+          "m_flOverlayTimes": 1464,
+          "m_flStartTime": 1504,
+          "m_iCachedDesiredOverlay": 1516,
+          "m_iCurrentOverlay": 1520,
+          "m_iDesiredOverlay": 1508,
+          "m_iszOverlayNames": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_iszOverlayNames",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_flOverlayTimes",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iDesiredOverlay",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_bIsActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_PointEntity"
+      },
+      "C_EnvSky": {
+        "fields": {
+          "m_bEnabled": 3420,
+          "m_bStartDisabled": 3384,
+          "m_flBrightnessScale": 3396,
+          "m_flFogMaxEnd": 3416,
+          "m_flFogMaxStart": 3412,
+          "m_flFogMinEnd": 3408,
+          "m_flFogMinStart": 3404,
+          "m_hSkyMaterial": 3368,
+          "m_hSkyMaterialLightingOnly": 3376,
+          "m_nFogType": 3400,
+          "m_vTintColor": 3385,
+          "m_vTintColorLightingOnly": 3389
+        },
+        "metadata": [
+          {
+            "name": "m_hSkyMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_hSkyMaterialLightingOnly",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vTintColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_vTintColorLightingOnly",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFogType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogMinStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMinEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_EnvVolumetricFogController": {
+        "fields": {
+          "m_bActive": 1456,
+          "m_bEnableIndirect": 1497,
+          "m_bFirstTime": 1536,
+          "m_bIndirectUseLPVs": 1498,
+          "m_bIsMaster": 1499,
+          "m_bStartDisabled": 1496,
+          "m_fFirstVolumeSliceThickness": 1416,
+          "m_fNoiseSpeed": 1516,
+          "m_fNoiseStrength": 1520,
+          "m_flAnisotropy": 1388,
+          "m_flDefaultAnisotropy": 1484,
+          "m_flDefaultDrawDistance": 1492,
+          "m_flDefaultScattering": 1488,
+          "m_flDrawDistance": 1396,
+          "m_flFadeInEnd": 1404,
+          "m_flFadeInStart": 1400,
+          "m_flFadeSpeed": 1392,
+          "m_flIndirectStrength": 1408,
+          "m_flScattering": 1384,
+          "m_flStartAnisoTime": 1460,
+          "m_flStartAnisotropy": 1472,
+          "m_flStartDrawDistance": 1480,
+          "m_flStartDrawDistanceTime": 1468,
+          "m_flStartScatterTime": 1464,
+          "m_flStartScattering": 1476,
+          "m_hFogIndirectTexture": 1504,
+          "m_nForceRefreshCount": 1512,
+          "m_nIndirectTextureDimX": 1420,
+          "m_nIndirectTextureDimY": 1424,
+          "m_nIndirectTextureDimZ": 1428,
+          "m_nVolumeDepth": 1412,
+          "m_vBoxMaxs": 1444,
+          "m_vBoxMins": 1432,
+          "m_vNoiseScale": 1524
+        },
+        "metadata": [
+          {
+            "name": "m_flScattering",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDrawDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeInStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeInEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flIndirectStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nVolumeDepth",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_fFirstVolumeSliceThickness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nIndirectTextureDimX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nIndirectTextureDimY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nIndirectTextureDimZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flStartAnisoTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartScatterTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartDrawDistanceTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartScattering",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartDrawDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefaultAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefaultScattering",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefaultDrawDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bEnableIndirect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIndirectUseLPVs",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsMaster",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hFogIndirectTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_nForceRefreshCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_fNoiseSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vNoiseScale",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvVolumetricFogVolume": {
+        "fields": {
+          "m_bActive": 1384,
+          "m_bAllowLPVIndirect": 1451,
+          "m_bOverrideIndirectLightStrength": 1448,
+          "m_bOverrideNoiseStrength": 1450,
+          "m_bOverrideSunLightStrength": 1449,
+          "m_bStartDisabled": 1412,
+          "m_fHeightFogEdgeWidth": 1432,
+          "m_fIndirectLightStrength": 1436,
+          "m_fNoiseStrength": 1444,
+          "m_fSunLightStrength": 1440,
+          "m_flFalloffExponent": 1424,
+          "m_flHeightFogDepth": 1428,
+          "m_flStrength": 1416,
+          "m_nFalloffShape": 1420,
+          "m_vBoxMaxs": 1400,
+          "m_vBoxMins": 1388
+        },
+        "metadata": [
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFalloffShape",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFalloffExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeightFogDepth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fHeightFogEdgeWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fIndirectLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fSunLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bOverrideIndirectLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bOverrideSunLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bOverrideNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAllowLPVIndirect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvWind": {
+        "fields": {
+          "m_EnvWindShared": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_EnvWindShared",
+            "type": "NetworkVarNames",
+            "type_name": "CEnvWindShared"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvWindClientside": {
+        "fields": {
+          "m_EnvWindShared": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_EnvWindShared",
+            "type": "NetworkVarNames",
+            "type_name": "CEnvWindShared"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_EnvWindShared": {
+        "fields": {
+          "m_CurrentSwayVector": 80,
+          "m_PrevSwayVector": 92,
+          "m_bGusting": 132,
+          "m_currentWindVector": 68,
+          "m_flAveWindSpeed": 128,
+          "m_flGustDuration": 36,
+          "m_flInitialWindSpeed": 108,
+          "m_flMaxGustDelay": 32,
+          "m_flMinGustDelay": 28,
+          "m_flSimTime": 120,
+          "m_flStartTime": 8,
+          "m_flSwayTime": 116,
+          "m_flSwitchTime": 124,
+          "m_flVariationTime": 112,
+          "m_flWindAngleVariation": 136,
+          "m_flWindSpeed": 64,
+          "m_flWindSpeedVariation": 140,
+          "m_hEntOwner": 144,
+          "m_iGustDirChange": 40,
+          "m_iInitialWindDir": 104,
+          "m_iMaxGust": 26,
+          "m_iMaxWind": 18,
+          "m_iMinGust": 24,
+          "m_iMinWind": 16,
+          "m_iWindDir": 60,
+          "m_iWindSeed": 12,
+          "m_iszGustSound": 56,
+          "m_location": 44,
+          "m_windRadius": 20
+        },
+        "metadata": [
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iWindSeed",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iMinWind",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_iMaxWind",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_windRadius",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iMinGust",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_iMaxGust",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_flMinGustDelay",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flMaxGustDelay",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flGustDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_iGustDirChange",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_location",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_iInitialWindDir",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_flInitialWindSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": null
+      },
+      "C_EnvWindShared__WindAveEvent_t": {
+        "fields": {
+          "m_flAveWindSpeed": 4,
+          "m_flStartWindSpeed": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "C_EnvWindShared__WindVariationEvent_t": {
+        "fields": {
+          "m_flWindAngleVariation": 0,
+          "m_flWindSpeedVariation": 4
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "C_FireCrackerBlast": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_Inferno"
+      },
+      "C_FireFromAboveSprite": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_Sprite"
+      },
+      "C_FireSmoke": {
+        "fields": {
+          "m_bClipTested": 1452,
+          "m_bFadingOut": 1453,
+          "m_flChildFlameSpread": 1428,
+          "m_flClipPerc": 1448,
+          "m_flScaleEnd": 1416,
+          "m_flScaleRegister": 1408,
+          "m_flScaleStart": 1412,
+          "m_flScaleTimeEnd": 1424,
+          "m_flScaleTimeStart": 1420,
+          "m_nFlameFromAboveModelIndex": 1404,
+          "m_nFlameModelIndex": 1400,
+          "m_pFireOverlay": 1464,
+          "m_tParticleSpawn": 1456
+        },
+        "metadata": [
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nFlameModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nFlameFromAboveModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": "C_BaseFire"
+      },
+      "C_FireSprite": {
+        "fields": {
+          "m_bFadeFromAbove": 3652,
+          "m_vecMoveDir": 3640
+        },
+        "metadata": [],
+        "parent": "C_Sprite"
+      },
+      "C_Fish": {
+        "fields": {
+          "m_actualAngles": 4076,
+          "m_actualPos": 4064,
+          "m_angle": 4120,
+          "m_angles": 4000,
+          "m_averageError": 4212,
+          "m_buoyancy": 4024,
+          "m_deathAngle": 4020,
+          "m_deathDepth": 4016,
+          "m_errorHistory": 4124,
+          "m_errorHistoryCount": 4208,
+          "m_errorHistoryIndex": 4204,
+          "m_gotUpdate": 4104,
+          "m_localLifeState": 4012,
+          "m_poolOrigin": 4088,
+          "m_pos": 3976,
+          "m_vel": 3988,
+          "m_waterLevel": 4100,
+          "m_wigglePhase": 4056,
+          "m_wiggleRate": 4060,
+          "m_wiggleTimer": 4032,
+          "m_x": 4108,
+          "m_y": 4112,
+          "m_z": 4116
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_poolOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_waterLevel",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_x",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_y",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_z",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_angle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_Flashbang": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenade"
+      },
+      "C_FlashbangProjectile": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenadeProjectile"
+      },
+      "C_FogController": {
+        "fields": {
+          "m_bUseAngles": 1488,
+          "m_fog": 1384,
+          "m_iChangedVariables": 1492
+        },
+        "metadata": [
+          {
+            "name": "m_fog",
+            "type": "NetworkVarNames",
+            "type_name": "fogparams_t"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_FootstepControl": {
+        "fields": {
+          "m_destination": 3384,
+          "m_source": 3376
+        },
+        "metadata": [
+          {
+            "name": "m_source",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_destination",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "C_BaseTrigger"
+      },
+      "C_FuncBrush": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_FuncConveyor": {
+        "fields": {
+          "m_flCurrentConveyorOffset": 3432,
+          "m_flCurrentConveyorSpeed": 3436,
+          "m_flTargetSpeed": 3388,
+          "m_flTransitionStartSpeed": 3400,
+          "m_hConveyorModels": 3408,
+          "m_nTransitionDurationTicks": 3396,
+          "m_nTransitionStartTick": 3392,
+          "m_vecMoveDirEntitySpace": 3376
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_vecMoveDirEntitySpace",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flTargetSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nTransitionStartTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_nTransitionDurationTicks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flTransitionStartSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hConveyorModels",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_FuncElectrifiedVolume": {
+        "fields": {
+          "m_EffectName": 3376,
+          "m_bState": 3384,
+          "m_nAmbientEffect": 3368
+        },
+        "metadata": [
+          {
+            "name": "m_EffectName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_bState",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_FuncBrush"
+      },
+      "C_FuncLadder": {
+        "fields": {
+          "m_Dismounts": 3384,
+          "m_bDisabled": 3448,
+          "m_bFakeLadder": 3449,
+          "m_bHasSlack": 3450,
+          "m_flAutoRideSpeed": 3444,
+          "m_vecLadderDir": 3368,
+          "m_vecLocalTop": 3408,
+          "m_vecPlayerMountPositionBottom": 3432,
+          "m_vecPlayerMountPositionTop": 3420
+        },
+        "metadata": [
+          {
+            "name": "m_vecLadderDir",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecPlayerMountPositionTop",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecPlayerMountPositionBottom",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flAutoRideSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bFakeLadder",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_FuncMonitor": {
+        "fields": {
+          "m_bDraw3DSkybox": 3397,
+          "m_bEnabled": 3396,
+          "m_bRenderShadows": 3380,
+          "m_bUseUniqueColorTarget": 3381,
+          "m_brushModelName": 3384,
+          "m_hTargetCamera": 3392,
+          "m_nResolutionEnum": 3376,
+          "m_targetCamera": 3368
+        },
+        "metadata": [
+          {
+            "name": "m_targetCamera",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_nResolutionEnum",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseUniqueColorTarget",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_brushModelName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_hTargetCamera",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDraw3DSkybox",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_FuncBrush"
+      },
+      "C_FuncMoveLinear": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_BaseToggle"
+      },
+      "C_FuncMover": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseToggle"
+      },
+      "C_FuncRotating": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_FuncTrackTrain": {
+        "fields": {
+          "m_flLineLength": 3376,
+          "m_flRadius": 3372,
+          "m_nLongAxis": 3368
+        },
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_GameRules": {
+        "fields": {
+          "__m_pChainEntity": 8,
+          "m_bGamePaused": 56,
+          "m_nPauseStartTick": 52,
+          "m_nTotalPausedTicks": 48
+        },
+        "metadata": [
+          {
+            "name": "m_nTotalPausedTicks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPauseStartTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bGamePaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "C_GameRulesProxy": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_GlobalLight": {
+        "fields": {
+          "m_WindClothForceHandle": 2608
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_GradientFog": {
+        "fields": {
+          "m_bGradientFogNeedsTextures": 1442,
+          "m_bHeightFogEnabled": 1400,
+          "m_bIsEnabled": 1441,
+          "m_bStartDisabled": 1440,
+          "m_flFadeTime": 1436,
+          "m_flFarZ": 1412,
+          "m_flFogEndDistance": 1396,
+          "m_flFogEndHeight": 1408,
+          "m_flFogFalloffExponent": 1420,
+          "m_flFogMaxOpacity": 1416,
+          "m_flFogStartDistance": 1392,
+          "m_flFogStartHeight": 1404,
+          "m_flFogStrength": 1432,
+          "m_flFogVerticalExponent": 1424,
+          "m_fogColor": 1428,
+          "m_hGradientFogTexture": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_hGradientFogTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_flFogStartDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogEndDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHeightFogEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFogStartHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogEndHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFarZ",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxOpacity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogFalloffExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogVerticalExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fogColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flFogStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_HEGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenade"
+      },
+      "C_HEGrenadeProjectile": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenadeProjectile"
+      },
+      "C_HandleTest": {
+        "fields": {
+          "m_Handle": 1384,
+          "m_bSendHandle": 1388
+        },
+        "metadata": [
+          {
+            "name": "m_Handle",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bSendHandle",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_Hostage": {
+        "fields": {
+          "m_bHandsHaveBeenCut": 4596,
+          "m_blinkTimer": 4640,
+          "m_chestAttachment": 4706,
+          "m_entitySpottedState": 4520,
+          "m_eyeAttachment": 4705,
+          "m_fLastGrabTime": 4604,
+          "m_fNewestAlphaThinkTime": 4720,
+          "m_flDeadOrRescuedTime": 4632,
+          "m_flDropStartTime": 4628,
+          "m_flGrabSuccessTime": 4624,
+          "m_flRescueStartTime": 4620,
+          "m_hHostageGrabber": 4600,
+          "m_isInit": 4704,
+          "m_isRescued": 4588,
+          "m_jumpedThisFrame": 4589,
+          "m_leader": 4544,
+          "m_lookAroundTimer": 4680,
+          "m_lookAt": 4664,
+          "m_nHostageState": 4592,
+          "m_pPredictionOwner": 4712,
+          "m_reuseTimer": 4552,
+          "m_vecGrabbedPos": 4608,
+          "m_vel": 4576
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          },
+          {
+            "name": "m_leader",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_reuseTimer",
+            "type": "NetworkVarNames",
+            "type_name": "CountdownTimer"
+          },
+          {
+            "name": "m_vel",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_isRescued",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_jumpedThisFrame",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nHostageState",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bHandsHaveBeenCut",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hHostageGrabber",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_flRescueStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flGrabSuccessTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flDropStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          }
+        ],
+        "parent": "C_BaseCombatCharacter"
+      },
+      "C_HostageCarriableProp": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_IncendiaryGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_MolotovGrenade"
+      },
+      "C_Inferno": {
+        "fields": {
+          "m_BurnNormal": 5080,
+          "m_bFireIsBurning": 5016,
+          "m_bInPostEffectTime": 5860,
+          "m_blosCheck": 33524,
+          "m_drawableCount": 33520,
+          "m_fireCount": 5848,
+          "m_fireParentPositions": 4248,
+          "m_firePositions": 3480,
+          "m_flLastGrassBurnThink": 33564,
+          "m_hInfernoClimbingOutlinePointsSnapshot": 3464,
+          "m_hInfernoDecalsSnapshot": 3472,
+          "m_hInfernoFillerPointsSnapshot": 3448,
+          "m_hInfernoOutlinePointsSnapshot": 3456,
+          "m_hInfernoPointsSnapshot": 3440,
+          "m_lastFireCount": 5864,
+          "m_maxBounds": 33552,
+          "m_maxFireHalfWidth": 33532,
+          "m_maxFireHeight": 33536,
+          "m_minBounds": 33540,
+          "m_nFireEffectTickBegin": 5868,
+          "m_nFireLifetime": 5856,
+          "m_nInfernoType": 5852,
+          "m_nfxFireDamageEffect": 3432,
+          "m_nlosperiod": 33528
+        },
+        "metadata": [
+          {
+            "name": "m_firePositions",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_fireParentPositions",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bFireIsBurning",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_BurnNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_fireCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nInfernoType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nFireLifetime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bInPostEffectTime",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nFireEffectTickBegin",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_InfoInstructorHintHostageRescueZone": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_PointEntity"
+      },
+      "C_InfoLadderDismount": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_InfoVisibilityBox": {
+        "fields": {
+          "m_bEnabled": 1404,
+          "m_nMode": 1388,
+          "m_vBoxSize": 1392
+        },
+        "metadata": [
+          {
+            "name": "m_nMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vBoxSize",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_Item": {
+        "fields": {
+          "m_pReticleHintTextName": 5736
+        },
+        "metadata": [],
+        "parent": "C_EconEntity"
+      },
+      "C_ItemDogtags": {
+        "fields": {
+          "m_KillingPlayer": 5996,
+          "m_OwningPlayer": 5992
+        },
+        "metadata": [
+          {
+            "name": "m_OwningPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_KillingPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          }
+        ],
+        "parent": "C_Item"
+      },
+      "C_Item_Healthshot": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_WeaponBaseItem"
+      },
+      "C_KeychainModule": {
+        "fields": {
+          "m_nKeychainDefID": 3984,
+          "m_nKeychainSeed": 3988
+        },
+        "metadata": [],
+        "parent": "C_CS2WeaponModuleBase"
+      },
+      "C_Knife": {
+        "fields": {
+          "m_bFirstAttack": 6944
+        },
+        "metadata": [
+          {
+            "name": "m_bFirstAttack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_LightDirectionalEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_LightEntity"
+      },
+      "C_LightEntity": {
+        "fields": {
+          "m_CLightComponent": 3368
+        },
+        "metadata": [
+          {
+            "name": "m_CLightComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CLightComponent::Storage_t"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_LightEnvironmentEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_LightDirectionalEntity"
+      },
+      "C_LightGlow": {
+        "fields": {
+          "m_GlowOverlay": 3400,
+          "m_flGlowProxySize": 3388,
+          "m_flHDRColorScale": 3392,
+          "m_nHorizontalSize": 3368,
+          "m_nMaxDist": 3380,
+          "m_nMinDist": 3376,
+          "m_nOuterMaxDist": 3384,
+          "m_nVerticalSize": 3372
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nHorizontalSize",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nVerticalSize",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nOuterMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flGlowProxySize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_LightOrthoEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_LightEntity"
+      },
+      "C_LightSpotEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_LightEntity"
+      },
+      "C_LocalTempEntity": {
+        "fields": {
+          "bounceFactor": 4000,
+          "die": 3980,
+          "fadeSpeed": 3996,
+          "flags": 3976,
+          "hitSound": 4004,
+          "m_bParticleCollision": 4088,
+          "m_flFrame": 4064,
+          "m_flFrameMax": 3984,
+          "m_flFrameRate": 4060,
+          "m_flSpriteScale": 4052,
+          "m_iLastCollisionFrame": 4092,
+          "m_nFlickerFrame": 4056,
+          "m_pszImpactEffect": 4072,
+          "m_pszParticleEffect": 4080,
+          "m_vLastCollisionOrigin": 4096,
+          "m_vecNormal": 4040,
+          "m_vecPrevAbsOrigin": 4120,
+          "m_vecTempEntAcceleration": 4132,
+          "m_vecTempEntAngVelocity": 4024,
+          "m_vecTempEntVelocity": 4108,
+          "priority": 4008,
+          "tempent_renderamt": 4036,
+          "tentOffset": 4012,
+          "x": 3988,
+          "y": 3992
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_MapPreviewParticleSystem": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_ParticleSystem"
+      },
+      "C_MapVetoPickController": {
+        "fields": {
+          "m_bDisabledHud": 3756,
+          "m_nAccountIDs": 1692,
+          "m_nCurrentPhase": 3740,
+          "m_nDraftType": 1400,
+          "m_nMapId0": 1948,
+          "m_nMapId1": 2204,
+          "m_nMapId2": 2460,
+          "m_nMapId3": 2716,
+          "m_nMapId4": 2972,
+          "m_nMapId5": 3228,
+          "m_nPhaseDurationTicks": 3748,
+          "m_nPhaseStartTick": 3744,
+          "m_nPostDataUpdateTick": 3752,
+          "m_nStartingSide0": 3484,
+          "m_nTeamWinningCoinToss": 1404,
+          "m_nTeamWithFirstChoice": 1408,
+          "m_nVoteMapIdsList": 1664
+        },
+        "metadata": [
+          {
+            "name": "m_nDraftType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nTeamWinningCoinToss",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nTeamWithFirstChoice",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVoteMapIdsList",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nAccountIDs",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId0",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId1",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId2",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId3",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId4",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId5",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nStartingSide0",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCurrentPhase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPhaseStartTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPhaseDurationTicks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_ModelPointEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_MolotovGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenade"
+      },
+      "C_MolotovProjectile": {
+        "fields": {
+          "m_bIsIncGrenade": 4616
+        },
+        "metadata": [
+          {
+            "name": "m_bIsIncGrenade",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseCSGrenadeProjectile"
+      },
+      "C_Multimeter": {
+        "fields": {
+          "m_hTargetC4": 3984
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_MultiplayRules": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_GameRules"
+      },
+      "C_NametagModule": {
+        "fields": {
+          "m_strNametagString": 3984
+        },
+        "metadata": [],
+        "parent": "C_CS2WeaponModuleBase"
+      },
+      "C_NetTestBaseCombatCharacter": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCombatCharacter"
+      },
+      "C_OmniLight": {
+        "fields": {
+          "m_bShowLight": 4216,
+          "m_flInnerAngle": 4208,
+          "m_flOuterAngle": 4212
+        },
+        "metadata": [
+          {
+            "name": "m_flInnerAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flOuterAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bShowLight",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BarnLight"
+      },
+      "C_ParticleSystem": {
+        "fields": {
+          "m_bActive": 3880,
+          "m_bAnimateDuringGameplayPause": 3892,
+          "m_bFrozen": 3881,
+          "m_bNoFreeze": 4221,
+          "m_bNoRamp": 4222,
+          "m_bNoSave": 4220,
+          "m_bOldActive": 4800,
+          "m_bOldFrozen": 4801,
+          "m_bStartActive": 4223,
+          "m_clrTint": 4764,
+          "m_flFreezeTransitionDuration": 3884,
+          "m_flPreSimTime": 3908,
+          "m_flStartTime": 3904,
+          "m_hControlPointEnts": 3964,
+          "m_iEffectIndex": 3896,
+          "m_iServerControlPointAssignments": 3960,
+          "m_iszControlPointNames": 4232,
+          "m_iszEffectName": 4224,
+          "m_nDataCP": 4744,
+          "m_nStopType": 3888,
+          "m_nTintCP": 4760,
+          "m_szSnapshotFileName": 3368,
+          "m_vServerControlPoints": 3912,
+          "m_vecDataCPValue": 4748
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_szSnapshotFileName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFrozen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFreezeTransitionDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nStopType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bAnimateDuringGameplayPause",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinitionStrong"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flPreSimTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_vServerControlPoints",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_iServerControlPointAssignments",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hControlPointEnts",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bNoSave",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoFreeze",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoRamp",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_PathParticleRope": {
+        "fields": {
+          "m_ColorTint": 1444,
+          "m_PathNodes_Color": 1536,
+          "m_PathNodes_Name": 1408,
+          "m_PathNodes_PinEnabled": 1560,
+          "m_PathNodes_Position": 1464,
+          "m_PathNodes_RadiusScale": 1584,
+          "m_PathNodes_TangentIn": 1488,
+          "m_PathNodes_TangentOut": 1512,
+          "m_bStartActive": 1392,
+          "m_flMaxSimulationTime": 1396,
+          "m_flParticleSpacing": 1432,
+          "m_flRadius": 1440,
+          "m_flSlack": 1436,
+          "m_iEffectIndex": 1456,
+          "m_iszEffectName": 1400,
+          "m_nEffectState": 1448
+        },
+        "metadata": [
+          {
+            "name": "m_flParticleSpacing",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSlack",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_ColorTint",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_nEffectState",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinitionStrong"
+          },
+          {
+            "name": "m_PathNodes_Position",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_TangentIn",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_TangentOut",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_PinEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_PathNodes_RadiusScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_PathParticleRopeAlias_path_particle_rope_clientside": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_PathParticleRope"
+      },
+      "C_PhysBox": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_Breakable"
+      },
+      "C_PhysMagnet": {
+        "fields": {
+          "m_aAttachedObjects": 4000,
+          "m_aAttachedObjectsFromServer": 3976
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_PhysPropClientside": {
+        "fields": {
+          "m_fDeathTime": 4372,
+          "m_flTouchDelta": 4368,
+          "m_inertiaScale": 4376,
+          "m_nDamageType": 4404,
+          "m_vecDamageDirection": 4392,
+          "m_vecDamagePosition": 4380
+        },
+        "metadata": [],
+        "parent": "C_BreakableProp"
+      },
+      "C_PhysicsProp": {
+        "fields": {
+          "m_bAwake": 4368
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bAwake",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BreakableProp"
+      },
+      "C_PhysicsPropMultiplayer": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_PhysicsProp"
+      },
+      "C_PlantedC4": {
+        "fields": {
+          "m_AttributeManager": 4080,
+          "m_bBeingDefused": 4044,
+          "m_bBombDefused": 4068,
+          "m_bBombTicking": 3984,
+          "m_bC4Activated": 4056,
+          "m_bCannotBeDefused": 4036,
+          "m_bExplodeWarning": 4052,
+          "m_bHasExploded": 4037,
+          "m_bRadarFlash": 5280,
+          "m_bTenSecWarning": 4057,
+          "m_bTriggerWarning": 4048,
+          "m_entitySpottedState": 4000,
+          "m_fLastDefuseTime": 5288,
+          "m_flC4Blow": 4032,
+          "m_flC4ExplodeSpectateDuration": 5328,
+          "m_flDefuseCountDown": 4064,
+          "m_flDefuseLength": 4060,
+          "m_flNextBeep": 4028,
+          "m_flNextGlow": 4024,
+          "m_flNextRadarFlashTime": 5276,
+          "m_flTimerLength": 4040,
+          "m_hBombDefuser": 4072,
+          "m_hControlPanel": 4076,
+          "m_hDefuserMultimeter": 5272,
+          "m_nBombSite": 3988,
+          "m_nSourceSoundscapeHash": 3992,
+          "m_pBombDefuser": 5284,
+          "m_pPredictionOwner": 5296,
+          "m_vecC4ExplodeSpectateAng": 5316,
+          "m_vecC4ExplodeSpectatePos": 5304
+        },
+        "metadata": [
+          {
+            "name": "m_bBombTicking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nBombSite",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nSourceSoundscapeHash",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          },
+          {
+            "name": "m_flC4Blow",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bCannotBeDefused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasExploded",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimerLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bBeingDefused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDefuseLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefuseCountDown",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bBombDefused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hBombDefuser",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hControlPanel",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_AttributeManager",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeContainer"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_PlayerPing": {
+        "fields": {
+          "m_bUrgent": 1444,
+          "m_hPingedEntity": 1436,
+          "m_hPlayer": 1432,
+          "m_iType": 1440,
+          "m_szPlaceName": 1445
+        },
+        "metadata": [
+          {
+            "name": "m_hPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hPingedEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_iType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bUrgent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szPlaceName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_PlayerSprayDecal": {
+        "fields": {
+          "m_SprayRenderHelper": 3592,
+          "m_flCreationTime": 3444,
+          "m_nEntity": 3436,
+          "m_nHitbox": 3440,
+          "m_nPlayer": 3432,
+          "m_nTintID": 3448,
+          "m_nUniqueID": 3368,
+          "m_nVersion": 3452,
+          "m_rtGcTime": 3380,
+          "m_ubSignature": 3453,
+          "m_unAccountID": 3372,
+          "m_unTraceID": 3376,
+          "m_vecEndPos": 3384,
+          "m_vecLeft": 3408,
+          "m_vecNormal": 3420,
+          "m_vecStart": 3396
+        },
+        "metadata": [
+          {
+            "name": "m_nUniqueID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_unAccountID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unTraceID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_rtGcTime",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_vecEndPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecStart",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecLeft",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEntity",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nHitbox",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flCreationTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nTintID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVersion",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_ubSignature",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": "C_ModelPointEntity"
+      },
+      "C_PlayerVisibility": {
+        "fields": {
+          "m_bIsEnabled": 1401,
+          "m_bStartDisabled": 1400,
+          "m_flFadeTime": 1396,
+          "m_flFogDistanceMultiplier": 1388,
+          "m_flFogMaxDensityMultiplier": 1392,
+          "m_flVisibilityStrength": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_flVisibilityStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogDistanceMultiplier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxDensityMultiplier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_PointCamera": {
+        "fields": {
+          "m_DegreesPerSecond": 1464,
+          "m_FOV": 1384,
+          "m_FogColor": 1393,
+          "m_Resolution": 1388,
+          "m_TargetFOV": 1460,
+          "m_bActive": 1412,
+          "m_bAlignWithParent": 1437,
+          "m_bCanHLTVUse": 1436,
+          "m_bDofEnabled": 1438,
+          "m_bFogEnable": 1392,
+          "m_bIsOn": 1468,
+          "m_bNoSky": 1420,
+          "m_bUseScreenAspectRatio": 1413,
+          "m_fBrightness": 1424,
+          "m_flAspectRatio": 1416,
+          "m_flDofFarBlurry": 1452,
+          "m_flDofFarCrisp": 1448,
+          "m_flDofNearBlurry": 1440,
+          "m_flDofNearCrisp": 1444,
+          "m_flDofTiltToGround": 1456,
+          "m_flFogEnd": 1404,
+          "m_flFogMaxDensity": 1408,
+          "m_flFogStart": 1400,
+          "m_flZFar": 1428,
+          "m_flZNear": 1432,
+          "m_pNext": 1472
+        },
+        "metadata": [
+          {
+            "name": "m_FOV",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Resolution",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bFogEnable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_FogColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flFogStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxDensity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseScreenAspectRatio",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flAspectRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bNoSky",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flZFar",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flZNear",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bCanHLTVUse",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAlignWithParent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDofEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDofNearBlurry",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofNearCrisp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofFarCrisp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofFarBlurry",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofTiltToGround",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_PointCameraVFOV": {
+        "fields": {
+          "m_flVerticalFOV": 1480
+        },
+        "metadata": [],
+        "parent": "C_PointCamera"
+      },
+      "C_PointClientUIDialog": {
+        "fields": {
+          "m_bStartEnabled": 3420,
+          "m_hActivator": 3416
+        },
+        "metadata": [
+          {
+            "name": "m_hActivator",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": "C_BaseClientUIEntity"
+      },
+      "C_PointClientUIHUD": {
+        "fields": {
+          "m_bAllowInteractionFromAllSceneWorlds": 3848,
+          "m_bCheckCSSClasses": 3424,
+          "m_bIgnoreInput": 3808,
+          "m_flDPI": 3820,
+          "m_flDepthOffset": 3828,
+          "m_flHeight": 3816,
+          "m_flInteractDistance": 3824,
+          "m_flWidth": 3812,
+          "m_unHorizontalAlign": 3836,
+          "m_unOrientation": 3844,
+          "m_unOwnerContext": 3832,
+          "m_unVerticalAlign": 3840,
+          "m_vecCSSClasses": 3856
+        },
+        "metadata": [
+          {
+            "name": "m_bIgnoreInput",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDPI",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flInteractDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepthOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_unOwnerContext",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unHorizontalAlign",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unVerticalAlign",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unOrientation",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bAllowInteractionFromAllSceneWorlds",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecCSSClasses",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "C_BaseClientUIEntity"
+      },
+      "C_PointClientUIWorldPanel": {
+        "fields": {
+          "m_anchorDeltaTransform": 3440,
+          "m_bAllowInteractionFromAllSceneWorlds": 3928,
+          "m_bCheckCSSClasses": 3426,
+          "m_bDisableMipGen": 3967,
+          "m_bExcludeFromSaveGames": 3964,
+          "m_bFollowPlayerAcrossTeleport": 3890,
+          "m_bForceRecreateNextUpdate": 3424,
+          "m_bGrabbable": 3965,
+          "m_bIgnoreInput": 3888,
+          "m_bLit": 3889,
+          "m_bMoveViewToPlayerNextThink": 3425,
+          "m_bNoDepth": 3961,
+          "m_bOnlyRenderToTexture": 3966,
+          "m_bOpaque": 3960,
+          "m_bRenderBackface": 3962,
+          "m_bUseOffScreenIndicator": 3963,
+          "m_flDPI": 3900,
+          "m_flDepthOffset": 3908,
+          "m_flHeight": 3896,
+          "m_flInteractDistance": 3904,
+          "m_flWidth": 3892,
+          "m_nExplicitImageLayout": 3968,
+          "m_pOffScreenIndicator": 3848,
+          "m_unHorizontalAlign": 3916,
+          "m_unOrientation": 3924,
+          "m_unOwnerContext": 3912,
+          "m_unVerticalAlign": 3920,
+          "m_vecCSSClasses": 3936
+        },
+        "metadata": [
+          {
+            "name": "m_bIgnoreInput",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLit",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFollowPlayerAcrossTeleport",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDPI",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flInteractDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepthOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_unOwnerContext",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unHorizontalAlign",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unVerticalAlign",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unOrientation",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bAllowInteractionFromAllSceneWorlds",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecCSSClasses",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_bOpaque",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoDepth",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bRenderBackface",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseOffScreenIndicator",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bExcludeFromSaveGames",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bGrabbable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bOnlyRenderToTexture",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDisableMipGen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nExplicitImageLayout",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": "C_BaseClientUIEntity"
+      },
+      "C_PointClientUIWorldTextPanel": {
+        "fields": {
+          "m_messageText": 3984
+        },
+        "metadata": [
+          {
+            "name": "m_messageText",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "C_PointClientUIWorldPanel"
+      },
+      "C_PointCommentaryNode": {
+        "fields": {
+          "m_bActive": 3984,
+          "m_bListenedTo": 4032,
+          "m_bRestartAfterRestore": 4052,
+          "m_bWasActive": 3985,
+          "m_flEndTime": 3988,
+          "m_flStartTime": 3992,
+          "m_flStartTimeInCommentary": 3996,
+          "m_hViewPosition": 4048,
+          "m_iNodeNumber": 4024,
+          "m_iNodeNumberMax": 4028,
+          "m_iszCommentaryFile": 4000,
+          "m_iszSpeakers": 4016,
+          "m_iszTitle": 4008
+        },
+        "metadata": [
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartTimeInCommentary",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_iszCommentaryFile",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszTitle",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszSpeakers",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iNodeNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNodeNumberMax",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bListenedTo",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hViewPosition",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseEntity>"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_PointEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_PointValueRemapper": {
+        "fields": {
+          "m_bDisabled": 1384,
+          "m_bDisabledOld": 1385,
+          "m_bEngaged": 1480,
+          "m_bFirstUpdate": 1481,
+          "m_bRequiresUseKey": 1412,
+          "m_bUpdateOnClient": 1386,
+          "m_flCurrentMomentum": 1464,
+          "m_flDisengageDistance": 1404,
+          "m_flEngageDistance": 1408,
+          "m_flInputOffset": 1476,
+          "m_flMaximumChangePerSecond": 1400,
+          "m_flMomentumModifier": 1456,
+          "m_flPreviousUpdateTickTime": 1488,
+          "m_flPreviousValue": 1484,
+          "m_flRatchetOffset": 1472,
+          "m_flSnapValue": 1460,
+          "m_hOutputEntities": 1424,
+          "m_hRemapLineEnd": 1396,
+          "m_hRemapLineStart": 1392,
+          "m_nHapticsType": 1448,
+          "m_nInputType": 1388,
+          "m_nMomentumType": 1452,
+          "m_nOutputType": 1416,
+          "m_nRatchetType": 1468,
+          "m_vecPreviousTestPoint": 1492
+        },
+        "metadata": [
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUpdateOnClient",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nInputType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperInputType_t"
+          },
+          {
+            "name": "m_hRemapLineStart",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hRemapLineEnd",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_flMaximumChangePerSecond",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDisengageDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flEngageDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bRequiresUseKey",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nOutputType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperOutputType_t"
+          },
+          {
+            "name": "m_hOutputEntities",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseEntity>"
+          },
+          {
+            "name": "m_nHapticsType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperHapticsType_t"
+          },
+          {
+            "name": "m_nMomentumType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperMomentumType_t"
+          },
+          {
+            "name": "m_flMomentumModifier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSnapValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nRatchetType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperRatchetType_t"
+          },
+          {
+            "name": "m_flInputOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_PointWorldText": {
+        "fields": {
+          "m_BackgroundMaterialName": 3976,
+          "m_Color": 4072,
+          "m_FontName": 3912,
+          "m_bDrawBackground": 4056,
+          "m_bEnabled": 4040,
+          "m_bForceRecreateNextUpdate": 3376,
+          "m_bFullbright": 4041,
+          "m_flBackgroundBorderHeight": 4064,
+          "m_flBackgroundBorderWidth": 4060,
+          "m_flBackgroundWorldToUV": 4068,
+          "m_flDepthOffset": 4052,
+          "m_flFontSize": 4048,
+          "m_flWorldUnitsPerPx": 4044,
+          "m_messageText": 3400,
+          "m_nJustifyHorizontal": 4076,
+          "m_nJustifyVertical": 4080,
+          "m_nReorientMode": 4084
+        },
+        "metadata": [
+          {
+            "name": "m_messageText",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_FontName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_BackgroundMaterialName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFullbright",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flWorldUnitsPerPx",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFontSize",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepthOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bDrawBackground",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flBackgroundBorderWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBackgroundBorderHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBackgroundWorldToUV",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_nJustifyHorizontal",
+            "type": "NetworkVarNames",
+            "type_name": "PointWorldTextJustifyHorizontal_t"
+          },
+          {
+            "name": "m_nJustifyVertical",
+            "type": "NetworkVarNames",
+            "type_name": "PointWorldTextJustifyVertical_t"
+          },
+          {
+            "name": "m_nReorientMode",
+            "type": "NetworkVarNames",
+            "type_name": "PointWorldTextReorientMode_t"
+          }
+        ],
+        "parent": "C_ModelPointEntity"
+      },
+      "C_PortraitWorldCallbackHandler": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_PostProcessingVolume": {
+        "fields": {
+          "m_bExposureControl": 3437,
+          "m_bMaster": 3436,
+          "m_flExposureCompensation": 3420,
+          "m_flExposureFadeSpeedDown": 3428,
+          "m_flExposureFadeSpeedUp": 3424,
+          "m_flFadeDuration": 3400,
+          "m_flMaxExposure": 3416,
+          "m_flMaxLogExposure": 3408,
+          "m_flMinExposure": 3412,
+          "m_flMinLogExposure": 3404,
+          "m_flRate": 3440,
+          "m_flTonemapEVSmoothingRange": 3432,
+          "m_flTonemapMinAvgLum": 3452,
+          "m_flTonemapPercentBrightPixels": 3448,
+          "m_flTonemapPercentTarget": 3444,
+          "m_hPostSettings": 3392
+        },
+        "metadata": [
+          {
+            "name": "m_hPostSettings",
+            "type": "NetworkVarNames",
+            "type_name": "HPostProcessingStrong"
+          },
+          {
+            "name": "m_flFadeDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinLogExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMaxLogExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMaxExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureCompensation",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureFadeSpeedUp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureFadeSpeedDown",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapEVSmoothingRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bMaster",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bExposureControl",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flRate",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentTarget",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentBrightPixels",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapMinAvgLum",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseTrigger"
+      },
+      "C_Precipitation": {
+        "fields": {
+          "m_bActiveParticlePrecipEmitter": 3448,
+          "m_bHasSimulatedSinceLastSceneObjectUpdate": 3450,
+          "m_bParticlePrecipInitialized": 3449,
+          "m_flDensity": 3376,
+          "m_flParticleInnerDist": 3392,
+          "m_nAvailableSheetSequencesMaxIndex": 3452,
+          "m_pParticleDef": 3400,
+          "m_tParticlePrecipTraceTimer": 3440
+        },
+        "metadata": [],
+        "parent": "C_BaseTrigger"
+      },
+      "C_PrecipitationBlocker": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_PredictedViewModel": {
+        "fields": {
+          "m_currentSpeed": 4104,
+          "m_targetSpeed": 4092,
+          "m_vPredictedLagOffset": 4080
+        },
+        "metadata": [],
+        "parent": "C_BaseViewModel"
+      },
+      "C_PropDoorRotating": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BasePropDoor"
+      },
+      "C_RagdollProp": {
+        "fields": {
+          "m_flBlendWeight": 4032,
+          "m_flBlendWeightCurrent": 4044,
+          "m_hRagdollSource": 4036,
+          "m_iEyeAttachment": 4040,
+          "m_parentPhysicsBoneIndices": 4048,
+          "m_ragAngles": 4008,
+          "m_ragPos": 3984,
+          "m_worldSpaceBoneComputationOrder": 4072
+        },
+        "metadata": [
+          {
+            "name": "m_ragPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_ragAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_flBlendWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hRagdollSource",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_RagdollPropAttached": {
+        "fields": {
+          "m_attachmentPointBoneSpace": 4104,
+          "m_attachmentPointRagdollSpace": 4116,
+          "m_bHasParent": 4144,
+          "m_boneIndexAttached": 4096,
+          "m_parentTime": 4140,
+          "m_ragdollAttachedObjectIndex": 4100,
+          "m_vecOffset": 4128
+        },
+        "metadata": [
+          {
+            "name": "m_boneIndexAttached",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_ragdollAttachedObjectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_attachmentPointBoneSpace",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_attachmentPointRagdollSpace",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_RagdollProp"
+      },
+      "C_RectLight": {
+        "fields": {
+          "m_bShowLight": 4208
+        },
+        "metadata": [
+          {
+            "name": "m_bShowLight",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BarnLight"
+      },
+      "C_RetakeGameRules": {
+        "fields": {
+          "m_bBlockersPresent": 252,
+          "m_bRoundInProgress": 253,
+          "m_iBombSite": 260,
+          "m_iFirstSecondHalfRound": 256,
+          "m_nMatchSeed": 248
+        },
+        "metadata": [
+          {
+            "name": "m_nMatchSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bBlockersPresent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bRoundInProgress",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iFirstSecondHalfRound",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iBombSite",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": null
+      },
+      "C_RopeKeyframe": {
+        "fields": {
+          "m_LightValues": 4072,
+          "m_LinksTouchingSomething": 3376,
+          "m_PhysicsDelegate": 4224,
+          "m_RopeFlags": 3432,
+          "m_RopeLength": 4208,
+          "m_Slack": 4210,
+          "m_Subdiv": 4206,
+          "m_TextureHeight": 4248,
+          "m_TextureScale": 4212,
+          "m_Width": 4220,
+          "m_bApplyWind": 3384,
+          "m_bConstrainBetweenEndpoints": 4360,
+          "m_bEndPointAttachmentAnglesDirty": 0,
+          "m_bEndPointAttachmentPositionsDirty": 0,
+          "m_bNewDataThisFrame": 0,
+          "m_bPhysicsInitted": 0,
+          "m_bPrevEndPointPos": 3396,
+          "m_fLockedPoints": 4216,
+          "m_fPrevLockedPoints": 3388,
+          "m_flCurScroll": 3424,
+          "m_flCurrentGustLifetime": 4280,
+          "m_flCurrentGustTimer": 4276,
+          "m_flScrollSpeed": 3428,
+          "m_flTimeToNextGust": 4284,
+          "m_hEndPoint": 4200,
+          "m_hMaterial": 4240,
+          "m_hStartPoint": 4196,
+          "m_iEndAttachment": 4205,
+          "m_iForcePointMoveCounter": 3392,
+          "m_iRopeMaterialModelIndex": 3440,
+          "m_iStartAttachment": 4204,
+          "m_nChangeCount": 4217,
+          "m_nLinksTouchingSomething": 3380,
+          "m_nSegments": 4192,
+          "m_vCachedEndPointAttachmentAngle": 4336,
+          "m_vCachedEndPointAttachmentPos": 4312,
+          "m_vColorMod": 4300,
+          "m_vPrevEndPointPos": 3400,
+          "m_vWindDir": 4288,
+          "m_vecImpulse": 4252,
+          "m_vecPreviousImpulse": 4264
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flScrollSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_RopeFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_iRopeMaterialModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_nSegments",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hStartPoint",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseEntity>"
+          },
+          {
+            "name": "m_hEndPoint",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseEntity>"
+          },
+          {
+            "name": "m_iStartAttachment",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_iEndAttachment",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_Subdiv",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_RopeLength",
+            "type": "NetworkVarNames",
+            "type_name": "int16"
+          },
+          {
+            "name": "m_Slack",
+            "type": "NetworkVarNames",
+            "type_name": "int16"
+          },
+          {
+            "name": "m_TextureScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fLockedPoints",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nChangeCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_Width",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bConstrainBetweenEndpoints",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_RopeKeyframe__CPhysicsDelegate": {
+        "fields": {
+          "m_pKeyframe": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "C_SceneEntity": {
+        "fields": {
+          "m_QueuedEvents": 1448,
+          "m_bAutogenerated": 1395,
+          "m_bClientOnly": 1402,
+          "m_bIsPlayingBack": 1392,
+          "m_bMultiplayer": 1394,
+          "m_bPaused": 1393,
+          "m_bWasPlaying": 1432,
+          "m_flCurrentTime": 1472,
+          "m_flForceClientTime": 1396,
+          "m_hActorList": 1408,
+          "m_hOwner": 1404,
+          "m_nSceneStringIndex": 1400
+        },
+        "metadata": [
+          {
+            "name": "m_bIsPlayingBack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMultiplayer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAutogenerated",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flForceClientTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nSceneStringIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_hActorList",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BaseFlex>"
+          }
+        ],
+        "parent": "C_PointEntity"
+      },
+      "C_SceneEntity__QueuedEvents_t": {
+        "fields": {
+          "starttime": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "C_ShatterGlassShardPhysics": {
+        "fields": {
+          "m_ShardDesc": 4384
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_ShardDesc",
+            "type": "NetworkVarNames",
+            "type_name": "shard_model_desc_t"
+          }
+        ],
+        "parent": "C_PhysicsProp"
+      },
+      "C_SingleplayRules": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_GameRules"
+      },
+      "C_SkyCamera": {
+        "fields": {
+          "m_bUseAngles": 1532,
+          "m_pNext": 1536,
+          "m_skyboxData": 1384,
+          "m_skyboxSlotToken": 1528
+        },
+        "metadata": [
+          {
+            "name": "m_skyboxData",
+            "type": "NetworkVarNames",
+            "type_name": "sky3dparams_t"
+          },
+          {
+            "name": "m_skyboxSlotToken",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_SmokeGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseCSGrenade"
+      },
+      "C_SmokeGrenadeProjectile": {
+        "fields": {
+          "m_VoxelFrameData": 4664,
+          "m_bDidSmokeEffect": 4628,
+          "m_bSmokeEffectSpawned": 4697,
+          "m_bSmokeVolumeDataReceived": 4696,
+          "m_nRandomSeed": 4632,
+          "m_nSmokeEffectTickBegin": 4624,
+          "m_nVoxelFrameDataSize": 4688,
+          "m_nVoxelUpdate": 4692,
+          "m_vSmokeColor": 4636,
+          "m_vSmokeDetonationPos": 4648
+        },
+        "metadata": [
+          {
+            "name": "m_nSmokeEffectTickBegin",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bDidSmokeEffect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nRandomSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vSmokeColor",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vSmokeDetonationPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_VoxelFrameData",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nVoxelFrameDataSize",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVoxelUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "C_BaseCSGrenadeProjectile"
+      },
+      "C_SoundAreaEntityBase": {
+        "fields": {
+          "m_bDisabled": 1384,
+          "m_bWasEnabled": 1392,
+          "m_iszSoundAreaType": 1400,
+          "m_vPos": 1408
+        },
+        "metadata": [
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iszSoundAreaType",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_vPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_SoundAreaEntityOrientedBox": {
+        "fields": {
+          "m_vMax": 1436,
+          "m_vMin": 1424
+        },
+        "metadata": [
+          {
+            "name": "m_vMin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMax",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_SoundAreaEntityBase"
+      },
+      "C_SoundAreaEntitySphere": {
+        "fields": {
+          "m_flRadius": 1424
+        },
+        "metadata": [
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_SoundAreaEntityBase"
+      },
+      "C_SoundEventAABBEntity": {
+        "fields": {
+          "m_vMaxs": 1588,
+          "m_vMins": 1576
+        },
+        "metadata": [
+          {
+            "name": "m_vMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_SoundEventEntity"
+      },
+      "C_SoundEventEntity": {
+        "fields": {
+          "m_bClientSideOnly": 0,
+          "m_bSaveRestore": 1387,
+          "m_bSavedIsPlaying": 1388,
+          "m_bStartOnSpawn": 1384,
+          "m_bStopOnNew": 1386,
+          "m_bToLocalPlayer": 1385,
+          "m_flClientCullRadius": 1496,
+          "m_flSavedElapsedTime": 1392,
+          "m_hSource": 1560,
+          "m_iszAttachmentName": 1408,
+          "m_iszSoundName": 1544,
+          "m_iszSourceEntityName": 1400,
+          "m_nEntityIndexSelection": 1564,
+          "m_onGUIDChanged": 1416,
+          "m_onSoundFinished": 1456
+        },
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_SoundEventEntityAlias_snd_event_point": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundEventEntity"
+      },
+      "C_SoundEventOBBEntity": {
+        "fields": {
+          "m_vMaxs": 1588,
+          "m_vMins": 1576
+        },
+        "metadata": [
+          {
+            "name": "m_vMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "C_SoundEventEntity"
+      },
+      "C_SoundEventPathCornerEntity": {
+        "fields": {
+          "m_vecCornerPairsNetworked": 1576
+        },
+        "metadata": [
+          {
+            "name": "m_vecCornerPairsNetworked",
+            "type": "NetworkVarNames",
+            "type_name": "SoundeventPathCornerPairNetworked_t"
+          }
+        ],
+        "parent": "C_SoundEventEntity"
+      },
+      "C_SoundEventSphereEntity": {
+        "fields": {
+          "m_flRadius": 1576
+        },
+        "metadata": [
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_SoundEventEntity"
+      },
+      "C_SoundOpvarSetAABBEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundOpvarSetPointEntity"
+      },
+      "C_SoundOpvarSetAutoRoomEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundOpvarSetPointEntity"
+      },
+      "C_SoundOpvarSetOBBEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundOpvarSetAABBEntity"
+      },
+      "C_SoundOpvarSetOBBWindEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundOpvarSetPointBase"
+      },
+      "C_SoundOpvarSetPathCornerEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundOpvarSetPointEntity"
+      },
+      "C_SoundOpvarSetPointBase": {
+        "fields": {
+          "m_bUseAutoCompare": 1412,
+          "m_iOpvarIndex": 1408,
+          "m_iszOperatorName": 1392,
+          "m_iszOpvarName": 1400,
+          "m_iszStackName": 1384
+        },
+        "metadata": [
+          {
+            "name": "m_iszStackName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOperatorName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOpvarName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iOpvarIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bUseAutoCompare",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_SoundOpvarSetPointEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_SoundOpvarSetPointBase"
+      },
+      "C_SpotlightEnd": {
+        "fields": {
+          "m_Radius": 3372,
+          "m_flLightScale": 3368
+        },
+        "metadata": [
+          {
+            "name": "m_flLightScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_Radius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_Sprite": {
+        "fields": {
+          "m_bWorldSpaceScale": 3424,
+          "m_flBrightnessDuration": 3412,
+          "m_flBrightnessTimeStart": 3464,
+          "m_flDestScale": 3448,
+          "m_flDieTime": 3392,
+          "m_flFrame": 3388,
+          "m_flGlowProxySize": 3428,
+          "m_flHDRColorScale": 3432,
+          "m_flLastTime": 3436,
+          "m_flMaxFrame": 3440,
+          "m_flScaleDuration": 3420,
+          "m_flScaleTimeStart": 3452,
+          "m_flSpriteFramerate": 3384,
+          "m_flSpriteScale": 3416,
+          "m_flStartScale": 3444,
+          "m_hAttachedToEntity": 3376,
+          "m_hOldSpriteMaterial": 3472,
+          "m_hSpriteMaterial": 3368,
+          "m_nAttachment": 3380,
+          "m_nBrightness": 3408,
+          "m_nDestBrightness": 3460,
+          "m_nSpriteHeight": 3636,
+          "m_nSpriteWidth": 3632,
+          "m_nStartBrightness": 3456
+        },
+        "metadata": [
+          {
+            "name": "m_hSpriteMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_hAttachedToEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nAttachment",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_flSpriteFramerate",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flBrightnessDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flSpriteScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flScaleDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bWorldSpaceScale",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flGlowProxySize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_StattrakModule": {
+        "fields": {
+          "m_bKnife": 3984
+        },
+        "metadata": [],
+        "parent": "C_CS2WeaponModuleBase"
+      },
+      "C_Sun": {
+        "fields": {
+          "m_bOn": 3428,
+          "m_bmaxColor": 3429,
+          "m_clrOverlay": 3424,
+          "m_fdistNormalize": 3376,
+          "m_flAlphaHaze": 3448,
+          "m_flAlphaHdr": 3456,
+          "m_flAlphaScale": 3452,
+          "m_flFarZScale": 3460,
+          "m_flHDRColorScale": 3444,
+          "m_flHazeScale": 3436,
+          "m_flRotation": 3440,
+          "m_flSize": 3432,
+          "m_fxSSSunFlareEffectIndex": 3368,
+          "m_fxSunFlareEffectIndex": 3372,
+          "m_iszEffectName": 3408,
+          "m_iszSSEffectName": 3416,
+          "m_vDirection": 3392,
+          "m_vSunPos": 3380
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_vDirection",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_iszEffectName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszSSEffectName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_clrOverlay",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_bOn",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bmaxColor",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flSize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHazeScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRotation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAlphaHaze",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAlphaScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAlphaHdr",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFarZScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_Team": {
+        "fields": {
+          "m_aPlayerControllers": 1384,
+          "m_aPlayers": 1408,
+          "m_iScore": 1432,
+          "m_szTeamname": 1436
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_aPlayerControllers",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerController>"
+          },
+          {
+            "name": "m_aPlayers",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<C_BasePlayerPawn>"
+          },
+          {
+            "name": "m_iScore",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_szTeamname",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_TeamRoundTimer": {
+        "fields": {
+          "m_bAutoCountdown": 1412,
+          "m_bFire10SecRemain": 1440,
+          "m_bFire1MinRemain": 1438,
+          "m_bFire1SecRemain": 1445,
+          "m_bFire2MinRemain": 1437,
+          "m_bFire2SecRemain": 1444,
+          "m_bFire30SecRemain": 1439,
+          "m_bFire3MinRemain": 1436,
+          "m_bFire3SecRemain": 1443,
+          "m_bFire4MinRemain": 1435,
+          "m_bFire4SecRemain": 1442,
+          "m_bFire5MinRemain": 1434,
+          "m_bFire5SecRemain": 1441,
+          "m_bFireFinished": 1433,
+          "m_bInCaptureWatchState": 1425,
+          "m_bIsDisabled": 1396,
+          "m_bShowInHUD": 1397,
+          "m_bStartPaused": 1424,
+          "m_bStopWatchTimer": 1432,
+          "m_bTimerPaused": 1384,
+          "m_flTimeRemaining": 1388,
+          "m_flTimerEndTime": 1392,
+          "m_flTotalTime": 1428,
+          "m_nOldTimerLength": 1448,
+          "m_nOldTimerState": 1452,
+          "m_nSetupTimeLength": 1416,
+          "m_nState": 1420,
+          "m_nTimerInitialLength": 1404,
+          "m_nTimerLength": 1400,
+          "m_nTimerMaxLength": 1408
+        },
+        "metadata": [
+          {
+            "name": "m_bTimerPaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimeRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTimerEndTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bShowInHUD",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nTimerLength",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nTimerInitialLength",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nTimerMaxLength",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bAutoCountdown",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nSetupTimeLength",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nState",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bStartPaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bInCaptureWatchState",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTotalTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStopWatchTimer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_TeamplayRules": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_MultiplayRules"
+      },
+      "C_TextureBasedAnimatable": {
+        "fields": {
+          "m_bLoop": 3368,
+          "m_flFPS": 3372,
+          "m_flStartFrame": 3420,
+          "m_flStartTime": 3416,
+          "m_hPositionKeys": 3376,
+          "m_hRotationKeys": 3384,
+          "m_vAnimationBoundsMax": 3404,
+          "m_vAnimationBoundsMin": 3392
+        },
+        "metadata": [
+          {
+            "name": "m_bLoop",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFPS",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_hPositionKeys",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_hRotationKeys",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_vAnimationBoundsMin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vAnimationBoundsMax",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_TintController": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseEntity"
+      },
+      "C_TonemapController2": {
+        "fields": {
+          "m_flAutoExposureMax": 1388,
+          "m_flAutoExposureMin": 1384,
+          "m_flExposureAdaptationSpeedDown": 1408,
+          "m_flExposureAdaptationSpeedUp": 1404,
+          "m_flTonemapEVSmoothingRange": 1412,
+          "m_flTonemapMinAvgLum": 1400,
+          "m_flTonemapPercentBrightPixels": 1396,
+          "m_flTonemapPercentTarget": 1392
+        },
+        "metadata": [
+          {
+            "name": "m_flAutoExposureMin",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAutoExposureMax",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentTarget",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentBrightPixels",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapMinAvgLum",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureAdaptationSpeedUp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureAdaptationSpeedDown",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapEVSmoothingRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_TonemapController2Alias_env_tonemap_controller2": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_TonemapController2"
+      },
+      "C_TriggerBuoyancy": {
+        "fields": {
+          "m_BuoyancyHelper": 3376,
+          "m_flFluidDensity": 3504
+        },
+        "metadata": [
+          {
+            "name": "m_flFluidDensity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "C_BaseTrigger"
+      },
+      "C_TriggerLerpObject": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseTrigger"
+      },
+      "C_TriggerMultiple": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseTrigger"
+      },
+      "C_TriggerPhysics": {
+        "fields": {
+          "m_angularDamping": 3392,
+          "m_angularLimit": 3388,
+          "m_bCollapseToForcePoint": 3420,
+          "m_bConvertToDebrisWhenPossible": 3448,
+          "m_flDampingRatio": 3404,
+          "m_flFrequency": 3400,
+          "m_gravityScale": 3376,
+          "m_linearDamping": 3384,
+          "m_linearForce": 3396,
+          "m_linearLimit": 3380,
+          "m_vecLinearForceDirection": 3436,
+          "m_vecLinearForcePointAt": 3408,
+          "m_vecLinearForcePointAtWorld": 3424
+        },
+        "metadata": [
+          {
+            "name": "m_gravityScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_linearLimit",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_linearDamping",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_angularLimit",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_angularDamping",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_linearForce",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFrequency",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDampingRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vecLinearForcePointAt",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bCollapseToForcePoint",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecLinearForcePointAtWorld",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecLinearForceDirection",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bConvertToDebrisWhenPossible",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseTrigger"
+      },
+      "C_TriggerVolume": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_ViewmodelAttachmentModel": {
+        "fields": {
+          "m_bCreatedLeftHanded": 3985,
+          "m_bShouldFrontFaceCullLeftHanded": 3984
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_VoteController": {
+        "fields": {
+          "m_bIsYesNoVote": 1434,
+          "m_bTypeDirty": 1433,
+          "m_bVotesDirty": 1432,
+          "m_iActiveIssueIndex": 1400,
+          "m_iOnlyTeamToVote": 1404,
+          "m_nPotentialVotes": 1428,
+          "m_nVoteOptionCount": 1408
+        },
+        "metadata": [
+          {
+            "name": "m_iActiveIssueIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iOnlyTeamToVote",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVoteOptionCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPotentialVotes",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bIsYesNoVote",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_BaseEntity"
+      },
+      "C_WaterBullet": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_WeaponAWP": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponAug": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponBaseItem": {
+        "fields": {
+          "m_SequenceCompleteTimer": 6944,
+          "m_bRedraw": 6968
+        },
+        "metadata": [
+          {
+            "name": "m_SequenceCompleteTimer",
+            "type": "NetworkVarNames",
+            "type_name": "CountdownTimer"
+          },
+          {
+            "name": "m_bRedraw",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_WeaponBizon": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponCZ75a": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponElite": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponFamas": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponFiveSeven": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponG3SG1": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponGalilAR": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponGlock": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponHKP2000": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponM249": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponM4A1": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponM4A1Silencer": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponMAC10": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponMP5SD": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponMP7": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponMP9": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponMag7": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponNOVA": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_WeaponNegev": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponP250": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponP90": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponRevolver": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponSCAR20": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponSG556": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponSSG08": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponSawedoff": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_WeaponTaser": {
+        "fields": {
+          "m_fFireTime": 6976,
+          "m_nLastAttackTick": 6980
+        },
+        "metadata": [
+          {
+            "name": "m_fFireTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          }
+        ],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponTec9": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponUMP45": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponUSPSilencer": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBaseGun"
+      },
+      "C_WeaponXM1014": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_CSWeaponBase"
+      },
+      "C_World": {
+        "fields": {},
+        "metadata": [],
+        "parent": "C_BaseModelEntity"
+      },
+      "C_WorldModelGloves": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "C_fogplayerparams_t": {
+        "fields": {
+          "m_NewColor": 40,
+          "m_OldColor": 16,
+          "m_flNewEnd": 48,
+          "m_flNewFarZ": 60,
+          "m_flNewHDRColorScale": 56,
+          "m_flNewMaxDensity": 52,
+          "m_flNewStart": 44,
+          "m_flOldEnd": 24,
+          "m_flOldFarZ": 36,
+          "m_flOldHDRColorScale": 32,
+          "m_flOldMaxDensity": 28,
+          "m_flOldStart": 20,
+          "m_flTransitionTime": 12,
+          "m_hCtrl": 8
+        },
+        "metadata": [
+          {
+            "name": "m_hCtrl",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CFogController>"
+          }
+        ],
+        "parent": null
+      },
+      "CountdownTimer": {
+        "fields": {
+          "m_duration": 8,
+          "m_nWorldGroupId": 20,
+          "m_timescale": 16,
+          "m_timestamp": 12
+        },
+        "metadata": [
+          {
+            "name": "m_duration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_timestamp",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_timescale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nWorldGroupId",
+            "type": "NetworkVarNames",
+            "type_name": "WorldGroupId_t"
+          }
+        ],
+        "parent": null
+      },
+      "EngineCountdownTimer": {
+        "fields": {
+          "m_duration": 8,
+          "m_timescale": 16,
+          "m_timestamp": 12
+        },
+        "metadata": [
+          {
+            "name": "m_duration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_timestamp",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_timescale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": null
+      },
+      "EntityRenderAttribute_t": {
+        "fields": {
+          "m_ID": 48,
+          "m_Values": 52
+        },
+        "metadata": [
+          {
+            "name": "m_ID",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_Values",
+            "type": "NetworkVarNames",
+            "type_name": "Vector4D"
+          }
+        ],
+        "parent": null
+      },
+      "EntitySpottedState_t": {
+        "fields": {
+          "m_bSpotted": 8,
+          "m_bSpottedByMask": 12
+        },
+        "metadata": [
+          {
+            "name": "m_bSpotted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bSpottedByMask",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": null
+      },
+      "IntervalTimer": {
+        "fields": {
+          "m_nWorldGroupId": 12,
+          "m_timestamp": 8
+        },
+        "metadata": [
+          {
+            "name": "m_timestamp",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nWorldGroupId",
+            "type": "NetworkVarNames",
+            "type_name": "WorldGroupId_t"
+          }
+        ],
+        "parent": null
+      },
+      "PhysicsRagdollPose_t": {
+        "fields": {
+          "m_Transforms": 8,
+          "m_hOwner": 32
+        },
+        "metadata": [
+          {
+            "name": "m_Transforms",
+            "type": "NetworkVarNames",
+            "type_name": "CTransform"
+          },
+          {
+            "name": "m_hOwner",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": null
+      },
+      "PredictedDamageTag_t": {
+        "fields": {
+          "flFlinchModLarge": 56,
+          "flFlinchModSmall": 52,
+          "flFriendlyFireDamageReductionRatio": 60,
+          "nTagTick": 48
+        },
+        "metadata": [
+          {
+            "name": "nTagTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "flFlinchModSmall",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "flFlinchModLarge",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "flFriendlyFireDamageReductionRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": null
+      },
+      "SellbackPurchaseEntry_t": {
+        "fields": {
+          "m_bPrevHelmet": 60,
+          "m_hItem": 64,
+          "m_nCost": 52,
+          "m_nPrevArmor": 56,
+          "m_unDefIdx": 48
+        },
+        "metadata": [
+          {
+            "name": "m_unDefIdx",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_nCost",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPrevArmor",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bPrevHelmet",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          }
+        ],
+        "parent": null
+      },
+      "SequenceHistory_t": {
+        "fields": {
+          "m_flCyclesPerSecond": 20,
+          "m_flPlaybackRate": 16,
+          "m_flSeqFixedCycle": 8,
+          "m_flSeqStartTime": 4,
+          "m_hSequence": 0,
+          "m_nSeqLoopMode": 12
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "ServerAuthoritativeWeaponSlot_t": {
+        "fields": {
+          "unClass": 40,
+          "unItemDefIdx": 44,
+          "unSlot": 42
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "VPhysicsCollisionAttribute_t": {
+        "fields": {
+          "m_nCollisionFunctionMask": 43,
+          "m_nCollisionGroup": 42,
+          "m_nEntityId": 32,
+          "m_nHierarchyId": 40,
+          "m_nInteractsAs": 8,
+          "m_nInteractsExclude": 24,
+          "m_nInteractsWith": 16,
+          "m_nOwnerId": 36
+        },
+        "metadata": [
+          {
+            "name": "m_nInteractsAs",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nInteractsWith",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nInteractsExclude",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nEntityId",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nOwnerId",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nHierarchyId",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nCollisionGroup",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nCollisionFunctionMask",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": null
+      },
+      "ViewAngleServerChange_t": {
+        "fields": {
+          "nIndex": 64,
+          "nType": 48,
+          "qAngle": 52
+        },
+        "metadata": [
+          {
+            "name": "nType",
+            "type": "NetworkVarNames",
+            "type_name": "FixAngleSet_t"
+          },
+          {
+            "name": "qAngle",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "nIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": null
+      },
+      "WeaponPurchaseCount_t": {
+        "fields": {
+          "m_nCount": 50,
+          "m_nItemDefIndex": 48
+        },
+        "metadata": [
+          {
+            "name": "m_nItemDefIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": null
+      },
+      "WeaponPurchaseTracker_t": {
+        "fields": {
+          "m_weaponPurchases": 8
+        },
+        "metadata": [
+          {
+            "name": "m_weaponPurchases",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponPurchaseCount_t"
+          }
+        ],
+        "parent": null
+      },
+      "audioparams_t": {
+        "fields": {
+          "localBits": 108,
+          "localSound": 8,
+          "soundEventHash": 116,
+          "soundscapeEntityListIndex": 112,
+          "soundscapeIndex": 104
+        },
+        "metadata": [
+          {
+            "name": "localSound",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "soundscapeIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "localBits",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "soundscapeEntityListIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "soundEventHash",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": null
+      },
+      "fogparams_t": {
+        "fields": {
+          "HDRColorScale": 56,
+          "blend": 101,
+          "blendtobackground": 88,
+          "colorPrimary": 20,
+          "colorPrimaryLerpTo": 28,
+          "colorSecondary": 24,
+          "colorSecondaryLerpTo": 32,
+          "dirPrimary": 8,
+          "duration": 84,
+          "enable": 100,
+          "end": 40,
+          "endLerpTo": 72,
+          "exponent": 52,
+          "farz": 44,
+          "lerptime": 80,
+          "locallightscale": 96,
+          "m_bNoReflectionFog": 102,
+          "m_bPadding": 103,
+          "maxdensity": 48,
+          "maxdensityLerpTo": 76,
+          "scattering": 92,
+          "skyboxFogFactor": 60,
+          "skyboxFogFactorLerpTo": 64,
+          "start": 36,
+          "startLerpTo": 68
+        },
+        "metadata": [
+          {
+            "name": "dirPrimary",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "colorPrimary",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "colorSecondary",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "colorPrimaryLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "colorSecondaryLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "start",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "end",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "farz",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "maxdensity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "exponent",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "HDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "skyboxFogFactor",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "skyboxFogFactorLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "startLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "endLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "maxdensityLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "lerptime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "duration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "blendtobackground",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "scattering",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "locallightscale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "enable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "blend",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoReflectionFog",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "shard_model_desc_t": {
+        "fields": {
+          "m_SurfacePropStringToken": 120,
+          "m_bHasParent": 116,
+          "m_bParentFrozen": 117,
+          "m_flGlassHalfThickness": 112,
+          "m_hMaterialBase": 16,
+          "m_hMaterialDamageOverlay": 24,
+          "m_nModelID": 8,
+          "m_solid": 32,
+          "m_vInitialPanelVertices": 88,
+          "m_vecPanelSize": 36,
+          "m_vecPanelVertices": 64,
+          "m_vecStressPositionA": 44,
+          "m_vecStressPositionB": 52
+        },
+        "metadata": [
+          {
+            "name": "m_nModelID",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_hMaterialBase",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_hMaterialDamageOverlay",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_solid",
+            "type": "NetworkVarNames",
+            "type_name": "ShardSolid_t"
+          },
+          {
+            "name": "m_vecPanelSize",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vecStressPositionA",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vecStressPositionB",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vecPanelVertices",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vInitialPanelVertices",
+            "type": "NetworkVarNames",
+            "type_name": "Vector4D"
+          },
+          {
+            "name": "m_flGlassHalfThickness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHasParent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bParentFrozen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_SurfacePropStringToken",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": null
+      },
+      "sky3dparams_t": {
+        "fields": {
+          "bClip3DSkyBoxNearToWorldFar": 24,
+          "flClip3DSkyBoxNearToWorldFarOffset": 28,
+          "fog": 32,
+          "m_nWorldGroupID": 136,
+          "origin": 12,
+          "scale": 8
+        },
+        "metadata": [
+          {
+            "name": "scale",
+            "type": "NetworkVarNames",
+            "type_name": "int16"
+          },
+          {
+            "name": "origin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "bClip3DSkyBoxNearToWorldFar",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "flClip3DSkyBoxNearToWorldFarOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "fog",
+            "type": "NetworkVarNames",
+            "type_name": "fogparams_t"
+          },
+          {
+            "name": "m_nWorldGroupID",
+            "type": "NetworkVarNames",
+            "type_name": "WorldGroupId_t"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "CompMatPropertyMutatorConditionType_t": {
+        "alignment": 4,
+        "members": {
+          "COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_EXISTS": 0,
+          "COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EQUALS": 2,
+          "COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EXISTS": 1
+        },
+        "type": "uint32"
+      },
+      "CompMatPropertyMutatorType_t": {
+        "alignment": 4,
+        "members": {
+          "COMP_MAT_PROPERTY_MUTATOR_CONDITIONAL_MUTATORS": 6,
+          "COMP_MAT_PROPERTY_MUTATOR_COPY_KEYS_WITH_SUFFIX": 2,
+          "COMP_MAT_PROPERTY_MUTATOR_COPY_MATCHING_KEYS": 1,
+          "COMP_MAT_PROPERTY_MUTATOR_COPY_PROPERTY": 3,
+          "COMP_MAT_PROPERTY_MUTATOR_DRAW_TEXT": 8,
+          "COMP_MAT_PROPERTY_MUTATOR_GENERATE_TEXTURE": 5,
+          "COMP_MAT_PROPERTY_MUTATOR_INIT": 0,
+          "COMP_MAT_PROPERTY_MUTATOR_POP_INPUT_QUEUE": 7,
+          "COMP_MAT_PROPERTY_MUTATOR_RANDOM_ROLL_INPUT_VARIABLES": 9,
+          "COMP_MAT_PROPERTY_MUTATOR_SET_VALUE": 4
+        },
+        "type": "uint32"
+      },
+      "CompositeMaterialInputContainerSourceType_t": {
+        "alignment": 4,
+        "members": {
+          "CONTAINER_SOURCE_TYPE_LOOSE_VARIABLES": 3,
+          "CONTAINER_SOURCE_TYPE_MATERIAL_FROM_TARGET_ATTR": 1,
+          "CONTAINER_SOURCE_TYPE_SPECIFIC_MATERIAL": 2,
+          "CONTAINER_SOURCE_TYPE_TARGET_INSTANCE_MATERIAL": 5,
+          "CONTAINER_SOURCE_TYPE_TARGET_MATERIAL": 0,
+          "CONTAINER_SOURCE_TYPE_VARIABLE_FROM_TARGET_ATTR": 4
+        },
+        "type": "uint32"
+      },
+      "CompositeMaterialInputLooseVariableType_t": {
+        "alignment": 4,
+        "members": {
+          "LOOSE_VARIABLE_TYPE_BOOLEAN": 0,
+          "LOOSE_VARIABLE_TYPE_COLOR4": 9,
+          "LOOSE_VARIABLE_TYPE_FLOAT1": 5,
+          "LOOSE_VARIABLE_TYPE_FLOAT2": 6,
+          "LOOSE_VARIABLE_TYPE_FLOAT3": 7,
+          "LOOSE_VARIABLE_TYPE_FLOAT4": 8,
+          "LOOSE_VARIABLE_TYPE_INTEGER1": 1,
+          "LOOSE_VARIABLE_TYPE_INTEGER2": 2,
+          "LOOSE_VARIABLE_TYPE_INTEGER3": 3,
+          "LOOSE_VARIABLE_TYPE_INTEGER4": 4,
+          "LOOSE_VARIABLE_TYPE_PANORAMA_RENDER": 14,
+          "LOOSE_VARIABLE_TYPE_RESOURCE_MATERIAL": 12,
+          "LOOSE_VARIABLE_TYPE_RESOURCE_TEXTURE": 13,
+          "LOOSE_VARIABLE_TYPE_STRING": 10,
+          "LOOSE_VARIABLE_TYPE_SYSTEMVAR": 11
+        },
+        "type": "uint32"
+      },
+      "CompositeMaterialInputTextureType_t": {
+        "alignment": 4,
+        "members": {
+          "INPUT_TEXTURE_TYPE_AO": 6,
+          "INPUT_TEXTURE_TYPE_COLOR": 2,
+          "INPUT_TEXTURE_TYPE_DEFAULT": 0,
+          "INPUT_TEXTURE_TYPE_MASKS": 3,
+          "INPUT_TEXTURE_TYPE_NORMALMAP": 1,
+          "INPUT_TEXTURE_TYPE_PEARLESCENCE_MASK": 5,
+          "INPUT_TEXTURE_TYPE_ROUGHNESS": 4
+        },
+        "type": "uint32"
+      },
+      "CompositeMaterialMatchFilterType_t": {
+        "alignment": 4,
+        "members": {
+          "MATCH_FILTER_MATERIAL_ATTRIBUTE_EQUALS": 3,
+          "MATCH_FILTER_MATERIAL_ATTRIBUTE_EXISTS": 0,
+          "MATCH_FILTER_MATERIAL_NAME_SUBSTR": 2,
+          "MATCH_FILTER_MATERIAL_PROPERTY_EQUALS": 5,
+          "MATCH_FILTER_MATERIAL_PROPERTY_EXISTS": 4,
+          "MATCH_FILTER_MATERIAL_SHADER": 1
+        },
+        "type": "uint32"
+      },
+      "CompositeMaterialVarSystemVar_t": {
+        "alignment": 4,
+        "members": {
+          "COMPMATSYSVAR_COMPOSITETIME": 0,
+          "COMPMATSYSVAR_EMPTY_RESOURCE_SPACER": 1
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/client_dll.rs b/output/client_dll.rs
new file mode 100644
index 0000000..2a052a8
--- /dev/null
+++ b/output/client_dll.rs
@@ -0,0 +1,6862 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: client.dll
+        // Class count: 414
+        // Enum count: 7
+        pub mod client_dll {
+            // Alignment: 4
+            // Member count: 15
+            #[repr(u32)]
+            pub enum CompositeMaterialInputLooseVariableType_t {
+                LOOSE_VARIABLE_TYPE_BOOLEAN = 0x0,
+                LOOSE_VARIABLE_TYPE_INTEGER1 = 0x1,
+                LOOSE_VARIABLE_TYPE_INTEGER2 = 0x2,
+                LOOSE_VARIABLE_TYPE_INTEGER3 = 0x3,
+                LOOSE_VARIABLE_TYPE_INTEGER4 = 0x4,
+                LOOSE_VARIABLE_TYPE_FLOAT1 = 0x5,
+                LOOSE_VARIABLE_TYPE_FLOAT2 = 0x6,
+                LOOSE_VARIABLE_TYPE_FLOAT3 = 0x7,
+                LOOSE_VARIABLE_TYPE_FLOAT4 = 0x8,
+                LOOSE_VARIABLE_TYPE_COLOR4 = 0x9,
+                LOOSE_VARIABLE_TYPE_STRING = 0xA,
+                LOOSE_VARIABLE_TYPE_SYSTEMVAR = 0xB,
+                LOOSE_VARIABLE_TYPE_RESOURCE_MATERIAL = 0xC,
+                LOOSE_VARIABLE_TYPE_RESOURCE_TEXTURE = 0xD,
+                LOOSE_VARIABLE_TYPE_PANORAMA_RENDER = 0xE
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum CompositeMaterialInputTextureType_t {
+                INPUT_TEXTURE_TYPE_DEFAULT = 0x0,
+                INPUT_TEXTURE_TYPE_NORMALMAP = 0x1,
+                INPUT_TEXTURE_TYPE_COLOR = 0x2,
+                INPUT_TEXTURE_TYPE_MASKS = 0x3,
+                INPUT_TEXTURE_TYPE_ROUGHNESS = 0x4,
+                INPUT_TEXTURE_TYPE_PEARLESCENCE_MASK = 0x5,
+                INPUT_TEXTURE_TYPE_AO = 0x6
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum CompositeMaterialInputContainerSourceType_t {
+                CONTAINER_SOURCE_TYPE_TARGET_MATERIAL = 0x0,
+                CONTAINER_SOURCE_TYPE_MATERIAL_FROM_TARGET_ATTR = 0x1,
+                CONTAINER_SOURCE_TYPE_SPECIFIC_MATERIAL = 0x2,
+                CONTAINER_SOURCE_TYPE_LOOSE_VARIABLES = 0x3,
+                CONTAINER_SOURCE_TYPE_VARIABLE_FROM_TARGET_ATTR = 0x4,
+                CONTAINER_SOURCE_TYPE_TARGET_INSTANCE_MATERIAL = 0x5
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum CompMatPropertyMutatorType_t {
+                COMP_MAT_PROPERTY_MUTATOR_INIT = 0x0,
+                COMP_MAT_PROPERTY_MUTATOR_COPY_MATCHING_KEYS = 0x1,
+                COMP_MAT_PROPERTY_MUTATOR_COPY_KEYS_WITH_SUFFIX = 0x2,
+                COMP_MAT_PROPERTY_MUTATOR_COPY_PROPERTY = 0x3,
+                COMP_MAT_PROPERTY_MUTATOR_SET_VALUE = 0x4,
+                COMP_MAT_PROPERTY_MUTATOR_GENERATE_TEXTURE = 0x5,
+                COMP_MAT_PROPERTY_MUTATOR_CONDITIONAL_MUTATORS = 0x6,
+                COMP_MAT_PROPERTY_MUTATOR_POP_INPUT_QUEUE = 0x7,
+                COMP_MAT_PROPERTY_MUTATOR_DRAW_TEXT = 0x8,
+                COMP_MAT_PROPERTY_MUTATOR_RANDOM_ROLL_INPUT_VARIABLES = 0x9
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum CompositeMaterialVarSystemVar_t {
+                COMPMATSYSVAR_COMPOSITETIME = 0x0,
+                COMPMATSYSVAR_EMPTY_RESOURCE_SPACER = 0x1
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum CompositeMaterialMatchFilterType_t {
+                MATCH_FILTER_MATERIAL_ATTRIBUTE_EXISTS = 0x0,
+                MATCH_FILTER_MATERIAL_SHADER = 0x1,
+                MATCH_FILTER_MATERIAL_NAME_SUBSTR = 0x2,
+                MATCH_FILTER_MATERIAL_ATTRIBUTE_EQUALS = 0x3,
+                MATCH_FILTER_MATERIAL_PROPERTY_EXISTS = 0x4,
+                MATCH_FILTER_MATERIAL_PROPERTY_EQUALS = 0x5
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum CompMatPropertyMutatorConditionType_t {
+                COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_EXISTS = 0x0,
+                COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EXISTS = 0x1,
+                COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EQUALS = 0x2
+            }
+            // Parent: C_CSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_TeamSelectCharacterPosition {
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            pub mod C_HEGrenade {
+            }
+            // Parent: C_BaseToggle
+            // Field count: 0
+            pub mod C_FuncMover {
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 0
+            pub mod C_TriggerLerpObject {
+            }
+            // Parent: CPlayer_MovementServices_Humanoid
+            // Field count: 38
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderNormal (Vector)
+            // NetworkVarNames: m_nLadderSurfacePropIndex (int)
+            // NetworkVarNames: m_flDuckAmount (float)
+            // NetworkVarNames: m_flDuckSpeed (float)
+            // NetworkVarNames: m_bDuckOverride (bool)
+            // NetworkVarNames: m_bDesiresDuck (bool)
+            // NetworkVarNames: m_nDuckTimeMsecs (uint32)
+            // NetworkVarNames: m_nDuckJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_nJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_flLastDuckTime (float)
+            // NetworkVarNames: m_nGameCodeHasMovedPlayerAfterCommand (int)
+            // NetworkVarNames: m_bOldJumpPressed (bool)
+            // NetworkVarNames: m_fStashGrenadeParameterWhen (GameTime_t)
+            // NetworkVarNames: m_nButtonDownMaskPrev (ButtonBitMask_t)
+            // NetworkVarNames: m_flOffsetTickCompleteTime (float)
+            // NetworkVarNames: m_flOffsetTickStashedSpeed (float)
+            // NetworkVarNames: m_flStamina (float)
+            pub mod CCSPlayer_MovementServices {
+                pub const m_vecLadderNormal: usize = 0x218; // Vector
+                pub const m_nLadderSurfacePropIndex: usize = 0x224; // int32
+                pub const m_flDuckAmount: usize = 0x228; // float32
+                pub const m_flDuckSpeed: usize = 0x22C; // float32
+                pub const m_bDuckOverride: usize = 0x230; // bool
+                pub const m_bDesiresDuck: usize = 0x231; // bool
+                pub const m_flDuckOffset: usize = 0x234; // float32
+                pub const m_nDuckTimeMsecs: usize = 0x238; // uint32
+                pub const m_nDuckJumpTimeMsecs: usize = 0x23C; // uint32
+                pub const m_nJumpTimeMsecs: usize = 0x240; // uint32
+                pub const m_flLastDuckTime: usize = 0x244; // float32
+                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; // float32[64][2]
+                pub const m_nTraceCount: usize = 0x468; // int32
+                pub const m_StuckLast: usize = 0x46C; // int32
+                pub const m_bSpeedCropped: usize = 0x470; // bool
+                pub const m_flGroundMoveEfficiency: usize = 0x474; // float32
+                pub const m_nOldWaterLevel: usize = 0x478; // int32
+                pub const m_flWaterEntryTime: usize = 0x47C; // float32
+                pub const m_vecForward: usize = 0x480; // Vector
+                pub const m_vecLeft: usize = 0x48C; // Vector
+                pub const m_vecUp: usize = 0x498; // Vector
+                pub const m_nGameCodeHasMovedPlayerAfterCommand: usize = 0x4A4; // int32
+                pub const m_bOldJumpPressed: usize = 0x4A8; // bool
+                pub const m_flJumpPressedTime: usize = 0x4AC; // float32
+                pub const m_fStashGrenadeParameterWhen: usize = 0x4B0; // GameTime_t
+                pub const m_nButtonDownMaskPrev: usize = 0x4B8; // uint64
+                pub const m_flOffsetTickCompleteTime: usize = 0x4C0; // float32
+                pub const m_flOffsetTickStashedSpeed: usize = 0x4C4; // float32
+                pub const m_flStamina: usize = 0x4C8; // float32
+                pub const m_flHeightAtJumpStart: usize = 0x4CC; // float32
+                pub const m_flMaxJumpHeightThisJump: usize = 0x4D0; // float32
+                pub const m_flMaxJumpHeightLastJump: usize = 0x4D4; // float32
+                pub const m_flStaminaAtJumpStart: usize = 0x4D8; // float32
+                pub const m_flAccumulatedJumpError: usize = 0x4DC; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: scale (int16)
+            // NetworkVarNames: origin (Vector)
+            // NetworkVarNames: bClip3DSkyBoxNearToWorldFar (bool)
+            // NetworkVarNames: flClip3DSkyBoxNearToWorldFarOffset (float32)
+            // NetworkVarNames: fog (fogparams_t)
+            // NetworkVarNames: m_nWorldGroupID (WorldGroupId_t)
+            pub mod sky3dparams_t {
+                pub const scale: usize = 0x8; // int16
+                pub const origin: usize = 0xC; // Vector
+                pub const bClip3DSkyBoxNearToWorldFar: usize = 0x18; // bool
+                pub const flClip3DSkyBoxNearToWorldFarOffset: usize = 0x1C; // float32
+                pub const fog: usize = 0x20; // fogparams_t
+                pub const m_nWorldGroupID: usize = 0x88; // WorldGroupId_t
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponM4A1 {
+            }
+            // Parent: C_EconEntity
+            // Field count: 1
+            pub mod C_Item {
+                pub const m_pReticleHintTextName: usize = 0x1668; // char[256]
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCornerPairsNetworked (SoundeventPathCornerPairNetworked_t)
+            pub mod C_SoundEventPathCornerEntity {
+                pub const m_vecCornerPairsNetworked: usize = 0x628; // C_NetworkUtlVectorBase<SoundeventPathCornerPairNetworked_t>
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponM249 {
+            }
+            // Parent: C_TeamplayRules
+            // Field count: 101
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFreezePeriod (bool)
+            // NetworkVarNames: m_bWarmupPeriod (bool)
+            // NetworkVarNames: m_fWarmupPeriodEnd (GameTime_t)
+            // NetworkVarNames: m_fWarmupPeriodStart (GameTime_t)
+            // NetworkVarNames: m_bServerPaused (bool)
+            // NetworkVarNames: m_bTerroristTimeOutActive (bool)
+            // NetworkVarNames: m_bCTTimeOutActive (bool)
+            // NetworkVarNames: m_flTerroristTimeOutRemaining (float)
+            // NetworkVarNames: m_flCTTimeOutRemaining (float)
+            // NetworkVarNames: m_nTerroristTimeOuts (int)
+            // NetworkVarNames: m_nCTTimeOuts (int)
+            // NetworkVarNames: m_bTechnicalTimeOut (bool)
+            // NetworkVarNames: m_bMatchWaitingForResume (bool)
+            // NetworkVarNames: m_iRoundTime (int)
+            // NetworkVarNames: m_fMatchStartTime (float)
+            // NetworkVarNames: m_fRoundStartTime (GameTime_t)
+            // NetworkVarNames: m_flRestartRoundTime (GameTime_t)
+            // NetworkVarNames: m_bGameRestart (bool)
+            // NetworkVarNames: m_flGameStartTime (float)
+            // NetworkVarNames: m_timeUntilNextPhaseStarts (float)
+            // NetworkVarNames: m_gamePhase (int)
+            // NetworkVarNames: m_totalRoundsPlayed (int)
+            // NetworkVarNames: m_nRoundsPlayedThisPhase (int)
+            // NetworkVarNames: m_nOvertimePlaying (int)
+            // NetworkVarNames: m_iHostagesRemaining (int)
+            // NetworkVarNames: m_bAnyHostageReached (bool)
+            // NetworkVarNames: m_bMapHasBombTarget (bool)
+            // NetworkVarNames: m_bMapHasRescueZone (bool)
+            // NetworkVarNames: m_bMapHasBuyZone (bool)
+            // NetworkVarNames: m_bIsQueuedMatchmaking (bool)
+            // NetworkVarNames: m_nQueuedMatchmakingMode (int)
+            // NetworkVarNames: m_bIsValveDS (bool)
+            // NetworkVarNames: m_bLogoMap (bool)
+            // NetworkVarNames: m_bPlayAllStepSoundsOnServer (bool)
+            // NetworkVarNames: m_iSpectatorSlotCount (int)
+            // NetworkVarNames: m_MatchDevice (int)
+            // NetworkVarNames: m_bHasMatchStarted (bool)
+            // NetworkVarNames: m_nNextMapInMapgroup (int)
+            // NetworkVarNames: m_szTournamentEventName (char)
+            // NetworkVarNames: m_szTournamentEventStage (char)
+            // NetworkVarNames: m_szMatchStatTxt (char)
+            // NetworkVarNames: m_szTournamentPredictionsTxt (char)
+            // NetworkVarNames: m_nTournamentPredictionsPct (int)
+            // NetworkVarNames: m_flCMMItemDropRevealStartTime (GameTime_t)
+            // NetworkVarNames: m_flCMMItemDropRevealEndTime (GameTime_t)
+            // NetworkVarNames: m_bIsDroppingItems (bool)
+            // NetworkVarNames: m_bIsQuestEligible (bool)
+            // NetworkVarNames: m_bIsHltvActive (bool)
+            // NetworkVarNames: m_arrProhibitedItemIndices (uint16)
+            // NetworkVarNames: m_arrTournamentActiveCasterAccounts (uint32)
+            // NetworkVarNames: m_numBestOfMaps (int)
+            // NetworkVarNames: m_nHalloweenMaskListSeed (int)
+            // NetworkVarNames: m_bBombDropped (bool)
+            // NetworkVarNames: m_bBombPlanted (bool)
+            // NetworkVarNames: m_iRoundWinStatus (int)
+            // NetworkVarNames: m_eRoundWinReason (int)
+            // NetworkVarNames: m_bTCantBuy (bool)
+            // NetworkVarNames: m_bCTCantBuy (bool)
+            // NetworkVarNames: m_iMatchStats_RoundResults (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_CT (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_T (int)
+            // NetworkVarNames: m_TeamRespawnWaveTimes (float)
+            // NetworkVarNames: m_flNextRespawnWave (GameTime_t)
+            // NetworkVarNames: m_nServerQuestID (int)
+            // NetworkVarNames: m_vMinimapMins (Vector)
+            // NetworkVarNames: m_vMinimapMaxs (Vector)
+            // NetworkVarNames: m_MinimapVerticalSectionHeights (float)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteTypes (int)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteOptions (int)
+            // NetworkVarNames: m_nEndMatchMapVoteWinner (int)
+            // NetworkVarNames: m_iNumConsecutiveCTLoses (int)
+            // NetworkVarNames: m_iNumConsecutiveTerroristLoses (int)
+            // NetworkVarNames: m_nMatchAbortedEarlyReason (int)
+            // NetworkVarNames: m_pGameModeRules (CCSGameModeRules*)
+            // NetworkVarNames: m_RetakeRules (CRetakeGameRules)
+            // NetworkVarNames: m_nMatchEndCount (uint8)
+            // NetworkVarNames: m_nTTeamIntroVariant (int)
+            // NetworkVarNames: m_nCTTeamIntroVariant (int)
+            // NetworkVarNames: m_bTeamIntroPeriod (bool)
+            // NetworkVarNames: m_iRoundEndWinnerTeam (int)
+            // NetworkVarNames: m_eRoundEndReason (int)
+            // NetworkVarNames: m_bRoundEndShowTimerDefend (bool)
+            // NetworkVarNames: m_iRoundEndTimerTime (int)
+            // NetworkVarNames: m_sRoundEndFunFactToken (CUtlString)
+            // NetworkVarNames: m_iRoundEndFunFactPlayerSlot (CPlayerSlot)
+            // NetworkVarNames: m_iRoundEndFunFactData1 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData2 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData3 (int)
+            // NetworkVarNames: m_sRoundEndMessage (CUtlString)
+            // NetworkVarNames: m_iRoundEndPlayerCount (int)
+            // NetworkVarNames: m_bRoundEndNoMusic (bool)
+            // NetworkVarNames: m_iRoundEndLegacy (int)
+            // NetworkVarNames: m_nRoundEndCount (uint8)
+            // NetworkVarNames: m_iRoundStartRoundNumber (int)
+            // NetworkVarNames: m_nRoundStartCount (uint8)
+            pub mod C_CSGameRules {
+                pub const m_bFreezePeriod: usize = 0x40; // bool
+                pub const m_bWarmupPeriod: usize = 0x41; // bool
+                pub const m_fWarmupPeriodEnd: usize = 0x44; // GameTime_t
+                pub const m_fWarmupPeriodStart: usize = 0x48; // GameTime_t
+                pub const m_bServerPaused: usize = 0x4C; // bool
+                pub const m_bTerroristTimeOutActive: usize = 0x4D; // bool
+                pub const m_bCTTimeOutActive: usize = 0x4E; // bool
+                pub const m_flTerroristTimeOutRemaining: usize = 0x50; // float32
+                pub const m_flCTTimeOutRemaining: usize = 0x54; // float32
+                pub const m_nTerroristTimeOuts: usize = 0x58; // int32
+                pub const m_nCTTimeOuts: usize = 0x5C; // int32
+                pub const m_bTechnicalTimeOut: usize = 0x60; // bool
+                pub const m_bMatchWaitingForResume: usize = 0x61; // bool
+                pub const m_iRoundTime: usize = 0x64; // int32
+                pub const m_fMatchStartTime: usize = 0x68; // float32
+                pub const m_fRoundStartTime: usize = 0x6C; // GameTime_t
+                pub const m_flRestartRoundTime: usize = 0x70; // GameTime_t
+                pub const m_bGameRestart: usize = 0x74; // bool
+                pub const m_flGameStartTime: usize = 0x78; // float32
+                pub const m_timeUntilNextPhaseStarts: usize = 0x7C; // float32
+                pub const m_gamePhase: usize = 0x80; // int32
+                pub const m_totalRoundsPlayed: usize = 0x84; // int32
+                pub const m_nRoundsPlayedThisPhase: usize = 0x88; // int32
+                pub const m_nOvertimePlaying: usize = 0x8C; // int32
+                pub const m_iHostagesRemaining: usize = 0x90; // int32
+                pub const m_bAnyHostageReached: usize = 0x94; // bool
+                pub const m_bMapHasBombTarget: usize = 0x95; // bool
+                pub const m_bMapHasRescueZone: usize = 0x96; // bool
+                pub const m_bMapHasBuyZone: usize = 0x97; // bool
+                pub const m_bIsQueuedMatchmaking: usize = 0x98; // bool
+                pub const m_nQueuedMatchmakingMode: usize = 0x9C; // int32
+                pub const m_bIsValveDS: usize = 0xA0; // bool
+                pub const m_bLogoMap: usize = 0xA1; // bool
+                pub const m_bPlayAllStepSoundsOnServer: usize = 0xA2; // bool
+                pub const m_iSpectatorSlotCount: usize = 0xA4; // int32
+                pub const m_MatchDevice: usize = 0xA8; // int32
+                pub const m_bHasMatchStarted: usize = 0xAC; // bool
+                pub const m_nNextMapInMapgroup: usize = 0xB0; // int32
+                pub const m_szTournamentEventName: usize = 0xB4; // char[512]
+                pub const m_szTournamentEventStage: usize = 0x2B4; // char[512]
+                pub const m_szMatchStatTxt: usize = 0x4B4; // char[512]
+                pub const m_szTournamentPredictionsTxt: usize = 0x6B4; // char[512]
+                pub const m_nTournamentPredictionsPct: usize = 0x8B4; // int32
+                pub const m_flCMMItemDropRevealStartTime: usize = 0x8B8; // GameTime_t
+                pub const m_flCMMItemDropRevealEndTime: usize = 0x8BC; // GameTime_t
+                pub const m_bIsDroppingItems: usize = 0x8C0; // bool
+                pub const m_bIsQuestEligible: usize = 0x8C1; // bool
+                pub const m_bIsHltvActive: usize = 0x8C2; // bool
+                pub const m_arrProhibitedItemIndices: usize = 0x8C4; // uint16[100]
+                pub const m_arrTournamentActiveCasterAccounts: usize = 0x98C; // uint32[4]
+                pub const m_numBestOfMaps: usize = 0x99C; // int32
+                pub const m_nHalloweenMaskListSeed: usize = 0x9A0; // int32
+                pub const m_bBombDropped: usize = 0x9A4; // bool
+                pub const m_bBombPlanted: usize = 0x9A5; // bool
+                pub const m_iRoundWinStatus: usize = 0x9A8; // int32
+                pub const m_eRoundWinReason: usize = 0x9AC; // int32
+                pub const m_bTCantBuy: usize = 0x9B0; // bool
+                pub const m_bCTCantBuy: usize = 0x9B1; // bool
+                pub const m_iMatchStats_RoundResults: usize = 0x9B4; // int32[30]
+                pub const m_iMatchStats_PlayersAlive_CT: usize = 0xA2C; // int32[30]
+                pub const m_iMatchStats_PlayersAlive_T: usize = 0xAA4; // int32[30]
+                pub const m_TeamRespawnWaveTimes: usize = 0xB1C; // float32[32]
+                pub const m_flNextRespawnWave: usize = 0xB9C; // GameTime_t[32]
+                pub const m_nServerQuestID: usize = 0xC1C; // int32
+                pub const m_vMinimapMins: usize = 0xC20; // Vector
+                pub const m_vMinimapMaxs: usize = 0xC2C; // Vector
+                pub const m_MinimapVerticalSectionHeights: usize = 0xC38; // float32[8]
+                pub const m_bSpawnedTerrorHuntHeavy: usize = 0xC58; // bool
+                pub const m_ullLocalMatchID: usize = 0xC60; // uint64
+                pub const m_nEndMatchMapGroupVoteTypes: usize = 0xC68; // int32[10]
+                pub const m_nEndMatchMapGroupVoteOptions: usize = 0xC90; // int32[10]
+                pub const m_nEndMatchMapVoteWinner: usize = 0xCB8; // int32
+                pub const m_iNumConsecutiveCTLoses: usize = 0xCBC; // int32
+                pub const m_iNumConsecutiveTerroristLoses: usize = 0xCC0; // int32
+                pub const m_bMarkClientStopRecordAtRoundEnd: usize = 0xCE0; // bool
+                pub const m_nMatchAbortedEarlyReason: usize = 0xD88; // int32
+                pub const m_bHasTriggeredRoundStartMusic: usize = 0xD8C; // bool
+                pub const m_bSwitchingTeamsAtRoundReset: usize = 0xD8D; // bool
+                pub const m_pGameModeRules: usize = 0xDA8; // CCSGameModeRules*
+                pub const m_RetakeRules: usize = 0xDB0; // C_RetakeGameRules
+                pub const m_nMatchEndCount: usize = 0xEC8; // uint8
+                pub const m_nTTeamIntroVariant: usize = 0xECC; // int32
+                pub const m_nCTTeamIntroVariant: usize = 0xED0; // int32
+                pub const m_bTeamIntroPeriod: usize = 0xED4; // bool
+                pub const m_iRoundEndWinnerTeam: usize = 0xED8; // int32
+                pub const m_eRoundEndReason: usize = 0xEDC; // int32
+                pub const m_bRoundEndShowTimerDefend: usize = 0xEE0; // bool
+                pub const m_iRoundEndTimerTime: usize = 0xEE4; // int32
+                pub const m_sRoundEndFunFactToken: usize = 0xEE8; // CUtlString
+                pub const m_iRoundEndFunFactPlayerSlot: usize = 0xEF0; // CPlayerSlot
+                pub const m_iRoundEndFunFactData1: usize = 0xEF4; // int32
+                pub const m_iRoundEndFunFactData2: usize = 0xEF8; // int32
+                pub const m_iRoundEndFunFactData3: usize = 0xEFC; // int32
+                pub const m_sRoundEndMessage: usize = 0xF00; // CUtlString
+                pub const m_iRoundEndPlayerCount: usize = 0xF08; // int32
+                pub const m_bRoundEndNoMusic: usize = 0xF0C; // bool
+                pub const m_iRoundEndLegacy: usize = 0xF10; // int32
+                pub const m_nRoundEndCount: usize = 0xF14; // uint8
+                pub const m_iRoundStartRoundNumber: usize = 0xF18; // int32
+                pub const m_nRoundStartCount: usize = 0xF1C; // uint8
+                pub const m_flLastPerfSampleTime: usize = 0x4F28; // float64
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_skeletonInstance (CSkeletonInstance)
+            pub mod CBodyComponentSkeletonInstance {
+                pub const m_skeletonInstance: usize = 0x50; // CSkeletonInstance
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponCZ75a {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_CRenderComponent (CRenderComponent::Storage_t)
+            // NetworkVarNames: m_CHitboxComponent (CHitboxComponent::Storage_t)
+            // NetworkVarNames: m_nRenderMode (RenderMode_t)
+            // NetworkVarNames: m_nRenderFX (RenderFx_t)
+            // NetworkVarNames: m_clrRender (Color)
+            // NetworkVarNames: m_vecRenderAttributes (EntityRenderAttribute_t)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_bNoInterpolate (bool)
+            // NetworkVarNames: m_Collision (CCollisionProperty)
+            // NetworkVarNames: m_Glow (CGlowProperty)
+            // NetworkVarNames: m_flGlowBackfaceMult (float)
+            // NetworkVarNames: m_fadeMinDist (float32)
+            // NetworkVarNames: m_fadeMaxDist (float32)
+            // NetworkVarNames: m_flFadeScale (float32)
+            // NetworkVarNames: m_flShadowStrength (float32)
+            // NetworkVarNames: m_nObjectCulling (uint8)
+            // NetworkVarNames: m_nAddDecal (int)
+            // NetworkVarNames: m_vDecalPosition (Vector)
+            // NetworkVarNames: m_vDecalForwardAxis (Vector)
+            // NetworkVarNames: m_flDecalHealBloodRate (float)
+            // NetworkVarNames: m_flDecalHealHeightRate (float)
+            // NetworkVarNames: m_ConfigEntitiesToPropagateMaterialDecalsTo (CHandle<C_BaseModelEntity>)
+            pub mod C_BaseModelEntity {
+                pub const m_CRenderComponent: usize = 0xA50; // CRenderComponent*
+                pub const m_CHitboxComponent: usize = 0xA58; // CHitboxComponent
+                pub const m_LastHitGroup: usize = 0xA80; // HitGroup_t
+                pub const m_bInitModelEffects: usize = 0xAA8; // bool
+                pub const m_bIsStaticProp: usize = 0xAA9; // bool
+                pub const m_nLastAddDecal: usize = 0xAAC; // int32
+                pub const m_nDecalsAdded: usize = 0xAB0; // int32
+                pub const m_iOldHealth: usize = 0xAB4; // int32
+                pub const m_nRenderMode: usize = 0xAB8; // RenderMode_t
+                pub const m_nRenderFX: usize = 0xAB9; // RenderFx_t
+                pub const m_bAllowFadeInView: usize = 0xABA; // bool
+                pub const m_clrRender: usize = 0xAD8; // Color
+                pub const m_vecRenderAttributes: usize = 0xAE0; // C_UtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
+                pub const m_bRenderToCubemaps: usize = 0xB48; // bool
+                pub const m_bNoInterpolate: usize = 0xB49; // bool
+                pub const m_Collision: usize = 0xB50; // CCollisionProperty
+                pub const m_Glow: usize = 0xC00; // CGlowProperty
+                pub const m_flGlowBackfaceMult: usize = 0xC58; // float32
+                pub const m_fadeMinDist: usize = 0xC5C; // float32
+                pub const m_fadeMaxDist: usize = 0xC60; // float32
+                pub const m_flFadeScale: usize = 0xC64; // float32
+                pub const m_flShadowStrength: usize = 0xC68; // float32
+                pub const m_nObjectCulling: usize = 0xC6C; // uint8
+                pub const m_nAddDecal: usize = 0xC70; // int32
+                pub const m_vDecalPosition: usize = 0xC74; // Vector
+                pub const m_vDecalForwardAxis: usize = 0xC80; // Vector
+                pub const m_flDecalHealBloodRate: usize = 0xC8C; // float32
+                pub const m_flDecalHealHeightRate: usize = 0xC90; // float32
+                pub const m_ConfigEntitiesToPropagateMaterialDecalsTo: usize = 0xC98; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                pub const m_vecViewOffset: usize = 0xCB0; // CNetworkViewOffsetVector
+                pub const m_pClientAlphaProperty: usize = 0xCE0; // CClientAlphaProperty*
+                pub const m_ClientOverrideTint: usize = 0xCE8; // Color
+                pub const m_bUseClientOverrideTint: usize = 0xCEC; // bool
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_source (string_t)
+            // NetworkVarNames: m_destination (string_t)
+            pub mod C_FootstepControl {
+                pub const m_source: usize = 0xD30; // CUtlSymbolLarge
+                pub const m_destination: usize = 0xD38; // CUtlSymbolLarge
+            }
+            // Parent: C_BaseClientUIEntity
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIgnoreInput (bool)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDPI (float)
+            // NetworkVarNames: m_flInteractDistance (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_unOwnerContext (uint32)
+            // NetworkVarNames: m_unHorizontalAlign (uint32)
+            // NetworkVarNames: m_unVerticalAlign (uint32)
+            // NetworkVarNames: m_unOrientation (uint32)
+            // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            pub mod C_PointClientUIHUD {
+                pub const m_bCheckCSSClasses: usize = 0xD60; // bool
+                pub const m_bIgnoreInput: usize = 0xEE0; // bool
+                pub const m_flWidth: usize = 0xEE4; // float32
+                pub const m_flHeight: usize = 0xEE8; // float32
+                pub const m_flDPI: usize = 0xEEC; // float32
+                pub const m_flInteractDistance: usize = 0xEF0; // float32
+                pub const m_flDepthOffset: usize = 0xEF4; // float32
+                pub const m_unOwnerContext: usize = 0xEF8; // uint32
+                pub const m_unHorizontalAlign: usize = 0xEFC; // uint32
+                pub const m_unVerticalAlign: usize = 0xF00; // uint32
+                pub const m_unOrientation: usize = 0xF04; // uint32
+                pub const m_bAllowInteractionFromAllSceneWorlds: usize = 0xF08; // bool
+                pub const m_vecCSSClasses: usize = 0xF10; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flLightScale (float32)
+            // NetworkVarNames: m_Radius (float32)
+            pub mod C_SpotlightEnd {
+                pub const m_flLightScale: usize = 0xD28; // float32
+                pub const m_Radius: usize = 0xD2C; // float32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAttributeDefinitionIndex (attrib_definition_index_t)
+            // NetworkVarNames: m_flValue (float)
+            // NetworkVarNames: m_flInitialValue (float)
+            // NetworkVarNames: m_nRefundableCurrency (int)
+            // NetworkVarNames: m_bSetBonus (bool)
+            pub mod CEconItemAttribute {
+                pub const m_iAttributeDefinitionIndex: usize = 0x30; // uint16
+                pub const m_flValue: usize = 0x34; // float32
+                pub const m_flInitialValue: usize = 0x38; // float32
+                pub const m_nRefundableCurrency: usize = 0x3C; // int32
+                pub const m_bSetBonus: usize = 0x40; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 26
+            //
+            // Metadata:
+            // NetworkVarNames: m_FOV (float)
+            // NetworkVarNames: m_Resolution (float)
+            // NetworkVarNames: m_bFogEnable (bool)
+            // NetworkVarNames: m_FogColor (Color)
+            // NetworkVarNames: m_flFogStart (float)
+            // NetworkVarNames: m_flFogEnd (float)
+            // NetworkVarNames: m_flFogMaxDensity (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bUseScreenAspectRatio (bool)
+            // NetworkVarNames: m_flAspectRatio (float)
+            // NetworkVarNames: m_bNoSky (bool)
+            // NetworkVarNames: m_fBrightness (float)
+            // NetworkVarNames: m_flZFar (float)
+            // NetworkVarNames: m_flZNear (float)
+            // NetworkVarNames: m_bCanHLTVUse (bool)
+            // NetworkVarNames: m_bAlignWithParent (bool)
+            // NetworkVarNames: m_bDofEnabled (bool)
+            // NetworkVarNames: m_flDofNearBlurry (float)
+            // NetworkVarNames: m_flDofNearCrisp (float)
+            // NetworkVarNames: m_flDofFarCrisp (float)
+            // NetworkVarNames: m_flDofFarBlurry (float)
+            // NetworkVarNames: m_flDofTiltToGround (float)
+            pub mod C_PointCamera {
+                pub const m_FOV: usize = 0x568; // float32
+                pub const m_Resolution: usize = 0x56C; // float32
+                pub const m_bFogEnable: usize = 0x570; // bool
+                pub const m_FogColor: usize = 0x571; // Color
+                pub const m_flFogStart: usize = 0x578; // float32
+                pub const m_flFogEnd: usize = 0x57C; // float32
+                pub const m_flFogMaxDensity: usize = 0x580; // float32
+                pub const m_bActive: usize = 0x584; // bool
+                pub const m_bUseScreenAspectRatio: usize = 0x585; // bool
+                pub const m_flAspectRatio: usize = 0x588; // float32
+                pub const m_bNoSky: usize = 0x58C; // bool
+                pub const m_fBrightness: usize = 0x590; // float32
+                pub const m_flZFar: usize = 0x594; // float32
+                pub const m_flZNear: usize = 0x598; // float32
+                pub const m_bCanHLTVUse: usize = 0x59C; // bool
+                pub const m_bAlignWithParent: usize = 0x59D; // bool
+                pub const m_bDofEnabled: usize = 0x59E; // bool
+                pub const m_flDofNearBlurry: usize = 0x5A0; // float32
+                pub const m_flDofNearCrisp: usize = 0x5A4; // float32
+                pub const m_flDofFarCrisp: usize = 0x5A8; // float32
+                pub const m_flDofFarBlurry: usize = 0x5AC; // float32
+                pub const m_flDofTiltToGround: usize = 0x5B0; // float32
+                pub const m_TargetFOV: usize = 0x5B4; // float32
+                pub const m_DegreesPerSecond: usize = 0x5B8; // float32
+                pub const m_bIsOn: usize = 0x5BC; // bool
+                pub const m_pNext: usize = 0x5C0; // C_PointCamera*
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_weapon_cs_base {
+            }
+            // Parent: C_LightEntity
+            // Field count: 0
+            pub mod C_LightSpotEntity {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+            pub mod C_EnvWind {
+                pub const m_EnvWindShared: usize = 0x568; // C_EnvWindShared
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_GameRulesProxy {
+            }
+            // Parent: C_BaseFlex
+            // Field count: 6
+            //
+            // Metadata:
+            // MNetworkExcludeByUserGroup
+            // NetworkVarNames: m_hMyWearables (CHandle<C_EconWearable>)
+            pub mod C_BaseCombatCharacter {
+                pub const m_hMyWearables: usize = 0x1120; // C_NetworkUtlVectorBase<CHandle<C_EconWearable>>
+                pub const m_leftFootAttachment: usize = 0x1138; // AttachmentHandle_t
+                pub const m_rightFootAttachment: usize = 0x1139; // AttachmentHandle_t
+                pub const m_nWaterWakeMode: usize = 0x113C; // C_BaseCombatCharacter::WaterWakeMode_t
+                pub const m_flWaterWorldZ: usize = 0x1140; // float32
+                pub const m_flWaterNextTraceTime: usize = 0x1144; // float32
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 0
+            pub mod C_FlashbangProjectile {
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            pub mod CEnvSoundscapeTriggerable {
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            pub mod C_SoundEventSphereEntity {
+                pub const m_flRadius: usize = 0x628; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_ViewModelServices {
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_WingmanIntroCounterTerroristPosition {
+            }
+            // Parent: C_DynamicProp
+            // Field count: 0
+            pub mod C_DynamicPropAlias_cable_dynamic {
+            }
+            // Parent: C_PointEntity
+            // Field count: 0
+            pub mod C_InfoInstructorHintHostageRescueZone {
+            }
+            // Parent: C_PointEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsPlayingBack (bool)
+            // NetworkVarNames: m_bPaused (bool)
+            // NetworkVarNames: m_bMultiplayer (bool)
+            // NetworkVarNames: m_bAutogenerated (bool)
+            // NetworkVarNames: m_flForceClientTime (float32)
+            // NetworkVarNames: m_nSceneStringIndex (uint16)
+            // NetworkVarNames: m_hActorList (CHandle<C_BaseFlex>)
+            pub mod C_SceneEntity {
+                pub const m_bIsPlayingBack: usize = 0x570; // bool
+                pub const m_bPaused: usize = 0x571; // bool
+                pub const m_bMultiplayer: usize = 0x572; // bool
+                pub const m_bAutogenerated: usize = 0x573; // bool
+                pub const m_flForceClientTime: usize = 0x574; // float32
+                pub const m_nSceneStringIndex: usize = 0x578; // uint16
+                pub const m_bClientOnly: usize = 0x57A; // bool
+                pub const m_hOwner: usize = 0x57C; // CHandle<C_BaseFlex>
+                pub const m_hActorList: usize = 0x580; // C_NetworkUtlVectorBase<CHandle<C_BaseFlex>>
+                pub const m_bWasPlaying: usize = 0x598; // bool
+                pub const m_QueuedEvents: usize = 0x5A8; // CUtlVector<C_SceneEntity::QueuedEvents_t>
+                pub const m_flCurrentTime: usize = 0x5C0; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 20
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCsViewPunchAngle (QAngle)
+            // NetworkVarNames: m_nCsViewPunchAngleTick (GameTick_t)
+            // NetworkVarNames: m_flCsViewPunchAngleTickRatio (float32)
+            // NetworkVarNames: m_PlayerFog (fogplayerparams_t)
+            // NetworkVarNames: m_hColorCorrectionCtrl (CHandle<CColorCorrection>)
+            // NetworkVarNames: m_hViewEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hTonemapController (CHandle<CTonemapController2>)
+            // NetworkVarNames: m_audio (audioparams_t)
+            // NetworkVarNames: m_PostProcessingVolumes (CHandle<C_PostProcessingVolume>)
+            pub mod CPlayer_CameraServices {
+                pub const m_vecCsViewPunchAngle: usize = 0x40; // QAngle
+                pub const m_nCsViewPunchAngleTick: usize = 0x4C; // GameTick_t
+                pub const m_flCsViewPunchAngleTickRatio: usize = 0x50; // float32
+                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; // float32
+                pub const m_flOldPlayerViewOffsetZ: usize = 0x13C; // float32
+                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; // float32[5]
+                pub const m_fOverrideFogEnd: usize = 0x1E0; // float32[5]
+                pub const m_hActivePostProcessingVolume: usize = 0x1F4; // CHandle<C_PostProcessingVolume>
+                pub const m_angDemoViewAngles: usize = 0x1F8; // QAngle
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_bRedraw (bool)
+            // NetworkVarNames: m_bIsHeldByPlayer (bool)
+            // NetworkVarNames: m_bPinPulled (bool)
+            // NetworkVarNames: m_bJumpThrow (bool)
+            // NetworkVarNames: m_bThrowAnimating (bool)
+            // NetworkVarNames: m_fThrowTime (GameTime_t)
+            // NetworkVarNames: m_flThrowStrength (float)
+            // NetworkVarNames: m_flThrowStrengthApproach (float)
+            // NetworkVarNames: m_fDropTime (GameTime_t)
+            // NetworkVarNames: m_fPinPullTime (GameTime_t)
+            // NetworkVarNames: m_bJustPulledPin (bool)
+            // NetworkVarNames: m_nNextHoldTick (GameTick_t)
+            // NetworkVarNames: m_flNextHoldFrac (float)
+            // NetworkVarNames: m_hSwitchToWeaponAfterThrow (CHandle<CCSWeaponBase>)
+            pub mod C_BaseCSGrenade {
+                pub const m_bClientPredictDelete: usize = 0x1B20; // bool
+                pub const m_bRedraw: usize = 0x1B21; // bool
+                pub const m_bIsHeldByPlayer: usize = 0x1B22; // bool
+                pub const m_bPinPulled: usize = 0x1B23; // bool
+                pub const m_bJumpThrow: usize = 0x1B24; // bool
+                pub const m_bThrowAnimating: usize = 0x1B25; // bool
+                pub const m_fThrowTime: usize = 0x1B28; // GameTime_t
+                pub const m_flThrowStrength: usize = 0x1B2C; // float32
+                pub const m_flThrowStrengthApproach: usize = 0x1B30; // float32
+                pub const m_fDropTime: usize = 0x1B34; // GameTime_t
+                pub const m_fPinPullTime: usize = 0x1B38; // GameTime_t
+                pub const m_bJustPulledPin: usize = 0x1B3C; // bool
+                pub const m_nNextHoldTick: usize = 0x1B40; // GameTick_t
+                pub const m_flNextHoldFrac: usize = 0x1B44; // float32
+                pub const m_hSwitchToWeaponAfterThrow: usize = 0x1B48; // CHandle<C_CSWeaponBase>
+            }
+            // Parent: C_FuncBrush
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_targetCamera (CUtlString)
+            // NetworkVarNames: m_nResolutionEnum (int)
+            // NetworkVarNames: m_bRenderShadows (bool)
+            // NetworkVarNames: m_bUseUniqueColorTarget (bool)
+            // NetworkVarNames: m_brushModelName (CUtlString)
+            // NetworkVarNames: m_hTargetCamera (EHANDLE)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bDraw3DSkybox (bool)
+            pub mod C_FuncMonitor {
+                pub const m_targetCamera: usize = 0xD28; // CUtlString
+                pub const m_nResolutionEnum: usize = 0xD30; // int32
+                pub const m_bRenderShadows: usize = 0xD34; // bool
+                pub const m_bUseUniqueColorTarget: usize = 0xD35; // bool
+                pub const m_brushModelName: usize = 0xD38; // CUtlString
+                pub const m_hTargetCamera: usize = 0xD40; // CHandle<C_BaseEntity>
+                pub const m_bEnabled: usize = 0xD44; // bool
+                pub const m_bDraw3DSkybox: usize = 0xD45; // bool
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 0
+            pub mod C_TriggerMultiple {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod C_RopeKeyframe__CPhysicsDelegate {
+                pub const m_pKeyframe: usize = 0x8; // C_RopeKeyframe*
+            }
+            // Parent: CEntityComponent
+            // Field count: 2
+            pub mod CBodyComponent {
+                pub const m_pSceneNode: usize = 0x8; // CGameSceneNode*
+                pub const __m_pChainEntity: usize = 0x20; // CNetworkVarChainer
+            }
+            // Parent: C_SoundAreaEntityBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            pub mod C_SoundAreaEntitySphere {
+                pub const m_flRadius: usize = 0x590; // float32
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 0
+            pub mod CCSObserver_MovementServices {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nHorizontalSize (uint32)
+            // NetworkVarNames: m_nVerticalSize (uint32)
+            // NetworkVarNames: m_nMinDist (uint32)
+            // NetworkVarNames: m_nMaxDist (uint32)
+            // NetworkVarNames: m_nOuterMaxDist (uint32)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            pub mod C_LightGlow {
+                pub const m_nHorizontalSize: usize = 0xD28; // uint32
+                pub const m_nVerticalSize: usize = 0xD2C; // uint32
+                pub const m_nMinDist: usize = 0xD30; // uint32
+                pub const m_nMaxDist: usize = 0xD34; // uint32
+                pub const m_nOuterMaxDist: usize = 0xD38; // uint32
+                pub const m_flGlowProxySize: usize = 0xD3C; // float32
+                pub const m_flHDRColorScale: usize = 0xD40; // float32
+                pub const m_GlowOverlay: usize = 0xD48; // C_LightGlowOverlay
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_timescale (float32)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            pub mod CountdownTimer {
+                pub const m_duration: usize = 0x8; // float32
+                pub const m_timestamp: usize = 0xC; // GameTime_t
+                pub const m_timescale: usize = 0x10; // float32
+                pub const m_nWorldGroupId: usize = 0x14; // WorldGroupId_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hOwner (CEntityHandle)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            pub mod CGameSceneNodeHandle {
+                pub const m_hOwner: usize = 0x8; // CEntityHandle
+                pub const m_name: usize = 0xC; // CUtlStringToken
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: nTagTick (GameTick_t)
+            // NetworkVarNames: flFlinchModSmall (float)
+            // NetworkVarNames: flFlinchModLarge (float)
+            // NetworkVarNames: flFriendlyFireDamageReductionRatio (float)
+            pub mod PredictedDamageTag_t {
+                pub const nTagTick: usize = 0x30; // GameTick_t
+                pub const flFlinchModSmall: usize = 0x34; // float32
+                pub const flFlinchModLarge: usize = 0x38; // float32
+                pub const flFriendlyFireDamageReductionRatio: usize = 0x3C; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 14
+            pub mod C_ClientRagdoll {
+                pub const m_bFadeOut: usize = 0xF88; // bool
+                pub const m_bImportant: usize = 0xF89; // bool
+                pub const m_flEffectTime: usize = 0xF8C; // GameTime_t
+                pub const m_gibDespawnTime: usize = 0xF90; // GameTime_t
+                pub const m_iCurrentFriction: usize = 0xF94; // int32
+                pub const m_iMinFriction: usize = 0xF98; // int32
+                pub const m_iMaxFriction: usize = 0xF9C; // int32
+                pub const m_iFrictionAnimState: usize = 0xFA0; // int32
+                pub const m_bReleaseRagdoll: usize = 0xFA4; // bool
+                pub const m_iEyeAttachment: usize = 0xFA5; // AttachmentHandle_t
+                pub const m_bFadingOut: usize = 0xFA6; // bool
+                pub const m_flScaleEnd: usize = 0xFA8; // float32[10]
+                pub const m_flScaleTimeStart: usize = 0xFD0; // GameTime_t[10]
+                pub const m_flScaleTimeEnd: usize = 0xFF8; // GameTime_t[10]
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            pub mod C_GlobalLight {
+                pub const m_WindClothForceHandle: usize = 0xA30; // uint16
+            }
+            // Parent: C_BaseEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHostageAlive (bool)
+            // NetworkVarNames: m_isHostageFollowingSomeone (bool)
+            // NetworkVarNames: m_iHostageEntityIDs (CEntityIndex)
+            // NetworkVarNames: m_bombsiteCenterA (Vector)
+            // NetworkVarNames: m_bombsiteCenterB (Vector)
+            // NetworkVarNames: m_hostageRescueX (int)
+            // NetworkVarNames: m_hostageRescueY (int)
+            // NetworkVarNames: m_hostageRescueZ (int)
+            // NetworkVarNames: m_bEndMatchNextMapAllVoted (bool)
+            pub mod C_CSPlayerResource {
+                pub const m_bHostageAlive: usize = 0x568; // bool[12]
+                pub const m_isHostageFollowingSomeone: usize = 0x574; // bool[12]
+                pub const m_iHostageEntityIDs: usize = 0x580; // CEntityIndex[12]
+                pub const m_bombsiteCenterA: usize = 0x5B0; // Vector
+                pub const m_bombsiteCenterB: usize = 0x5BC; // Vector
+                pub const m_hostageRescueX: usize = 0x5C8; // int32[4]
+                pub const m_hostageRescueY: usize = 0x5D8; // int32[4]
+                pub const m_hostageRescueZ: usize = 0x5E8; // int32[4]
+                pub const m_bEndMatchNextMapAllVoted: usize = 0x5F8; // bool
+                pub const m_foundGoalPositions: usize = 0x5F9; // bool
+            }
+            // Parent: CGameSceneNode
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_modelState (CModelState)
+            // NetworkVarNames: m_bIsAnimationEnabled (bool)
+            // NetworkVarNames: m_bUseParentRenderBounds (bool)
+            // NetworkVarNames: m_materialGroup (CUtlStringToken)
+            // NetworkVarNames: m_nHitboxSet (uint8)
+            pub mod CSkeletonInstance {
+                pub const m_modelState: usize = 0x170; // CModelState
+                pub const m_bIsAnimationEnabled: usize = 0x3A0; // bool
+                pub const m_bUseParentRenderBounds: usize = 0x3A1; // bool
+                pub const m_bDisableSolidCollisionsForHierarchy: usize = 0x3A2; // bool
+                pub const m_bDirtyMotionType: usize = 0x0; // bitfield:1
+                pub const m_bIsGeneratingLatchedParentSpaceState: usize = 0x0; // bitfield:1
+                pub const m_materialGroup: usize = 0x3A4; // CUtlStringToken
+                pub const m_nHitboxSet: usize = 0x3A8; // uint8
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_animationController (CBaseAnimGraphController)
+            pub mod CBodyComponentBaseAnimGraph {
+                pub const m_animationController: usize = 0x490; // CBaseAnimGraphController
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_sceneNode (CGameSceneNode)
+            pub mod CBodyComponentPoint {
+                pub const m_sceneNode: usize = 0x50; // CGameSceneNode
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSmokeEffectTickBegin (int)
+            // NetworkVarNames: m_bDidSmokeEffect (bool)
+            // NetworkVarNames: m_nRandomSeed (int)
+            // NetworkVarNames: m_vSmokeColor (Vector)
+            // NetworkVarNames: m_vSmokeDetonationPos (Vector)
+            // NetworkVarNames: m_VoxelFrameData (uint8)
+            // NetworkVarNames: m_nVoxelFrameDataSize (int)
+            // NetworkVarNames: m_nVoxelUpdate (int)
+            pub mod C_SmokeGrenadeProjectile {
+                pub const m_nSmokeEffectTickBegin: usize = 0x1210; // int32
+                pub const m_bDidSmokeEffect: usize = 0x1214; // bool
+                pub const m_nRandomSeed: usize = 0x1218; // int32
+                pub const m_vSmokeColor: usize = 0x121C; // Vector
+                pub const m_vSmokeDetonationPos: usize = 0x1228; // Vector
+                pub const m_VoxelFrameData: usize = 0x1238; // C_NetworkUtlVectorBase<uint8>
+                pub const m_nVoxelFrameDataSize: usize = 0x1250; // int32
+                pub const m_nVoxelUpdate: usize = 0x1254; // int32
+                pub const m_bSmokeVolumeDataReceived: usize = 0x1258; // bool
+                pub const m_bSmokeEffectSpawned: usize = 0x1259; // bool
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 0
+            pub mod C_SoundEventEntityAlias_snd_event_point {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            pub mod C_CSGO_MapPreviewCameraPath {
+                pub const m_flZFar: usize = 0x568; // float32
+                pub const m_flZNear: usize = 0x56C; // float32
+                pub const m_bLoop: usize = 0x570; // bool
+                pub const m_bVerticalFOV: usize = 0x571; // bool
+                pub const m_bConstantSpeed: usize = 0x572; // bool
+                pub const m_flDuration: usize = 0x574; // float32
+                pub const m_flPathLength: usize = 0x5B8; // float32
+                pub const m_flPathDuration: usize = 0x5BC; // float32
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_WingmanIntroTerroristPosition {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_firePositions (Vector)
+            // NetworkVarNames: m_fireParentPositions (Vector)
+            // NetworkVarNames: m_bFireIsBurning (bool)
+            // NetworkVarNames: m_BurnNormal (Vector)
+            // NetworkVarNames: m_fireCount (int)
+            // NetworkVarNames: m_nInfernoType (int)
+            // NetworkVarNames: m_nFireLifetime (float)
+            // NetworkVarNames: m_bInPostEffectTime (bool)
+            // NetworkVarNames: m_nFireEffectTickBegin (int)
+            pub mod C_Inferno {
+                pub const m_nfxFireDamageEffect: usize = 0xD68; // ParticleIndex_t
+                pub const m_hInfernoPointsSnapshot: usize = 0xD70; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_hInfernoFillerPointsSnapshot: usize = 0xD78; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_hInfernoOutlinePointsSnapshot: usize = 0xD80; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_hInfernoClimbingOutlinePointsSnapshot: usize = 0xD88; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_hInfernoDecalsSnapshot: usize = 0xD90; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_firePositions: usize = 0xD98; // Vector[64]
+                pub const m_fireParentPositions: usize = 0x1098; // Vector[64]
+                pub const m_bFireIsBurning: usize = 0x1398; // bool[64]
+                pub const m_BurnNormal: usize = 0x13D8; // Vector[64]
+                pub const m_fireCount: usize = 0x16D8; // int32
+                pub const m_nInfernoType: usize = 0x16DC; // int32
+                pub const m_nFireLifetime: usize = 0x16E0; // float32
+                pub const m_bInPostEffectTime: usize = 0x16E4; // bool
+                pub const m_lastFireCount: usize = 0x16E8; // int32
+                pub const m_nFireEffectTickBegin: usize = 0x16EC; // int32
+                pub const m_drawableCount: usize = 0x82F0; // int32
+                pub const m_blosCheck: usize = 0x82F4; // bool
+                pub const m_nlosperiod: usize = 0x82F8; // int32
+                pub const m_maxFireHalfWidth: usize = 0x82FC; // float32
+                pub const m_maxFireHeight: usize = 0x8300; // float32
+                pub const m_minBounds: usize = 0x8304; // Vector
+                pub const m_maxBounds: usize = 0x8310; // Vector
+                pub const m_flLastGrassBurnThink: usize = 0x831C; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod C_HostageCarriableProp {
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            pub mod C_CSGO_TerroristWingmanIntroCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPingedEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_iType (int)
+            // NetworkVarNames: m_bUrgent (bool)
+            // NetworkVarNames: m_szPlaceName (char)
+            pub mod C_PlayerPing {
+                pub const m_hPlayer: usize = 0x598; // CHandle<C_CSPlayerPawn>
+                pub const m_hPingedEntity: usize = 0x59C; // CHandle<C_BaseEntity>
+                pub const m_iType: usize = 0x5A0; // int32
+                pub const m_bUrgent: usize = 0x5A4; // bool
+                pub const m_szPlaceName: usize = 0x5A5; // char[18]
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponMP7 {
+            }
+            // Parent: C_Team
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_szTeamMatchStat (char)
+            // NetworkVarNames: m_numMapVictories (int)
+            // NetworkVarNames: m_bSurrendered (bool)
+            // NetworkVarNames: m_scoreFirstHalf (int32)
+            // NetworkVarNames: m_scoreSecondHalf (int32)
+            // NetworkVarNames: m_scoreOvertime (int32)
+            // NetworkVarNames: m_szClanTeamname (char)
+            // NetworkVarNames: m_iClanID (uint32)
+            // NetworkVarNames: m_szTeamFlagImage (char)
+            // NetworkVarNames: m_szTeamLogoImage (char)
+            pub mod C_CSTeam {
+                pub const m_szTeamMatchStat: usize = 0x620; // char[512]
+                pub const m_numMapVictories: usize = 0x820; // int32
+                pub const m_bSurrendered: usize = 0x824; // bool
+                pub const m_scoreFirstHalf: usize = 0x828; // int32
+                pub const m_scoreSecondHalf: usize = 0x82C; // int32
+                pub const m_scoreOvertime: usize = 0x830; // int32
+                pub const m_szClanTeamname: usize = 0x834; // char[129]
+                pub const m_iClanID: usize = 0x8B8; // uint32
+                pub const m_szTeamFlagImage: usize = 0x8BC; // char[8]
+                pub const m_szTeamLogoImage: usize = 0x8C4; // char[8]
+            }
+            // Parent: C_BaseEntity
+            // Field count: 10
+            pub mod C_CSGO_MapPreviewCameraPathNode {
+                pub const m_szParentPathUniqueID: usize = 0x568; // CUtlSymbolLarge
+                pub const m_nPathIndex: usize = 0x570; // int32
+                pub const m_vInTangentLocal: usize = 0x574; // Vector
+                pub const m_vOutTangentLocal: usize = 0x580; // Vector
+                pub const m_flFOV: usize = 0x58C; // float32
+                pub const m_flCameraSpeed: usize = 0x590; // float32
+                pub const m_flEaseIn: usize = 0x594; // float32
+                pub const m_flEaseOut: usize = 0x598; // float32
+                pub const m_vInTangentWorld: usize = 0x59C; // Vector
+                pub const m_vOutTangentWorld: usize = 0x5A8; // Vector
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponMag7 {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_DEagle {
+            }
+            // Parent: C_CSPlayerPawnBase
+            // Field count: 104
+            //
+            // Metadata:
+            // NetworkVarNames: m_pBulletServices (CCSPlayer_BulletServices*)
+            // NetworkVarNames: m_pHostageServices (CCSPlayer_HostageServices*)
+            // NetworkVarNames: m_pBuyServices (CCSPlayer_BuyServices*)
+            // NetworkVarNames: m_pGlowServices (CCSPlayer_GlowServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayer_ActionTrackingServices*)
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_flHealthShotBoostExpirationTime (GameTime_t)
+            // NetworkVarNames: m_bHasFemaleVoice (bool)
+            // NetworkVarNames: m_szLastPlaceName (char)
+            // NetworkVarNames: m_bInBuyZone (bool)
+            // NetworkVarNames: m_aimPunchAngle (QAngle)
+            // NetworkVarNames: m_aimPunchAngleVel (QAngle)
+            // NetworkVarNames: m_aimPunchTickBase (int)
+            // NetworkVarNames: m_aimPunchTickFraction (float)
+            // NetworkVarNames: m_bInHostageRescueZone (bool)
+            // NetworkVarNames: m_bInBombZone (bool)
+            // NetworkVarNames: m_bIsBuyMenuOpen (bool)
+            // NetworkVarNames: m_flTimeOfLastInjury (GameTime_t)
+            // NetworkVarNames: m_flNextSprayDecalTime (GameTime_t)
+            // NetworkVarNames: m_iRetakesOffering (int)
+            // NetworkVarNames: m_iRetakesOfferingCard (int)
+            // NetworkVarNames: m_bRetakesHasDefuseKit (bool)
+            // NetworkVarNames: m_bRetakesMVPLastRound (bool)
+            // NetworkVarNames: m_iRetakesMVPBoostItem (int)
+            // NetworkVarNames: m_RetakesMVPBoostExtraUtility (loadout_slot_t)
+            // NetworkVarNames: m_EconGloves (CEconItemView)
+            // NetworkVarNames: m_nEconGlovesChanged (uint8)
+            // NetworkVarNames: m_nRagdollDamageBone (int)
+            // NetworkVarNames: m_vRagdollDamageForce (Vector)
+            // NetworkVarNames: m_vRagdollDamagePosition (Vector)
+            // NetworkVarNames: m_szRagdollDamageWeaponName (char)
+            // NetworkVarNames: m_bRagdollDamageHeadshot (bool)
+            // NetworkVarNames: m_vRagdollServerOrigin (Vector)
+            // MNetworkReplayCompatField
+            // NetworkVarNames: m_qDeathEyeAngles (QAngle)
+            // NetworkVarNames: m_bLeftHanded (bool)
+            // NetworkVarNames: m_fSwitchedHandednessTime (GameTime_t)
+            // NetworkVarNames: m_flViewmodelOffsetX (float)
+            // NetworkVarNames: m_flViewmodelOffsetY (float)
+            // NetworkVarNames: m_flViewmodelOffsetZ (float)
+            // NetworkVarNames: m_flViewmodelFOV (float)
+            // NetworkVarNames: m_vecPlayerPatchEconIndices (uint32)
+            // NetworkVarNames: m_GunGameImmunityColor (Color)
+            // NetworkVarNames: m_bIsWalking (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_bIsScoped (bool)
+            // NetworkVarNames: m_bResumeZoom (bool)
+            // NetworkVarNames: m_bIsDefusing (bool)
+            // NetworkVarNames: m_bIsGrabbingHostage (bool)
+            // NetworkVarNames: m_iBlockingUseActionInProgress (CSPlayerBlockingUseAction_t)
+            // NetworkVarNames: m_flEmitSoundTime (GameTime_t)
+            // NetworkVarNames: m_bInNoDefuseArea (bool)
+            // NetworkVarNames: m_nWhichBombZone (int)
+            // NetworkVarNames: m_iShotsFired (int)
+            // NetworkVarNames: m_flFlinchStack (float)
+            // NetworkVarNames: m_flVelocityModifier (float)
+            // NetworkVarNames: m_flHitHeading (float)
+            // NetworkVarNames: m_nHitBodyPart (int)
+            // NetworkVarNames: m_bWaitForNoAttack (bool)
+            // NetworkVarNames: m_bKilledByHeadshot (bool)
+            // NetworkVarNames: m_ArmorValue (int32)
+            // NetworkVarNames: m_unCurrentEquipmentValue (uint16)
+            // NetworkVarNames: m_unRoundStartEquipmentValue (uint16)
+            // NetworkVarNames: m_unFreezetimeEndEquipmentValue (uint16)
+            // NetworkVarNames: m_nLastKillerIndex (CEntityIndex)
+            // NetworkVarNames: m_PredictedDamageTags (PredictedDamageTag_t)
+            pub mod C_CSPlayerPawn {
+                pub const m_pBulletServices: usize = 0x1518; // CCSPlayer_BulletServices*
+                pub const m_pHostageServices: usize = 0x1520; // CCSPlayer_HostageServices*
+                pub const m_pBuyServices: usize = 0x1528; // CCSPlayer_BuyServices*
+                pub const m_pGlowServices: usize = 0x1530; // CCSPlayer_GlowServices*
+                pub const m_pActionTrackingServices: usize = 0x1538; // CCSPlayer_ActionTrackingServices*
+                pub const m_pDamageReactServices: usize = 0x1540; // CCSPlayer_DamageReactServices*
+                pub const m_flHealthShotBoostExpirationTime: usize = 0x1548; // GameTime_t
+                pub const m_flLastFiredWeaponTime: usize = 0x154C; // GameTime_t
+                pub const m_bHasFemaleVoice: usize = 0x1550; // bool
+                pub const m_flLandingTimeSeconds: usize = 0x1554; // float32
+                pub const m_flOldFallVelocity: usize = 0x1558; // float32
+                pub const m_szLastPlaceName: usize = 0x155C; // char[18]
+                pub const m_bPrevDefuser: usize = 0x156E; // bool
+                pub const m_bPrevHelmet: usize = 0x156F; // bool
+                pub const m_nPrevArmorVal: usize = 0x1570; // int32
+                pub const m_nPrevGrenadeAmmoCount: usize = 0x1574; // int32
+                pub const m_unPreviousWeaponHash: usize = 0x1578; // uint32
+                pub const m_unWeaponHash: usize = 0x157C; // uint32
+                pub const m_bInBuyZone: usize = 0x1580; // bool
+                pub const m_bPreviouslyInBuyZone: usize = 0x1581; // bool
+                pub const m_aimPunchAngle: usize = 0x1584; // QAngle
+                pub const m_aimPunchAngleVel: usize = 0x1590; // QAngle
+                pub const m_aimPunchTickBase: usize = 0x159C; // int32
+                pub const m_aimPunchTickFraction: usize = 0x15A0; // float32
+                pub const m_aimPunchCache: usize = 0x15A8; // CUtlVector<QAngle>
+                pub const m_bInLanding: usize = 0x15C8; // bool
+                pub const m_flLandingStartTime: usize = 0x15CC; // float32
+                pub const m_bInHostageRescueZone: usize = 0x15D0; // bool
+                pub const m_bInBombZone: usize = 0x15D1; // bool
+                pub const m_bIsBuyMenuOpen: usize = 0x15D2; // bool
+                pub const m_flTimeOfLastInjury: usize = 0x15D4; // GameTime_t
+                pub const m_flNextSprayDecalTime: usize = 0x15D8; // GameTime_t
+                pub const m_iRetakesOffering: usize = 0x1730; // int32
+                pub const m_iRetakesOfferingCard: usize = 0x1734; // int32
+                pub const m_bRetakesHasDefuseKit: usize = 0x1738; // bool
+                pub const m_bRetakesMVPLastRound: usize = 0x1739; // bool
+                pub const m_iRetakesMVPBoostItem: usize = 0x173C; // int32
+                pub const m_RetakesMVPBoostExtraUtility: usize = 0x1740; // loadout_slot_t
+                pub const m_bNeedToReApplyGloves: usize = 0x1760; // bool
+                pub const m_EconGloves: usize = 0x1768; // C_EconItemView
+                pub const m_nEconGlovesChanged: usize = 0x1BB0; // uint8
+                pub const m_bMustSyncRagdollState: usize = 0x1BB1; // bool
+                pub const m_nRagdollDamageBone: usize = 0x1BB4; // int32
+                pub const m_vRagdollDamageForce: usize = 0x1BB8; // Vector
+                pub const m_vRagdollDamagePosition: usize = 0x1BC4; // Vector
+                pub const m_szRagdollDamageWeaponName: usize = 0x1BD0; // char[64]
+                pub const m_bRagdollDamageHeadshot: usize = 0x1C10; // bool
+                pub const m_vRagdollServerOrigin: usize = 0x1C14; // Vector
+                pub const m_bLastHeadBoneTransformIsValid: usize = 0x2290; // bool
+                pub const m_lastLandTime: usize = 0x2294; // GameTime_t
+                pub const m_bOnGroundLastTick: usize = 0x2298; // bool
+                pub const m_qDeathEyeAngles: usize = 0x22B4; // QAngle
+                pub const m_bSkipOneHeadConstraintUpdate: usize = 0x22C0; // bool
+                pub const m_bLeftHanded: usize = 0x22C1; // bool
+                pub const m_fSwitchedHandednessTime: usize = 0x22C4; // GameTime_t
+                pub const m_flViewmodelOffsetX: usize = 0x22C8; // float32
+                pub const m_flViewmodelOffsetY: usize = 0x22CC; // float32
+                pub const m_flViewmodelOffsetZ: usize = 0x22D0; // float32
+                pub const m_flViewmodelFOV: usize = 0x22D4; // float32
+                pub const m_vecPlayerPatchEconIndices: usize = 0x22D8; // uint32[5]
+                pub const m_GunGameImmunityColor: usize = 0x2310; // Color
+                pub const m_vecBulletHitModels: usize = 0x2360; // CUtlVector<C_BulletHitModel*>
+                pub const m_bIsWalking: usize = 0x2378; // bool
+                pub const m_thirdPersonHeading: usize = 0x2380; // QAngle
+                pub const m_flSlopeDropOffset: usize = 0x2398; // float32
+                pub const m_flSlopeDropHeight: usize = 0x23A8; // float32
+                pub const m_vHeadConstraintOffset: usize = 0x23B8; // Vector
+                pub const m_entitySpottedState: usize = 0x23D0; // EntitySpottedState_t
+                pub const m_bIsScoped: usize = 0x23E8; // bool
+                pub const m_bResumeZoom: usize = 0x23E9; // bool
+                pub const m_bIsDefusing: usize = 0x23EA; // bool
+                pub const m_bIsGrabbingHostage: usize = 0x23EB; // bool
+                pub const m_iBlockingUseActionInProgress: usize = 0x23EC; // CSPlayerBlockingUseAction_t
+                pub const m_flEmitSoundTime: usize = 0x23F0; // GameTime_t
+                pub const m_bInNoDefuseArea: usize = 0x23F4; // bool
+                pub const m_nWhichBombZone: usize = 0x23F8; // int32
+                pub const m_iShotsFired: usize = 0x23FC; // int32
+                pub const m_flFlinchStack: usize = 0x2400; // float32
+                pub const m_flVelocityModifier: usize = 0x2404; // float32
+                pub const m_flHitHeading: usize = 0x2408; // float32
+                pub const m_nHitBodyPart: usize = 0x240C; // int32
+                pub const m_bWaitForNoAttack: usize = 0x2410; // bool
+                pub const m_ignoreLadderJumpTime: usize = 0x2414; // float32
+                pub const m_bKilledByHeadshot: usize = 0x2419; // bool
+                pub const m_ArmorValue: usize = 0x241C; // int32
+                pub const m_unCurrentEquipmentValue: usize = 0x2420; // uint16
+                pub const m_unRoundStartEquipmentValue: usize = 0x2422; // uint16
+                pub const m_unFreezetimeEndEquipmentValue: usize = 0x2424; // uint16
+                pub const m_nLastKillerIndex: usize = 0x2428; // CEntityIndex
+                pub const m_bOldIsScoped: usize = 0x242C; // bool
+                pub const m_bHasDeathInfo: usize = 0x242D; // bool
+                pub const m_flDeathInfoTime: usize = 0x2430; // float32
+                pub const m_vecDeathInfoOrigin: usize = 0x2434; // Vector
+                pub const m_grenadeParameterStashTime: usize = 0x2440; // GameTime_t
+                pub const m_bGrenadeParametersStashed: usize = 0x2444; // bool
+                pub const m_angStashedShootAngles: usize = 0x2448; // QAngle
+                pub const m_vecStashedGrenadeThrowPosition: usize = 0x2454; // Vector
+                pub const m_vecStashedVelocity: usize = 0x2460; // Vector
+                pub const m_angShootAngleHistory: usize = 0x246C; // QAngle[2]
+                pub const m_vecThrowPositionHistory: usize = 0x2484; // Vector[2]
+                pub const m_vecVelocityHistory: usize = 0x249C; // Vector[2]
+                pub const m_PredictedDamageTags: usize = 0x24B8; // C_UtlVectorEmbeddedNetworkVar<PredictedDamageTag_t>
+                pub const m_nPrevHighestReceivedDamageTagTick: usize = 0x2508; // GameTick_t
+                pub const m_nHighestAppliedDamageTagTick: usize = 0x250C; // int32
+            }
+            // Parent: C_RagdollProp
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_boneIndexAttached (uint32)
+            // NetworkVarNames: m_ragdollAttachedObjectIndex (uint32)
+            // NetworkVarNames: m_attachmentPointBoneSpace (Vector)
+            // NetworkVarNames: m_attachmentPointRagdollSpace (Vector)
+            pub mod C_RagdollPropAttached {
+                pub const m_boneIndexAttached: usize = 0x1000; // uint32
+                pub const m_ragdollAttachedObjectIndex: usize = 0x1004; // uint32
+                pub const m_attachmentPointBoneSpace: usize = 0x1008; // Vector
+                pub const m_attachmentPointRagdollSpace: usize = 0x1014; // Vector
+                pub const m_vecOffset: usize = 0x1020; // Vector
+                pub const m_parentTime: usize = 0x102C; // float32
+                pub const m_bHasParent: usize = 0x1030; // bool
+            }
+            // Parent: C_BaseGrenade
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_vInitialPosition (Vector)
+            // NetworkVarNames: m_vInitialVelocity (Vector)
+            // NetworkVarNames: m_nBounces (int)
+            // NetworkVarNames: m_nExplodeEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_nExplodeEffectTickBegin (int)
+            // NetworkVarNames: m_vecExplodeEffectOrigin (Vector)
+            pub mod C_BaseCSGrenadeProjectile {
+                pub const m_vInitialPosition: usize = 0x1170; // Vector
+                pub const m_vInitialVelocity: usize = 0x117C; // Vector
+                pub const m_nBounces: usize = 0x1188; // int32
+                pub const m_nExplodeEffectIndex: usize = 0x1190; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_nExplodeEffectTickBegin: usize = 0x1198; // int32
+                pub const m_vecExplodeEffectOrigin: usize = 0x119C; // Vector
+                pub const m_flSpawnTime: usize = 0x11A8; // GameTime_t
+                pub const vecLastTrailLinePos: usize = 0x11AC; // Vector
+                pub const flNextTrailLineTime: usize = 0x11B8; // GameTime_t
+                pub const m_bExplodeEffectBegan: usize = 0x11BC; // bool
+                pub const m_bCanCreateGrenadeTrail: usize = 0x11BD; // bool
+                pub const m_nSnapshotTrajectoryEffectIndex: usize = 0x11C0; // ParticleIndex_t
+                pub const m_hSnapshotTrajectoryParticleSnapshot: usize = 0x11C8; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_arrTrajectoryTrailPoints: usize = 0x11D0; // CUtlVector<Vector>
+                pub const m_arrTrajectoryTrailPointCreationTimes: usize = 0x11E8; // CUtlVector<float32>
+                pub const m_flTrajectoryTrailEffectCreationTime: usize = 0x1200; // float32
+            }
+            // Parent: C_BaseToggle
+            // Field count: 2
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bClientSidePredicted (bool)
+            pub mod C_BaseTrigger {
+                pub const m_bDisabled: usize = 0xD28; // bool
+                pub const m_bClientSidePredicted: usize = 0xD29; // bool
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_SequenceCompleteTimer (CountdownTimer)
+            // NetworkVarNames: m_bRedraw (bool)
+            pub mod C_WeaponBaseItem {
+                pub const m_SequenceCompleteTimer: usize = 0x1B20; // CountdownTimer
+                pub const m_bRedraw: usize = 0x1B38; // bool
+            }
+            // Parent: None
+            // Field count: 21
+            //
+            // Metadata:
+            // NetworkVarNames: m_vOrigin (Vector)
+            // NetworkVarNames: m_vStart (Vector)
+            // NetworkVarNames: m_vNormal (Vector)
+            // NetworkVarNames: m_vAngles (QAngle)
+            // NetworkVarNames: m_hEntity (CEntityHandle)
+            // NetworkVarNames: m_hOtherEntity (CEntityHandle)
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flMagnitude (float32)
+            // NetworkVarNames: m_flRadius (float32)
+            // NetworkVarNames: m_nSurfaceProp (CUtlStringToken)
+            // NetworkVarNames: m_nEffectIndex (HParticleSystemDefinition)
+            // NetworkVarNames: m_nDamageType (uint32)
+            // NetworkVarNames: m_nPenetrate (uint8)
+            // NetworkVarNames: m_nMaterial (uint16)
+            // NetworkVarNames: m_nHitBox (uint16)
+            // NetworkVarNames: m_nColor (uint8)
+            // NetworkVarNames: m_fFlags (uint8)
+            // NetworkVarNames: m_nAttachmentIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_nAttachmentName (CUtlStringToken)
+            // NetworkVarNames: m_iEffectName (uint16)
+            // NetworkVarNames: m_nExplosionType (uint8)
+            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; // float32
+                pub const m_flMagnitude: usize = 0x44; // float32
+                pub const m_flRadius: usize = 0x48; // float32
+                pub const m_nSurfaceProp: usize = 0x4C; // CUtlStringToken
+                pub const m_nEffectIndex: usize = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_nDamageType: usize = 0x58; // uint32
+                pub const m_nPenetrate: usize = 0x5C; // uint8
+                pub const m_nMaterial: usize = 0x5E; // uint16
+                pub const m_nHitBox: usize = 0x60; // uint16
+                pub const m_nColor: usize = 0x62; // uint8
+                pub const m_fFlags: usize = 0x63; // uint8
+                pub const m_nAttachmentIndex: usize = 0x64; // AttachmentHandle_t
+                pub const m_nAttachmentName: usize = 0x68; // CUtlStringToken
+                pub const m_iEffectName: usize = 0x6C; // uint16
+                pub const m_nExplosionType: usize = 0x6E; // uint8
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            pub mod C_MolotovGrenade {
+            }
+            // Parent: C_BaseToggle
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_glowEntity (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_usable (bool)
+            // NetworkVarNames: m_szDisplayText (string_t)
+            pub mod C_BaseButton {
+                pub const m_glowEntity: usize = 0xD28; // CHandle<C_BaseModelEntity>
+                pub const m_usable: usize = 0xD2C; // bool
+                pub const m_szDisplayText: usize = 0xD30; // CUtlSymbolLarge
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_hViewModel (CHandle<CBaseViewModel>)
+            pub mod CCSPlayer_ViewModelServices {
+                pub const m_hViewModel: usize = 0x40; // CHandle<C_BaseViewModel>[3]
+            }
+            // Parent: C_PointEntity
+            // Field count: 0
+            pub mod CInfoParticleTarget {
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFallVelocity (float32)
+            // NetworkVarNames: m_bInCrouch (bool)
+            // NetworkVarNames: m_nCrouchState (uint32)
+            // NetworkVarNames: m_flCrouchTransitionStartTime (GameTime_t)
+            // NetworkVarNames: m_bDucked (bool)
+            // NetworkVarNames: m_bDucking (bool)
+            // NetworkVarNames: m_bInDuckJump (bool)
+            pub mod CPlayer_MovementServices_Humanoid {
+                pub const m_flStepSoundTime: usize = 0x1D8; // float32
+                pub const m_flFallVelocity: usize = 0x1DC; // float32
+                pub const m_bInCrouch: usize = 0x1E0; // bool
+                pub const m_nCrouchState: usize = 0x1E4; // uint32
+                pub const m_flCrouchTransitionStartTime: usize = 0x1E8; // GameTime_t
+                pub const m_bDucked: usize = 0x1EC; // bool
+                pub const m_bDucking: usize = 0x1ED; // bool
+                pub const m_bInDuckJump: usize = 0x1EE; // bool
+                pub const m_groundNormal: usize = 0x1F0; // Vector
+                pub const m_flSurfaceFriction: usize = 0x1FC; // float32
+                pub const m_surfaceProps: usize = 0x200; // CUtlStringToken
+                pub const m_nStepside: usize = 0x210; // int32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponAug {
+            }
+            // Parent: CEnvSoundscapeProxy
+            // Field count: 0
+            pub mod CEnvSoundscapeProxyAlias_snd_soundscape_proxy {
+            }
+            // Parent: C_BaseClientUIEntity
+            // Field count: 28
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIgnoreInput (bool)
+            // NetworkVarNames: m_bLit (bool)
+            // NetworkVarNames: m_bFollowPlayerAcrossTeleport (bool)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDPI (float)
+            // NetworkVarNames: m_flInteractDistance (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_unOwnerContext (uint32)
+            // NetworkVarNames: m_unHorizontalAlign (uint32)
+            // NetworkVarNames: m_unVerticalAlign (uint32)
+            // NetworkVarNames: m_unOrientation (uint32)
+            // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            // NetworkVarNames: m_bOpaque (bool)
+            // NetworkVarNames: m_bNoDepth (bool)
+            // NetworkVarNames: m_bRenderBackface (bool)
+            // NetworkVarNames: m_bUseOffScreenIndicator (bool)
+            // NetworkVarNames: m_bExcludeFromSaveGames (bool)
+            // NetworkVarNames: m_bGrabbable (bool)
+            // NetworkVarNames: m_bOnlyRenderToTexture (bool)
+            // NetworkVarNames: m_bDisableMipGen (bool)
+            // NetworkVarNames: m_nExplicitImageLayout (int32)
+            pub mod C_PointClientUIWorldPanel {
+                pub const m_bForceRecreateNextUpdate: usize = 0xD60; // bool
+                pub const m_bMoveViewToPlayerNextThink: usize = 0xD61; // bool
+                pub const m_bCheckCSSClasses: usize = 0xD62; // bool
+                pub const m_anchorDeltaTransform: usize = 0xD70; // CTransform
+                pub const m_pOffScreenIndicator: usize = 0xF08; // CPointOffScreenIndicatorUi*
+                pub const m_bIgnoreInput: usize = 0xF30; // bool
+                pub const m_bLit: usize = 0xF31; // bool
+                pub const m_bFollowPlayerAcrossTeleport: usize = 0xF32; // bool
+                pub const m_flWidth: usize = 0xF34; // float32
+                pub const m_flHeight: usize = 0xF38; // float32
+                pub const m_flDPI: usize = 0xF3C; // float32
+                pub const m_flInteractDistance: usize = 0xF40; // float32
+                pub const m_flDepthOffset: usize = 0xF44; // float32
+                pub const m_unOwnerContext: usize = 0xF48; // uint32
+                pub const m_unHorizontalAlign: usize = 0xF4C; // uint32
+                pub const m_unVerticalAlign: usize = 0xF50; // uint32
+                pub const m_unOrientation: usize = 0xF54; // uint32
+                pub const m_bAllowInteractionFromAllSceneWorlds: usize = 0xF58; // bool
+                pub const m_vecCSSClasses: usize = 0xF60; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+                pub const m_bOpaque: usize = 0xF78; // bool
+                pub const m_bNoDepth: usize = 0xF79; // bool
+                pub const m_bRenderBackface: usize = 0xF7A; // bool
+                pub const m_bUseOffScreenIndicator: usize = 0xF7B; // bool
+                pub const m_bExcludeFromSaveGames: usize = 0xF7C; // bool
+                pub const m_bGrabbable: usize = 0xF7D; // bool
+                pub const m_bOnlyRenderToTexture: usize = 0xF7E; // bool
+                pub const m_bDisableMipGen: usize = 0xF7F; // bool
+                pub const m_nExplicitImageLayout: usize = 0xF80; // int32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_CSMinimapBoundary {
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flDMBonusStartTime (GameTime_t)
+            // NetworkVarNames: m_flDMBonusTimeLength (float)
+            // NetworkVarNames: m_sDMBonusWeapon (CUtlString)
+            pub mod CCSGameModeRules_Deathmatch {
+                pub const m_flDMBonusStartTime: usize = 0x30; // GameTime_t
+                pub const m_flDMBonusTimeLength: usize = 0x34; // float32
+                pub const m_sDMBonusWeapon: usize = 0x38; // CUtlString
+            }
+            // Parent: C_CSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_EndOfMatchCharacterPosition {
+            }
+            // Parent: C_SoundOpvarSetPointEntity
+            // Field count: 0
+            pub mod C_SoundOpvarSetAABBEntity {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_nTotalPausedTicks (int)
+            // NetworkVarNames: m_nPauseStartTick (int)
+            // NetworkVarNames: m_bGamePaused (bool)
+            pub mod C_GameRules {
+                pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
+                pub const m_nTotalPausedTicks: usize = 0x30; // int32
+                pub const m_nPauseStartTick: usize = 0x34; // int32
+                pub const m_bGamePaused: usize = 0x38; // bool
+            }
+            // Parent: C_BasePropDoor
+            // Field count: 0
+            pub mod C_PropDoorRotating {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_aPlayerControllers (CHandle<CBasePlayerController>)
+            // NetworkVarNames: m_aPlayers (CHandle<C_BasePlayerPawn>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_szTeamname (char)
+            pub mod C_Team {
+                pub const m_aPlayerControllers: usize = 0x568; // C_NetworkUtlVectorBase<CHandle<CBasePlayerController>>
+                pub const m_aPlayers: usize = 0x580; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerPawn>>
+                pub const m_iScore: usize = 0x598; // int32
+                pub const m_szTeamname: usize = 0x59C; // char[129]
+            }
+            // Parent: C_SoundAreaEntityBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMin (Vector)
+            // NetworkVarNames: m_vMax (Vector)
+            pub mod C_SoundAreaEntityOrientedBox {
+                pub const m_vMin: usize = 0x590; // Vector
+                pub const m_vMax: usize = 0x59C; // Vector
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_bLoop (bool)
+            // NetworkVarNames: m_flFPS (float)
+            // NetworkVarNames: m_hPositionKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_hRotationKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_vAnimationBoundsMin (Vector)
+            // NetworkVarNames: m_vAnimationBoundsMax (Vector)
+            // NetworkVarNames: m_flStartTime (float)
+            // NetworkVarNames: m_flStartFrame (float)
+            pub mod C_TextureBasedAnimatable {
+                pub const m_bLoop: usize = 0xD28; // bool
+                pub const m_flFPS: usize = 0xD2C; // float32
+                pub const m_hPositionKeys: usize = 0xD30; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_hRotationKeys: usize = 0xD38; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_vAnimationBoundsMin: usize = 0xD40; // Vector
+                pub const m_vAnimationBoundsMax: usize = 0xD4C; // Vector
+                pub const m_flStartTime: usize = 0xD58; // float32
+                pub const m_flStartFrame: usize = 0xD5C; // float32
+            }
+            // Parent: C_SoundOpvarSetPointBase
+            // Field count: 0
+            pub mod C_SoundOpvarSetPointEntity {
+            }
+            // Parent: C_LightEntity
+            // Field count: 0
+            pub mod C_LightOrthoEntity {
+            }
+            // Parent: CPlayer_WaterServices
+            // Field count: 3
+            pub mod CCSPlayer_WaterServices {
+                pub const m_flWaterJumpTime: usize = 0x40; // float32
+                pub const m_vecWaterJumpVel: usize = 0x44; // Vector
+                pub const m_flSwimSoundTime: usize = 0x50; // float32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            pub mod CSkyboxReference {
+                pub const m_worldGroupId: usize = 0x568; // WorldGroupId_t
+                pub const m_hSkyCamera: usize = 0x56C; // CHandle<C_SkyCamera>
+            }
+            // Parent: C_TonemapController2
+            // Field count: 0
+            pub mod C_TonemapController2Alias_env_tonemap_controller2 {
+            }
+            // Parent: None
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_hTargetEntity (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_bState (bool)
+            // NetworkVarNames: m_bAlwaysUpdate (bool)
+            // NetworkVarNames: m_flLightFOV (float32)
+            // NetworkVarNames: m_bEnableShadows (bool)
+            // NetworkVarNames: m_bSimpleProjection (bool)
+            // NetworkVarNames: m_bLightOnlyTarget (bool)
+            // NetworkVarNames: m_bLightWorld (bool)
+            // NetworkVarNames: m_bCameraSpace (bool)
+            // NetworkVarNames: m_flBrightnessScale (float32)
+            // NetworkVarNames: m_LightColor (Color)
+            // NetworkVarNames: m_flIntensity (float32)
+            // NetworkVarNames: m_flLinearAttenuation (float32)
+            // NetworkVarNames: m_flQuadraticAttenuation (float32)
+            // NetworkVarNames: m_bVolumetric (bool)
+            // NetworkVarNames: m_flVolumetricIntensity (float32)
+            // NetworkVarNames: m_flNoiseStrength (float32)
+            // NetworkVarNames: m_flFlashlightTime (float32)
+            // NetworkVarNames: m_nNumPlanes (uint32)
+            // NetworkVarNames: m_flPlaneOffset (float32)
+            // NetworkVarNames: m_flColorTransitionTime (float32)
+            // NetworkVarNames: m_flAmbient (float32)
+            // NetworkVarNames: m_SpotlightTextureName (char)
+            // NetworkVarNames: m_nSpotlightTextureFrame (int32)
+            // NetworkVarNames: m_nShadowQuality (uint32)
+            // NetworkVarNames: m_flNearZ (float32)
+            // NetworkVarNames: m_flFarZ (float32)
+            // NetworkVarNames: m_flProjectionSize (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_bFlipHorizontal (bool)
+            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; // float32
+                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; // float32
+                pub const m_LightColor: usize = 0x24; // Color
+                pub const m_flIntensity: usize = 0x28; // float32
+                pub const m_flLinearAttenuation: usize = 0x2C; // float32
+                pub const m_flQuadraticAttenuation: usize = 0x30; // float32
+                pub const m_bVolumetric: usize = 0x34; // bool
+                pub const m_flVolumetricIntensity: usize = 0x38; // float32
+                pub const m_flNoiseStrength: usize = 0x3C; // float32
+                pub const m_flFlashlightTime: usize = 0x40; // float32
+                pub const m_nNumPlanes: usize = 0x44; // uint32
+                pub const m_flPlaneOffset: usize = 0x48; // float32
+                pub const m_flColorTransitionTime: usize = 0x4C; // float32
+                pub const m_flAmbient: usize = 0x50; // float32
+                pub const m_SpotlightTextureName: usize = 0x54; // char[512]
+                pub const m_nSpotlightTextureFrame: usize = 0x254; // int32
+                pub const m_nShadowQuality: usize = 0x258; // uint32
+                pub const m_flNearZ: usize = 0x25C; // float32
+                pub const m_flFarZ: usize = 0x260; // float32
+                pub const m_flProjectionSize: usize = 0x264; // float32
+                pub const m_flRotation: usize = 0x268; // float32
+                pub const m_bFlipHorizontal: usize = 0x26C; // bool
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_unMusicID (item_definition_index_t)
+            // NetworkVarNames: m_rank (MedalRank_t)
+            // NetworkVarNames: m_nPersonaDataPublicLevel (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsLeader (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsTeacher (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsFriendly (int)
+            // NetworkVarNames: m_nPersonaDataXpTrailLevel (int)
+            // NetworkVarNames: m_vecServerAuthoritativeWeaponSlots (ServerAuthoritativeWeaponSlot_t)
+            pub mod CCSPlayerController_InventoryServices {
+                pub const m_unMusicID: usize = 0x40; // uint16
+                pub const m_rank: usize = 0x44; // MedalRank_t[6]
+                pub const m_nPersonaDataPublicLevel: usize = 0x5C; // int32
+                pub const m_nPersonaDataPublicCommendsLeader: usize = 0x60; // int32
+                pub const m_nPersonaDataPublicCommendsTeacher: usize = 0x64; // int32
+                pub const m_nPersonaDataPublicCommendsFriendly: usize = 0x68; // int32
+                pub const m_nPersonaDataXpTrailLevel: usize = 0x6C; // int32
+                pub const m_vecServerAuthoritativeWeaponSlots: usize = 0x70; // C_UtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
+            }
+            // Parent: C_PathParticleRope
+            // Field count: 0
+            pub mod C_PathParticleRopeAlias_path_particle_rope_clientside {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_UseServices {
+            }
+            // Parent: C_PredictedViewModel
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShouldIgnoreOffsetAndAccuracy (bool)
+            pub mod C_CSGOViewModel {
+                pub const m_bShouldIgnoreOffsetAndAccuracy: usize = 0x1021; // bool
+                pub const m_nLastKnownAssociatedWeaponEntIndex: usize = 0x1024; // CEntityIndex
+                pub const m_bNeedToQueueHighResComposite: usize = 0x1028; // bool
+                pub const m_vLoweredWeaponOffset: usize = 0x1078; // QAngle
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            pub mod CScriptComponent {
+                pub const m_scriptClassName: usize = 0x30; // CUtlSymbolLarge
+            }
+            // Parent: C_BaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            pub mod C_EnvLightProbeVolume {
+                pub const m_Entity_hLightProbeTexture: usize = 0x1548; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightIndicesTexture: usize = 0x1550; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightScalarsTexture: usize = 0x1558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightShadowsTexture: usize = 0x1560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_vBoxMins: usize = 0x1568; // Vector
+                pub const m_Entity_vBoxMaxs: usize = 0x1574; // Vector
+                pub const m_Entity_bMoveable: usize = 0x1580; // bool
+                pub const m_Entity_nHandshake: usize = 0x1584; // int32
+                pub const m_Entity_nPriority: usize = 0x1588; // int32
+                pub const m_Entity_bStartDisabled: usize = 0x158C; // bool
+                pub const m_Entity_nLightProbeSizeX: usize = 0x1590; // int32
+                pub const m_Entity_nLightProbeSizeY: usize = 0x1594; // int32
+                pub const m_Entity_nLightProbeSizeZ: usize = 0x1598; // int32
+                pub const m_Entity_nLightProbeAtlasX: usize = 0x159C; // int32
+                pub const m_Entity_nLightProbeAtlasY: usize = 0x15A0; // int32
+                pub const m_Entity_nLightProbeAtlasZ: usize = 0x15A4; // int32
+                pub const m_Entity_bEnabled: usize = 0x15B1; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 2
+            pub mod C_ViewmodelAttachmentModel {
+                pub const m_bShouldFrontFaceCullLeftHanded: usize = 0xF90; // bool
+                pub const m_bCreatedLeftHanded: usize = 0xF91; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_player_controller {
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            pub mod C_Flashbang {
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_iKills (int)
+            // NetworkVarNames: m_iDeaths (int)
+            // NetworkVarNames: m_iAssists (int)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iEquipmentValue (int)
+            // NetworkVarNames: m_iMoneySaved (int)
+            // NetworkVarNames: m_iKillReward (int)
+            // NetworkVarNames: m_iLiveTime (int)
+            // NetworkVarNames: m_iHeadShotKills (int)
+            // NetworkVarNames: m_iObjective (int)
+            // NetworkVarNames: m_iCashEarned (int)
+            // NetworkVarNames: m_iUtilityDamage (int)
+            // NetworkVarNames: m_iEnemiesFlashed (int)
+            pub mod CSPerRoundStats_t {
+                pub const m_iKills: usize = 0x30; // int32
+                pub const m_iDeaths: usize = 0x34; // int32
+                pub const m_iAssists: usize = 0x38; // int32
+                pub const m_iDamage: usize = 0x3C; // int32
+                pub const m_iEquipmentValue: usize = 0x40; // int32
+                pub const m_iMoneySaved: usize = 0x44; // int32
+                pub const m_iKillReward: usize = 0x48; // int32
+                pub const m_iLiveTime: usize = 0x4C; // int32
+                pub const m_iHeadShotKills: usize = 0x50; // int32
+                pub const m_iObjective: usize = 0x54; // int32
+                pub const m_iCashEarned: usize = 0x58; // int32
+                pub const m_iUtilityDamage: usize = 0x5C; // int32
+                pub const m_iEnemiesFlashed: usize = 0x60; // int32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_iCurrentMaxRagdollCount (int8)
+            pub mod CRagdollManager {
+                pub const m_iCurrentMaxRagdollCount: usize = 0x568; // int8
+            }
+            // Parent: C_BaseEntity
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_bTimerPaused (bool)
+            // NetworkVarNames: m_flTimeRemaining (float)
+            // NetworkVarNames: m_flTimerEndTime (GameTime_t)
+            // NetworkVarNames: m_bIsDisabled (bool)
+            // NetworkVarNames: m_bShowInHUD (bool)
+            // NetworkVarNames: m_nTimerLength (int)
+            // NetworkVarNames: m_nTimerInitialLength (int)
+            // NetworkVarNames: m_nTimerMaxLength (int)
+            // NetworkVarNames: m_bAutoCountdown (bool)
+            // NetworkVarNames: m_nSetupTimeLength (int)
+            // NetworkVarNames: m_nState (int)
+            // NetworkVarNames: m_bStartPaused (bool)
+            // NetworkVarNames: m_bInCaptureWatchState (bool)
+            // NetworkVarNames: m_flTotalTime (float)
+            // NetworkVarNames: m_bStopWatchTimer (bool)
+            pub mod C_TeamRoundTimer {
+                pub const m_bTimerPaused: usize = 0x568; // bool
+                pub const m_flTimeRemaining: usize = 0x56C; // float32
+                pub const m_flTimerEndTime: usize = 0x570; // GameTime_t
+                pub const m_bIsDisabled: usize = 0x574; // bool
+                pub const m_bShowInHUD: usize = 0x575; // bool
+                pub const m_nTimerLength: usize = 0x578; // int32
+                pub const m_nTimerInitialLength: usize = 0x57C; // int32
+                pub const m_nTimerMaxLength: usize = 0x580; // int32
+                pub const m_bAutoCountdown: usize = 0x584; // bool
+                pub const m_nSetupTimeLength: usize = 0x588; // int32
+                pub const m_nState: usize = 0x58C; // int32
+                pub const m_bStartPaused: usize = 0x590; // bool
+                pub const m_bInCaptureWatchState: usize = 0x591; // bool
+                pub const m_flTotalTime: usize = 0x594; // float32
+                pub const m_bStopWatchTimer: usize = 0x598; // bool
+                pub const m_bFireFinished: usize = 0x599; // bool
+                pub const m_bFire5MinRemain: usize = 0x59A; // bool
+                pub const m_bFire4MinRemain: usize = 0x59B; // bool
+                pub const m_bFire3MinRemain: usize = 0x59C; // bool
+                pub const m_bFire2MinRemain: usize = 0x59D; // bool
+                pub const m_bFire1MinRemain: usize = 0x59E; // bool
+                pub const m_bFire30SecRemain: usize = 0x59F; // bool
+                pub const m_bFire10SecRemain: usize = 0x5A0; // bool
+                pub const m_bFire5SecRemain: usize = 0x5A1; // bool
+                pub const m_bFire4SecRemain: usize = 0x5A2; // bool
+                pub const m_bFire3SecRemain: usize = 0x5A3; // bool
+                pub const m_bFire2SecRemain: usize = 0x5A4; // bool
+                pub const m_bFire1SecRemain: usize = 0x5A5; // bool
+                pub const m_nOldTimerLength: usize = 0x5A8; // int32
+                pub const m_nOldTimerState: usize = 0x5AC; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nItemDefIndex (uint16)
+            // NetworkVarNames: m_nCount (uint16)
+            pub mod WeaponPurchaseCount_t {
+                pub const m_nItemDefIndex: usize = 0x30; // uint16
+                pub const m_nCount: usize = 0x32; // uint16
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            pub mod C_SmokeGrenade {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponGalilAR {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod C_WorldModelGloves {
+            }
+            // Parent: C_ModelPointEntity
+            // Field count: 0
+            pub mod C_EnvProjectedTexture {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pathString (CUtlString)
+            pub mod CPathSimple {
+                pub const m_pathString: usize = 0x5C0; // CUtlString
+            }
+            // Parent: CPlayer_CameraServices
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iFOV (uint32)
+            // NetworkVarNames: m_iFOVStart (uint32)
+            // NetworkVarNames: m_flFOVTime (GameTime_t)
+            // NetworkVarNames: m_flFOVRate (float32)
+            // NetworkVarNames: m_hZoomOwner (CHandle<CBaseEntity>)
+            pub mod CCSPlayerBase_CameraServices {
+                pub const m_iFOV: usize = 0x210; // uint32
+                pub const m_iFOVStart: usize = 0x214; // uint32
+                pub const m_flFOVTime: usize = 0x218; // GameTime_t
+                pub const m_flFOVRate: usize = 0x21C; // float32
+                pub const m_hZoomOwner: usize = 0x220; // CHandle<C_BaseEntity>
+                pub const m_flLastShotFOV: usize = 0x224; // float32
+            }
+            // Parent: C_PointClientUIWorldPanel
+            // Field count: 4
+            pub mod CPointOffScreenIndicatorUi {
+                pub const m_bBeenEnabled: usize = 0xF90; // bool
+                pub const m_bHide: usize = 0xF91; // bool
+                pub const m_flSeenTargetTime: usize = 0xF94; // float32
+                pub const m_pTargetPanel: usize = 0xF98; // C_PointClientUIWorldPanel*
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_entity {
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 0
+            pub mod CBodyComponentBaseModelEntity {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_zoomLevel (int)
+            // NetworkVarNames: m_iBurstShotsRemaining (int)
+            // NetworkVarNames: m_bNeedsBoltAction (bool)
+            pub mod C_CSWeaponBaseGun {
+                pub const m_zoomLevel: usize = 0x1B20; // int32
+                pub const m_iBurstShotsRemaining: usize = 0x1B24; // int32
+                pub const m_iSilencerBodygroup: usize = 0x1B28; // int32
+                pub const m_silencedModelIndex: usize = 0x1B38; // int32
+                pub const m_inPrecache: usize = 0x1B3C; // bool
+                pub const m_bNeedsBoltAction: usize = 0x1B3D; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_skyboxData (sky3dparams_t)
+            // NetworkVarNames: m_skyboxSlotToken (CUtlStringToken)
+            pub mod C_SkyCamera {
+                pub const m_skyboxData: usize = 0x568; // sky3dparams_t
+                pub const m_skyboxSlotToken: usize = 0x5F8; // CUtlStringToken
+                pub const m_bUseAngles: usize = 0x5FC; // bool
+                pub const m_pNext: usize = 0x600; // C_SkyCamera*
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_World {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flFadeInStart (float32)
+            // NetworkVarNames: m_flFadeInLength (float32)
+            // NetworkVarNames: m_flFadeOutModelStart (float32)
+            // NetworkVarNames: m_flFadeOutModelLength (float32)
+            // NetworkVarNames: m_flFadeOutStart (float32)
+            // NetworkVarNames: m_flFadeOutLength (float32)
+            // NetworkVarNames: m_nDissolveType (EntityDisolveType_t)
+            // NetworkVarNames: m_vDissolverOrigin (Vector)
+            // NetworkVarNames: m_nMagnitude (uint32)
+            pub mod C_EntityDissolve {
+                pub const m_flStartTime: usize = 0xD30; // GameTime_t
+                pub const m_flFadeInStart: usize = 0xD34; // float32
+                pub const m_flFadeInLength: usize = 0xD38; // float32
+                pub const m_flFadeOutModelStart: usize = 0xD3C; // float32
+                pub const m_flFadeOutModelLength: usize = 0xD40; // float32
+                pub const m_flFadeOutStart: usize = 0xD44; // float32
+                pub const m_flFadeOutLength: usize = 0xD48; // float32
+                pub const m_flNextSparkTime: usize = 0xD4C; // GameTime_t
+                pub const m_nDissolveType: usize = 0xD50; // EntityDisolveType_t
+                pub const m_vDissolverOrigin: usize = 0xD54; // Vector
+                pub const m_nMagnitude: usize = 0xD60; // uint32
+                pub const m_bCoreExplode: usize = 0xD64; // bool
+                pub const m_bLinkedToServerEnt: usize = 0xD65; // bool
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 0
+            pub mod CCSObserver_UseServices {
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCtrl (CHandle<CFogController>)
+            pub mod C_fogplayerparams_t {
+                pub const m_hCtrl: usize = 0x8; // CHandle<C_FogController>
+                pub const m_flTransitionTime: usize = 0xC; // float32
+                pub const m_OldColor: usize = 0x10; // Color
+                pub const m_flOldStart: usize = 0x14; // float32
+                pub const m_flOldEnd: usize = 0x18; // float32
+                pub const m_flOldMaxDensity: usize = 0x1C; // float32
+                pub const m_flOldHDRColorScale: usize = 0x20; // float32
+                pub const m_flOldFarZ: usize = 0x24; // float32
+                pub const m_NewColor: usize = 0x28; // Color
+                pub const m_flNewStart: usize = 0x2C; // float32
+                pub const m_flNewEnd: usize = 0x30; // float32
+                pub const m_flNewMaxDensity: usize = 0x34; // float32
+                pub const m_flNewHDRColorScale: usize = 0x38; // float32
+                pub const m_flNewFarZ: usize = 0x3C; // float32
+            }
+            // Parent: C_BasePlayerPawn
+            // Field count: 65
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pPingServices (CCSPlayer_PingServices*)
+            // NetworkVarNames: m_pViewModelServices (CPlayer_ViewModelServices*)
+            // NetworkVarNames: m_iPlayerState (CSPlayerState)
+            // NetworkVarNames: m_bIsRescuing (bool)
+            // NetworkVarNames: m_fImmuneToGunGameDamageTime (GameTime_t)
+            // NetworkVarNames: m_bGunGameImmunity (bool)
+            // NetworkVarNames: m_bHasMovedSinceSpawn (bool)
+            // NetworkVarNames: m_fMolotovUseTime (float)
+            // NetworkVarNames: m_fMolotovDamageTime (float)
+            // NetworkVarNames: m_iThrowGrenadeCounter (int)
+            // NetworkVarNames: m_iProgressBarDuration (int)
+            // NetworkVarNames: m_flProgressBarStartTime (float)
+            // NetworkVarNames: m_flFlashMaxAlpha (float)
+            // NetworkVarNames: m_flFlashDuration (float)
+            // NetworkVarNames: m_cycleLatch (int)
+            // NetworkVarNames: m_hOriginalController (CHandle<CCSPlayerController>)
+            pub mod C_CSPlayerPawnBase {
+                pub const m_pPingServices: usize = 0x1360; // CCSPlayer_PingServices*
+                pub const m_pViewModelServices: usize = 0x1368; // CPlayer_ViewModelServices*
+                pub const m_fRenderingClipPlane: usize = 0x1370; // float32[4]
+                pub const m_nLastClipPlaneSetupFrame: usize = 0x1380; // int32
+                pub const m_vecLastClipCameraPos: usize = 0x1384; // Vector
+                pub const m_vecLastClipCameraForward: usize = 0x1390; // Vector
+                pub const m_bClipHitStaticWorld: usize = 0x139C; // bool
+                pub const m_bCachedPlaneIsValid: usize = 0x139D; // bool
+                pub const m_pClippingWeapon: usize = 0x13A0; // C_CSWeaponBase*
+                pub const m_previousPlayerState: usize = 0x13A8; // CSPlayerState
+                pub const m_iPlayerState: usize = 0x13AC; // CSPlayerState
+                pub const m_bIsRescuing: usize = 0x13B0; // bool
+                pub const m_fImmuneToGunGameDamageTime: usize = 0x13B4; // GameTime_t
+                pub const m_fImmuneToGunGameDamageTimeLast: usize = 0x13B8; // GameTime_t
+                pub const m_bGunGameImmunity: usize = 0x13BC; // bool
+                pub const m_bHasMovedSinceSpawn: usize = 0x13BD; // bool
+                pub const m_fMolotovUseTime: usize = 0x13C0; // float32
+                pub const m_fMolotovDamageTime: usize = 0x13C4; // float32
+                pub const m_iThrowGrenadeCounter: usize = 0x13C8; // int32
+                pub const m_flLastSpawnTimeIndex: usize = 0x13CC; // GameTime_t
+                pub const m_iProgressBarDuration: usize = 0x13D0; // int32
+                pub const m_flProgressBarStartTime: usize = 0x13D4; // float32
+                pub const m_vecIntroStartEyePosition: usize = 0x13D8; // Vector
+                pub const m_vecIntroStartPlayerForward: usize = 0x13E4; // Vector
+                pub const m_flClientDeathTime: usize = 0x13F0; // GameTime_t
+                pub const m_bScreenTearFrameCaptured: usize = 0x13F4; // bool
+                pub const m_flFlashBangTime: usize = 0x13F8; // float32
+                pub const m_flFlashScreenshotAlpha: usize = 0x13FC; // float32
+                pub const m_flFlashOverlayAlpha: usize = 0x1400; // float32
+                pub const m_bFlashBuildUp: usize = 0x1404; // bool
+                pub const m_bFlashDspHasBeenCleared: usize = 0x1405; // bool
+                pub const m_bFlashScreenshotHasBeenGrabbed: usize = 0x1406; // bool
+                pub const m_flFlashMaxAlpha: usize = 0x1408; // float32
+                pub const m_flFlashDuration: usize = 0x140C; // float32
+                pub const m_iHealthBarRenderMaskIndex: usize = 0x1410; // int32
+                pub const m_flHealthFadeValue: usize = 0x1414; // float32
+                pub const m_flHealthFadeAlpha: usize = 0x1418; // float32
+                pub const m_flDeathCCWeight: usize = 0x1428; // float32
+                pub const m_flPrevRoundEndTime: usize = 0x142C; // float32
+                pub const m_flPrevMatchEndTime: usize = 0x1430; // float32
+                pub const m_angEyeAngles: usize = 0x1438; // QAngle
+                pub const m_fNextThinkPushAway: usize = 0x1450; // float32
+                pub const m_bShouldAutobuyDMWeapons: usize = 0x1454; // bool
+                pub const m_bShouldAutobuyNow: usize = 0x1455; // bool
+                pub const m_iIDEntIndex: usize = 0x1458; // CEntityIndex
+                pub const m_delayTargetIDTimer: usize = 0x1460; // CountdownTimer
+                pub const m_iTargetItemEntIdx: usize = 0x1478; // CEntityIndex
+                pub const m_iOldIDEntIndex: usize = 0x147C; // CEntityIndex
+                pub const m_holdTargetIDTimer: usize = 0x1480; // CountdownTimer
+                pub const m_flCurrentMusicStartTime: usize = 0x149C; // float32
+                pub const m_flMusicRoundStartTime: usize = 0x14A0; // float32
+                pub const m_bDeferStartMusicOnWarmup: usize = 0x14A4; // bool
+                pub const m_cycleLatch: usize = 0x14A8; // int32
+                pub const m_serverIntendedCycle: usize = 0x14AC; // float32
+                pub const m_flLastSmokeOverlayAlpha: usize = 0x14B0; // float32
+                pub const m_flLastSmokeAge: usize = 0x14B4; // float32
+                pub const m_vLastSmokeOverlayColor: usize = 0x14B8; // Vector
+                pub const m_nPlayerSmokedFx: usize = 0x14C4; // ParticleIndex_t
+                pub const m_nPlayerInfernoBodyFx: usize = 0x14C8; // ParticleIndex_t
+                pub const m_nPlayerInfernoFootFx: usize = 0x14CC; // ParticleIndex_t
+                pub const m_flNextMagDropTime: usize = 0x14D0; // float32
+                pub const m_nLastMagDropAttachmentIndex: usize = 0x14D4; // int32
+                pub const m_vecLastAliveLocalVelocity: usize = 0x14D8; // Vector
+                pub const m_bGuardianShouldSprayCustomXMark: usize = 0x1500; // bool
+                pub const m_hOriginalController: usize = 0x1508; // CHandle<CCSPlayerController>
+            }
+            // Parent: C_WeaponBaseItem
+            // Field count: 0
+            pub mod C_Item_Healthshot {
+            }
+            // Parent: None
+            // Field count: 29
+            //
+            // Metadata:
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iWindSeed (uint32)
+            // NetworkVarNames: m_iMinWind (uint16)
+            // NetworkVarNames: m_iMaxWind (uint16)
+            // NetworkVarNames: m_windRadius (int32)
+            // NetworkVarNames: m_iMinGust (uint16)
+            // NetworkVarNames: m_iMaxGust (uint16)
+            // NetworkVarNames: m_flMinGustDelay (float32)
+            // NetworkVarNames: m_flMaxGustDelay (float32)
+            // NetworkVarNames: m_flGustDuration (float32)
+            // NetworkVarNames: m_iGustDirChange (uint16)
+            // NetworkVarNames: m_location (Vector)
+            // NetworkVarNames: m_iInitialWindDir (uint16)
+            // NetworkVarNames: m_flInitialWindSpeed (float32)
+            pub mod C_EnvWindShared {
+                pub const m_flStartTime: usize = 0x8; // GameTime_t
+                pub const m_iWindSeed: usize = 0xC; // uint32
+                pub const m_iMinWind: usize = 0x10; // uint16
+                pub const m_iMaxWind: usize = 0x12; // uint16
+                pub const m_windRadius: usize = 0x14; // int32
+                pub const m_iMinGust: usize = 0x18; // uint16
+                pub const m_iMaxGust: usize = 0x1A; // uint16
+                pub const m_flMinGustDelay: usize = 0x1C; // float32
+                pub const m_flMaxGustDelay: usize = 0x20; // float32
+                pub const m_flGustDuration: usize = 0x24; // float32
+                pub const m_iGustDirChange: usize = 0x28; // uint16
+                pub const m_location: usize = 0x2C; // Vector
+                pub const m_iszGustSound: usize = 0x38; // int32
+                pub const m_iWindDir: usize = 0x3C; // int32
+                pub const m_flWindSpeed: usize = 0x40; // float32
+                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
+                pub const m_flInitialWindSpeed: usize = 0x6C; // float32
+                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; // float32
+                pub const m_bGusting: usize = 0x84; // bool
+                pub const m_flWindAngleVariation: usize = 0x88; // float32
+                pub const m_flWindSpeedVariation: usize = 0x8C; // float32
+                pub const m_hEntOwner: usize = 0x90; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPostSettings (HPostProcessingStrong)
+            // NetworkVarNames: m_flFadeDuration (float)
+            // NetworkVarNames: m_flMinLogExposure (float)
+            // NetworkVarNames: m_flMaxLogExposure (float)
+            // NetworkVarNames: m_flMinExposure (float)
+            // NetworkVarNames: m_flMaxExposure (float)
+            // NetworkVarNames: m_flExposureCompensation (float)
+            // NetworkVarNames: m_flExposureFadeSpeedUp (float)
+            // NetworkVarNames: m_flExposureFadeSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bExposureControl (bool)
+            // NetworkVarNames: m_flRate (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            pub mod C_PostProcessingVolume {
+                pub const m_hPostSettings: usize = 0xD40; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+                pub const m_flFadeDuration: usize = 0xD48; // float32
+                pub const m_flMinLogExposure: usize = 0xD4C; // float32
+                pub const m_flMaxLogExposure: usize = 0xD50; // float32
+                pub const m_flMinExposure: usize = 0xD54; // float32
+                pub const m_flMaxExposure: usize = 0xD58; // float32
+                pub const m_flExposureCompensation: usize = 0xD5C; // float32
+                pub const m_flExposureFadeSpeedUp: usize = 0xD60; // float32
+                pub const m_flExposureFadeSpeedDown: usize = 0xD64; // float32
+                pub const m_flTonemapEVSmoothingRange: usize = 0xD68; // float32
+                pub const m_bMaster: usize = 0xD6C; // bool
+                pub const m_bExposureControl: usize = 0xD6D; // bool
+                pub const m_flRate: usize = 0xD70; // float32
+                pub const m_flTonemapPercentTarget: usize = 0xD74; // float32
+                pub const m_flTonemapPercentBrightPixels: usize = 0xD78; // float32
+                pub const m_flTonemapMinAvgLum: usize = 0xD7C; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayerPing (CHandle<CBaseEntity>)
+            pub mod CCSPlayer_PingServices {
+                pub const m_hPlayerPing: usize = 0x40; // CHandle<C_BaseEntity>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_FlashlightServices {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod CServerOnlyModelEntity {
+            }
+            // Parent: CAttributeManager
+            // Field count: 3
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_Item (CEconItemView)
+            pub mod C_AttributeContainer {
+                pub const m_Item: usize = 0x50; // C_EconItemView
+                pub const m_iExternalItemProviderRegisteredToken: usize = 0x498; // int32
+                pub const m_ullRegisteredAsItemID: usize = 0x4A0; // uint64
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            //
+            // Metadata:
+            // MNetworkOverride
+            // MNetworkOverride
+            pub mod C_FuncRotating {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flStartScale (float32)
+            // NetworkVarNames: m_flScaleTime (float)
+            // NetworkVarNames: m_nFlags (uint32)
+            pub mod C_BaseFire {
+                pub const m_flScale: usize = 0x568; // float32
+                pub const m_flStartScale: usize = 0x56C; // float32
+                pub const m_flScaleTime: usize = 0x570; // float32
+                pub const m_nFlags: usize = 0x574; // uint32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_nTickBase (uint32)
+            // NetworkVarNames: m_hPawn (CHandle<CBasePlayerPawn>)
+            // NetworkVarNames: m_bKnownTeamMismatch (bool)
+            // NetworkVarNames: m_iConnected (PlayerConnectedState)
+            // NetworkVarNames: m_iszPlayerName (char)
+            // NetworkVarNames: m_steamID (uint64)
+            // NetworkVarNames: m_iDesiredFOV (uint32)
+            // MNetworkReplayCompatField
+            pub mod CBasePlayerController {
+                pub const m_nFinalPredictedTick: usize = 0x570; // int32
+                pub const m_CommandContext: usize = 0x578; // C_CommandContext
+                pub const m_nInButtonsWhichAreToggles: usize = 0x620; // uint64
+                pub const m_nTickBase: usize = 0x628; // uint32
+                pub const m_hPawn: usize = 0x62C; // CHandle<C_BasePlayerPawn>
+                pub const m_bKnownTeamMismatch: usize = 0x630; // bool
+                pub const m_hPredictedPawn: usize = 0x634; // CHandle<C_BasePlayerPawn>
+                pub const m_nSplitScreenSlot: usize = 0x638; // CSplitScreenSlot
+                pub const m_hSplitOwner: usize = 0x63C; // CHandle<CBasePlayerController>
+                pub const m_hSplitScreenPlayers: usize = 0x640; // CUtlVector<CHandle<CBasePlayerController>>
+                pub const m_bIsHLTV: usize = 0x658; // bool
+                pub const m_iConnected: usize = 0x65C; // PlayerConnectedState
+                pub const m_iszPlayerName: usize = 0x660; // char[128]
+                pub const m_steamID: usize = 0x6E8; // uint64
+                pub const m_bIsLocalPlayerController: usize = 0x6F0; // bool
+                pub const m_iDesiredFOV: usize = 0x6F4; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CPointTemplateAPI {
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDecoyShotTick (int)
+            pub mod C_DecoyProjectile {
+                pub const m_nDecoyShotTick: usize = 0x1208; // int32
+                pub const m_nClientLastKnownDecoyShotTick: usize = 0x120C; // int32
+                pub const m_flTimeParticleEffectSpawn: usize = 0x1230; // GameTime_t
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod C_WaterBullet {
+            }
+            // Parent: C_CSPlayerPawn
+            // Field count: 3
+            pub mod C_CSGO_PreviewPlayer {
+                pub const m_animgraph: usize = 0x3A40; // CUtlString
+                pub const m_animgraphCharacterModeString: usize = 0x3A48; // CGlobalSymbol
+                pub const m_flInitialModelScale: usize = 0x3A50; // float32
+            }
+            // Parent: CSkeletonAnimationController
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_animGraphNetworkedVars (CAnimGraphNetworkedVariables)
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flSeqStartTime (GameTime_t)
+            // NetworkVarNames: m_flSeqFixedCycle (float)
+            // NetworkVarNames: m_nAnimLoopMode (AnimLoopMode_t)
+            pub mod CBaseAnimGraphController {
+                pub const m_animGraphNetworkedVars: usize = 0x18; // CAnimGraphNetworkedVariables
+                pub const m_bSequenceFinished: usize = 0x14A8; // bool
+                pub const m_flSoundSyncTime: usize = 0x14AC; // float32
+                pub const m_nActiveIKChainMask: usize = 0x14B0; // uint32
+                pub const m_hSequence: usize = 0x14B4; // HSequence
+                pub const m_flSeqStartTime: usize = 0x14B8; // GameTime_t
+                pub const m_flSeqFixedCycle: usize = 0x14BC; // float32
+                pub const m_nAnimLoopMode: usize = 0x14C0; // AnimLoopMode_t
+                pub const m_flPlaybackRate: usize = 0x14C4; // CNetworkedQuantizedFloat
+                pub const m_nNotifyState: usize = 0x14D0; // SequenceFinishNotifyState_t
+                pub const m_bNetworkedAnimationInputsChanged: usize = 0x14D2; // bool
+                pub const m_bNetworkedSequenceChanged: usize = 0x14D3; // bool
+                pub const m_bLastUpdateSkipped: usize = 0x14D4; // bool
+                pub const m_flPrevAnimUpdateTime: usize = 0x14D8; // GameTime_t
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod CCSPointScriptEntity {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_bStartedArming (bool)
+            // NetworkVarNames: m_fArmedTime (GameTime_t)
+            // NetworkVarNames: m_bBombPlacedAnimation (bool)
+            // NetworkVarNames: m_bIsPlantingViaUse (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            pub mod C_C4 {
+                pub const m_szScreenText: usize = 0x1B20; // char[32]
+                pub const m_activeLightParticleIndex: usize = 0x1B40; // ParticleIndex_t
+                pub const m_eActiveLightEffect: usize = 0x1B44; // C4LightEffect_t
+                pub const m_bStartedArming: usize = 0x1B48; // bool
+                pub const m_fArmedTime: usize = 0x1B4C; // GameTime_t
+                pub const m_bBombPlacedAnimation: usize = 0x1B50; // bool
+                pub const m_bIsPlantingViaUse: usize = 0x1B51; // bool
+                pub const m_entitySpottedState: usize = 0x1B58; // EntitySpottedState_t
+                pub const m_nSpotRules: usize = 0x1B70; // int32
+                pub const m_bPlayedArmingBeeps: usize = 0x1B74; // bool[7]
+                pub const m_bBombPlanted: usize = 0x1B7B; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 13
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bInitiallyPopulateInterpHistory (bool)
+            // NetworkVarNames: m_bAnimGraphUpdateEnabled (bool)
+            // NetworkVarNames: m_vecForce (Vector)
+            // NetworkVarNames: m_nForceBone (int32)
+            // NetworkVarNames: m_RagdollPose (PhysicsRagdollPose_t)
+            // NetworkVarNames: m_bRagdollClientSide (bool)
+            pub mod CBaseAnimGraph {
+                pub const m_bInitiallyPopulateInterpHistory: usize = 0xDA0; // bool
+                pub const m_bSuppressAnimEventSounds: usize = 0xDA2; // bool
+                pub const m_bAnimGraphUpdateEnabled: usize = 0xDB0; // bool
+                pub const m_flMaxSlopeDistance: usize = 0xDB4; // float32
+                pub const m_vLastSlopeCheckPos: usize = 0xDB8; // Vector
+                pub const m_bAnimationUpdateScheduled: usize = 0xDC4; // bool
+                pub const m_vecForce: usize = 0xDC8; // Vector
+                pub const m_nForceBone: usize = 0xDD4; // int32
+                pub const m_pClientsideRagdoll: usize = 0xDD8; // CBaseAnimGraph*
+                pub const m_bBuiltRagdoll: usize = 0xDE0; // bool
+                pub const m_RagdollPose: usize = 0xDF8; // PhysicsRagdollPose_t
+                pub const m_bRagdollClientSide: usize = 0xE40; // bool
+                pub const m_bHasAnimatedMaterialAttributes: usize = 0xE50; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_PointEntity {
+            }
+            // Parent: C_GameRules
+            // Field count: 0
+            pub mod C_MultiplayRules {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CBasePlayerControllerAPI {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_flParticleSpacing (float)
+            // NetworkVarNames: m_flSlack (float)
+            // NetworkVarNames: m_flRadius (float)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_nEffectState (int)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_PathNodes_Position (Vector)
+            // NetworkVarNames: m_PathNodes_TangentIn (Vector)
+            // NetworkVarNames: m_PathNodes_TangentOut (Vector)
+            // NetworkVarNames: m_PathNodes_Color (Vector)
+            // NetworkVarNames: m_PathNodes_PinEnabled (bool)
+            // NetworkVarNames: m_PathNodes_RadiusScale (float)
+            pub mod C_PathParticleRope {
+                pub const m_bStartActive: usize = 0x570; // bool
+                pub const m_flMaxSimulationTime: usize = 0x574; // float32
+                pub const m_iszEffectName: usize = 0x578; // CUtlSymbolLarge
+                pub const m_PathNodes_Name: usize = 0x580; // CUtlVector<CUtlSymbolLarge>
+                pub const m_flParticleSpacing: usize = 0x598; // float32
+                pub const m_flSlack: usize = 0x59C; // float32
+                pub const m_flRadius: usize = 0x5A0; // float32
+                pub const m_ColorTint: usize = 0x5A4; // Color
+                pub const m_nEffectState: usize = 0x5A8; // int32
+                pub const m_iEffectIndex: usize = 0x5B0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_PathNodes_Position: usize = 0x5B8; // C_NetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_TangentIn: usize = 0x5D0; // C_NetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_TangentOut: usize = 0x5E8; // C_NetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_Color: usize = 0x600; // C_NetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_PinEnabled: usize = 0x618; // C_NetworkUtlVectorBase<bool>
+                pub const m_PathNodes_RadiusScale: usize = 0x630; // C_NetworkUtlVectorBase<float32>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_CCSWeaponBaseVData {
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            pub mod C_SoundEventAABBEntity {
+                pub const m_vMins: usize = 0x628; // Vector
+                pub const m_vMaxs: usize = 0x634; // Vector
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponP90 {
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            pub mod CEnvSoundscapeAlias_snd_soundscape {
+            }
+            // Parent: C_EconEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_nNextPrimaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextPrimaryAttackTickRatio (float32)
+            // NetworkVarNames: m_nNextSecondaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextSecondaryAttackTickRatio (float32)
+            // NetworkVarNames: m_iClip1 (int32)
+            // NetworkVarNames: m_iClip2 (int32)
+            // NetworkVarNames: m_pReserveAmmo (int)
+            pub mod C_BasePlayerWeapon {
+                pub const m_nNextPrimaryAttackTick: usize = 0x1668; // GameTick_t
+                pub const m_flNextPrimaryAttackTickRatio: usize = 0x166C; // float32
+                pub const m_nNextSecondaryAttackTick: usize = 0x1670; // GameTick_t
+                pub const m_flNextSecondaryAttackTickRatio: usize = 0x1674; // float32
+                pub const m_iClip1: usize = 0x1678; // int32
+                pub const m_iClip2: usize = 0x167C; // int32
+                pub const m_pReserveAmmo: usize = 0x1680; // int32[2]
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 22
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBasePlayerWeaponVData {
+                pub const m_szWorldModel: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_sToolsOnlyOwnerModelName: usize = 0x108; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_bBuiltRightHanded: usize = 0x1E8; // bool
+                pub const m_bAllowFlipping: usize = 0x1E9; // bool
+                pub const m_sMuzzleAttachment: usize = 0x1F0; // CAttachmentNameSymbolWithStorage
+                pub const m_szMuzzleFlashParticle: usize = 0x210; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_bLinkedCooldowns: usize = 0x2F0; // bool
+                pub const m_iFlags: usize = 0x2F1; // ItemFlagTypes_t
+                pub const m_nPrimaryAmmoType: usize = 0x2F2; // AmmoIndex_t
+                pub const m_nSecondaryAmmoType: usize = 0x2F3; // AmmoIndex_t
+                pub const m_iMaxClip1: usize = 0x2F4; // int32
+                pub const m_iMaxClip2: usize = 0x2F8; // int32
+                pub const m_iDefaultClip1: usize = 0x2FC; // int32
+                pub const m_iDefaultClip2: usize = 0x300; // int32
+                pub const m_bReserveAmmoAsClips: usize = 0x304; // bool
+                pub const m_iWeight: usize = 0x308; // int32
+                pub const m_bAutoSwitchTo: usize = 0x30C; // bool
+                pub const m_bAutoSwitchFrom: usize = 0x30D; // bool
+                pub const m_iRumbleEffect: usize = 0x310; // RumbleEffect_t
+                pub const m_iSlot: usize = 0x314; // int32
+                pub const m_iPosition: usize = 0x318; // int32
+                pub const m_aShootSounds: usize = 0x320; // CUtlOrderedMap<WeaponSound_t,CSoundEventName>
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 23
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_poolOrigin (Vector)
+            // NetworkVarNames: m_waterLevel (float32)
+            // NetworkVarNames: m_x (float32)
+            // NetworkVarNames: m_y (float32)
+            // NetworkVarNames: m_z (float32)
+            // NetworkVarNames: m_angle (float32)
+            pub mod C_Fish {
+                pub const m_pos: usize = 0xF88; // Vector
+                pub const m_vel: usize = 0xF94; // Vector
+                pub const m_angles: usize = 0xFA0; // QAngle
+                pub const m_localLifeState: usize = 0xFAC; // int32
+                pub const m_deathDepth: usize = 0xFB0; // float32
+                pub const m_deathAngle: usize = 0xFB4; // float32
+                pub const m_buoyancy: usize = 0xFB8; // float32
+                pub const m_wiggleTimer: usize = 0xFC0; // CountdownTimer
+                pub const m_wigglePhase: usize = 0xFD8; // float32
+                pub const m_wiggleRate: usize = 0xFDC; // float32
+                pub const m_actualPos: usize = 0xFE0; // Vector
+                pub const m_actualAngles: usize = 0xFEC; // QAngle
+                pub const m_poolOrigin: usize = 0xFF8; // Vector
+                pub const m_waterLevel: usize = 0x1004; // float32
+                pub const m_gotUpdate: usize = 0x1008; // bool
+                pub const m_x: usize = 0x100C; // float32
+                pub const m_y: usize = 0x1010; // float32
+                pub const m_z: usize = 0x1014; // float32
+                pub const m_angle: usize = 0x1018; // float32
+                pub const m_errorHistory: usize = 0x101C; // float32[20]
+                pub const m_errorHistoryIndex: usize = 0x106C; // int32
+                pub const m_errorHistoryCount: usize = 0x1070; // int32
+                pub const m_averageError: usize = 0x1074; // float32
+            }
+            // Parent: IntervalTimer
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_flValues (float)
+            // NetworkVarNames: m_nValueCounts (int)
+            // NetworkVarNames: m_nBucketCount (int)
+            // NetworkVarNames: m_flInterval (float)
+            // NetworkVarNames: m_flFinalValue (float)
+            // NetworkVarNames: m_nCompressionType (TimelineCompression_t)
+            // NetworkVarNames: m_bStopped (bool)
+            pub mod CTimeline {
+                pub const m_flValues: usize = 0x10; // float32[64]
+                pub const m_nValueCounts: usize = 0x110; // int32[64]
+                pub const m_nBucketCount: usize = 0x210; // int32
+                pub const m_flInterval: usize = 0x214; // float32
+                pub const m_flFinalValue: usize = 0x218; // float32
+                pub const m_nCompressionType: usize = 0x21C; // TimelineCompression_t
+                pub const m_bStopped: usize = 0x220; // bool
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponAWP {
+            }
+            // Parent: C_BaseCombatCharacter
+            // Field count: 28
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pWeaponServices (CPlayer_WeaponServices*)
+            // NetworkVarNames: m_pItemServices (CPlayer_ItemServices*)
+            // NetworkVarNames: m_pAutoaimServices (CPlayer_AutoaimServices*)
+            // NetworkVarNames: m_pObserverServices (CPlayer_ObserverServices*)
+            // NetworkVarNames: m_pWaterServices (CPlayer_WaterServices*)
+            // NetworkVarNames: m_pUseServices (CPlayer_UseServices*)
+            // NetworkVarNames: m_pFlashlightServices (CPlayer_FlashlightServices*)
+            // NetworkVarNames: m_pCameraServices (CPlayer_CameraServices*)
+            // NetworkVarNames: m_pMovementServices (CPlayer_MovementServices*)
+            // NetworkVarNames: m_ServerViewAngleChanges (ViewAngleServerChange_t)
+            // NetworkVarNames: m_iHideHUD (uint32)
+            // NetworkVarNames: m_skybox3d (sky3dparams_t)
+            // NetworkVarNames: m_flDeathTime (GameTime_t)
+            // NetworkVarNames: m_hController (CHandle<CBasePlayerController>)
+            pub mod C_BasePlayerPawn {
+                pub const m_pWeaponServices: usize = 0x11A8; // CPlayer_WeaponServices*
+                pub const m_pItemServices: usize = 0x11B0; // CPlayer_ItemServices*
+                pub const m_pAutoaimServices: usize = 0x11B8; // CPlayer_AutoaimServices*
+                pub const m_pObserverServices: usize = 0x11C0; // CPlayer_ObserverServices*
+                pub const m_pWaterServices: usize = 0x11C8; // CPlayer_WaterServices*
+                pub const m_pUseServices: usize = 0x11D0; // CPlayer_UseServices*
+                pub const m_pFlashlightServices: usize = 0x11D8; // CPlayer_FlashlightServices*
+                pub const m_pCameraServices: usize = 0x11E0; // CPlayer_CameraServices*
+                pub const m_pMovementServices: usize = 0x11E8; // CPlayer_MovementServices*
+                pub const m_ServerViewAngleChanges: usize = 0x11F8; // C_UtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
+                pub const m_nHighestConsumedServerViewAngleChangeIndex: usize = 0x1248; // uint32
+                pub const v_angle: usize = 0x124C; // QAngle
+                pub const v_anglePrevious: usize = 0x1258; // QAngle
+                pub const m_iHideHUD: usize = 0x1264; // uint32
+                pub const m_skybox3d: usize = 0x1268; // sky3dparams_t
+                pub const m_flDeathTime: usize = 0x12F8; // GameTime_t
+                pub const m_vecPredictionError: usize = 0x12FC; // Vector
+                pub const m_flPredictionErrorTime: usize = 0x1308; // GameTime_t
+                pub const m_vecLastCameraSetupLocalOrigin: usize = 0x130C; // Vector
+                pub const m_flLastCameraSetupTime: usize = 0x1318; // GameTime_t
+                pub const m_flFOVSensitivityAdjust: usize = 0x131C; // float32
+                pub const m_flMouseSensitivity: usize = 0x1320; // float32
+                pub const m_vOldOrigin: usize = 0x1324; // Vector
+                pub const m_flOldSimulationTime: usize = 0x1330; // float32
+                pub const m_nLastExecutedCommandNumber: usize = 0x1334; // int32
+                pub const m_nLastExecutedCommandTick: usize = 0x1338; // int32
+                pub const m_hController: usize = 0x133C; // CHandle<CBasePlayerController>
+                pub const m_bIsSwappingToPredictableController: usize = 0x1340; // bool
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iReapplyProvisionParity (int)
+            // NetworkVarNames: m_hOuter (EHANDLE)
+            // NetworkVarNames: m_ProviderType (attributeprovidertypes_t)
+            pub mod CAttributeManager {
+                pub const m_Providers: usize = 0x8; // CUtlVector<CHandle<C_BaseEntity>>
+                pub const m_iReapplyProvisionParity: usize = 0x20; // int32
+                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>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod CLogicalEntity {
+            }
+            // Parent: None
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_PredNetBoolVariables (uint32)
+            // NetworkVarNames: m_PredNetByteVariables (byte)
+            // NetworkVarNames: m_PredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_PredNetIntVariables (int32)
+            // NetworkVarNames: m_PredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_PredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_PredNetFloatVariables (float)
+            // NetworkVarNames: m_PredNetVectorVariables (Vector)
+            // NetworkVarNames: m_PredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_PredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_OwnerOnlyPredNetBoolVariables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetByteVariables (byte)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_OwnerOnlyPredNetIntVariables (int32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_OwnerOnlyPredNetFloatVariables (float)
+            // NetworkVarNames: m_OwnerOnlyPredNetVectorVariables (Vector)
+            // NetworkVarNames: m_OwnerOnlyPredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_OwnerOnlyPredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_nBoolVariablesCount (int)
+            // NetworkVarNames: m_nOwnerOnlyBoolVariablesCount (int)
+            // NetworkVarNames: m_nRandomSeedOffset (int)
+            // NetworkVarNames: m_flLastTeleportTime (float)
+            pub mod CAnimGraphNetworkedVariables {
+                pub const m_PredNetBoolVariables: usize = 0x8; // C_NetworkUtlVectorBase<uint32>
+                pub const m_PredNetByteVariables: usize = 0x20; // C_NetworkUtlVectorBase<uint8>
+                pub const m_PredNetUInt16Variables: usize = 0x38; // C_NetworkUtlVectorBase<uint16>
+                pub const m_PredNetIntVariables: usize = 0x50; // C_NetworkUtlVectorBase<int32>
+                pub const m_PredNetUInt32Variables: usize = 0x68; // C_NetworkUtlVectorBase<uint32>
+                pub const m_PredNetUInt64Variables: usize = 0x80; // C_NetworkUtlVectorBase<uint64>
+                pub const m_PredNetFloatVariables: usize = 0x98; // C_NetworkUtlVectorBase<float32>
+                pub const m_PredNetVectorVariables: usize = 0xB0; // C_NetworkUtlVectorBase<Vector>
+                pub const m_PredNetQuaternionVariables: usize = 0xC8; // C_NetworkUtlVectorBase<Quaternion>
+                pub const m_PredNetGlobalSymbolVariables: usize = 0xE0; // C_NetworkUtlVectorBase<CGlobalSymbol>
+                pub const m_OwnerOnlyPredNetBoolVariables: usize = 0xF8; // C_NetworkUtlVectorBase<uint32>
+                pub const m_OwnerOnlyPredNetByteVariables: usize = 0x110; // C_NetworkUtlVectorBase<uint8>
+                pub const m_OwnerOnlyPredNetUInt16Variables: usize = 0x128; // C_NetworkUtlVectorBase<uint16>
+                pub const m_OwnerOnlyPredNetIntVariables: usize = 0x140; // C_NetworkUtlVectorBase<int32>
+                pub const m_OwnerOnlyPredNetUInt32Variables: usize = 0x158; // C_NetworkUtlVectorBase<uint32>
+                pub const m_OwnerOnlyPredNetUInt64Variables: usize = 0x170; // C_NetworkUtlVectorBase<uint64>
+                pub const m_OwnerOnlyPredNetFloatVariables: usize = 0x188; // C_NetworkUtlVectorBase<float32>
+                pub const m_OwnerOnlyPredNetVectorVariables: usize = 0x1A0; // C_NetworkUtlVectorBase<Vector>
+                pub const m_OwnerOnlyPredNetQuaternionVariables: usize = 0x1B8; // C_NetworkUtlVectorBase<Quaternion>
+                pub const m_OwnerOnlyPredNetGlobalSymbolVariables: usize = 0x1D0; // C_NetworkUtlVectorBase<CGlobalSymbol>
+                pub const m_nBoolVariablesCount: usize = 0x1E8; // int32
+                pub const m_nOwnerOnlyBoolVariablesCount: usize = 0x1EC; // int32
+                pub const m_nRandomSeedOffset: usize = 0x1F0; // int32
+                pub const m_flLastTeleportTime: usize = 0x1F4; // float32
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFluidDensity (float)
+            pub mod C_TriggerBuoyancy {
+                pub const m_BuoyancyHelper: usize = 0xD30; // CBuoyancyHelper
+                pub const m_flFluidDensity: usize = 0xDB0; // float32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 41
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_flScrollSpeed (float32)
+            // NetworkVarNames: m_RopeFlags (uint16)
+            // NetworkVarNames: m_iRopeMaterialModelIndex (HMaterialStrong)
+            // NetworkVarNames: m_nSegments (uint8)
+            // NetworkVarNames: m_hStartPoint (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_hEndPoint (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_iStartAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_iEndAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_Subdiv (uint8)
+            // NetworkVarNames: m_RopeLength (int16)
+            // NetworkVarNames: m_Slack (int16)
+            // NetworkVarNames: m_TextureScale (float32)
+            // NetworkVarNames: m_fLockedPoints (uint8)
+            // NetworkVarNames: m_nChangeCount (uint8)
+            // NetworkVarNames: m_Width (float32)
+            // NetworkVarNames: m_bConstrainBetweenEndpoints (bool)
+            pub mod C_RopeKeyframe {
+                pub const m_LinksTouchingSomething: usize = 0xD30; // CBitVec<10>
+                pub const m_nLinksTouchingSomething: usize = 0xD34; // int32
+                pub const m_bApplyWind: usize = 0xD38; // bool
+                pub const m_fPrevLockedPoints: usize = 0xD3C; // int32
+                pub const m_iForcePointMoveCounter: usize = 0xD40; // int32
+                pub const m_bPrevEndPointPos: usize = 0xD44; // bool[2]
+                pub const m_vPrevEndPointPos: usize = 0xD48; // Vector[2]
+                pub const m_flCurScroll: usize = 0xD60; // float32
+                pub const m_flScrollSpeed: usize = 0xD64; // float32
+                pub const m_RopeFlags: usize = 0xD68; // uint16
+                pub const m_iRopeMaterialModelIndex: usize = 0xD70; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_LightValues: usize = 0xFE8; // Vector[10]
+                pub const m_nSegments: usize = 0x1060; // uint8
+                pub const m_hStartPoint: usize = 0x1064; // CHandle<C_BaseEntity>
+                pub const m_hEndPoint: usize = 0x1068; // CHandle<C_BaseEntity>
+                pub const m_iStartAttachment: usize = 0x106C; // AttachmentHandle_t
+                pub const m_iEndAttachment: usize = 0x106D; // AttachmentHandle_t
+                pub const m_Subdiv: usize = 0x106E; // uint8
+                pub const m_RopeLength: usize = 0x1070; // int16
+                pub const m_Slack: usize = 0x1072; // int16
+                pub const m_TextureScale: usize = 0x1074; // float32
+                pub const m_fLockedPoints: usize = 0x1078; // uint8
+                pub const m_nChangeCount: usize = 0x1079; // uint8
+                pub const m_Width: usize = 0x107C; // float32
+                pub const m_PhysicsDelegate: usize = 0x1080; // C_RopeKeyframe::CPhysicsDelegate
+                pub const m_hMaterial: usize = 0x1090; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_TextureHeight: usize = 0x1098; // int32
+                pub const m_vecImpulse: usize = 0x109C; // Vector
+                pub const m_vecPreviousImpulse: usize = 0x10A8; // Vector
+                pub const m_flCurrentGustTimer: usize = 0x10B4; // float32
+                pub const m_flCurrentGustLifetime: usize = 0x10B8; // float32
+                pub const m_flTimeToNextGust: usize = 0x10BC; // float32
+                pub const m_vWindDir: usize = 0x10C0; // Vector
+                pub const m_vColorMod: usize = 0x10CC; // Vector
+                pub const m_vCachedEndPointAttachmentPos: usize = 0x10D8; // Vector[2]
+                pub const m_vCachedEndPointAttachmentAngle: usize = 0x10F0; // QAngle[2]
+                pub const m_bConstrainBetweenEndpoints: usize = 0x1108; // 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
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hGradientFogTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_flFogStartDistance (float)
+            // NetworkVarNames: m_flFogEndDistance (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogStartHeight (float)
+            // NetworkVarNames: m_flFogEndHeight (float)
+            // NetworkVarNames: m_flFarZ (float)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_flFogVerticalExponent (float)
+            // NetworkVarNames: m_fogColor (Color)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            pub mod C_GradientFog {
+                pub const m_hGradientFogTexture: usize = 0x568; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_flFogStartDistance: usize = 0x570; // float32
+                pub const m_flFogEndDistance: usize = 0x574; // float32
+                pub const m_bHeightFogEnabled: usize = 0x578; // bool
+                pub const m_flFogStartHeight: usize = 0x57C; // float32
+                pub const m_flFogEndHeight: usize = 0x580; // float32
+                pub const m_flFarZ: usize = 0x584; // float32
+                pub const m_flFogMaxOpacity: usize = 0x588; // float32
+                pub const m_flFogFalloffExponent: usize = 0x58C; // float32
+                pub const m_flFogVerticalExponent: usize = 0x590; // float32
+                pub const m_fogColor: usize = 0x594; // Color
+                pub const m_flFogStrength: usize = 0x598; // float32
+                pub const m_flFadeTime: usize = 0x59C; // float32
+                pub const m_bStartDisabled: usize = 0x5A0; // bool
+                pub const m_bIsEnabled: usize = 0x5A1; // bool
+                pub const m_bGradientFogNeedsTextures: usize = 0x5A2; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_bSpotted (bool)
+            // NetworkVarNames: m_bSpottedByMask (uint32)
+            pub mod EntitySpottedState_t {
+                pub const m_bSpotted: usize = 0x8; // bool
+                pub const m_bSpottedByMask: usize = 0xC; // uint32[2]
+            }
+            // Parent: C_CSGO_MapPreviewCameraPath
+            // Field count: 7
+            pub mod C_CSGO_TeamPreviewCamera {
+                pub const m_nVariant: usize = 0x5D8; // int32
+                pub const m_bDofEnabled: usize = 0x5DC; // bool
+                pub const m_flDofNearBlurry: usize = 0x5E0; // float32
+                pub const m_flDofNearCrisp: usize = 0x5E4; // float32
+                pub const m_flDofFarCrisp: usize = 0x5E8; // float32
+                pub const m_flDofFarBlurry: usize = 0x5EC; // float32
+                pub const m_flDofTiltToGround: usize = 0x5F0; // float32
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 2
+            pub mod CCSPlayer_CameraServices {
+                pub const m_flDeathCamTilt: usize = 0x228; // float32
+                pub const m_vClientScopeInaccuracy: usize = 0x230; // Vector
+            }
+            // Parent: C_CSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_TeamSelectCounterTerroristPosition {
+            }
+            // Parent: C_EconEntity
+            // Field count: 2
+            pub mod C_EconWearable {
+                pub const m_nForceSkin: usize = 0x1668; // int32
+                pub const m_bAlwaysAllow: usize = 0x166C; // bool
+            }
+            // Parent: C_CSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_WingmanIntroCharacterPosition {
+            }
+            // Parent: CSPerRoundStats_t
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iEnemy5Ks (int)
+            // NetworkVarNames: m_iEnemy4Ks (int)
+            // NetworkVarNames: m_iEnemy3Ks (int)
+            // NetworkVarNames: m_iEnemyKnifeKills (int)
+            // NetworkVarNames: m_iEnemyTaserKills (int)
+            pub mod CSMatchStats_t {
+                pub const m_iEnemy5Ks: usize = 0x68; // int32
+                pub const m_iEnemy4Ks: usize = 0x6C; // int32
+                pub const m_iEnemy3Ks: usize = 0x70; // int32
+                pub const m_iEnemyKnifeKills: usize = 0x74; // int32
+                pub const m_iEnemyTaserKills: usize = 0x78; // int32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_BaseToggle {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flStrength (float)
+            // NetworkVarNames: m_nFalloffShape (int)
+            // NetworkVarNames: m_flFalloffExponent (float)
+            // NetworkVarNames: m_flHeightFogDepth (float)
+            // NetworkVarNames: m_fHeightFogEdgeWidth (float)
+            // NetworkVarNames: m_fIndirectLightStrength (float)
+            // NetworkVarNames: m_fSunLightStrength (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_bOverrideIndirectLightStrength (bool)
+            // NetworkVarNames: m_bOverrideSunLightStrength (bool)
+            // NetworkVarNames: m_bOverrideNoiseStrength (bool)
+            // NetworkVarNames: m_bAllowLPVIndirect (bool)
+            pub mod C_EnvVolumetricFogVolume {
+                pub const m_bActive: usize = 0x568; // bool
+                pub const m_vBoxMins: usize = 0x56C; // Vector
+                pub const m_vBoxMaxs: usize = 0x578; // Vector
+                pub const m_bStartDisabled: usize = 0x584; // bool
+                pub const m_flStrength: usize = 0x588; // float32
+                pub const m_nFalloffShape: usize = 0x58C; // int32
+                pub const m_flFalloffExponent: usize = 0x590; // float32
+                pub const m_flHeightFogDepth: usize = 0x594; // float32
+                pub const m_fHeightFogEdgeWidth: usize = 0x598; // float32
+                pub const m_fIndirectLightStrength: usize = 0x59C; // float32
+                pub const m_fSunLightStrength: usize = 0x5A0; // float32
+                pub const m_fNoiseStrength: usize = 0x5A4; // float32
+                pub const m_bOverrideIndirectLightStrength: usize = 0x5A8; // bool
+                pub const m_bOverrideSunLightStrength: usize = 0x5A9; // bool
+                pub const m_bOverrideNoiseStrength: usize = 0x5AA; // bool
+                pub const m_bAllowLPVIndirect: usize = 0x5AB; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod CWaterSplasher {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_ModelPointEntity {
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 0
+            pub mod CCSObserver_ViewModelServices {
+            }
+            // Parent: C_BaseFire
+            // Field count: 13
+            //
+            // Metadata:
+            // MNetworkOverride
+            // MNetworkOverride
+            // NetworkVarNames: m_nFlameModelIndex (int32)
+            // NetworkVarNames: m_nFlameFromAboveModelIndex (int32)
+            pub mod C_FireSmoke {
+                pub const m_nFlameModelIndex: usize = 0x578; // int32
+                pub const m_nFlameFromAboveModelIndex: usize = 0x57C; // int32
+                pub const m_flScaleRegister: usize = 0x580; // float32
+                pub const m_flScaleStart: usize = 0x584; // float32
+                pub const m_flScaleEnd: usize = 0x588; // float32
+                pub const m_flScaleTimeStart: usize = 0x58C; // GameTime_t
+                pub const m_flScaleTimeEnd: usize = 0x590; // GameTime_t
+                pub const m_flChildFlameSpread: usize = 0x594; // float32
+                pub const m_flClipPerc: usize = 0x5A8; // float32
+                pub const m_bClipTested: usize = 0x5AC; // bool
+                pub const m_bFadingOut: usize = 0x5AD; // bool
+                pub const m_tParticleSpawn: usize = 0x5B0; // TimedEvent
+                pub const m_pFireOverlay: usize = 0x5B8; // CFireOverlay*
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponRevolver {
+            }
+            // Parent: C_Sprite
+            // Field count: 0
+            pub mod C_FireFromAboveSprite {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_Color (Color)
+            // NetworkVarNames: m_Entity_flBrightness (float)
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            pub mod C_EnvCombinedLightProbeVolume {
+                pub const m_Entity_Color: usize = 0x15C8; // Color
+                pub const m_Entity_flBrightness: usize = 0x15CC; // float32
+                pub const m_Entity_hCubemapTexture: usize = 0x15D0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_bCustomCubemapTexture: usize = 0x15D8; // bool
+                pub const m_Entity_hLightProbeTexture: usize = 0x15E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightIndicesTexture: usize = 0x15E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightScalarsTexture: usize = 0x15F0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightShadowsTexture: usize = 0x15F8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_vBoxMins: usize = 0x1600; // Vector
+                pub const m_Entity_vBoxMaxs: usize = 0x160C; // Vector
+                pub const m_Entity_bMoveable: usize = 0x1618; // bool
+                pub const m_Entity_nHandshake: usize = 0x161C; // int32
+                pub const m_Entity_nEnvCubeMapArrayIndex: usize = 0x1620; // int32
+                pub const m_Entity_nPriority: usize = 0x1624; // int32
+                pub const m_Entity_bStartDisabled: usize = 0x1628; // bool
+                pub const m_Entity_flEdgeFadeDist: usize = 0x162C; // float32
+                pub const m_Entity_vEdgeFadeDists: usize = 0x1630; // Vector
+                pub const m_Entity_nLightProbeSizeX: usize = 0x163C; // int32
+                pub const m_Entity_nLightProbeSizeY: usize = 0x1640; // int32
+                pub const m_Entity_nLightProbeSizeZ: usize = 0x1644; // int32
+                pub const m_Entity_nLightProbeAtlasX: usize = 0x1648; // int32
+                pub const m_Entity_nLightProbeAtlasY: usize = 0x164C; // int32
+                pub const m_Entity_nLightProbeAtlasZ: usize = 0x1650; // int32
+                pub const m_Entity_bEnabled: usize = 0x1669; // bool
+            }
+            // Parent: C_SoundOpvarSetPointBase
+            // Field count: 0
+            pub mod C_SoundOpvarSetOBBWindEntity {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (ModelConfigHandle_t)
+            // NetworkVarNames: m_Name (string_t)
+            // NetworkVarNames: m_AssociatedEntities (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_AssociatedEntityNames (string_t)
+            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>
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponMP5SD {
+            }
+            // Parent: C_DynamicProp
+            // Field count: 0
+            pub mod C_DynamicPropAlias_dynamic_prop {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_totalHitsOnServer (int32)
+            pub mod CCSPlayer_BulletServices {
+                pub const m_totalHitsOnServer: usize = 0x40; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            pub mod CLogicRelay {
+                pub const m_OnTrigger: usize = 0x568; // CEntityIOOutput
+                pub const m_OnSpawn: usize = 0x590; // CEntityIOOutput
+                pub const m_bDisabled: usize = 0x5B8; // bool
+                pub const m_bWaitForRefire: usize = 0x5B9; // bool
+                pub const m_bTriggerOnce: usize = 0x5BA; // bool
+                pub const m_bFastRetrigger: usize = 0x5BB; // bool
+                pub const m_bPassthoughCaller: usize = 0x5BC; // bool
+            }
+            // Parent: C_PointCamera
+            // Field count: 1
+            pub mod C_PointCameraVFOV {
+                pub const m_flVerticalFOV: usize = 0x5C8; // float32
+            }
+            // Parent: CPlayer_ItemServices
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHasDefuser (bool)
+            // NetworkVarNames: m_bHasHelmet (bool)
+            // NetworkVarNames: m_bHasHeavyArmor (bool)
+            pub mod CCSPlayer_ItemServices {
+                pub const m_bHasDefuser: usize = 0x40; // bool
+                pub const m_bHasHelmet: usize = 0x41; // bool
+                pub const m_bHasHeavyArmor: usize = 0x42; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 73
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_nColorMode (int)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_flColorTemperature (float)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_nLuminaireShape (int)
+            // NetworkVarNames: m_flLuminaireSize (float)
+            // NetworkVarNames: m_flLuminaireAnisotropy (float)
+            // NetworkVarNames: m_LightStyleString (CUtlString)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_QueuedLightStyleStrings (CUtlString)
+            // NetworkVarNames: m_LightStyleEvents (CUtlString)
+            // NetworkVarNames: m_LightStyleTargets (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_flShape (float)
+            // NetworkVarNames: m_flSoftX (float)
+            // NetworkVarNames: m_flSoftY (float)
+            // NetworkVarNames: m_flSkirt (float)
+            // NetworkVarNames: m_flSkirtNear (float)
+            // NetworkVarNames: m_vSizeParams (Vector)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_vShear (Vector)
+            // NetworkVarNames: m_nBakeSpecularToCubemaps (int)
+            // NetworkVarNames: m_vBakeSpecularToCubemapsSize (Vector)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowMapSize (int)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_bContactShadow (bool)
+            // NetworkVarNames: m_nBounceLight (int)
+            // NetworkVarNames: m_flBounceScale (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            // NetworkVarNames: m_vAlternateColor (Vector)
+            // NetworkVarNames: m_fAlternateColorBrightness (float)
+            // NetworkVarNames: m_nFog (int)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_nFogShadows (int)
+            // NetworkVarNames: m_flFogScale (float)
+            // NetworkVarNames: m_bFogMixedShadows (bool)
+            // NetworkVarNames: m_flFadeSizeStart (float)
+            // NetworkVarNames: m_flFadeSizeEnd (float)
+            // NetworkVarNames: m_flShadowFadeSizeStart (float)
+            // NetworkVarNames: m_flShadowFadeSizeEnd (float)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_nPrecomputedSubFrusta (int)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles0 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles1 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles2 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles3 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles4 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin5 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles5 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent5 (Vector)
+            // NetworkVarNames: m_VisClusters (uint16)
+            pub mod C_BarnLight {
+                pub const m_bEnabled: usize = 0xD28; // bool
+                pub const m_nColorMode: usize = 0xD2C; // int32
+                pub const m_Color: usize = 0xD30; // Color
+                pub const m_flColorTemperature: usize = 0xD34; // float32
+                pub const m_flBrightness: usize = 0xD38; // float32
+                pub const m_flBrightnessScale: usize = 0xD3C; // float32
+                pub const m_nDirectLight: usize = 0xD40; // int32
+                pub const m_nBakedShadowIndex: usize = 0xD44; // int32
+                pub const m_nLuminaireShape: usize = 0xD48; // int32
+                pub const m_flLuminaireSize: usize = 0xD4C; // float32
+                pub const m_flLuminaireAnisotropy: usize = 0xD50; // float32
+                pub const m_LightStyleString: usize = 0xD58; // CUtlString
+                pub const m_flLightStyleStartTime: usize = 0xD60; // GameTime_t
+                pub const m_QueuedLightStyleStrings: usize = 0xD68; // C_NetworkUtlVectorBase<CUtlString>
+                pub const m_LightStyleEvents: usize = 0xD80; // C_NetworkUtlVectorBase<CUtlString>
+                pub const m_LightStyleTargets: usize = 0xD98; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                pub const m_StyleEvent: usize = 0xDB0; // CEntityIOOutput[4]
+                pub const m_hLightCookie: usize = 0xE50; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_flShape: usize = 0xE58; // float32
+                pub const m_flSoftX: usize = 0xE5C; // float32
+                pub const m_flSoftY: usize = 0xE60; // float32
+                pub const m_flSkirt: usize = 0xE64; // float32
+                pub const m_flSkirtNear: usize = 0xE68; // float32
+                pub const m_vSizeParams: usize = 0xE6C; // Vector
+                pub const m_flRange: usize = 0xE78; // float32
+                pub const m_vShear: usize = 0xE7C; // Vector
+                pub const m_nBakeSpecularToCubemaps: usize = 0xE88; // int32
+                pub const m_vBakeSpecularToCubemapsSize: usize = 0xE8C; // Vector
+                pub const m_nCastShadows: usize = 0xE98; // int32
+                pub const m_nShadowMapSize: usize = 0xE9C; // int32
+                pub const m_nShadowPriority: usize = 0xEA0; // int32
+                pub const m_bContactShadow: usize = 0xEA4; // bool
+                pub const m_nBounceLight: usize = 0xEA8; // int32
+                pub const m_flBounceScale: usize = 0xEAC; // float32
+                pub const m_flMinRoughness: usize = 0xEB0; // float32
+                pub const m_vAlternateColor: usize = 0xEB4; // Vector
+                pub const m_fAlternateColorBrightness: usize = 0xEC0; // float32
+                pub const m_nFog: usize = 0xEC4; // int32
+                pub const m_flFogStrength: usize = 0xEC8; // float32
+                pub const m_nFogShadows: usize = 0xECC; // int32
+                pub const m_flFogScale: usize = 0xED0; // float32
+                pub const m_bFogMixedShadows: usize = 0xED4; // bool
+                pub const m_flFadeSizeStart: usize = 0xED8; // float32
+                pub const m_flFadeSizeEnd: usize = 0xEDC; // float32
+                pub const m_flShadowFadeSizeStart: usize = 0xEE0; // float32
+                pub const m_flShadowFadeSizeEnd: usize = 0xEE4; // float32
+                pub const m_bPrecomputedFieldsValid: usize = 0xEE8; // bool
+                pub const m_vPrecomputedBoundsMins: usize = 0xEEC; // Vector
+                pub const m_vPrecomputedBoundsMaxs: usize = 0xEF8; // Vector
+                pub const m_vPrecomputedOBBOrigin: usize = 0xF04; // Vector
+                pub const m_vPrecomputedOBBAngles: usize = 0xF10; // QAngle
+                pub const m_vPrecomputedOBBExtent: usize = 0xF1C; // Vector
+                pub const m_nPrecomputedSubFrusta: usize = 0xF28; // int32
+                pub const m_vPrecomputedOBBOrigin0: usize = 0xF2C; // Vector
+                pub const m_vPrecomputedOBBAngles0: usize = 0xF38; // QAngle
+                pub const m_vPrecomputedOBBExtent0: usize = 0xF44; // Vector
+                pub const m_vPrecomputedOBBOrigin1: usize = 0xF50; // Vector
+                pub const m_vPrecomputedOBBAngles1: usize = 0xF5C; // QAngle
+                pub const m_vPrecomputedOBBExtent1: usize = 0xF68; // Vector
+                pub const m_vPrecomputedOBBOrigin2: usize = 0xF74; // Vector
+                pub const m_vPrecomputedOBBAngles2: usize = 0xF80; // QAngle
+                pub const m_vPrecomputedOBBExtent2: usize = 0xF8C; // Vector
+                pub const m_vPrecomputedOBBOrigin3: usize = 0xF98; // Vector
+                pub const m_vPrecomputedOBBAngles3: usize = 0xFA4; // QAngle
+                pub const m_vPrecomputedOBBExtent3: usize = 0xFB0; // Vector
+                pub const m_vPrecomputedOBBOrigin4: usize = 0xFBC; // Vector
+                pub const m_vPrecomputedOBBAngles4: usize = 0xFC8; // QAngle
+                pub const m_vPrecomputedOBBExtent4: usize = 0xFD4; // Vector
+                pub const m_vPrecomputedOBBOrigin5: usize = 0xFE0; // Vector
+                pub const m_vPrecomputedOBBAngles5: usize = 0xFEC; // QAngle
+                pub const m_vPrecomputedOBBExtent5: usize = 0xFF8; // Vector
+                pub const m_bInitialBoneSetup: usize = 0x1048; // bool
+                pub const m_VisClusters: usize = 0x1050; // C_NetworkUtlVectorBase<uint16>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAutoExposureMin (float)
+            // NetworkVarNames: m_flAutoExposureMax (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedUp (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            pub mod C_TonemapController2 {
+                pub const m_flAutoExposureMin: usize = 0x568; // float32
+                pub const m_flAutoExposureMax: usize = 0x56C; // float32
+                pub const m_flTonemapPercentTarget: usize = 0x570; // float32
+                pub const m_flTonemapPercentBrightPixels: usize = 0x574; // float32
+                pub const m_flTonemapMinAvgLum: usize = 0x578; // float32
+                pub const m_flExposureAdaptationSpeedUp: usize = 0x57C; // float32
+                pub const m_flExposureAdaptationSpeedDown: usize = 0x580; // float32
+                pub const m_flTonemapEVSmoothingRange: usize = 0x584; // float32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponG3SG1 {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 1
+            pub mod CFuncWater {
+                pub const m_BuoyancyHelper: usize = 0xD28; // CBuoyancyHelper
+            }
+            // Parent: C_SoundOpvarSetPointEntity
+            // Field count: 0
+            pub mod C_SoundOpvarSetAutoRoomEntity {
+            }
+            // Parent: C_BaseFlex
+            // Field count: 20
+            //
+            // Metadata:
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_OriginalOwnerXuidLow (uint32)
+            // NetworkVarNames: m_OriginalOwnerXuidHigh (uint32)
+            // NetworkVarNames: m_nFallbackPaintKit (int)
+            // NetworkVarNames: m_nFallbackSeed (int)
+            // NetworkVarNames: m_flFallbackWear (float)
+            // NetworkVarNames: m_nFallbackStatTrak (int)
+            pub mod C_EconEntity {
+                pub const m_flFlexDelayTime: usize = 0x1130; // float32
+                pub const m_flFlexDelayedWeight: usize = 0x1138; // float32*
+                pub const m_bAttributesInitialized: usize = 0x1140; // bool
+                pub const m_AttributeManager: usize = 0x1148; // C_AttributeContainer
+                pub const m_OriginalOwnerXuidLow: usize = 0x15F0; // uint32
+                pub const m_OriginalOwnerXuidHigh: usize = 0x15F4; // uint32
+                pub const m_nFallbackPaintKit: usize = 0x15F8; // int32
+                pub const m_nFallbackSeed: usize = 0x15FC; // int32
+                pub const m_flFallbackWear: usize = 0x1600; // float32
+                pub const m_nFallbackStatTrak: usize = 0x1604; // int32
+                pub const m_bClientside: usize = 0x1608; // bool
+                pub const m_bParticleSystemsCreated: usize = 0x1609; // bool
+                pub const m_vecAttachedParticles: usize = 0x1610; // CUtlVector<int32>
+                pub const m_hViewmodelAttachment: usize = 0x1628; // CHandle<CBaseAnimGraph>
+                pub const m_iOldTeam: usize = 0x162C; // int32
+                pub const m_bAttachmentDirty: usize = 0x1630; // bool
+                pub const m_nUnloadedModelIndex: usize = 0x1634; // int32
+                pub const m_iNumOwnerValidationRetries: usize = 0x1638; // int32
+                pub const m_hOldProvidee: usize = 0x1648; // CHandle<C_BaseEntity>
+                pub const m_vecAttachedModels: usize = 0x1650; // CUtlVector<C_EconEntity::AttachedModelData_t>
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponSG556 {
+            }
+            // Parent: C_BarnLight
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShowLight (bool)
+            pub mod C_RectLight {
+                pub const m_bShowLight: usize = 0x1070; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_szSnapshotFileName (char)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bFrozen (bool)
+            // NetworkVarNames: m_flFreezeTransitionDuration (float)
+            // NetworkVarNames: m_nStopType (int)
+            // NetworkVarNames: m_bAnimateDuringGameplayPause (bool)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flPreSimTime (float32)
+            // NetworkVarNames: m_vServerControlPoints (Vector)
+            // NetworkVarNames: m_iServerControlPointAssignments (uint8)
+            // NetworkVarNames: m_hControlPointEnts (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bNoSave (bool)
+            // NetworkVarNames: m_bNoFreeze (bool)
+            // NetworkVarNames: m_bNoRamp (bool)
+            pub mod C_ParticleSystem {
+                pub const m_szSnapshotFileName: usize = 0xD28; // char[512]
+                pub const m_bActive: usize = 0xF28; // bool
+                pub const m_bFrozen: usize = 0xF29; // bool
+                pub const m_flFreezeTransitionDuration: usize = 0xF2C; // float32
+                pub const m_nStopType: usize = 0xF30; // int32
+                pub const m_bAnimateDuringGameplayPause: usize = 0xF34; // bool
+                pub const m_iEffectIndex: usize = 0xF38; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_flStartTime: usize = 0xF40; // GameTime_t
+                pub const m_flPreSimTime: usize = 0xF44; // float32
+                pub const m_vServerControlPoints: usize = 0xF48; // Vector[4]
+                pub const m_iServerControlPointAssignments: usize = 0xF78; // uint8[4]
+                pub const m_hControlPointEnts: usize = 0xF7C; // CHandle<C_BaseEntity>[64]
+                pub const m_bNoSave: usize = 0x107C; // bool
+                pub const m_bNoFreeze: usize = 0x107D; // bool
+                pub const m_bNoRamp: usize = 0x107E; // bool
+                pub const m_bStartActive: usize = 0x107F; // bool
+                pub const m_iszEffectName: usize = 0x1080; // CUtlSymbolLarge
+                pub const m_iszControlPointNames: usize = 0x1088; // CUtlSymbolLarge[64]
+                pub const m_nDataCP: usize = 0x1288; // int32
+                pub const m_vecDataCPValue: usize = 0x128C; // Vector
+                pub const m_nTintCP: usize = 0x1298; // int32
+                pub const m_clrTint: usize = 0x129C; // Color
+                pub const m_bOldActive: usize = 0x12C0; // bool
+                pub const m_bOldFrozen: usize = 0x12C1; // bool
+            }
+            // Parent: C_CSGO_PreviewPlayer
+            // Field count: 0
+            pub mod C_CSGO_TeamPreviewModel {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponGlock {
+            }
+            // Parent: CEnvSoundscapeTriggerable
+            // Field count: 0
+            pub mod CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable {
+            }
+            // Parent: C_GameRulesProxy
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pGameRules (C_CSGameRules*)
+            pub mod C_CSGameRulesProxy {
+                pub const m_pGameRules: usize = 0x568; // C_CSGameRules*
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iObserverMode (uint8)
+            // NetworkVarNames: m_hObserverTarget (CHandle<CBaseEntity>)
+            pub mod CPlayer_ObserverServices {
+                pub const m_iObserverMode: usize = 0x40; // uint8
+                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; // float32
+                pub const m_flObserverChaseDistanceCalcTime: usize = 0x54; // GameTime_t
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_WaterServices {
+            }
+            // Parent: C_CSGO_EndOfMatchLineupEndpoint
+            // Field count: 0
+            pub mod C_CSGO_EndOfMatchLineupEnd {
+            }
+            // Parent: None
+            // Field count: 6
+            pub mod SequenceHistory_t {
+                pub const m_hSequence: usize = 0x0; // HSequence
+                pub const m_flSeqStartTime: usize = 0x4; // GameTime_t
+                pub const m_flSeqFixedCycle: usize = 0x8; // float32
+                pub const m_nSeqLoopMode: usize = 0xC; // AnimLoopMode_t
+                pub const m_flPlaybackRate: usize = 0x10; // float32
+                pub const m_flCyclesPerSecond: usize = 0x14; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 1
+            pub mod C_Multimeter {
+                pub const m_hTargetC4: usize = 0xF90; // CHandle<C_PlantedC4>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            pub mod C_CsmFovOverride {
+                pub const m_cameraName: usize = 0x568; // CUtlString
+                pub const m_flCsmFovOverrideValue: usize = 0x570; // float32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_hDecalMaterial (HMaterialStrong)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDepth (float)
+            // NetworkVarNames: m_nRenderOrder (uint32)
+            // NetworkVarNames: m_bProjectOnWorld (bool)
+            // NetworkVarNames: m_bProjectOnCharacters (bool)
+            // NetworkVarNames: m_bProjectOnWater (bool)
+            // NetworkVarNames: m_flDepthSortBias (float)
+            pub mod C_EnvDecal {
+                pub const m_hDecalMaterial: usize = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_flWidth: usize = 0xD30; // float32
+                pub const m_flHeight: usize = 0xD34; // float32
+                pub const m_flDepth: usize = 0xD38; // float32
+                pub const m_nRenderOrder: usize = 0xD3C; // uint32
+                pub const m_bProjectOnWorld: usize = 0xD40; // bool
+                pub const m_bProjectOnCharacters: usize = 0xD41; // bool
+                pub const m_bProjectOnWater: usize = 0xD42; // bool
+                pub const m_flDepthSortBias: usize = 0xD44; // float32
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 0
+            pub mod CCSGameModeRules_Noop {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_MinFalloff (float32)
+            // NetworkVarNames: m_MaxFalloff (float32)
+            // NetworkVarNames: m_flFadeInDuration (float32)
+            // NetworkVarNames: m_flFadeOutDuration (float32)
+            // NetworkVarNames: m_flMaxWeight (float32)
+            // NetworkVarNames: m_flCurWeight (float32)
+            // NetworkVarNames: m_netlookupFilename (char)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bClientSide (bool)
+            // NetworkVarNames: m_bExclusive (bool)
+            pub mod C_ColorCorrection {
+                pub const m_vecOrigin: usize = 0x568; // Vector
+                pub const m_MinFalloff: usize = 0x574; // float32
+                pub const m_MaxFalloff: usize = 0x578; // float32
+                pub const m_flFadeInDuration: usize = 0x57C; // float32
+                pub const m_flFadeOutDuration: usize = 0x580; // float32
+                pub const m_flMaxWeight: usize = 0x584; // float32
+                pub const m_flCurWeight: usize = 0x588; // float32
+                pub const m_netlookupFilename: usize = 0x58C; // char[512]
+                pub const m_bEnabled: usize = 0x78C; // bool
+                pub const m_bMaster: usize = 0x78D; // bool
+                pub const m_bClientSide: usize = 0x78E; // bool
+                pub const m_bExclusive: usize = 0x78F; // bool
+                pub const m_bEnabledOnClient: usize = 0x790; // bool[1]
+                pub const m_flCurWeightOnClient: usize = 0x794; // float32[1]
+                pub const m_bFadingIn: usize = 0x798; // bool[1]
+                pub const m_flFadeStartWeight: usize = 0x79C; // float32[1]
+                pub const m_flFadeStartTime: usize = 0x7A0; // float32[1]
+                pub const m_flFadeDuration: usize = 0x7A4; // float32[1]
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 0
+            pub mod CHostageRescueZoneShim {
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_hModel (HModelStrong)
+            // NetworkVarNames: m_bClientClothCreationSuppressed (bool)
+            // NetworkVarNames: m_MeshGroupMask (MeshGroupMask_t)
+            // NetworkVarNames: m_nIdealMotionType (int8)
+            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 = 0x198; // uint64
+                pub const m_nIdealMotionType: usize = 0x21A; // int8
+                pub const m_nForceLOD: usize = 0x21B; // int8
+                pub const m_nClothUpdateFlags: usize = 0x21C; // int8
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponP250 {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod C_EconEntity__AttachedModelData_t {
+                pub const m_iModelDisplayFlags: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Attributes (CEconItemAttribute)
+            pub mod CAttributeList {
+                pub const m_Attributes: usize = 0x8; // C_UtlVectorEmbeddedNetworkVar<CEconItemAttribute>
+                pub const m_pManager: usize = 0x58; // CAttributeManager*
+            }
+            // Parent: C_MultiplayRules
+            // Field count: 0
+            pub mod C_TeamplayRules {
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            pub mod C_CSGO_CounterTerroristWingmanIntroCamera {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 0
+            pub mod C_WeaponNOVA {
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 0
+            pub mod C_HEGrenadeProjectile {
+            }
+            // Parent: C_BaseToggle
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsUsable (bool)
+            pub mod C_BaseDoor {
+                pub const m_bIsUsable: usize = 0xD28; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 2
+            pub mod CGrenadeTracer {
+                pub const m_flTracerDuration: usize = 0xD40; // float32
+                pub const m_nType: usize = 0xD44; // GrenadeType_t
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombPlantedHere (bool)
+            pub mod CBombTarget {
+                pub const m_bBombPlantedHere: usize = 0xD30; // bool
+            }
+            // Parent: C_BaseClientUIEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hActivator (EHANDLE)
+            pub mod C_PointClientUIDialog {
+                pub const m_hActivator: usize = 0xD58; // CHandle<C_BaseEntity>
+                pub const m_bStartEnabled: usize = 0xD5C; // bool
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_WeaponSequence (CUtlString)
+            pub mod CCSGameModeRules_ArmsRace {
+                pub const m_WeaponSequence: usize = 0x30; // C_NetworkUtlVectorBase<CUtlString>
+            }
+            // Parent: C_PointEntity
+            // Field count: 1
+            pub mod CPointChildModifier {
+                pub const m_bOrphanInsteadOfDeletingChildrenOnRemove: usize = 0x568; // bool
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_PlayerDamager (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_PlayerRecipient (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPlayerControllerDamager (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_hPlayerControllerRecipient (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_szPlayerDamagerName (CUtlString)
+            // NetworkVarNames: m_szPlayerRecipientName (CUtlString)
+            // NetworkVarNames: m_DamagerXuid (uint64)
+            // NetworkVarNames: m_RecipientXuid (uint64)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iActualHealthRemoved (int)
+            // NetworkVarNames: m_iNumHits (int)
+            // NetworkVarNames: m_iLastBulletUpdate (int)
+            // NetworkVarNames: m_bIsOtherEnemy (bool)
+            // NetworkVarNames: m_killType (EKillTypes_t)
+            pub mod CDamageRecord {
+                pub const m_PlayerDamager: usize = 0x28; // CHandle<C_CSPlayerPawn>
+                pub const m_PlayerRecipient: usize = 0x2C; // CHandle<C_CSPlayerPawn>
+                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
+                pub const m_RecipientXuid: usize = 0x50; // uint64
+                pub const m_iBulletsDamage: usize = 0x58; // int32
+                pub const m_iDamage: usize = 0x5C; // int32
+                pub const m_iActualHealthRemoved: usize = 0x60; // int32
+                pub const m_iNumHits: usize = 0x64; // int32
+                pub const m_iLastBulletUpdate: usize = 0x68; // int32
+                pub const m_bIsOtherEnemy: usize = 0x6C; // bool
+                pub const m_killType: usize = 0x6D; // EKillTypes_t
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_InfoLadderDismount {
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSendUpdate (int)
+            // NetworkVarNames: m_DamageList (CDamageRecord)
+            pub mod CCSPlayerController_DamageServices {
+                pub const m_nSendUpdate: usize = 0x40; // int32
+                pub const m_DamageList: usize = 0x48; // C_UtlVectorEmbeddedNetworkVar<CDamageRecord>
+            }
+            // Parent: CEntityComponent
+            // Field count: 5
+            pub mod CRenderComponent {
+                pub const __m_pChainEntity: usize = 0x10; // CNetworkVarChainer
+                pub const m_bIsRenderingWithViewModels: usize = 0x50; // bool
+                pub const m_nSplitscreenFlags: usize = 0x54; // uint32
+                pub const m_bEnableRendering: usize = 0x60; // bool
+                pub const m_bInterpolationReadyToDraw: usize = 0xB0; // bool
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 1
+            pub mod CEnvSoundscapeProxy {
+                pub const m_MainSoundscapeName: usize = 0x608; // CUtlSymbolLarge
+            }
+            // Parent: C_SoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            pub mod C_SoundEventOBBEntity {
+                pub const m_vMins: usize = 0x628; // Vector
+                pub const m_vMaxs: usize = 0x634; // Vector
+            }
+            // Parent: CEntityComponent
+            // Field count: 66
+            //
+            // Metadata:
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_SecondaryColor (Color)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_flBrightnessMult (float)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_flFalloff (float)
+            // NetworkVarNames: m_flAttenuation0 (float)
+            // NetworkVarNames: m_flAttenuation1 (float)
+            // NetworkVarNames: m_flAttenuation2 (float)
+            // NetworkVarNames: m_flTheta (float)
+            // NetworkVarNames: m_flPhi (float)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_nCascades (int)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowWidth (int)
+            // NetworkVarNames: m_nShadowHeight (int)
+            // NetworkVarNames: m_bRenderDiffuse (bool)
+            // NetworkVarNames: m_nRenderSpecular (int)
+            // NetworkVarNames: m_bRenderTransmissive (bool)
+            // NetworkVarNames: m_flOrthoLightWidth (float)
+            // NetworkVarNames: m_flOrthoLightHeight (float)
+            // NetworkVarNames: m_nStyle (int)
+            // NetworkVarNames: m_Pattern (CUtlString)
+            // NetworkVarNames: m_nCascadeRenderStaticObjects (int)
+            // NetworkVarNames: m_flShadowCascadeCrossFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistanceFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistance0 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance1 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance2 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance3 (float)
+            // NetworkVarNames: m_nShadowCascadeResolution0 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution1 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution2 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution3 (int)
+            // NetworkVarNames: m_bUsesBakedShadowing (bool)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nIndirectLight (int)
+            // NetworkVarNames: m_flFadeMinDist (float)
+            // NetworkVarNames: m_flFadeMaxDist (float)
+            // NetworkVarNames: m_flShadowFadeMinDist (float)
+            // NetworkVarNames: m_flShadowFadeMaxDist (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFlicker (bool)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_flPrecomputedMaxRange (float)
+            // NetworkVarNames: m_nFogLightingMode (int)
+            // NetworkVarNames: m_flFogContributionStength (float)
+            // NetworkVarNames: m_flNearClipPlane (float)
+            // NetworkVarNames: m_SkyColor (Color)
+            // NetworkVarNames: m_flSkyIntensity (float)
+            // NetworkVarNames: m_SkyAmbientBounce (Color)
+            // NetworkVarNames: m_bUseSecondaryColor (bool)
+            // NetworkVarNames: m_bMixedShadows (bool)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_flCapsuleLength (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            pub mod CLightComponent {
+                pub const __m_pChainEntity: usize = 0x38; // CNetworkVarChainer
+                pub const m_Color: usize = 0x75; // Color
+                pub const m_SecondaryColor: usize = 0x79; // Color
+                pub const m_flBrightness: usize = 0x80; // float32
+                pub const m_flBrightnessScale: usize = 0x84; // float32
+                pub const m_flBrightnessMult: usize = 0x88; // float32
+                pub const m_flRange: usize = 0x8C; // float32
+                pub const m_flFalloff: usize = 0x90; // float32
+                pub const m_flAttenuation0: usize = 0x94; // float32
+                pub const m_flAttenuation1: usize = 0x98; // float32
+                pub const m_flAttenuation2: usize = 0x9C; // float32
+                pub const m_flTheta: usize = 0xA0; // float32
+                pub const m_flPhi: usize = 0xA4; // float32
+                pub const m_hLightCookie: usize = 0xA8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_nCascades: usize = 0xB0; // int32
+                pub const m_nCastShadows: usize = 0xB4; // int32
+                pub const m_nShadowWidth: usize = 0xB8; // int32
+                pub const m_nShadowHeight: usize = 0xBC; // int32
+                pub const m_bRenderDiffuse: usize = 0xC0; // bool
+                pub const m_nRenderSpecular: usize = 0xC4; // int32
+                pub const m_bRenderTransmissive: usize = 0xC8; // bool
+                pub const m_flOrthoLightWidth: usize = 0xCC; // float32
+                pub const m_flOrthoLightHeight: usize = 0xD0; // float32
+                pub const m_nStyle: usize = 0xD4; // int32
+                pub const m_Pattern: usize = 0xD8; // CUtlString
+                pub const m_nCascadeRenderStaticObjects: usize = 0xE0; // int32
+                pub const m_flShadowCascadeCrossFade: usize = 0xE4; // float32
+                pub const m_flShadowCascadeDistanceFade: usize = 0xE8; // float32
+                pub const m_flShadowCascadeDistance0: usize = 0xEC; // float32
+                pub const m_flShadowCascadeDistance1: usize = 0xF0; // float32
+                pub const m_flShadowCascadeDistance2: usize = 0xF4; // float32
+                pub const m_flShadowCascadeDistance3: usize = 0xF8; // float32
+                pub const m_nShadowCascadeResolution0: usize = 0xFC; // int32
+                pub const m_nShadowCascadeResolution1: usize = 0x100; // int32
+                pub const m_nShadowCascadeResolution2: usize = 0x104; // int32
+                pub const m_nShadowCascadeResolution3: usize = 0x108; // int32
+                pub const m_bUsesBakedShadowing: usize = 0x10C; // bool
+                pub const m_nShadowPriority: usize = 0x110; // int32
+                pub const m_nBakedShadowIndex: usize = 0x114; // int32
+                pub const m_bRenderToCubemaps: usize = 0x118; // bool
+                pub const m_nDirectLight: usize = 0x11C; // int32
+                pub const m_nIndirectLight: usize = 0x120; // int32
+                pub const m_flFadeMinDist: usize = 0x124; // float32
+                pub const m_flFadeMaxDist: usize = 0x128; // float32
+                pub const m_flShadowFadeMinDist: usize = 0x12C; // float32
+                pub const m_flShadowFadeMaxDist: usize = 0x130; // float32
+                pub const m_bEnabled: usize = 0x134; // bool
+                pub const m_bFlicker: usize = 0x135; // bool
+                pub const m_bPrecomputedFieldsValid: usize = 0x136; // bool
+                pub const m_vPrecomputedBoundsMins: usize = 0x138; // Vector
+                pub const m_vPrecomputedBoundsMaxs: usize = 0x144; // Vector
+                pub const m_vPrecomputedOBBOrigin: usize = 0x150; // Vector
+                pub const m_vPrecomputedOBBAngles: usize = 0x15C; // QAngle
+                pub const m_vPrecomputedOBBExtent: usize = 0x168; // Vector
+                pub const m_flPrecomputedMaxRange: usize = 0x174; // float32
+                pub const m_nFogLightingMode: usize = 0x178; // int32
+                pub const m_flFogContributionStength: usize = 0x17C; // float32
+                pub const m_flNearClipPlane: usize = 0x180; // float32
+                pub const m_SkyColor: usize = 0x184; // Color
+                pub const m_flSkyIntensity: usize = 0x188; // float32
+                pub const m_SkyAmbientBounce: usize = 0x18C; // Color
+                pub const m_bUseSecondaryColor: usize = 0x190; // bool
+                pub const m_bMixedShadows: usize = 0x191; // bool
+                pub const m_flLightStyleStartTime: usize = 0x194; // GameTime_t
+                pub const m_flCapsuleLength: usize = 0x198; // float32
+                pub const m_flMinRoughness: usize = 0x19C; // float32
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            pub mod C_CSGO_CounterTerroristTeamIntroCamera {
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod CEntityComponent {
+            }
+            // Parent: IEconItemInterface
+            // Field count: 29
+            //
+            // Metadata:
+            // NetworkVarNames: m_iItemDefinitionIndex (item_definition_index_t)
+            // NetworkVarNames: m_iEntityQuality (int)
+            // NetworkVarNames: m_iEntityLevel (uint32)
+            // NetworkVarNames: m_iItemIDHigh (uint32)
+            // NetworkVarNames: m_iItemIDLow (uint32)
+            // NetworkVarNames: m_iAccountID (uint32)
+            // NetworkVarNames: m_iInventoryPosition (uint32)
+            // NetworkVarNames: m_bInitialized (bool)
+            // NetworkVarNames: m_AttributeList (CAttributeList)
+            // NetworkVarNames: m_NetworkedDynamicAttributes (CAttributeList)
+            // NetworkVarNames: m_szCustomName (char)
+            pub mod C_EconItemView {
+                pub const m_bInventoryImageRgbaRequested: usize = 0x60; // bool
+                pub const m_bInventoryImageTriedCache: usize = 0x61; // bool
+                pub const m_nInventoryImageRgbaWidth: usize = 0x80; // int32
+                pub const m_nInventoryImageRgbaHeight: usize = 0x84; // int32
+                pub const m_szCurrentLoadCachedFileName: usize = 0x88; // char[260]
+                pub const m_bRestoreCustomMaterialAfterPrecache: usize = 0x1B8; // bool
+                pub const m_iItemDefinitionIndex: usize = 0x1BA; // uint16
+                pub const m_iEntityQuality: usize = 0x1BC; // int32
+                pub const m_iEntityLevel: usize = 0x1C0; // uint32
+                pub const m_iItemID: usize = 0x1C8; // uint64
+                pub const m_iItemIDHigh: usize = 0x1D0; // uint32
+                pub const m_iItemIDLow: usize = 0x1D4; // uint32
+                pub const m_iAccountID: usize = 0x1D8; // uint32
+                pub const m_iInventoryPosition: usize = 0x1DC; // uint32
+                pub const m_bInitialized: usize = 0x1E8; // bool
+                pub const m_bDisallowSOC: usize = 0x1E9; // bool
+                pub const m_bIsStoreItem: usize = 0x1EA; // bool
+                pub const m_bIsTradeItem: usize = 0x1EB; // bool
+                pub const m_iEntityQuantity: usize = 0x1EC; // int32
+                pub const m_iRarityOverride: usize = 0x1F0; // int32
+                pub const m_iQualityOverride: usize = 0x1F4; // int32
+                pub const m_iOriginOverride: usize = 0x1F8; // int32
+                pub const m_unClientFlags: usize = 0x1FC; // uint8
+                pub const m_unOverrideStyle: usize = 0x1FD; // uint8
+                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
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bSendHandle (bool)
+            pub mod C_HandleTest {
+                pub const m_Handle: usize = 0x568; // CHandle<C_BaseEntity>
+                pub const m_bSendHandle: usize = 0x56C; // bool
+            }
+            // Parent: C_BaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+            pub mod C_EnvWindClientside {
+                pub const m_EnvWindShared: usize = 0x568; // C_EnvWindShared
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponMAC10 {
+            }
+            // Parent: C_PointClientUIWorldPanel
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            pub mod C_PointClientUIWorldTextPanel {
+                pub const m_messageText: usize = 0xF90; // char[512]
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 0
+            pub mod CCSPlayer_UseServices {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_nToggleButtonDownMask (ButtonBitMask_t)
+            // NetworkVarNames: m_flMaxspeed (float32)
+            // NetworkVarNames: m_arrForceSubtickMoveWhen (float32)
+            pub mod CPlayer_MovementServices {
+                pub const m_nImpulse: usize = 0x40; // int32
+                pub const m_nButtons: usize = 0x48; // CInButtonState
+                pub const m_nQueuedButtonDownMask: usize = 0x68; // uint64
+                pub const m_nQueuedButtonChangeMask: usize = 0x70; // uint64
+                pub const m_nButtonDoublePressed: usize = 0x78; // uint64
+                pub const m_pButtonPressedCmdNumber: usize = 0x80; // uint32[64]
+                pub const m_nLastCommandNumberProcessed: usize = 0x180; // uint32
+                pub const m_nToggleButtonDownMask: usize = 0x188; // uint64
+                pub const m_flMaxspeed: usize = 0x198; // float32
+                pub const m_arrForceSubtickMoveWhen: usize = 0x19C; // float32[4]
+                pub const m_flForwardMove: usize = 0x1AC; // float32
+                pub const m_flLeftMove: usize = 0x1B0; // float32
+                pub const m_flUpMove: usize = 0x1B4; // float32
+                pub const m_vecLastMovementImpulses: usize = 0x1B8; // Vector
+                pub const m_vecOldViewAngles: usize = 0x1C4; // QAngle
+            }
+            // Parent: C_BaseEntity
+            // Field count: 11
+            pub mod CEnvSoundscape {
+                pub const m_OnPlay: usize = 0x568; // CEntityIOOutput
+                pub const m_flRadius: usize = 0x590; // float32
+                pub const m_soundEventName: usize = 0x598; // CUtlSymbolLarge
+                pub const m_bOverrideWithEvent: usize = 0x5A0; // bool
+                pub const m_soundscapeIndex: usize = 0x5A4; // int32
+                pub const m_soundscapeEntityListId: usize = 0x5A8; // int32
+                pub const m_positionNames: usize = 0x5B0; // CUtlSymbolLarge[8]
+                pub const m_hProxySoundscape: usize = 0x5F0; // CHandle<CEnvSoundscape>
+                pub const m_bDisabled: usize = 0x5F4; // bool
+                pub const m_soundscapeName: usize = 0x5F8; // CUtlSymbolLarge
+                pub const m_soundEventHash: usize = 0x600; // uint32
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBasePlayerVData {
+                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; // float32
+                pub const m_flDrowningDamageInterval: usize = 0x15C; // float32
+                pub const m_nDrowningDamageInitial: usize = 0x160; // int32
+                pub const m_nDrowningDamageMax: usize = 0x164; // int32
+                pub const m_nWaterSpeed: usize = 0x168; // int32
+                pub const m_flUseRange: usize = 0x16C; // float32
+                pub const m_flUseAngleTolerance: usize = 0x170; // float32
+                pub const m_flCrouchTime: usize = 0x174; // float32
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAccount (int)
+            // NetworkVarNames: m_iStartAccount (int)
+            // NetworkVarNames: m_iTotalCashSpent (int)
+            // NetworkVarNames: m_iCashSpentThisRound (int)
+            pub mod CCSPlayerController_InGameMoneyServices {
+                pub const m_iAccount: usize = 0x40; // int32
+                pub const m_iStartAccount: usize = 0x44; // int32
+                pub const m_iTotalCashSpent: usize = 0x48; // int32
+                pub const m_iCashSpentThisRound: usize = 0x4C; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod C_EnvWindShared__WindVariationEvent_t {
+                pub const m_flWindAngleVariation: usize = 0x0; // float32
+                pub const m_flWindSpeedVariation: usize = 0x4; // float32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponUSPSilencer {
+            }
+            // Parent: C_Sprite
+            // Field count: 0
+            pub mod CSpriteOriented {
+            }
+            // Parent: C_CSGO_EndOfMatchLineupEndpoint
+            // Field count: 0
+            pub mod C_CSGO_EndOfMatchLineupStart {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponFamas {
+            }
+            // Parent: C_ParticleSystem
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flRadiusScale (float32)
+            // NetworkVarNames: m_flSelfIllumScale (float32)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_hTextureOverride (HRenderTextureStrong)
+            pub mod C_EnvParticleGlow {
+                pub const m_flAlphaScale: usize = 0x12D8; // float32
+                pub const m_flRadiusScale: usize = 0x12DC; // float32
+                pub const m_flSelfIllumScale: usize = 0x12E0; // float32
+                pub const m_ColorTint: usize = 0x12E4; // Color
+                pub const m_hTextureOverride: usize = 0x12E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 15
+            pub mod C_SoundEventEntity {
+                pub const m_bStartOnSpawn: usize = 0x568; // bool
+                pub const m_bToLocalPlayer: usize = 0x569; // bool
+                pub const m_bStopOnNew: usize = 0x56A; // bool
+                pub const m_bSaveRestore: usize = 0x56B; // bool
+                pub const m_bSavedIsPlaying: usize = 0x56C; // bool
+                pub const m_flSavedElapsedTime: usize = 0x570; // float32
+                pub const m_iszSourceEntityName: usize = 0x578; // CUtlSymbolLarge
+                pub const m_iszAttachmentName: usize = 0x580; // CUtlSymbolLarge
+                pub const m_onGUIDChanged: usize = 0x588; // CEntityOutputTemplate<uint64>
+                pub const m_onSoundFinished: usize = 0x5B0; // CEntityIOOutput
+                pub const m_flClientCullRadius: usize = 0x5D8; // float32
+                pub const m_iszSoundName: usize = 0x608; // CUtlSymbolLarge
+                pub const m_hSource: usize = 0x618; // CEntityHandle
+                pub const m_nEntityIndexSelection: usize = 0x61C; // int32
+                pub const m_bClientSideOnly: usize = 0x0; // bitfield:1
+            }
+            // Parent: C_CSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_TeamIntroCharacterPosition {
+            }
+            // Parent: C_CSGO_PreviewModel
+            // Field count: 0
+            pub mod C_CSGO_PreviewModelAlias_csgo_item_previewmodel {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkExcludeByName
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_vDirection (Vector)
+            // NetworkVarNames: m_iszEffectName (string_t)
+            // NetworkVarNames: m_iszSSEffectName (string_t)
+            // NetworkVarNames: m_clrOverlay (Color)
+            // NetworkVarNames: m_bOn (bool)
+            // NetworkVarNames: m_bmaxColor (bool)
+            // NetworkVarNames: m_flSize (float32)
+            // NetworkVarNames: m_flHazeScale (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_flAlphaHaze (float32)
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flAlphaHdr (float32)
+            // NetworkVarNames: m_flFarZScale (float32)
+            pub mod C_Sun {
+                pub const m_fxSSSunFlareEffectIndex: usize = 0xD28; // ParticleIndex_t
+                pub const m_fxSunFlareEffectIndex: usize = 0xD2C; // ParticleIndex_t
+                pub const m_fdistNormalize: usize = 0xD30; // float32
+                pub const m_vSunPos: usize = 0xD34; // Vector
+                pub const m_vDirection: usize = 0xD40; // Vector
+                pub const m_iszEffectName: usize = 0xD50; // CUtlSymbolLarge
+                pub const m_iszSSEffectName: usize = 0xD58; // CUtlSymbolLarge
+                pub const m_clrOverlay: usize = 0xD60; // Color
+                pub const m_bOn: usize = 0xD64; // bool
+                pub const m_bmaxColor: usize = 0xD65; // bool
+                pub const m_flSize: usize = 0xD68; // float32
+                pub const m_flHazeScale: usize = 0xD6C; // float32
+                pub const m_flRotation: usize = 0xD70; // float32
+                pub const m_flHDRColorScale: usize = 0xD74; // float32
+                pub const m_flAlphaHaze: usize = 0xD78; // float32
+                pub const m_flAlphaScale: usize = 0xD7C; // float32
+                pub const m_flAlphaHdr: usize = 0xD80; // float32
+                pub const m_flFarZScale: usize = 0xD84; // float32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_CSGO_EndOfMatchLineupEndpoint {
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_perRoundStats (CSPerRoundStats_t)
+            // NetworkVarNames: m_matchStats (CSMatchStats_t)
+            // NetworkVarNames: m_iNumRoundKills (int)
+            // NetworkVarNames: m_iNumRoundKillsHeadshots (int)
+            // NetworkVarNames: m_unTotalRoundDamageDealt (uint32)
+            pub mod CCSPlayerController_ActionTrackingServices {
+                pub const m_perRoundStats: usize = 0x40; // C_UtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
+                pub const m_matchStats: usize = 0x90; // CSMatchStats_t
+                pub const m_iNumRoundKills: usize = 0x110; // int32
+                pub const m_iNumRoundKillsHeadshots: usize = 0x114; // int32
+                pub const m_unTotalRoundDamageDealt: usize = 0x118; // uint32
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bvDisabledHitGroups (uint32)
+            pub mod CHitboxComponent {
+                pub const m_bvDisabledHitGroups: usize = 0x24; // uint32[1]
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_MaxWeight (float)
+            // NetworkVarNames: m_FadeDuration (float)
+            // NetworkVarNames: m_Weight (float)
+            // NetworkVarNames: m_lookupFilename (char)
+            pub mod C_ColorCorrectionVolume {
+                pub const m_LastEnterWeight: usize = 0xD30; // float32
+                pub const m_LastEnterTime: usize = 0xD34; // float32
+                pub const m_LastExitWeight: usize = 0xD38; // float32
+                pub const m_LastExitTime: usize = 0xD3C; // float32
+                pub const m_bEnabled: usize = 0xD40; // bool
+                pub const m_MaxWeight: usize = 0xD44; // float32
+                pub const m_FadeDuration: usize = 0xD48; // float32
+                pub const m_Weight: usize = 0xD4C; // float32
+                pub const m_lookupFilename: usize = 0xD50; // char[512]
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_PrecipitationBlocker {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 6
+            pub mod C_BulletHitModel {
+                pub const m_matLocal: usize = 0xF88; // matrix3x4_t
+                pub const m_iBoneIndex: usize = 0xFB8; // int32
+                pub const m_hPlayerParent: usize = 0xFBC; // CHandle<C_BaseEntity>
+                pub const m_bIsHit: usize = 0xFC0; // bool
+                pub const m_flTimeCreated: usize = 0xFC4; // float32
+                pub const m_vecStartPos: usize = 0xFC8; // Vector
+            }
+            // Parent: C_BaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDraftType (int)
+            // NetworkVarNames: m_nTeamWinningCoinToss (int)
+            // NetworkVarNames: m_nTeamWithFirstChoice (int)
+            // NetworkVarNames: m_nVoteMapIdsList (int)
+            // NetworkVarNames: m_nAccountIDs (int)
+            // NetworkVarNames: m_nMapId0 (int)
+            // NetworkVarNames: m_nMapId1 (int)
+            // NetworkVarNames: m_nMapId2 (int)
+            // NetworkVarNames: m_nMapId3 (int)
+            // NetworkVarNames: m_nMapId4 (int)
+            // NetworkVarNames: m_nMapId5 (int)
+            // NetworkVarNames: m_nStartingSide0 (int)
+            // NetworkVarNames: m_nCurrentPhase (int)
+            // NetworkVarNames: m_nPhaseStartTick (int)
+            // NetworkVarNames: m_nPhaseDurationTicks (int)
+            pub mod C_MapVetoPickController {
+                pub const m_nDraftType: usize = 0x578; // int32
+                pub const m_nTeamWinningCoinToss: usize = 0x57C; // int32
+                pub const m_nTeamWithFirstChoice: usize = 0x580; // int32[64]
+                pub const m_nVoteMapIdsList: usize = 0x680; // int32[7]
+                pub const m_nAccountIDs: usize = 0x69C; // int32[64]
+                pub const m_nMapId0: usize = 0x79C; // int32[64]
+                pub const m_nMapId1: usize = 0x89C; // int32[64]
+                pub const m_nMapId2: usize = 0x99C; // int32[64]
+                pub const m_nMapId3: usize = 0xA9C; // int32[64]
+                pub const m_nMapId4: usize = 0xB9C; // int32[64]
+                pub const m_nMapId5: usize = 0xC9C; // int32[64]
+                pub const m_nStartingSide0: usize = 0xD9C; // int32[64]
+                pub const m_nCurrentPhase: usize = 0xE9C; // int32
+                pub const m_nPhaseStartTick: usize = 0xEA0; // int32
+                pub const m_nPhaseDurationTicks: usize = 0xEA4; // int32
+                pub const m_nPostDataUpdateTick: usize = 0xEA8; // int32
+                pub const m_bDisabledHud: usize = 0xEAC; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGapTypeQueriesForScopeSingleton
+            pub mod CSharedGapTypeQueryRegistration {
+            }
+            // Parent: C_BarnLight
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flInnerAngle (float)
+            // NetworkVarNames: m_flOuterAngle (float)
+            // NetworkVarNames: m_bShowLight (bool)
+            pub mod C_OmniLight {
+                pub const m_flInnerAngle: usize = 0x1070; // float32
+                pub const m_flOuterAngle: usize = 0x1074; // float32
+                pub const m_bShowLight: usize = 0x1078; // bool
+            }
+            // Parent: C_Inferno
+            // Field count: 0
+            pub mod C_FireCrackerBlast {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponMP9 {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_weaponPurchases (WeaponPurchaseCount_t)
+            pub mod WeaponPurchaseTracker_t {
+                pub const m_weaponPurchases: usize = 0x8; // C_UtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMatchSeed (int)
+            // NetworkVarNames: m_bBlockersPresent (bool)
+            // NetworkVarNames: m_bRoundInProgress (bool)
+            // NetworkVarNames: m_iFirstSecondHalfRound (int)
+            // NetworkVarNames: m_iBombSite (int)
+            pub mod C_RetakeGameRules {
+                pub const m_nMatchSeed: usize = 0xF8; // int32
+                pub const m_bBlockersPresent: usize = 0xFC; // bool
+                pub const m_bRoundInProgress: usize = 0xFD; // bool
+                pub const m_iFirstSecondHalfRound: usize = 0x100; // int32
+                pub const m_iBombSite: usize = 0x104; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (float32)
+            // NetworkVarNames: m_timescale (float32)
+            pub mod EngineCountdownTimer {
+                pub const m_duration: usize = 0x8; // float32
+                pub const m_timestamp: usize = 0xC; // float32
+                pub const m_timescale: usize = 0x10; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CCSPlayer_GlowServices {
+            }
+            // Parent: None
+            // Field count: 5
+            pub mod C_BaseFlex__Emphasized_Phoneme {
+                pub const m_sClassName: usize = 0x0; // CUtlString
+                pub const m_flAmount: usize = 0x18; // float32
+                pub const m_bRequired: usize = 0x1C; // bool
+                pub const m_bBasechecked: usize = 0x1D; // bool
+                pub const m_bValid: usize = 0x1E; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            pub mod IntervalTimer {
+                pub const m_timestamp: usize = 0x8; // GameTime_t
+                pub const m_nWorldGroupId: usize = 0xC; // WorldGroupId_t
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponSSG08 {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderDir (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionTop (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionBottom (Vector)
+            // NetworkVarNames: m_flAutoRideSpeed (float)
+            // NetworkVarNames: m_bFakeLadder (bool)
+            pub mod C_FuncLadder {
+                pub const m_vecLadderDir: usize = 0xD28; // Vector
+                pub const m_Dismounts: usize = 0xD38; // CUtlVector<CHandle<C_InfoLadderDismount>>
+                pub const m_vecLocalTop: usize = 0xD50; // Vector
+                pub const m_vecPlayerMountPositionTop: usize = 0xD5C; // Vector
+                pub const m_vecPlayerMountPositionBottom: usize = 0xD68; // Vector
+                pub const m_flAutoRideSpeed: usize = 0xD74; // float32
+                pub const m_bDisabled: usize = 0xD78; // bool
+                pub const m_bFakeLadder: usize = 0xD79; // bool
+                pub const m_bHasSlack: usize = 0xD7A; // bool
+            }
+            // Parent: C_SoundOpvarSetAABBEntity
+            // Field count: 0
+            pub mod C_SoundOpvarSetOBBEntity {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_hMyWeapons (CHandle<C_BasePlayerWeapon>)
+            // NetworkVarNames: m_hActiveWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hLastWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_iAmmo (uint16)
+            pub mod CPlayer_WeaponServices {
+                pub const m_hMyWeapons: usize = 0x40; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerWeapon>>
+                pub const m_hActiveWeapon: usize = 0x58; // CHandle<C_BasePlayerWeapon>
+                pub const m_hLastWeapon: usize = 0x5C; // CHandle<C_BasePlayerWeapon>
+                pub const m_iAmmo: usize = 0x60; // uint16[32]
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod CAttributeManager__cached_attribute_float_t {
+                pub const flIn: usize = 0x0; // float32
+                pub const iAttribHook: usize = 0x8; // CUtlSymbolLarge
+                pub const flOut: usize = 0x10; // float32
+            }
+            // Parent: C_BaseFlex
+            // Field count: 12
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_bIsLive (bool)
+            // NetworkVarNames: m_DmgRadius (float32)
+            // NetworkVarNames: m_flDetonateTime (GameTime_t)
+            // NetworkVarNames: m_flDamage (float32)
+            // NetworkVarNames: m_hThrower (CHandle<CCSPlayerPawn>)
+            pub mod C_BaseGrenade {
+                pub const m_bHasWarnedAI: usize = 0x1120; // bool
+                pub const m_bIsSmokeGrenade: usize = 0x1121; // bool
+                pub const m_bIsLive: usize = 0x1122; // bool
+                pub const m_DmgRadius: usize = 0x1124; // float32
+                pub const m_flDetonateTime: usize = 0x1128; // GameTime_t
+                pub const m_flWarnAITime: usize = 0x112C; // float32
+                pub const m_flDamage: usize = 0x1130; // float32
+                pub const m_iszBounceSound: usize = 0x1138; // CUtlSymbolLarge
+                pub const m_ExplosionSound: usize = 0x1140; // CUtlString
+                pub const m_hThrower: usize = 0x114C; // CHandle<C_CSPlayerPawn>
+                pub const m_flNextAttack: usize = 0x1164; // GameTime_t
+                pub const m_hOriginalThrower: usize = 0x1168; // CHandle<C_CSPlayerPawn>
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod CCSGameModeRules {
+                pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nInteractsAs (uint64)
+            // NetworkVarNames: m_nInteractsWith (uint64)
+            // NetworkVarNames: m_nInteractsExclude (uint64)
+            // NetworkVarNames: m_nEntityId (uint32)
+            // NetworkVarNames: m_nOwnerId (uint32)
+            // NetworkVarNames: m_nHierarchyId (uint16)
+            // NetworkVarNames: m_nCollisionGroup (uint8)
+            // NetworkVarNames: m_nCollisionFunctionMask (uint8)
+            pub mod VPhysicsCollisionAttribute_t {
+                pub const m_nInteractsAs: usize = 0x8; // uint64
+                pub const m_nInteractsWith: usize = 0x10; // uint64
+                pub const m_nInteractsExclude: usize = 0x18; // uint64
+                pub const m_nEntityId: usize = 0x20; // uint32
+                pub const m_nOwnerId: usize = 0x24; // uint32
+                pub const m_nHierarchyId: usize = 0x28; // uint16
+                pub const m_nCollisionGroup: usize = 0x2A; // uint8
+                pub const m_nCollisionFunctionMask: usize = 0x2B; // uint8
+            }
+            // Parent: C_BaseEntity
+            // Field count: 34
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScattering (float)
+            // NetworkVarNames: m_flAnisotropy (float)
+            // NetworkVarNames: m_flFadeSpeed (float)
+            // NetworkVarNames: m_flDrawDistance (float)
+            // NetworkVarNames: m_flFadeInStart (float)
+            // NetworkVarNames: m_flFadeInEnd (float)
+            // NetworkVarNames: m_flIndirectStrength (float)
+            // NetworkVarNames: m_nVolumeDepth (int)
+            // NetworkVarNames: m_fFirstVolumeSliceThickness (float)
+            // NetworkVarNames: m_nIndirectTextureDimX (int)
+            // NetworkVarNames: m_nIndirectTextureDimY (int)
+            // NetworkVarNames: m_nIndirectTextureDimZ (int)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartAnisoTime (GameTime_t)
+            // NetworkVarNames: m_flStartScatterTime (GameTime_t)
+            // NetworkVarNames: m_flStartDrawDistanceTime (GameTime_t)
+            // NetworkVarNames: m_flStartAnisotropy (float)
+            // NetworkVarNames: m_flStartScattering (float)
+            // NetworkVarNames: m_flStartDrawDistance (float)
+            // NetworkVarNames: m_flDefaultAnisotropy (float)
+            // NetworkVarNames: m_flDefaultScattering (float)
+            // NetworkVarNames: m_flDefaultDrawDistance (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bEnableIndirect (bool)
+            // NetworkVarNames: m_bIndirectUseLPVs (bool)
+            // NetworkVarNames: m_bIsMaster (bool)
+            // NetworkVarNames: m_hFogIndirectTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_nForceRefreshCount (int)
+            // NetworkVarNames: m_fNoiseSpeed (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_vNoiseScale (Vector)
+            pub mod C_EnvVolumetricFogController {
+                pub const m_flScattering: usize = 0x568; // float32
+                pub const m_flAnisotropy: usize = 0x56C; // float32
+                pub const m_flFadeSpeed: usize = 0x570; // float32
+                pub const m_flDrawDistance: usize = 0x574; // float32
+                pub const m_flFadeInStart: usize = 0x578; // float32
+                pub const m_flFadeInEnd: usize = 0x57C; // float32
+                pub const m_flIndirectStrength: usize = 0x580; // float32
+                pub const m_nVolumeDepth: usize = 0x584; // int32
+                pub const m_fFirstVolumeSliceThickness: usize = 0x588; // float32
+                pub const m_nIndirectTextureDimX: usize = 0x58C; // int32
+                pub const m_nIndirectTextureDimY: usize = 0x590; // int32
+                pub const m_nIndirectTextureDimZ: usize = 0x594; // int32
+                pub const m_vBoxMins: usize = 0x598; // Vector
+                pub const m_vBoxMaxs: usize = 0x5A4; // Vector
+                pub const m_bActive: usize = 0x5B0; // bool
+                pub const m_flStartAnisoTime: usize = 0x5B4; // GameTime_t
+                pub const m_flStartScatterTime: usize = 0x5B8; // GameTime_t
+                pub const m_flStartDrawDistanceTime: usize = 0x5BC; // GameTime_t
+                pub const m_flStartAnisotropy: usize = 0x5C0; // float32
+                pub const m_flStartScattering: usize = 0x5C4; // float32
+                pub const m_flStartDrawDistance: usize = 0x5C8; // float32
+                pub const m_flDefaultAnisotropy: usize = 0x5CC; // float32
+                pub const m_flDefaultScattering: usize = 0x5D0; // float32
+                pub const m_flDefaultDrawDistance: usize = 0x5D4; // float32
+                pub const m_bStartDisabled: usize = 0x5D8; // bool
+                pub const m_bEnableIndirect: usize = 0x5D9; // bool
+                pub const m_bIndirectUseLPVs: usize = 0x5DA; // bool
+                pub const m_bIsMaster: usize = 0x5DB; // bool
+                pub const m_hFogIndirectTexture: usize = 0x5E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_nForceRefreshCount: usize = 0x5E8; // int32
+                pub const m_fNoiseSpeed: usize = 0x5EC; // float32
+                pub const m_fNoiseStrength: usize = 0x5F0; // float32
+                pub const m_vNoiseScale: usize = 0x5F4; // Vector
+                pub const m_bFirstTime: usize = 0x600; // bool
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponTec9 {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flStartTimeInCommentary (float32)
+            // NetworkVarNames: m_iszCommentaryFile (string_t)
+            // NetworkVarNames: m_iszTitle (string_t)
+            // NetworkVarNames: m_iszSpeakers (string_t)
+            // NetworkVarNames: m_iNodeNumber (int)
+            // NetworkVarNames: m_iNodeNumberMax (int)
+            // NetworkVarNames: m_bListenedTo (bool)
+            // NetworkVarNames: m_hViewPosition (CHandle<C_BaseEntity>)
+            pub mod C_PointCommentaryNode {
+                pub const m_bActive: usize = 0xF90; // bool
+                pub const m_bWasActive: usize = 0xF91; // bool
+                pub const m_flEndTime: usize = 0xF94; // GameTime_t
+                pub const m_flStartTime: usize = 0xF98; // GameTime_t
+                pub const m_flStartTimeInCommentary: usize = 0xF9C; // float32
+                pub const m_iszCommentaryFile: usize = 0xFA0; // CUtlSymbolLarge
+                pub const m_iszTitle: usize = 0xFA8; // CUtlSymbolLarge
+                pub const m_iszSpeakers: usize = 0xFB0; // CUtlSymbolLarge
+                pub const m_iNodeNumber: usize = 0xFB8; // int32
+                pub const m_iNodeNumberMax: usize = 0xFBC; // int32
+                pub const m_bListenedTo: usize = 0xFC0; // bool
+                pub const m_hViewPosition: usize = 0xFD0; // CHandle<C_BaseEntity>
+                pub const m_bRestartAfterRestore: usize = 0xFD4; // bool
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 0
+            pub mod CCSObserver_CameraServices {
+            }
+            // Parent: CCSPointScriptEntity
+            // Field count: 0
+            pub mod CCSClientPointScriptEntity {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: localSound (Vector)
+            // NetworkVarNames: soundscapeIndex (int32)
+            // NetworkVarNames: localBits (uint8)
+            // NetworkVarNames: soundscapeEntityListIndex (int)
+            // NetworkVarNames: soundEventHash (uint32)
+            pub mod audioparams_t {
+                pub const localSound: usize = 0x8; // Vector[8]
+                pub const soundscapeIndex: usize = 0x68; // int32
+                pub const localBits: usize = 0x6C; // uint8
+                pub const soundscapeEntityListIndex: usize = 0x70; // int32
+                pub const soundEventHash: usize = 0x74; // uint32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod C_CS2WeaponModuleBase {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMode (int)
+            // NetworkVarNames: m_vBoxSize (Vector)
+            // NetworkVarNames: m_bEnabled (bool)
+            pub mod C_InfoVisibilityBox {
+                pub const m_nMode: usize = 0x56C; // int32
+                pub const m_vBoxSize: usize = 0x570; // Vector
+                pub const m_bEnabled: usize = 0x57C; // bool
+            }
+            // Parent: C_Sprite
+            // Field count: 2
+            pub mod C_FireSprite {
+                pub const m_vecMoveDir: usize = 0xE38; // Vector
+                pub const m_bFadeFromAbove: usize = 0xE44; // bool
+            }
+            // Parent: C_CSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_TeamIntroTerroristPosition {
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 8
+            pub mod C_Precipitation {
+                pub const m_flDensity: usize = 0xD30; // float32
+                pub const m_flParticleInnerDist: usize = 0xD40; // float32
+                pub const m_pParticleDef: usize = 0xD48; // char*
+                pub const m_tParticlePrecipTraceTimer: usize = 0xD70; // TimedEvent[1]
+                pub const m_bActiveParticlePrecipEmitter: usize = 0xD78; // bool[1]
+                pub const m_bParticlePrecipInitialized: usize = 0xD79; // bool
+                pub const m_bHasSimulatedSinceLastSceneObjectUpdate: usize = 0xD7A; // bool
+                pub const m_nAvailableSheetSequencesMaxIndex: usize = 0xD7C; // int32
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPrecipitationVData {
+                pub const m_szParticlePrecipitationEffect: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_flInnerDistance: usize = 0x108; // float32
+                pub const m_nAttachType: usize = 0x10C; // ParticleAttachment_t
+                pub const m_bBatchSameVolumeType: usize = 0x110; // bool
+                pub const m_nRTEnvCP: usize = 0x114; // int32
+                pub const m_nRTEnvCPComponent: usize = 0x118; // int32
+                pub const m_szModifier: usize = 0x120; // CUtlString
+            }
+            // Parent: None
+            // Field count: 6
+            pub mod CBuoyancyHelper {
+                pub const m_nFluidType: usize = 0x18; // CUtlStringToken
+                pub const m_flFluidDensity: usize = 0x1C; // float32
+                pub const m_vecFractionOfWheelSubmergedForWheelFriction: usize = 0x20; // CUtlVector<float32>
+                pub const m_vecWheelFrictionScales: usize = 0x38; // CUtlVector<float32>
+                pub const m_vecFractionOfWheelSubmergedForWheelDrag: usize = 0x50; // CUtlVector<float32>
+                pub const m_vecWheelDrag: usize = 0x68; // CUtlVector<float32>
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_DialogXMLName (string_t)
+            // NetworkVarNames: m_PanelClassName (string_t)
+            // NetworkVarNames: m_PanelID (string_t)
+            pub mod C_BaseClientUIEntity {
+                pub const m_bEnabled: usize = 0xD30; // bool
+                pub const m_DialogXMLName: usize = 0xD38; // CUtlSymbolLarge
+                pub const m_PanelClassName: usize = 0xD40; // CUtlSymbolLarge
+                pub const m_PanelID: usize = 0xD48; // CUtlSymbolLarge
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 3
+            pub mod C_FuncTrackTrain {
+                pub const m_nLongAxis: usize = 0xD28; // int32
+                pub const m_flRadius: usize = 0xD2C; // float32
+                pub const m_flLineLength: usize = 0xD30; // float32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsRescuing (bool)
+            // NetworkVarNames: m_weaponPurchasesThisMatch (WeaponPurchaseTracker_t)
+            // NetworkVarNames: m_weaponPurchasesThisRound (WeaponPurchaseTracker_t)
+            pub mod CCSPlayer_ActionTrackingServices {
+                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
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_nModelID (int32)
+            // NetworkVarNames: m_hMaterialBase (HMaterialStrong)
+            // NetworkVarNames: m_hMaterialDamageOverlay (HMaterialStrong)
+            // NetworkVarNames: m_solid (ShardSolid_t)
+            // NetworkVarNames: m_vecPanelSize (Vector2D)
+            // NetworkVarNames: m_vecStressPositionA (Vector2D)
+            // NetworkVarNames: m_vecStressPositionB (Vector2D)
+            // NetworkVarNames: m_vecPanelVertices (Vector2D)
+            // NetworkVarNames: m_vInitialPanelVertices (Vector4D)
+            // NetworkVarNames: m_flGlassHalfThickness (float)
+            // NetworkVarNames: m_bHasParent (bool)
+            // NetworkVarNames: m_bParentFrozen (bool)
+            // NetworkVarNames: m_SurfacePropStringToken (CUtlStringToken)
+            pub mod shard_model_desc_t {
+                pub const m_nModelID: usize = 0x8; // int32
+                pub const m_hMaterialBase: usize = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_hMaterialDamageOverlay: usize = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_solid: usize = 0x20; // ShardSolid_t
+                pub const m_vecPanelSize: usize = 0x24; // Vector2D
+                pub const m_vecStressPositionA: usize = 0x2C; // Vector2D
+                pub const m_vecStressPositionB: usize = 0x34; // Vector2D
+                pub const m_vecPanelVertices: usize = 0x40; // C_NetworkUtlVectorBase<Vector2D>
+                pub const m_vInitialPanelVertices: usize = 0x58; // C_NetworkUtlVectorBase<Vector4D>
+                pub const m_flGlassHalfThickness: usize = 0x70; // float32
+                pub const m_bHasParent: usize = 0x74; // bool
+                pub const m_bParentFrozen: usize = 0x75; // bool
+                pub const m_SurfacePropStringToken: usize = 0x78; // CUtlStringToken
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod C_SceneEntity__QueuedEvents_t {
+                pub const starttime: usize = 0x0; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 4
+            pub mod CBaseProp {
+                pub const m_bModelOverrodeBlockLOS: usize = 0xF88; // bool
+                pub const m_iShapeType: usize = 0xF8C; // int32
+                pub const m_bConformToCollisionBounds: usize = 0xF90; // bool
+                pub const m_mPreferredCatchTransform: usize = 0xF94; // matrix3x4_t
+            }
+            // Parent: C_CSGO_PreviewPlayer
+            // Field count: 0
+            pub mod C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_observer {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 12
+            pub mod CPointTemplate {
+                pub const m_iszWorldName: usize = 0x568; // CUtlSymbolLarge
+                pub const m_iszSource2EntityLumpName: usize = 0x570; // CUtlSymbolLarge
+                pub const m_iszEntityFilterName: usize = 0x578; // CUtlSymbolLarge
+                pub const m_flTimeoutInterval: usize = 0x580; // float32
+                pub const m_bAsynchronouslySpawnEntities: usize = 0x584; // bool
+                pub const m_pOutputOnSpawned: usize = 0x588; // CEntityIOOutput
+                pub const m_clientOnlyEntityBehavior: usize = 0x5B0; // PointTemplateClientOnlyEntityBehavior_t
+                pub const m_ownerSpawnGroupType: usize = 0x5B4; // PointTemplateOwnerSpawnGroupType_t
+                pub const m_createdSpawnGroupHandles: usize = 0x5B8; // CUtlVector<uint32>
+                pub const m_SpawnedEntityHandles: usize = 0x5D0; // CUtlVector<CEntityHandle>
+                pub const m_ScriptSpawnCallback: usize = 0x5E8; // HSCRIPT
+                pub const m_ScriptCallbackScope: usize = 0x5F0; // HSCRIPT
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponHKP2000 {
+            }
+            // Parent: C_BaseFlex
+            // Field count: 6
+            pub mod C_CSGO_PreviewModel {
+                pub const m_animgraph: usize = 0x1120; // CUtlString
+                pub const m_animgraphCharacterModeString: usize = 0x1128; // CGlobalSymbol
+                pub const m_defaultAnim: usize = 0x1130; // CUtlString
+                pub const m_nDefaultAnimLoopMode: usize = 0x1138; // AnimLoopMode_t
+                pub const m_flInitialModelScale: usize = 0x113C; // float32
+                pub const m_sInitialWeaponState: usize = 0x1140; // CUtlString
+            }
+            // Parent: C_PointEntity
+            // Field count: 5
+            pub mod CInfoDynamicShadowHint {
+                pub const m_bDisabled: usize = 0x568; // bool
+                pub const m_flRange: usize = 0x56C; // float32
+                pub const m_nImportance: usize = 0x570; // int32
+                pub const m_nLightChoice: usize = 0x574; // int32
+                pub const m_hLight: usize = 0x578; // CHandle<C_BaseEntity>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CTakeDamageInfoAPI {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod C_BaseEntityAPI {
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 0
+            pub mod C_WeaponXM1014 {
+            }
+            // Parent: C_ParticleSystem
+            // Field count: 0
+            pub mod C_MapPreviewParticleSystem {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_iGlowType (int32)
+            // NetworkVarNames: m_iGlowTeam (int32)
+            // NetworkVarNames: m_nGlowRange (int32)
+            // NetworkVarNames: m_nGlowRangeMin (int32)
+            // NetworkVarNames: m_glowColorOverride (Color)
+            // NetworkVarNames: m_bFlashing (bool)
+            // NetworkVarNames: m_flGlowTime (float)
+            // NetworkVarNames: m_flGlowStartTime (float)
+            // NetworkVarNames: m_bEligibleForScreenHighlight (bool)
+            pub mod CGlowProperty {
+                pub const m_fGlowColor: usize = 0x8; // Vector
+                pub const m_iGlowType: usize = 0x30; // int32
+                pub const m_iGlowTeam: usize = 0x34; // int32
+                pub const m_nGlowRange: usize = 0x38; // int32
+                pub const m_nGlowRangeMin: usize = 0x3C; // int32
+                pub const m_glowColorOverride: usize = 0x40; // Color
+                pub const m_bFlashing: usize = 0x44; // bool
+                pub const m_flGlowTime: usize = 0x48; // float32
+                pub const m_flGlowStartTime: usize = 0x4C; // float32
+                pub const m_bEligibleForScreenHighlight: usize = 0x50; // bool
+                pub const m_bGlowing: usize = 0x51; // bool
+            }
+            // Parent: C_BaseTrigger
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_gravityScale (float)
+            // NetworkVarNames: m_linearLimit (float)
+            // NetworkVarNames: m_linearDamping (float)
+            // NetworkVarNames: m_angularLimit (float)
+            // NetworkVarNames: m_angularDamping (float)
+            // NetworkVarNames: m_linearForce (float)
+            // NetworkVarNames: m_flFrequency (float)
+            // NetworkVarNames: m_flDampingRatio (float)
+            // NetworkVarNames: m_vecLinearForcePointAt (Vector)
+            // NetworkVarNames: m_bCollapseToForcePoint (bool)
+            // NetworkVarNames: m_vecLinearForcePointAtWorld (Vector)
+            // NetworkVarNames: m_vecLinearForceDirection (Vector)
+            // NetworkVarNames: m_bConvertToDebrisWhenPossible (bool)
+            pub mod C_TriggerPhysics {
+                pub const m_gravityScale: usize = 0xD30; // float32
+                pub const m_linearLimit: usize = 0xD34; // float32
+                pub const m_linearDamping: usize = 0xD38; // float32
+                pub const m_angularLimit: usize = 0xD3C; // float32
+                pub const m_angularDamping: usize = 0xD40; // float32
+                pub const m_linearForce: usize = 0xD44; // float32
+                pub const m_flFrequency: usize = 0xD48; // float32
+                pub const m_flDampingRatio: usize = 0xD4C; // float32
+                pub const m_vecLinearForcePointAt: usize = 0xD50; // Vector
+                pub const m_bCollapseToForcePoint: usize = 0xD5C; // bool
+                pub const m_vecLinearForcePointAtWorld: usize = 0xD60; // Vector
+                pub const m_vecLinearForceDirection: usize = 0xD6C; // Vector
+                pub const m_bConvertToDebrisWhenPossible: usize = 0xD78; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCarriedHostage (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hCarriedHostageProp (CHandle<CBaseEntity>)
+            pub mod CCSPlayer_HostageServices {
+                pub const m_hCarriedHostage: usize = 0x40; // CHandle<C_BaseEntity>
+                pub const m_hCarriedHostageProp: usize = 0x44; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_LightEntity
+            // Field count: 0
+            pub mod C_LightDirectionalEntity {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_flInfluenceRadius (float)
+            // NetworkVarNames: m_Entity_vBoxProjectMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxProjectMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_flDiffuseScale (float)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_bDefaultEnvMap (bool)
+            // NetworkVarNames: m_Entity_bDefaultSpecEnvMap (bool)
+            // NetworkVarNames: m_Entity_bIndoorCubeMap (bool)
+            // NetworkVarNames: m_Entity_bCopyDiffuseFromDefaultCubemap (bool)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            pub mod C_EnvCubemap {
+                pub const m_Entity_hCubemapTexture: usize = 0x5E8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_bCustomCubemapTexture: usize = 0x5F0; // bool
+                pub const m_Entity_flInfluenceRadius: usize = 0x5F4; // float32
+                pub const m_Entity_vBoxProjectMins: usize = 0x5F8; // Vector
+                pub const m_Entity_vBoxProjectMaxs: usize = 0x604; // Vector
+                pub const m_Entity_bMoveable: usize = 0x610; // bool
+                pub const m_Entity_nHandshake: usize = 0x614; // int32
+                pub const m_Entity_nEnvCubeMapArrayIndex: usize = 0x618; // int32
+                pub const m_Entity_nPriority: usize = 0x61C; // int32
+                pub const m_Entity_flEdgeFadeDist: usize = 0x620; // float32
+                pub const m_Entity_vEdgeFadeDists: usize = 0x624; // Vector
+                pub const m_Entity_flDiffuseScale: usize = 0x630; // float32
+                pub const m_Entity_bStartDisabled: usize = 0x634; // bool
+                pub const m_Entity_bDefaultEnvMap: usize = 0x635; // bool
+                pub const m_Entity_bDefaultSpecEnvMap: usize = 0x636; // bool
+                pub const m_Entity_bIndoorCubeMap: usize = 0x637; // bool
+                pub const m_Entity_bCopyDiffuseFromDefaultCubemap: usize = 0x638; // bool
+                pub const m_Entity_bEnabled: usize = 0x648; // bool
+            }
+            // Parent: C_BaseViewModel
+            // Field count: 3
+            pub mod C_PredictedViewModel {
+                pub const m_vPredictedLagOffset: usize = 0xFF0; // Vector
+                pub const m_targetSpeed: usize = 0xFFC; // QAngle
+                pub const m_currentSpeed: usize = 0x1008; // QAngle
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponBizon {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_AK47 {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bUpdateOnClient (bool)
+            // NetworkVarNames: m_nInputType (ValueRemapperInputType_t)
+            // NetworkVarNames: m_hRemapLineStart (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hRemapLineEnd (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_flMaximumChangePerSecond (float)
+            // NetworkVarNames: m_flDisengageDistance (float)
+            // NetworkVarNames: m_flEngageDistance (float)
+            // NetworkVarNames: m_bRequiresUseKey (bool)
+            // NetworkVarNames: m_nOutputType (ValueRemapperOutputType_t)
+            // NetworkVarNames: m_hOutputEntities (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_nHapticsType (ValueRemapperHapticsType_t)
+            // NetworkVarNames: m_nMomentumType (ValueRemapperMomentumType_t)
+            // NetworkVarNames: m_flMomentumModifier (float)
+            // NetworkVarNames: m_flSnapValue (float)
+            // NetworkVarNames: m_nRatchetType (ValueRemapperRatchetType_t)
+            // NetworkVarNames: m_flInputOffset (float)
+            pub mod C_PointValueRemapper {
+                pub const m_bDisabled: usize = 0x568; // bool
+                pub const m_bDisabledOld: usize = 0x569; // bool
+                pub const m_bUpdateOnClient: usize = 0x56A; // bool
+                pub const m_nInputType: usize = 0x56C; // ValueRemapperInputType_t
+                pub const m_hRemapLineStart: usize = 0x570; // CHandle<C_BaseEntity>
+                pub const m_hRemapLineEnd: usize = 0x574; // CHandle<C_BaseEntity>
+                pub const m_flMaximumChangePerSecond: usize = 0x578; // float32
+                pub const m_flDisengageDistance: usize = 0x57C; // float32
+                pub const m_flEngageDistance: usize = 0x580; // float32
+                pub const m_bRequiresUseKey: usize = 0x584; // bool
+                pub const m_nOutputType: usize = 0x588; // ValueRemapperOutputType_t
+                pub const m_hOutputEntities: usize = 0x590; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
+                pub const m_nHapticsType: usize = 0x5A8; // ValueRemapperHapticsType_t
+                pub const m_nMomentumType: usize = 0x5AC; // ValueRemapperMomentumType_t
+                pub const m_flMomentumModifier: usize = 0x5B0; // float32
+                pub const m_flSnapValue: usize = 0x5B4; // float32
+                pub const m_flCurrentMomentum: usize = 0x5B8; // float32
+                pub const m_nRatchetType: usize = 0x5BC; // ValueRemapperRatchetType_t
+                pub const m_flRatchetOffset: usize = 0x5C0; // float32
+                pub const m_flInputOffset: usize = 0x5C4; // float32
+                pub const m_bEngaged: usize = 0x5C8; // bool
+                pub const m_bFirstUpdate: usize = 0x5C9; // bool
+                pub const m_flPreviousValue: usize = 0x5CC; // float32
+                pub const m_flPreviousUpdateTickTime: usize = 0x5D0; // GameTime_t
+                pub const m_vecPreviousTestPoint: usize = 0x5D4; // Vector
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFirstAttack (bool)
+            pub mod C_Knife {
+                pub const m_bFirstAttack: usize = 0x1B20; // bool
+            }
+            // Parent: C_EnvCubemap
+            // Field count: 0
+            pub mod C_EnvCubemapBox {
+            }
+            // Parent: C_Item
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_OwningPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_KillingPlayer (CHandle<CCSPlayerPawn>)
+            pub mod C_ItemDogtags {
+                pub const m_OwningPlayer: usize = 0x1768; // CHandle<C_CSPlayerPawn>
+                pub const m_KillingPlayer: usize = 0x176C; // CHandle<C_CSPlayerPawn>
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            pub mod C_CSGO_EndOfMatchCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_iOpvarIndex (int)
+            // NetworkVarNames: m_bUseAutoCompare (bool)
+            pub mod C_SoundOpvarSetPointBase {
+                pub const m_iszStackName: usize = 0x568; // CUtlSymbolLarge
+                pub const m_iszOperatorName: usize = 0x570; // CUtlSymbolLarge
+                pub const m_iszOpvarName: usize = 0x578; // CUtlSymbolLarge
+                pub const m_iOpvarIndex: usize = 0x580; // int32
+                pub const m_bUseAutoCompare: usize = 0x584; // bool
+            }
+            // Parent: C_Breakable
+            // Field count: 0
+            pub mod C_PhysBox {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecSellbackPurchaseEntries (SellbackPurchaseEntry_t)
+            pub mod CCSPlayer_BuyServices {
+                pub const m_vecSellbackPurchaseEntries: usize = 0x40; // C_UtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CPathSimpleAPI {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_fFireTime (GameTime_t)
+            pub mod C_WeaponTaser {
+                pub const m_fFireTime: usize = 0x1B40; // GameTime_t
+                pub const m_nLastAttackTick: usize = 0x1B44; // int32
+            }
+            // Parent: C_PhysicsProp
+            // Field count: 0
+            pub mod C_PhysicsPropMultiplayer {
+            }
+            // Parent: CInfoDynamicShadowHint
+            // Field count: 2
+            pub mod CInfoDynamicShadowHintBox {
+                pub const m_vBoxMins: usize = 0x580; // Vector
+                pub const m_vBoxMaxs: usize = 0x58C; // Vector
+            }
+            // Parent: C_SoundOpvarSetPointEntity
+            // Field count: 0
+            pub mod C_SoundOpvarSetPathCornerEntity {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_flEndDistance (float)
+            // NetworkVarNames: m_flStartDistance (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogHeightWidth (float)
+            // NetworkVarNames: m_flFogHeightEnd (float)
+            // NetworkVarNames: m_flFogHeightStart (float)
+            // NetworkVarNames: m_flFogHeightExponent (float)
+            // NetworkVarNames: m_flLODBias (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_nCubemapSourceType (int)
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_iszSkyEntity (string_t)
+            // NetworkVarNames: m_hFogCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_bHasHeightFogEnd (bool)
+            pub mod C_EnvCubemapFog {
+                pub const m_flEndDistance: usize = 0x568; // float32
+                pub const m_flStartDistance: usize = 0x56C; // float32
+                pub const m_flFogFalloffExponent: usize = 0x570; // float32
+                pub const m_bHeightFogEnabled: usize = 0x574; // bool
+                pub const m_flFogHeightWidth: usize = 0x578; // float32
+                pub const m_flFogHeightEnd: usize = 0x57C; // float32
+                pub const m_flFogHeightStart: usize = 0x580; // float32
+                pub const m_flFogHeightExponent: usize = 0x584; // float32
+                pub const m_flLODBias: usize = 0x588; // float32
+                pub const m_bActive: usize = 0x58C; // bool
+                pub const m_bStartDisabled: usize = 0x58D; // bool
+                pub const m_flFogMaxOpacity: usize = 0x590; // float32
+                pub const m_nCubemapSourceType: usize = 0x594; // int32
+                pub const m_hSkyMaterial: usize = 0x598; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_iszSkyEntity: usize = 0x5A0; // CUtlSymbolLarge
+                pub const m_hFogCubemapTexture: usize = 0x5A8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_bHasHeightFogEnd: usize = 0x5B0; // bool
+                pub const m_bFirstTime: usize = 0x5B1; // bool
+            }
+            // Parent: C_CSWeaponBase
+            // Field count: 0
+            pub mod C_WeaponSawedoff {
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_collisionAttribute (VPhysicsCollisionAttribute_t)
+            // NetworkVarNames: m_vecMins (Vector)
+            // NetworkVarNames: m_vecMaxs (Vector)
+            // NetworkVarNames: m_usSolidFlags (uint8)
+            // NetworkVarNames: m_nSolidType (SolidType_t)
+            // NetworkVarNames: m_triggerBloat (uint8)
+            // NetworkVarNames: m_nSurroundType (SurroundingBoundsType_t)
+            // NetworkVarNames: m_CollisionGroup (uint8)
+            // NetworkVarNames: m_nEnablePhysics (uint8)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMins (Vector)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMaxs (Vector)
+            // NetworkVarNames: m_vCapsuleCenter1 (Vector)
+            // NetworkVarNames: m_vCapsuleCenter2 (Vector)
+            // NetworkVarNames: m_flCapsuleRadius (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
+                pub const m_nSolidType: usize = 0x5B; // SolidType_t
+                pub const m_triggerBloat: usize = 0x5C; // uint8
+                pub const m_nSurroundType: usize = 0x5D; // SurroundingBoundsType_t
+                pub const m_CollisionGroup: usize = 0x5E; // uint8
+                pub const m_nEnablePhysics: usize = 0x5F; // uint8
+                pub const m_flBoundingRadius: usize = 0x60; // float32
+                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; // float32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flPrevCycle (float32)
+            // NetworkVarNames: m_flCycle (float32)
+            pub mod CNetworkedSequenceOperation {
+                pub const m_hSequence: usize = 0x8; // HSequence
+                pub const m_flPrevCycle: usize = 0xC; // float32
+                pub const m_flCycle: usize = 0x10; // float32
+                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; // float32
+                pub const m_flPrevCycleForAnimEventDetection: usize = 0x24; // float32
+            }
+            // Parent: C_ModelPointEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_nUniqueID (int)
+            // NetworkVarNames: m_unAccountID (uint32)
+            // NetworkVarNames: m_unTraceID (uint32)
+            // NetworkVarNames: m_rtGcTime (uint32)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            // NetworkVarNames: m_vecStart (Vector)
+            // NetworkVarNames: m_vecLeft (Vector)
+            // NetworkVarNames: m_vecNormal (Vector)
+            // NetworkVarNames: m_nPlayer (int)
+            // NetworkVarNames: m_nEntity (int)
+            // NetworkVarNames: m_nHitbox (int)
+            // NetworkVarNames: m_flCreationTime (float)
+            // NetworkVarNames: m_nTintID (int)
+            // NetworkVarNames: m_nVersion (uint8)
+            // NetworkVarNames: m_ubSignature (uint8)
+            pub mod C_PlayerSprayDecal {
+                pub const m_nUniqueID: usize = 0xD28; // int32
+                pub const m_unAccountID: usize = 0xD2C; // uint32
+                pub const m_unTraceID: usize = 0xD30; // uint32
+                pub const m_rtGcTime: usize = 0xD34; // uint32
+                pub const m_vecEndPos: usize = 0xD38; // Vector
+                pub const m_vecStart: usize = 0xD44; // Vector
+                pub const m_vecLeft: usize = 0xD50; // Vector
+                pub const m_vecNormal: usize = 0xD5C; // Vector
+                pub const m_nPlayer: usize = 0xD68; // int32
+                pub const m_nEntity: usize = 0xD6C; // int32
+                pub const m_nHitbox: usize = 0xD70; // int32
+                pub const m_flCreationTime: usize = 0xD74; // float32
+                pub const m_nTintID: usize = 0xD78; // int32
+                pub const m_nVersion: usize = 0xD7C; // uint8
+                pub const m_ubSignature: usize = 0xD7D; // uint8[128]
+                pub const m_SprayRenderHelper: usize = 0xE08; // CPlayerSprayDecalRenderHelper
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_ID (CUtlStringToken)
+            // NetworkVarNames: m_Values (Vector4D)
+            pub mod EntityRenderAttribute_t {
+                pub const m_ID: usize = 0x30; // CUtlStringToken
+                pub const m_Values: usize = 0x34; // Vector4D
+            }
+            // Parent: C_PhysicsProp
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_ShardDesc (shard_model_desc_t)
+            pub mod C_ShatterGlassShardPhysics {
+                pub const m_ShardDesc: usize = 0x1120; // shard_model_desc_t
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponElite {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_CLightComponent (CLightComponent::Storage_t)
+            pub mod C_LightEntity {
+                pub const m_CLightComponent: usize = 0xD28; // CLightComponent*
+            }
+            // Parent: C_BaseEntity
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_flVisibilityStrength (float)
+            // NetworkVarNames: m_flFogDistanceMultiplier (float)
+            // NetworkVarNames: m_flFogMaxDensityMultiplier (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            pub mod C_PlayerVisibility {
+                pub const m_flVisibilityStrength: usize = 0x568; // float32
+                pub const m_flFogDistanceMultiplier: usize = 0x56C; // float32
+                pub const m_flFogMaxDensityMultiplier: usize = 0x570; // float32
+                pub const m_flFadeTime: usize = 0x574; // float32
+                pub const m_bStartDisabled: usize = 0x578; // bool
+                pub const m_bIsEnabled: usize = 0x579; // bool
+            }
+            // Parent: None
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: dirPrimary (Vector)
+            // NetworkVarNames: colorPrimary (Color)
+            // NetworkVarNames: colorSecondary (Color)
+            // NetworkVarNames: colorPrimaryLerpTo (Color)
+            // NetworkVarNames: colorSecondaryLerpTo (Color)
+            // NetworkVarNames: start (float32)
+            // NetworkVarNames: end (float32)
+            // NetworkVarNames: farz (float32)
+            // NetworkVarNames: maxdensity (float32)
+            // NetworkVarNames: exponent (float32)
+            // NetworkVarNames: HDRColorScale (float32)
+            // NetworkVarNames: skyboxFogFactor (float32)
+            // NetworkVarNames: skyboxFogFactorLerpTo (float32)
+            // NetworkVarNames: startLerpTo (float32)
+            // NetworkVarNames: endLerpTo (float32)
+            // NetworkVarNames: maxdensityLerpTo (float32)
+            // NetworkVarNames: lerptime (GameTime_t)
+            // NetworkVarNames: duration (float32)
+            // NetworkVarNames: blendtobackground (float32)
+            // NetworkVarNames: scattering (float32)
+            // NetworkVarNames: locallightscale (float32)
+            // NetworkVarNames: enable (bool)
+            // NetworkVarNames: blend (bool)
+            // NetworkVarNames: m_bNoReflectionFog (bool)
+            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; // float32
+                pub const end: usize = 0x28; // float32
+                pub const farz: usize = 0x2C; // float32
+                pub const maxdensity: usize = 0x30; // float32
+                pub const exponent: usize = 0x34; // float32
+                pub const HDRColorScale: usize = 0x38; // float32
+                pub const skyboxFogFactor: usize = 0x3C; // float32
+                pub const skyboxFogFactorLerpTo: usize = 0x40; // float32
+                pub const startLerpTo: usize = 0x44; // float32
+                pub const endLerpTo: usize = 0x48; // float32
+                pub const maxdensityLerpTo: usize = 0x4C; // float32
+                pub const lerptime: usize = 0x50; // GameTime_t
+                pub const duration: usize = 0x54; // float32
+                pub const blendtobackground: usize = 0x58; // float32
+                pub const scattering: usize = 0x5C; // float32
+                pub const locallightscale: usize = 0x60; // float32
+                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
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 19
+            //
+            // Metadata:
+            // NetworkVarNames: m_flexWeight (float32)
+            // NetworkVarNames: m_blinktoggle (bool)
+            pub mod C_BaseFlex {
+                pub const m_flexWeight: usize = 0xF98; // C_NetworkUtlVectorBase<float32>
+                pub const m_vLookTargetPosition: usize = 0xFB0; // Vector
+                pub const m_blinktoggle: usize = 0xFC8; // bool
+                pub const m_nLastFlexUpdateFrameCount: usize = 0x1028; // int32
+                pub const m_CachedViewTarget: usize = 0x102C; // Vector
+                pub const m_nNextSceneEventId: usize = 0x1038; // SceneEventId_t
+                pub const m_iBlink: usize = 0x103C; // int32
+                pub const m_blinktime: usize = 0x1040; // float32
+                pub const m_prevblinktoggle: usize = 0x1044; // bool
+                pub const m_iJawOpen: usize = 0x1048; // int32
+                pub const m_flJawOpenAmount: usize = 0x104C; // float32
+                pub const m_flBlinkAmount: usize = 0x1050; // float32
+                pub const m_iMouthAttachment: usize = 0x1054; // AttachmentHandle_t
+                pub const m_iEyeAttachment: usize = 0x1055; // AttachmentHandle_t
+                pub const m_bResetFlexWeightsOnModelChange: usize = 0x1056; // bool
+                pub const m_nEyeOcclusionRendererBone: usize = 0x1070; // int32
+                pub const m_mEyeOcclusionRendererCameraToBoneTransform: usize = 0x1074; // matrix3x4_t
+                pub const m_vEyeOcclusionRendererHalfExtent: usize = 0x10A4; // Vector
+                pub const m_PhonemeClasses: usize = 0x10C0; // C_BaseFlex::Emphasized_Phoneme[3]
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hSkyMaterialLightingOnly (HMaterialStrong)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_vTintColor (Color)
+            // NetworkVarNames: m_vTintColorLightingOnly (Color)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nFogType (int)
+            // NetworkVarNames: m_flFogMinStart (float)
+            // NetworkVarNames: m_flFogMinEnd (float)
+            // NetworkVarNames: m_flFogMaxStart (float)
+            // NetworkVarNames: m_flFogMaxEnd (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            pub mod C_EnvSky {
+                pub const m_hSkyMaterial: usize = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_hSkyMaterialLightingOnly: usize = 0xD30; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_bStartDisabled: usize = 0xD38; // bool
+                pub const m_vTintColor: usize = 0xD39; // Color
+                pub const m_vTintColorLightingOnly: usize = 0xD3D; // Color
+                pub const m_flBrightnessScale: usize = 0xD44; // float32
+                pub const m_nFogType: usize = 0xD48; // int32
+                pub const m_flFogMinStart: usize = 0xD4C; // float32
+                pub const m_flFogMinEnd: usize = 0xD50; // float32
+                pub const m_flFogMaxStart: usize = 0xD54; // float32
+                pub const m_flFogMaxEnd: usize = 0xD58; // float32
+                pub const m_bEnabled: usize = 0xD5C; // bool
+            }
+            // Parent: C_PointEntity
+            // Field count: 0
+            pub mod CInfoTarget {
+            }
+            // Parent: C_CSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_TeamIntroCounterTerroristPosition {
+            }
+            // Parent: C_BreakableProp
+            // Field count: 23
+            //
+            // Metadata:
+            // NetworkVarNames: m_bUseHitboxesForRenderBox (bool)
+            // NetworkVarNames: m_bUseAnimGraph (bool)
+            pub mod C_DynamicProp {
+                pub const m_bUseHitboxesForRenderBox: usize = 0x1110; // bool
+                pub const m_bUseAnimGraph: usize = 0x1111; // bool
+                pub const m_pOutputAnimBegun: usize = 0x1118; // CEntityIOOutput
+                pub const m_pOutputAnimOver: usize = 0x1140; // CEntityIOOutput
+                pub const m_pOutputAnimLoopCycleOver: usize = 0x1168; // CEntityIOOutput
+                pub const m_OnAnimReachedStart: usize = 0x1190; // CEntityIOOutput
+                pub const m_OnAnimReachedEnd: usize = 0x11B8; // CEntityIOOutput
+                pub const m_iszIdleAnim: usize = 0x11E0; // CUtlSymbolLarge
+                pub const m_nIdleAnimLoopMode: usize = 0x11E8; // AnimLoopMode_t
+                pub const m_bRandomizeCycle: usize = 0x11EC; // bool
+                pub const m_bStartDisabled: usize = 0x11ED; // bool
+                pub const m_bFiredStartEndOutput: usize = 0x11EE; // bool
+                pub const m_bForceNpcExclude: usize = 0x11EF; // bool
+                pub const m_bCreateNonSolid: usize = 0x11F0; // bool
+                pub const m_bIsOverrideProp: usize = 0x11F1; // bool
+                pub const m_iInitialGlowState: usize = 0x11F4; // int32
+                pub const m_nGlowRange: usize = 0x11F8; // int32
+                pub const m_nGlowRangeMin: usize = 0x11FC; // int32
+                pub const m_glowColor: usize = 0x1200; // Color
+                pub const m_nGlowTeam: usize = 0x1204; // int32
+                pub const m_iCachedFrameCount: usize = 0x1208; // int32
+                pub const m_vecCachedRenderMins: usize = 0x120C; // Vector
+                pub const m_vecCachedRenderMaxs: usize = 0x1218; // Vector
+            }
+            // Parent: CEntityComponent
+            // Field count: 10
+            pub mod CPropDataComponent {
+                pub const m_flDmgModBullet: usize = 0x10; // float32
+                pub const m_flDmgModClub: usize = 0x14; // float32
+                pub const m_flDmgModExplosive: usize = 0x18; // float32
+                pub const m_flDmgModFire: usize = 0x1C; // float32
+                pub const m_iszPhysicsDamageTableName: usize = 0x20; // CUtlSymbolLarge
+                pub const m_iszBasePropData: usize = 0x28; // CUtlSymbolLarge
+                pub const m_nInteractions: usize = 0x30; // int32
+                pub const m_bSpawnMotionDisabled: usize = 0x34; // bool
+                pub const m_nDisableTakePhysicsDamageSpawnFlag: usize = 0x38; // int32
+                pub const m_nMotionDisabledSpawnFlag: usize = 0x3C; // int32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponSCAR20 {
+            }
+            // Parent: C_BaseCSGrenade
+            // Field count: 0
+            pub mod C_DecoyGrenade {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_player {
+            }
+            // Parent: C_CS2WeaponModuleBase
+            // Field count: 2
+            pub mod C_KeychainModule {
+                pub const m_nKeychainDefID: usize = 0xF90; // uint32
+                pub const m_nKeychainSeed: usize = 0xF94; // uint32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_vDistanceInnerMins (Vector)
+            // NetworkVarNames: m_vDistanceInnerMaxs (Vector)
+            // NetworkVarNames: m_vDistanceOuterMins (Vector)
+            // NetworkVarNames: m_vDistanceOuterMaxs (Vector)
+            // NetworkVarNames: m_nAABBDirection (int)
+            pub mod CCitadelSoundOpvarSetOBB {
+                pub const m_iszStackName: usize = 0x580; // CUtlSymbolLarge
+                pub const m_iszOperatorName: usize = 0x588; // CUtlSymbolLarge
+                pub const m_iszOpvarName: usize = 0x590; // CUtlSymbolLarge
+                pub const m_vDistanceInnerMins: usize = 0x598; // Vector
+                pub const m_vDistanceInnerMaxs: usize = 0x5A4; // Vector
+                pub const m_vDistanceOuterMins: usize = 0x5B0; // Vector
+                pub const m_vDistanceOuterMaxs: usize = 0x5BC; // Vector
+                pub const m_nAABBDirection: usize = 0x5C8; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_unDefIdx (item_definition_index_t)
+            // NetworkVarNames: m_nCost (int)
+            // NetworkVarNames: m_nPrevArmor (int)
+            // NetworkVarNames: m_bPrevHelmet (bool)
+            // NetworkVarNames: m_hItem (CEntityHandle)
+            pub mod SellbackPurchaseEntry_t {
+                pub const m_unDefIdx: usize = 0x30; // uint16
+                pub const m_nCost: usize = 0x34; // int32
+                pub const m_nPrevArmor: usize = 0x38; // int32
+                pub const m_bPrevHelmet: usize = 0x3C; // bool
+                pub const m_hItem: usize = 0x40; // CEntityHandle
+            }
+            // Parent: C_GameRules
+            // Field count: 0
+            pub mod C_SingleplayRules {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 25
+            pub mod C_LocalTempEntity {
+                pub const flags: usize = 0xF88; // int32
+                pub const die: usize = 0xF8C; // GameTime_t
+                pub const m_flFrameMax: usize = 0xF90; // float32
+                pub const x: usize = 0xF94; // float32
+                pub const y: usize = 0xF98; // float32
+                pub const fadeSpeed: usize = 0xF9C; // float32
+                pub const bounceFactor: usize = 0xFA0; // float32
+                pub const hitSound: usize = 0xFA4; // int32
+                pub const priority: usize = 0xFA8; // int32
+                pub const tentOffset: usize = 0xFAC; // Vector
+                pub const m_vecTempEntAngVelocity: usize = 0xFB8; // QAngle
+                pub const tempent_renderamt: usize = 0xFC4; // int32
+                pub const m_vecNormal: usize = 0xFC8; // Vector
+                pub const m_flSpriteScale: usize = 0xFD4; // float32
+                pub const m_nFlickerFrame: usize = 0xFD8; // int32
+                pub const m_flFrameRate: usize = 0xFDC; // float32
+                pub const m_flFrame: usize = 0xFE0; // float32
+                pub const m_pszImpactEffect: usize = 0xFE8; // char*
+                pub const m_pszParticleEffect: usize = 0xFF0; // char*
+                pub const m_bParticleCollision: usize = 0xFF8; // bool
+                pub const m_iLastCollisionFrame: usize = 0xFFC; // int32
+                pub const m_vLastCollisionOrigin: usize = 0x1000; // Vector
+                pub const m_vecTempEntVelocity: usize = 0x100C; // Vector
+                pub const m_vecPrevAbsOrigin: usize = 0x1018; // Vector
+                pub const m_vecTempEntAcceleration: usize = 0x1024; // Vector
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod C_EnvWindShared__WindAveEvent_t {
+                pub const m_flStartWindSpeed: usize = 0x0; // float32
+                pub const m_flAveWindSpeed: usize = 0x4; // float32
+            }
+            // Parent: C_BaseCSGrenadeProjectile
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsIncGrenade (bool)
+            pub mod C_MolotovProjectile {
+                pub const m_bIsIncGrenade: usize = 0x1208; // bool
+            }
+            // Parent: C_LightDirectionalEntity
+            // Field count: 0
+            pub mod C_LightEnvironmentEntity {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponUMP45 {
+            }
+            // Parent: C_PointEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_nResolutionX (int)
+            // NetworkVarNames: m_nResolutionY (int)
+            // NetworkVarNames: m_szLayoutFileName (string_t)
+            // NetworkVarNames: m_RenderAttrName (string_t)
+            // NetworkVarNames: m_TargetEntities (CHandle<C_BaseModelEntity>)
+            // NetworkVarNames: m_nTargetChangeCount (int)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            pub mod CInfoOffscreenPanoramaTexture {
+                pub const m_bDisabled: usize = 0x568; // bool
+                pub const m_nResolutionX: usize = 0x56C; // int32
+                pub const m_nResolutionY: usize = 0x570; // int32
+                pub const m_szLayoutFileName: usize = 0x578; // CUtlSymbolLarge
+                pub const m_RenderAttrName: usize = 0x580; // CUtlSymbolLarge
+                pub const m_TargetEntities: usize = 0x588; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
+                pub const m_nTargetChangeCount: usize = 0x5A0; // int32
+                pub const m_vecCSSClasses: usize = 0x5A8; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
+                pub const m_bCheckCSSClasses: usize = 0x720; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_Flags (uint8)
+            // NetworkVarNames: m_LightStyle (uint8)
+            // NetworkVarNames: m_Radius (float32)
+            // NetworkVarNames: m_Exponent (int32)
+            // NetworkVarNames: m_InnerAngle (float32)
+            // NetworkVarNames: m_OuterAngle (float32)
+            // NetworkVarNames: m_SpotRadius (float32)
+            pub mod C_DynamicLight {
+                pub const m_Flags: usize = 0xD28; // uint8
+                pub const m_LightStyle: usize = 0xD29; // uint8
+                pub const m_Radius: usize = 0xD2C; // float32
+                pub const m_Exponent: usize = 0xD30; // int32
+                pub const m_InnerAngle: usize = 0xD34; // float32
+                pub const m_OuterAngle: usize = 0xD38; // float32
+                pub const m_SpotRadius: usize = 0xD3C; // float32
+            }
+            // Parent: C_BasePlayerWeapon
+            // Field count: 73
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_flFireSequenceStartTime (float)
+            // NetworkVarNames: m_nFireSequenceStartTimeChange (int)
+            // NetworkVarNames: m_ePlayerFireEvent (PlayerAnimEvent_t)
+            // NetworkVarNames: m_ePlayerFireEventAttackType (WeaponAttackType_t)
+            // NetworkVarNames: m_iState (CSWeaponState_t)
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_flTimeWeaponIdle (GameTime_t)
+            // NetworkVarNames: m_weaponMode (CSWeaponMode)
+            // NetworkVarNames: m_fAccuracyPenalty (float)
+            // NetworkVarNames: m_iRecoilIndex (int)
+            // NetworkVarNames: m_flRecoilIndex (float)
+            // NetworkVarNames: m_bBurstMode (bool)
+            // NetworkVarNames: m_nPostponeFireReadyTicks (GameTick_t)
+            // NetworkVarNames: m_flPostponeFireReadyFrac (float)
+            // NetworkVarNames: m_bInReload (bool)
+            // NetworkVarNames: m_bReloadVisuallyComplete (bool)
+            // NetworkVarNames: m_flDroppedAtTime (GameTime_t)
+            // NetworkVarNames: m_bIsHauledBack (bool)
+            // NetworkVarNames: m_bSilencerOn (bool)
+            // NetworkVarNames: m_flTimeSilencerSwitchComplete (GameTime_t)
+            // NetworkVarNames: m_iOriginalTeamNumber (int)
+            // NetworkVarNames: m_iMostRecentTeamNumber (int)
+            // NetworkVarNames: m_bDroppedNearBuyZone (bool)
+            // NetworkVarNames: m_nextPrevOwnerUseTime (GameTime_t)
+            // NetworkVarNames: m_hPrevOwner (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_nDropTick (GameTick_t)
+            // NetworkVarNames: m_fLastShotTime (GameTime_t)
+            // NetworkVarNames: m_iIronSightMode (int)
+            // NetworkVarNames: m_iNumEmptyAttacks (int)
+            pub mod C_CSWeaponBase {
+                pub const m_flFireSequenceStartTime: usize = 0x16DC; // float32
+                pub const m_nFireSequenceStartTimeChange: usize = 0x16E0; // int32
+                pub const m_nFireSequenceStartTimeAck: usize = 0x16E4; // int32
+                pub const m_ePlayerFireEvent: usize = 0x16E8; // PlayerAnimEvent_t
+                pub const m_ePlayerFireEventAttackType: usize = 0x16EC; // WeaponAttackType_t
+                pub const m_seqIdle: usize = 0x16F0; // HSequence
+                pub const m_seqFirePrimary: usize = 0x16F4; // HSequence
+                pub const m_seqFireSecondary: usize = 0x16F8; // HSequence
+                pub const m_thirdPersonFireSequences: usize = 0x1700; // CUtlVector<HSequence>
+                pub const m_hCurrentThirdPersonSequence: usize = 0x1718; // HSequence
+                pub const m_nSilencerBoneIndex: usize = 0x171C; // int32
+                pub const m_thirdPersonSequences: usize = 0x1720; // HSequence[7]
+                pub const m_ClientPreviousWeaponState: usize = 0x1758; // CSWeaponState_t
+                pub const m_iState: usize = 0x175C; // CSWeaponState_t
+                pub const m_flCrosshairDistance: usize = 0x1760; // float32
+                pub const m_iAmmoLastCheck: usize = 0x1764; // int32
+                pub const m_iAlpha: usize = 0x1768; // int32
+                pub const m_iScopeTextureID: usize = 0x176C; // int32
+                pub const m_iCrosshairTextureID: usize = 0x1770; // int32
+                pub const m_flGunAccuracyPositionDeprecated: usize = 0x1774; // float32
+                pub const m_nLastEmptySoundCmdNum: usize = 0x1778; // int32
+                pub const m_nViewModelIndex: usize = 0x177C; // uint32
+                pub const m_bReloadsWithClips: usize = 0x1780; // bool
+                pub const m_flTimeWeaponIdle: usize = 0x1784; // GameTime_t
+                pub const m_bFireOnEmpty: usize = 0x1788; // bool
+                pub const m_OnPlayerPickup: usize = 0x1790; // CEntityIOOutput
+                pub const m_weaponMode: usize = 0x17B8; // CSWeaponMode
+                pub const m_flTurningInaccuracyDelta: usize = 0x17BC; // float32
+                pub const m_vecTurningInaccuracyEyeDirLast: usize = 0x17C0; // Vector
+                pub const m_flTurningInaccuracy: usize = 0x17CC; // float32
+                pub const m_fAccuracyPenalty: usize = 0x17D0; // float32
+                pub const m_flLastAccuracyUpdateTime: usize = 0x17D4; // GameTime_t
+                pub const m_fAccuracySmoothedForZoom: usize = 0x17D8; // float32
+                pub const m_fScopeZoomEndTime: usize = 0x17DC; // GameTime_t
+                pub const m_iRecoilIndex: usize = 0x17E0; // int32
+                pub const m_flRecoilIndex: usize = 0x17E4; // float32
+                pub const m_bBurstMode: usize = 0x17E8; // bool
+                pub const m_flLastBurstModeChangeTime: usize = 0x17EC; // GameTime_t
+                pub const m_nPostponeFireReadyTicks: usize = 0x17F0; // GameTick_t
+                pub const m_flPostponeFireReadyFrac: usize = 0x17F4; // float32
+                pub const m_bInReload: usize = 0x17F8; // bool
+                pub const m_bReloadVisuallyComplete: usize = 0x17F9; // bool
+                pub const m_flDroppedAtTime: usize = 0x17FC; // GameTime_t
+                pub const m_bIsHauledBack: usize = 0x1800; // bool
+                pub const m_bSilencerOn: usize = 0x1801; // bool
+                pub const m_flTimeSilencerSwitchComplete: usize = 0x1804; // GameTime_t
+                pub const m_iOriginalTeamNumber: usize = 0x1808; // int32
+                pub const m_iMostRecentTeamNumber: usize = 0x180C; // int32
+                pub const m_bDroppedNearBuyZone: usize = 0x1810; // bool
+                pub const m_flNextAttackRenderTimeOffset: usize = 0x1814; // float32
+                pub const m_bClearWeaponIdentifyingUGC: usize = 0x18B0; // bool
+                pub const m_bVisualsDataSet: usize = 0x18B1; // bool
+                pub const m_bOldFirstPersonSpectatedState: usize = 0x18B2; // bool
+                pub const m_bUIWeapon: usize = 0x18B3; // bool
+                pub const m_nCustomEconReloadEventId: usize = 0x18B4; // int32
+                pub const m_nextPrevOwnerUseTime: usize = 0x18C0; // GameTime_t
+                pub const m_hPrevOwner: usize = 0x18C4; // CHandle<C_CSPlayerPawn>
+                pub const m_nDropTick: usize = 0x18C8; // GameTick_t
+                pub const m_donated: usize = 0x18EC; // bool
+                pub const m_fLastShotTime: usize = 0x18F0; // GameTime_t
+                pub const m_bWasOwnedByCT: usize = 0x18F4; // bool
+                pub const m_bWasOwnedByTerrorist: usize = 0x18F5; // bool
+                pub const m_gunHeat: usize = 0x18F8; // float32
+                pub const m_smokeAttachments: usize = 0x18FC; // uint32
+                pub const m_lastSmokeTime: usize = 0x1900; // GameTime_t
+                pub const m_flNextClientFireBulletTime: usize = 0x1904; // float32
+                pub const m_flNextClientFireBulletTime_Repredict: usize = 0x1908; // float32
+                pub const m_IronSightController: usize = 0x19E0; // C_IronSightController
+                pub const m_iIronSightMode: usize = 0x1A90; // int32
+                pub const m_flLastLOSTraceFailureTime: usize = 0x1AA0; // GameTime_t
+                pub const m_iNumEmptyAttacks: usize = 0x1AA4; // int32
+                pub const m_flLastMagDropRequestTime: usize = 0x1B00; // GameTime_t
+                pub const m_flWatTickOffset: usize = 0x1B04; // float32
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_TriggerVolume {
+            }
+            // Parent: C_FuncBrush
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_EffectName (string_t)
+            // NetworkVarNames: m_bState (bool)
+            pub mod C_FuncElectrifiedVolume {
+                pub const m_nAmbientEffect: usize = 0xD28; // ParticleIndex_t
+                pub const m_EffectName: usize = 0xD30; // CUtlSymbolLarge
+                pub const m_bState: usize = 0xD38; // bool
+            }
+            // Parent: CPlayer_WeaponServices
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_flNextAttack (GameTime_t)
+            // NetworkVarNames: m_bIsLookingAtWeapon (bool)
+            // NetworkVarNames: m_bIsHoldingLookAtWeapon (bool)
+            pub mod CCSPlayer_WeaponServices {
+                pub const m_flNextAttack: usize = 0xB8; // GameTime_t
+                pub const m_bIsLookingAtWeapon: usize = 0xBC; // bool
+                pub const m_bIsHoldingLookAtWeapon: usize = 0xBD; // bool
+                pub const m_nOldShootPositionHistoryCount: usize = 0xC0; // uint32
+                pub const m_nOldInputHistoryCount: usize = 0x458; // uint32
+            }
+            // Parent: C_BaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFadeStartDist (float32)
+            // NetworkVarNames: m_flFadeEndDist (float32)
+            pub mod C_EnvDetailController {
+                pub const m_flFadeStartDist: usize = 0x568; // float32
+                pub const m_flFadeEndDist: usize = 0x56C; // float32
+            }
+            // Parent: CEntityInstance
+            // Field count: 82
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_CBodyComponent (CBodyComponent::Storage_t)
+            // NetworkVarNames: m_iMaxHealth (int32)
+            // NetworkVarNames: m_iHealth (int32)
+            // NetworkVarNames: m_lifeState (uint8)
+            // NetworkVarNames: m_bTakesDamage (bool)
+            // NetworkVarNames: m_nTakeDamageFlags (TakeDamageFlags_t)
+            // NetworkVarNames: m_nPlatformType (EntityPlatformTypes_t)
+            // NetworkVarNames: m_ubInterpolationFrame (uint8)
+            // NetworkVarNames: m_nSubclassID (EntitySubclassID_t)
+            // NetworkVarNames: m_flAnimTime (float32)
+            // NetworkVarNames: m_flSimulationTime (float32)
+            // NetworkVarNames: m_flCreateTime (GameTime_t)
+            // NetworkVarNames: m_flSpeed (float)
+            // NetworkVarNames: m_bClientSideRagdoll (bool)
+            // NetworkVarNames: m_iTeamNum (uint8)
+            // NetworkVarNames: m_spawnflags (uint32)
+            // NetworkVarNames: m_nNextThinkTick (GameTick_t)
+            // NetworkVarNames: m_fFlags (uint32)
+            // NetworkVarNames: m_vecBaseVelocity (Vector)
+            // NetworkVarNames: m_hEffectEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hOwnerEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_MoveCollide (MoveCollide_t)
+            // NetworkVarNames: m_MoveType (MoveType_t)
+            // NetworkVarNames: m_flWaterLevel (float32)
+            // NetworkVarNames: m_fEffects (uint32)
+            // NetworkVarNames: m_hGroundEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nGroundBodyIndex (int)
+            // NetworkVarNames: m_flFriction (float32)
+            // NetworkVarNames: m_flElasticity (float32)
+            // NetworkVarNames: m_flGravityScale (float32)
+            // NetworkVarNames: m_flTimeScale (float32)
+            // NetworkVarNames: m_bAnimatedEveryTick (bool)
+            // NetworkVarNames: m_flNavIgnoreUntilTime (GameTime_t)
+            // NetworkVarNames: m_nBloodType (BloodType)
+            pub mod C_BaseEntity {
+                pub const m_CBodyComponent: usize = 0x38; // CBodyComponent*
+                pub const m_NetworkTransmitComponent: usize = 0x40; // CNetworkTransmitComponent
+                pub const m_nLastThinkTick: usize = 0x320; // GameTick_t
+                pub const m_pGameSceneNode: usize = 0x328; // CGameSceneNode*
+                pub const m_pRenderComponent: usize = 0x330; // CRenderComponent*
+                pub const m_pCollision: usize = 0x338; // CCollisionProperty*
+                pub const m_iMaxHealth: usize = 0x340; // int32
+                pub const m_iHealth: usize = 0x344; // int32
+                pub const m_lifeState: usize = 0x348; // uint8
+                pub const m_bTakesDamage: usize = 0x349; // bool
+                pub const m_nTakeDamageFlags: usize = 0x350; // TakeDamageFlags_t
+                pub const m_nPlatformType: usize = 0x358; // EntityPlatformTypes_t
+                pub const m_ubInterpolationFrame: usize = 0x359; // uint8
+                pub const m_hSceneObjectController: usize = 0x35C; // CHandle<C_BaseEntity>
+                pub const m_nNoInterpolationTick: usize = 0x360; // int32
+                pub const m_nVisibilityNoInterpolationTick: usize = 0x364; // int32
+                pub const m_flProxyRandomValue: usize = 0x368; // float32
+                pub const m_iEFlags: usize = 0x36C; // int32
+                pub const m_nWaterType: usize = 0x370; // uint8
+                pub const m_bInterpolateEvenWithNoModel: usize = 0x371; // bool
+                pub const m_bPredictionEligible: usize = 0x372; // bool
+                pub const m_bApplyLayerMatchIDToModel: usize = 0x373; // bool
+                pub const m_tokLayerMatchID: usize = 0x374; // CUtlStringToken
+                pub const m_nSubclassID: usize = 0x378; // CUtlStringToken
+                pub const m_nSimulationTick: usize = 0x388; // int32
+                pub const m_iCurrentThinkContext: usize = 0x38C; // int32
+                pub const m_aThinkFunctions: usize = 0x390; // CUtlVector<thinkfunc_t>
+                pub const m_bDisabledContextThinks: usize = 0x3A8; // bool
+                pub const m_flAnimTime: usize = 0x3AC; // float32
+                pub const m_flSimulationTime: usize = 0x3B0; // float32
+                pub const m_nSceneObjectOverrideFlags: usize = 0x3B4; // uint8
+                pub const m_bHasSuccessfullyInterpolated: usize = 0x3B5; // bool
+                pub const m_bHasAddedVarsToInterpolation: usize = 0x3B6; // bool
+                pub const m_bRenderEvenWhenNotSuccessfullyInterpolated: usize = 0x3B7; // bool
+                pub const m_nInterpolationLatchDirtyFlags: usize = 0x3B8; // int32[2]
+                pub const m_ListEntry: usize = 0x3C0; // uint16[11]
+                pub const m_flCreateTime: usize = 0x3D8; // GameTime_t
+                pub const m_flSpeed: usize = 0x3DC; // float32
+                pub const m_EntClientFlags: usize = 0x3E0; // uint16
+                pub const m_bClientSideRagdoll: usize = 0x3E2; // bool
+                pub const m_iTeamNum: usize = 0x3E3; // uint8
+                pub const m_spawnflags: usize = 0x3E4; // uint32
+                pub const m_nNextThinkTick: usize = 0x3E8; // GameTick_t
+                pub const m_fFlags: usize = 0x3EC; // uint32
+                pub const m_vecAbsVelocity: usize = 0x3F0; // Vector
+                pub const m_vecVelocity: usize = 0x400; // CNetworkVelocityVector
+                pub const m_vecBaseVelocity: usize = 0x430; // Vector
+                pub const m_hEffectEntity: usize = 0x43C; // CHandle<C_BaseEntity>
+                pub const m_hOwnerEntity: usize = 0x440; // CHandle<C_BaseEntity>
+                pub const m_MoveCollide: usize = 0x444; // MoveCollide_t
+                pub const m_MoveType: usize = 0x445; // MoveType_t
+                pub const m_nActualMoveType: usize = 0x446; // MoveType_t
+                pub const m_flWaterLevel: usize = 0x448; // float32
+                pub const m_fEffects: usize = 0x44C; // uint32
+                pub const m_hGroundEntity: usize = 0x450; // CHandle<C_BaseEntity>
+                pub const m_nGroundBodyIndex: usize = 0x454; // int32
+                pub const m_flFriction: usize = 0x458; // float32
+                pub const m_flElasticity: usize = 0x45C; // float32
+                pub const m_flGravityScale: usize = 0x460; // float32
+                pub const m_flTimeScale: usize = 0x464; // float32
+                pub const m_bAnimatedEveryTick: usize = 0x468; // bool
+                pub const m_flNavIgnoreUntilTime: usize = 0x46C; // GameTime_t
+                pub const m_hThink: usize = 0x470; // uint16
+                pub const m_fBBoxVisFlags: usize = 0x480; // uint8
+                pub const m_bPredictable: usize = 0x481; // bool
+                pub const m_bRenderWithViewModels: usize = 0x482; // bool
+                pub const m_nSplitUserPlayerPredictionSlot: usize = 0x484; // CSplitScreenSlot
+                pub const m_nFirstPredictableCommand: usize = 0x488; // int32
+                pub const m_nLastPredictableCommand: usize = 0x48C; // int32
+                pub const m_hOldMoveParent: usize = 0x490; // CHandle<C_BaseEntity>
+                pub const m_Particles: usize = 0x498; // CParticleProperty
+                pub const m_vecPredictedScriptFloats: usize = 0x4C0; // CUtlVector<float32>
+                pub const m_vecPredictedScriptFloatIDs: usize = 0x4D8; // CUtlVector<int32>
+                pub const m_nNextScriptVarRecordID: usize = 0x508; // int32
+                pub const m_vecAngVelocity: usize = 0x518; // QAngle
+                pub const m_DataChangeEventRef: usize = 0x524; // int32
+                pub const m_dependencies: usize = 0x528; // CUtlVector<CEntityHandle>
+                pub const m_nCreationTick: usize = 0x540; // int32
+                pub const m_bAnimTimeChanged: usize = 0x54D; // bool
+                pub const m_bSimulationTimeChanged: usize = 0x54E; // bool
+                pub const m_sUniqueHammerID: usize = 0x558; // CUtlString
+                pub const m_nBloodType: usize = 0x560; // BloodType
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_nameStringableIndex (int32)
+            pub mod CEntityIdentity {
+                pub const m_nameStringableIndex: usize = 0x14; // int32
+                pub const m_name: usize = 0x18; // CUtlSymbolLarge
+                pub const m_designerName: usize = 0x20; // CUtlSymbolLarge
+                pub const m_flags: usize = 0x30; // uint32
+                pub const m_worldGroupId: usize = 0x38; // WorldGroupId_t
+                pub const m_fDataObjectTypes: usize = 0x3C; // uint32
+                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*
+            }
+            // Parent: C_CS2WeaponModuleBase
+            // Field count: 1
+            pub mod C_StattrakModule {
+                pub const m_bKnife: usize = 0xF90; // bool
+            }
+            // Parent: C_BreakableProp
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bAwake (bool)
+            pub mod C_PhysicsProp {
+                pub const m_bAwake: usize = 0x1110; // bool
+            }
+            // Parent: CBaseProp
+            // Field count: 29
+            //
+            // Metadata:
+            // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+            // NetworkVarNames: m_noGhostCollision (bool)
+            pub mod C_BreakableProp {
+                pub const m_CPropDataComponent: usize = 0xFC8; // CPropDataComponent
+                pub const m_OnBreak: usize = 0x1008; // CEntityIOOutput
+                pub const m_OnHealthChanged: usize = 0x1030; // CEntityOutputTemplate<float32>
+                pub const m_OnTakeDamage: usize = 0x1058; // CEntityIOOutput
+                pub const m_impactEnergyScale: usize = 0x1080; // float32
+                pub const m_iMinHealthDmg: usize = 0x1084; // int32
+                pub const m_flPressureDelay: usize = 0x1088; // float32
+                pub const m_flDefBurstScale: usize = 0x108C; // float32
+                pub const m_vDefBurstOffset: usize = 0x1090; // Vector
+                pub const m_hBreaker: usize = 0x109C; // CHandle<C_BaseEntity>
+                pub const m_PerformanceMode: usize = 0x10A0; // PerformanceMode_t
+                pub const m_flPreventDamageBeforeTime: usize = 0x10A4; // GameTime_t
+                pub const m_BreakableContentsType: usize = 0x10A8; // BreakableContentsType_t
+                pub const m_strBreakableContentsPropGroupOverride: usize = 0x10B0; // CUtlString
+                pub const m_strBreakableContentsParticleOverride: usize = 0x10B8; // CUtlString
+                pub const m_bHasBreakPiecesOrCommands: usize = 0x10C0; // bool
+                pub const m_explodeDamage: usize = 0x10C4; // float32
+                pub const m_explodeRadius: usize = 0x10C8; // float32
+                pub const m_explosionDelay: usize = 0x10D0; // float32
+                pub const m_explosionBuildupSound: usize = 0x10D8; // CUtlSymbolLarge
+                pub const m_explosionCustomEffect: usize = 0x10E0; // CUtlSymbolLarge
+                pub const m_explosionCustomSound: usize = 0x10E8; // CUtlSymbolLarge
+                pub const m_explosionModifier: usize = 0x10F0; // CUtlSymbolLarge
+                pub const m_hPhysicsAttacker: usize = 0x10F8; // CHandle<C_BasePlayerPawn>
+                pub const m_flLastPhysicsInfluenceTime: usize = 0x10FC; // GameTime_t
+                pub const m_flDefaultFadeScale: usize = 0x1100; // float32
+                pub const m_hLastAttacker: usize = 0x1104; // CHandle<C_BaseEntity>
+                pub const m_hFlareEnt: usize = 0x1108; // CHandle<C_BaseEntity>
+                pub const m_noGhostCollision: usize = 0x110C; // bool
+            }
+            // Parent: C_BaseToggle
+            // Field count: 0
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            pub mod C_FuncMoveLinear {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // NetworkVarNames: m_flFrameRate (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_nNumBeamEnts (uint8)
+            // NetworkVarNames: m_hBaseMaterial (HMaterialStrong)
+            // NetworkVarNames: m_nHaloIndex (HMaterialStrong)
+            // NetworkVarNames: m_nBeamType (BeamType_t)
+            // NetworkVarNames: m_nBeamFlags (uint32)
+            // NetworkVarNames: m_hAttachEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_fWidth (float32)
+            // NetworkVarNames: m_fEndWidth (float32)
+            // NetworkVarNames: m_fFadeLength (float32)
+            // NetworkVarNames: m_fHaloScale (float32)
+            // NetworkVarNames: m_fAmplitude (float32)
+            // NetworkVarNames: m_fStartFrame (float32)
+            // NetworkVarNames: m_fSpeed (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nClipStyle (BeamClipStyle_t)
+            // NetworkVarNames: m_bTurnedOff (bool)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            pub mod C_Beam {
+                pub const m_flFrameRate: usize = 0xD28; // float32
+                pub const m_flHDRColorScale: usize = 0xD2C; // float32
+                pub const m_flFireTime: usize = 0xD30; // GameTime_t
+                pub const m_flDamage: usize = 0xD34; // float32
+                pub const m_nNumBeamEnts: usize = 0xD38; // uint8
+                pub const m_queryHandleHalo: usize = 0xD3C; // int32
+                pub const m_hBaseMaterial: usize = 0xD60; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nHaloIndex: usize = 0xD68; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nBeamType: usize = 0xD70; // BeamType_t
+                pub const m_nBeamFlags: usize = 0xD74; // uint32
+                pub const m_hAttachEntity: usize = 0xD78; // CHandle<C_BaseEntity>[10]
+                pub const m_nAttachIndex: usize = 0xDA0; // AttachmentHandle_t[10]
+                pub const m_fWidth: usize = 0xDAC; // float32
+                pub const m_fEndWidth: usize = 0xDB0; // float32
+                pub const m_fFadeLength: usize = 0xDB4; // float32
+                pub const m_fHaloScale: usize = 0xDB8; // float32
+                pub const m_fAmplitude: usize = 0xDBC; // float32
+                pub const m_fStartFrame: usize = 0xDC0; // float32
+                pub const m_fSpeed: usize = 0xDC4; // float32
+                pub const m_flFrame: usize = 0xDC8; // float32
+                pub const m_nClipStyle: usize = 0xDCC; // BeamClipStyle_t
+                pub const m_bTurnedOff: usize = 0xDD0; // bool
+                pub const m_vecEndPos: usize = 0xDD4; // Vector
+                pub const m_hEndEntity: usize = 0xDE0; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nVariant (int)
+            // NetworkVarNames: m_nRandom (int)
+            // NetworkVarNames: m_nOrdinal (int)
+            // NetworkVarNames: m_sWeaponName (CUtlString)
+            // NetworkVarNames: m_xuid (XUID)
+            // NetworkVarNames: m_agentItem (CEconItemView)
+            // NetworkVarNames: m_glovesItem (CEconItemView)
+            // NetworkVarNames: m_weaponItem (CEconItemView)
+            pub mod C_CSGO_TeamPreviewCharacterPosition {
+                pub const m_nVariant: usize = 0x568; // int32
+                pub const m_nRandom: usize = 0x56C; // int32
+                pub const m_nOrdinal: usize = 0x570; // int32
+                pub const m_sWeaponName: usize = 0x578; // CUtlString
+                pub const m_xuid: usize = 0x580; // uint64
+                pub const m_agentItem: usize = 0x588; // C_EconItemView
+                pub const m_glovesItem: usize = 0x9D0; // C_EconItemView
+                pub const m_weaponItem: usize = 0xE18; // C_EconItemView
+            }
+            // Parent: C_DynamicProp
+            // Field count: 0
+            pub mod C_DynamicPropAlias_prop_dynamic_override {
+            }
+            // Parent: C_PointEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszOverlayNames (string_t)
+            // NetworkVarNames: m_flOverlayTimes (float32)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iDesiredOverlay (int32)
+            // NetworkVarNames: m_bIsActive (bool)
+            pub mod C_EnvScreenOverlay {
+                pub const m_iszOverlayNames: usize = 0x568; // CUtlSymbolLarge[10]
+                pub const m_flOverlayTimes: usize = 0x5B8; // float32[10]
+                pub const m_flStartTime: usize = 0x5E0; // GameTime_t
+                pub const m_iDesiredOverlay: usize = 0x5E4; // int32
+                pub const m_bIsActive: usize = 0x5E8; // bool
+                pub const m_bWasActive: usize = 0x5E9; // bool
+                pub const m_iCachedDesiredOverlay: usize = 0x5EC; // int32
+                pub const m_iCurrentOverlay: usize = 0x5F0; // int32
+                pub const m_flCurrentOverlayTime: usize = 0x5F4; // GameTime_t
+            }
+            // Parent: CBasePlayerWeaponVData
+            // Field count: 92
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertySuppressBaseClassField
+            // MPropertySuppressBaseClassField
+            pub mod CCSWeaponBaseVData {
+                pub const m_WeaponType: usize = 0x348; // CSWeaponType
+                pub const m_WeaponCategory: usize = 0x34C; // CSWeaponCategory
+                pub const m_szViewModel: usize = 0x350; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szPlayerModel: usize = 0x430; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szWorldDroppedModel: usize = 0x510; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szAimsightLensMaskModel: usize = 0x5F0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szMagazineModel: usize = 0x6D0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szHeatEffect: usize = 0x7B0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szEjectBrassEffect: usize = 0x890; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szMuzzleFlashParticleAlt: usize = 0x970; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szMuzzleFlashThirdPersonParticle: usize = 0xA50; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szMuzzleFlashThirdPersonParticleAlt: usize = 0xB30; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szTracerParticle: usize = 0xC10; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_GearSlot: usize = 0xCF0; // gear_slot_t
+                pub const m_GearSlotPosition: usize = 0xCF4; // int32
+                pub const m_DefaultLoadoutSlot: usize = 0xCF8; // loadout_slot_t
+                pub const m_sWrongTeamMsg: usize = 0xD00; // CUtlString
+                pub const m_nPrice: usize = 0xD08; // int32
+                pub const m_nKillAward: usize = 0xD0C; // int32
+                pub const m_nPrimaryReserveAmmoMax: usize = 0xD10; // int32
+                pub const m_nSecondaryReserveAmmoMax: usize = 0xD14; // int32
+                pub const m_bMeleeWeapon: usize = 0xD18; // bool
+                pub const m_bHasBurstMode: usize = 0xD19; // bool
+                pub const m_bIsRevolver: usize = 0xD1A; // bool
+                pub const m_bCannotShootUnderwater: usize = 0xD1B; // bool
+                pub const m_szName: usize = 0xD20; // CGlobalSymbol
+                pub const m_szAnimExtension: usize = 0xD28; // CUtlString
+                pub const m_eSilencerType: usize = 0xD30; // CSWeaponSilencerType
+                pub const m_nCrosshairMinDistance: usize = 0xD34; // int32
+                pub const m_nCrosshairDeltaDistance: usize = 0xD38; // int32
+                pub const m_bIsFullAuto: usize = 0xD3C; // bool
+                pub const m_nNumBullets: usize = 0xD40; // int32
+                pub const m_flCycleTime: usize = 0xD44; // CFiringModeFloat
+                pub const m_flMaxSpeed: usize = 0xD4C; // CFiringModeFloat
+                pub const m_flSpread: usize = 0xD54; // CFiringModeFloat
+                pub const m_flInaccuracyCrouch: usize = 0xD5C; // CFiringModeFloat
+                pub const m_flInaccuracyStand: usize = 0xD64; // CFiringModeFloat
+                pub const m_flInaccuracyJump: usize = 0xD6C; // CFiringModeFloat
+                pub const m_flInaccuracyLand: usize = 0xD74; // CFiringModeFloat
+                pub const m_flInaccuracyLadder: usize = 0xD7C; // CFiringModeFloat
+                pub const m_flInaccuracyFire: usize = 0xD84; // CFiringModeFloat
+                pub const m_flInaccuracyMove: usize = 0xD8C; // CFiringModeFloat
+                pub const m_flRecoilAngle: usize = 0xD94; // CFiringModeFloat
+                pub const m_flRecoilAngleVariance: usize = 0xD9C; // CFiringModeFloat
+                pub const m_flRecoilMagnitude: usize = 0xDA4; // CFiringModeFloat
+                pub const m_flRecoilMagnitudeVariance: usize = 0xDAC; // CFiringModeFloat
+                pub const m_nTracerFrequency: usize = 0xDB4; // CFiringModeInt
+                pub const m_flInaccuracyJumpInitial: usize = 0xDBC; // float32
+                pub const m_flInaccuracyJumpApex: usize = 0xDC0; // float32
+                pub const m_flInaccuracyReload: usize = 0xDC4; // float32
+                pub const m_nRecoilSeed: usize = 0xDC8; // int32
+                pub const m_nSpreadSeed: usize = 0xDCC; // int32
+                pub const m_flTimeToIdleAfterFire: usize = 0xDD0; // float32
+                pub const m_flIdleInterval: usize = 0xDD4; // float32
+                pub const m_flAttackMovespeedFactor: usize = 0xDD8; // float32
+                pub const m_flHeatPerShot: usize = 0xDDC; // float32
+                pub const m_flInaccuracyPitchShift: usize = 0xDE0; // float32
+                pub const m_flInaccuracyAltSoundThreshold: usize = 0xDE4; // float32
+                pub const m_flBotAudibleRange: usize = 0xDE8; // float32
+                pub const m_szUseRadioSubtitle: usize = 0xDF0; // CUtlString
+                pub const m_bUnzoomsAfterShot: usize = 0xDF8; // bool
+                pub const m_bHideViewModelWhenZoomed: usize = 0xDF9; // bool
+                pub const m_nZoomLevels: usize = 0xDFC; // int32
+                pub const m_nZoomFOV1: usize = 0xE00; // int32
+                pub const m_nZoomFOV2: usize = 0xE04; // int32
+                pub const m_flZoomTime0: usize = 0xE08; // float32
+                pub const m_flZoomTime1: usize = 0xE0C; // float32
+                pub const m_flZoomTime2: usize = 0xE10; // float32
+                pub const m_flIronSightPullUpSpeed: usize = 0xE14; // float32
+                pub const m_flIronSightPutDownSpeed: usize = 0xE18; // float32
+                pub const m_flIronSightFOV: usize = 0xE1C; // float32
+                pub const m_flIronSightPivotForward: usize = 0xE20; // float32
+                pub const m_flIronSightLooseness: usize = 0xE24; // float32
+                pub const m_angPivotAngle: usize = 0xE28; // QAngle
+                pub const m_vecIronSightEyePos: usize = 0xE34; // Vector
+                pub const m_nDamage: usize = 0xE40; // int32
+                pub const m_flHeadshotMultiplier: usize = 0xE44; // float32
+                pub const m_flArmorRatio: usize = 0xE48; // float32
+                pub const m_flPenetration: usize = 0xE4C; // float32
+                pub const m_flRange: usize = 0xE50; // float32
+                pub const m_flRangeModifier: usize = 0xE54; // float32
+                pub const m_flFlinchVelocityModifierLarge: usize = 0xE58; // float32
+                pub const m_flFlinchVelocityModifierSmall: usize = 0xE5C; // float32
+                pub const m_flRecoveryTimeCrouch: usize = 0xE60; // float32
+                pub const m_flRecoveryTimeStand: usize = 0xE64; // float32
+                pub const m_flRecoveryTimeCrouchFinal: usize = 0xE68; // float32
+                pub const m_flRecoveryTimeStandFinal: usize = 0xE6C; // float32
+                pub const m_nRecoveryTransitionStartBullet: usize = 0xE70; // int32
+                pub const m_nRecoveryTransitionEndBullet: usize = 0xE74; // int32
+                pub const m_flThrowVelocity: usize = 0xE78; // float32
+                pub const m_vSmokeColor: usize = 0xE7C; // Vector
+                pub const m_szAnimClass: usize = 0xE88; // CGlobalSymbol
+            }
+            // Parent: C_ModelPointEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            // NetworkVarNames: m_FontName (char)
+            // NetworkVarNames: m_BackgroundMaterialName (char)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFullbright (bool)
+            // NetworkVarNames: m_flWorldUnitsPerPx (float)
+            // NetworkVarNames: m_flFontSize (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_bDrawBackground (bool)
+            // NetworkVarNames: m_flBackgroundBorderWidth (float)
+            // NetworkVarNames: m_flBackgroundBorderHeight (float)
+            // NetworkVarNames: m_flBackgroundWorldToUV (float)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_nJustifyHorizontal (PointWorldTextJustifyHorizontal_t)
+            // NetworkVarNames: m_nJustifyVertical (PointWorldTextJustifyVertical_t)
+            // NetworkVarNames: m_nReorientMode (PointWorldTextReorientMode_t)
+            pub mod C_PointWorldText {
+                pub const m_bForceRecreateNextUpdate: usize = 0xD30; // bool
+                pub const m_messageText: usize = 0xD48; // char[512]
+                pub const m_FontName: usize = 0xF48; // char[64]
+                pub const m_BackgroundMaterialName: usize = 0xF88; // char[64]
+                pub const m_bEnabled: usize = 0xFC8; // bool
+                pub const m_bFullbright: usize = 0xFC9; // bool
+                pub const m_flWorldUnitsPerPx: usize = 0xFCC; // float32
+                pub const m_flFontSize: usize = 0xFD0; // float32
+                pub const m_flDepthOffset: usize = 0xFD4; // float32
+                pub const m_bDrawBackground: usize = 0xFD8; // bool
+                pub const m_flBackgroundBorderWidth: usize = 0xFDC; // float32
+                pub const m_flBackgroundBorderHeight: usize = 0xFE0; // float32
+                pub const m_flBackgroundWorldToUV: usize = 0xFE4; // float32
+                pub const m_Color: usize = 0xFE8; // Color
+                pub const m_nJustifyHorizontal: usize = 0xFEC; // PointWorldTextJustifyHorizontal_t
+                pub const m_nJustifyVertical: usize = 0xFF0; // PointWorldTextJustifyVertical_t
+                pub const m_nReorientMode: usize = 0xFF4; // PointWorldTextReorientMode_t
+            }
+            // Parent: CBasePlayerController
+            // Field count: 66
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_pInGameMoneyServices (CCSPlayerController_InGameMoneyServices*)
+            // NetworkVarNames: m_pInventoryServices (CCSPlayerController_InventoryServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayerController_ActionTrackingServices*)
+            // NetworkVarNames: m_pDamageServices (CCSPlayerController_DamageServices*)
+            // NetworkVarNames: m_iPing (uint32)
+            // NetworkVarNames: m_bHasCommunicationAbuseMute (bool)
+            // NetworkVarNames: m_szCrosshairCodes (string_t)
+            // NetworkVarNames: m_iPendingTeamNum (uint8)
+            // NetworkVarNames: m_flForceTeamTime (GameTime_t)
+            // NetworkVarNames: m_iCompTeammateColor (int)
+            // NetworkVarNames: m_bEverPlayedOnTeam (bool)
+            // NetworkVarNames: m_szClan (string_t)
+            // NetworkVarNames: m_iCoachingTeam (int)
+            // NetworkVarNames: m_nPlayerDominated (uint64)
+            // NetworkVarNames: m_nPlayerDominatingMe (uint64)
+            // NetworkVarNames: m_iCompetitiveRanking (int)
+            // NetworkVarNames: m_iCompetitiveWins (int)
+            // NetworkVarNames: m_iCompetitiveRankType (int8)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Win (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Loss (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Tie (int)
+            // NetworkVarNames: m_nEndMatchNextMapVote (int)
+            // NetworkVarNames: m_unActiveQuestId (uint16)
+            // NetworkVarNames: m_nQuestProgressReason (QuestProgress::Reason)
+            // NetworkVarNames: m_unPlayerTvControlFlags (uint32)
+            // NetworkVarNames: m_nDisconnectionTick (int)
+            // NetworkVarNames: m_bControllingBot (bool)
+            // NetworkVarNames: m_bHasControlledBotThisRound (bool)
+            // NetworkVarNames: m_bCanControlObservedBot (bool)
+            // NetworkVarNames: m_hPlayerPawn (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hObserverPawn (CHandle<CCSObserverPawn>)
+            // NetworkVarNames: m_bPawnIsAlive (bool)
+            // NetworkVarNames: m_iPawnHealth (uint32)
+            // NetworkVarNames: m_iPawnArmor (int)
+            // NetworkVarNames: m_bPawnHasDefuser (bool)
+            // NetworkVarNames: m_bPawnHasHelmet (bool)
+            // NetworkVarNames: m_nPawnCharacterDefIndex (item_definition_index_t)
+            // NetworkVarNames: m_iPawnLifetimeStart (int)
+            // NetworkVarNames: m_iPawnLifetimeEnd (int)
+            // NetworkVarNames: m_iPawnBotDifficulty (int)
+            // NetworkVarNames: m_hOriginalControllerOfCurrentPawn (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_recentKillQueue (uint8)
+            // NetworkVarNames: m_nFirstKill (uint8)
+            // NetworkVarNames: m_nKillCount (uint8)
+            // NetworkVarNames: m_bMvpNoMusic (bool)
+            // NetworkVarNames: m_eMvpReason (int)
+            // NetworkVarNames: m_iMusicKitID (int)
+            // NetworkVarNames: m_iMusicKitMVPs (int)
+            // NetworkVarNames: m_iMVPs (int)
+            // NetworkVarNames: m_bFireBulletsSeedSynchronized (bool)
+            pub mod CCSPlayerController {
+                pub const m_pInGameMoneyServices: usize = 0x720; // CCSPlayerController_InGameMoneyServices*
+                pub const m_pInventoryServices: usize = 0x728; // CCSPlayerController_InventoryServices*
+                pub const m_pActionTrackingServices: usize = 0x730; // CCSPlayerController_ActionTrackingServices*
+                pub const m_pDamageServices: usize = 0x738; // CCSPlayerController_DamageServices*
+                pub const m_iPing: usize = 0x740; // uint32
+                pub const m_bHasCommunicationAbuseMute: usize = 0x744; // bool
+                pub const m_szCrosshairCodes: usize = 0x748; // CUtlSymbolLarge
+                pub const m_iPendingTeamNum: usize = 0x750; // uint8
+                pub const m_flForceTeamTime: usize = 0x754; // GameTime_t
+                pub const m_iCompTeammateColor: usize = 0x758; // int32
+                pub const m_bEverPlayedOnTeam: usize = 0x75C; // bool
+                pub const m_flPreviousForceJoinTeamTime: usize = 0x760; // GameTime_t
+                pub const m_szClan: usize = 0x768; // CUtlSymbolLarge
+                pub const m_sSanitizedPlayerName: usize = 0x770; // CUtlString
+                pub const m_iCoachingTeam: usize = 0x778; // int32
+                pub const m_nPlayerDominated: usize = 0x780; // uint64
+                pub const m_nPlayerDominatingMe: usize = 0x788; // uint64
+                pub const m_iCompetitiveRanking: usize = 0x790; // int32
+                pub const m_iCompetitiveWins: usize = 0x794; // int32
+                pub const m_iCompetitiveRankType: usize = 0x798; // int8
+                pub const m_iCompetitiveRankingPredicted_Win: usize = 0x79C; // int32
+                pub const m_iCompetitiveRankingPredicted_Loss: usize = 0x7A0; // int32
+                pub const m_iCompetitiveRankingPredicted_Tie: usize = 0x7A4; // int32
+                pub const m_nEndMatchNextMapVote: usize = 0x7A8; // int32
+                pub const m_unActiveQuestId: usize = 0x7AC; // uint16
+                pub const m_nQuestProgressReason: usize = 0x7B0; // QuestProgress::Reason
+                pub const m_unPlayerTvControlFlags: usize = 0x7B4; // uint32
+                pub const m_iDraftIndex: usize = 0x7E0; // int32
+                pub const m_msQueuedModeDisconnectionTimestamp: usize = 0x7E4; // uint32
+                pub const m_uiAbandonRecordedReason: usize = 0x7E8; // uint32
+                pub const m_eNetworkDisconnectionReason: usize = 0x7EC; // uint32
+                pub const m_bCannotBeKicked: usize = 0x7F0; // bool
+                pub const m_bEverFullyConnected: usize = 0x7F1; // bool
+                pub const m_bAbandonAllowsSurrender: usize = 0x7F2; // bool
+                pub const m_bAbandonOffersInstantSurrender: usize = 0x7F3; // bool
+                pub const m_bDisconnection1MinWarningPrinted: usize = 0x7F4; // bool
+                pub const m_bScoreReported: usize = 0x7F5; // bool
+                pub const m_nDisconnectionTick: usize = 0x7F8; // int32
+                pub const m_bControllingBot: usize = 0x808; // bool
+                pub const m_bHasControlledBotThisRound: usize = 0x809; // bool
+                pub const m_bHasBeenControlledByPlayerThisRound: usize = 0x80A; // bool
+                pub const m_nBotsControlledThisRound: usize = 0x80C; // int32
+                pub const m_bCanControlObservedBot: usize = 0x810; // bool
+                pub const m_hPlayerPawn: usize = 0x814; // CHandle<C_CSPlayerPawn>
+                pub const m_hObserverPawn: usize = 0x818; // CHandle<C_CSObserverPawn>
+                pub const m_bPawnIsAlive: usize = 0x81C; // bool
+                pub const m_iPawnHealth: usize = 0x820; // uint32
+                pub const m_iPawnArmor: usize = 0x824; // int32
+                pub const m_bPawnHasDefuser: usize = 0x828; // bool
+                pub const m_bPawnHasHelmet: usize = 0x829; // bool
+                pub const m_nPawnCharacterDefIndex: usize = 0x82A; // uint16
+                pub const m_iPawnLifetimeStart: usize = 0x82C; // int32
+                pub const m_iPawnLifetimeEnd: usize = 0x830; // int32
+                pub const m_iPawnBotDifficulty: usize = 0x834; // int32
+                pub const m_hOriginalControllerOfCurrentPawn: usize = 0x838; // CHandle<CCSPlayerController>
+                pub const m_iScore: usize = 0x83C; // int32
+                pub const m_recentKillQueue: usize = 0x840; // uint8[8]
+                pub const m_nFirstKill: usize = 0x848; // uint8
+                pub const m_nKillCount: usize = 0x849; // uint8
+                pub const m_bMvpNoMusic: usize = 0x84A; // bool
+                pub const m_eMvpReason: usize = 0x84C; // int32
+                pub const m_iMusicKitID: usize = 0x850; // int32
+                pub const m_iMusicKitMVPs: usize = 0x854; // int32
+                pub const m_iMVPs: usize = 0x858; // int32
+                pub const m_bIsPlayerNameDirty: usize = 0x85C; // bool
+                pub const m_bFireBulletsSeedSynchronized: usize = 0x85D; // bool
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponFiveSeven {
+            }
+            // Parent: C_DynamicProp
+            // Field count: 7
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_eDoorState (DoorState_t)
+            // NetworkVarNames: m_bLocked (bool)
+            // NetworkVarNames: m_closedPosition (Vector)
+            // NetworkVarNames: m_closedAngles (QAngle)
+            // NetworkVarNames: m_hMaster (CHandle<C_BasePropDoor>)
+            pub mod C_BasePropDoor {
+                pub const m_eDoorState: usize = 0x1238; // DoorState_t
+                pub const m_modelChanged: usize = 0x123C; // bool
+                pub const m_bLocked: usize = 0x123D; // bool
+                pub const m_closedPosition: usize = 0x1240; // Vector
+                pub const m_closedAngles: usize = 0x124C; // QAngle
+                pub const m_hMaster: usize = 0x1258; // CHandle<C_BasePropDoor>
+                pub const m_vWhereToSetLightingOrigin: usize = 0x125C; // Vector
+            }
+            // Parent: C_CSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            pub mod C_CSGO_TeamSelectTerroristPosition {
+            }
+            // Parent: C_CS2WeaponModuleBase
+            // Field count: 1
+            pub mod C_NametagModule {
+                pub const m_strNametagString: usize = 0xF90; // CUtlString
+            }
+            // Parent: C_BreakableProp
+            // Field count: 6
+            pub mod C_PhysPropClientside {
+                pub const m_flTouchDelta: usize = 0x1110; // GameTime_t
+                pub const m_fDeathTime: usize = 0x1114; // GameTime_t
+                pub const m_inertiaScale: usize = 0x1118; // float32
+                pub const m_vecDamagePosition: usize = 0x111C; // Vector
+                pub const m_vecDamageDirection: usize = 0x1128; // Vector
+                pub const m_nDamageType: usize = 0x1134; // DamageTypes_t
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            pub mod C_CSGO_TeamSelectCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_iszSoundAreaType (string_t)
+            // NetworkVarNames: m_vPos (Vector)
+            pub mod C_SoundAreaEntityBase {
+                pub const m_bDisabled: usize = 0x568; // bool
+                pub const m_bWasEnabled: usize = 0x570; // bool
+                pub const m_iszSoundAreaType: usize = 0x578; // CUtlSymbolLarge
+                pub const m_vPos: usize = 0x580; // Vector
+            }
+            // Parent: C_BaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_fog (fogparams_t)
+            pub mod C_FogController {
+                pub const m_fog: usize = 0x568; // fogparams_t
+                pub const m_bUseAngles: usize = 0x5D0; // bool
+                pub const m_iChangedVariables: usize = 0x5D4; // int32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_ItemServices {
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_FuncBrush {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_worldName (string_t)
+            // NetworkVarNames: m_layerName (string_t)
+            // NetworkVarNames: m_bWorldLayerVisible (bool)
+            // NetworkVarNames: m_bEntitiesSpawned (bool)
+            pub mod CInfoWorldLayer {
+                pub const m_pOutputOnEntitiesSpawned: usize = 0x568; // CEntityIOOutput
+                pub const m_worldName: usize = 0x590; // CUtlSymbolLarge
+                pub const m_layerName: usize = 0x598; // CUtlSymbolLarge
+                pub const m_bWorldLayerVisible: usize = 0x5A0; // bool
+                pub const m_bEntitiesSpawned: usize = 0x5A1; // bool
+                pub const m_bCreateAsChildSpawnGroup: usize = 0x5A2; // bool
+                pub const m_hLayerSpawnGroup: usize = 0x5A4; // uint32
+                pub const m_bWorldLayerActuallyVisible: usize = 0x5A8; // bool
+            }
+            // Parent: C_BaseCombatCharacter
+            // Field count: 0
+            pub mod C_NetTestBaseCombatCharacter {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 2
+            pub mod C_PhysMagnet {
+                pub const m_aAttachedObjectsFromServer: usize = 0xF88; // CUtlVector<int32>
+                pub const m_aAttachedObjects: usize = 0xFA0; // CUtlVector<CHandle<C_BaseEntity>>
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // NetworkVarNames: m_vecMoveDirEntitySpace (Vector)
+            // NetworkVarNames: m_flTargetSpeed (float32)
+            // NetworkVarNames: m_nTransitionStartTick (GameTick_t)
+            // NetworkVarNames: m_nTransitionDurationTicks (int)
+            // NetworkVarNames: m_flTransitionStartSpeed (float32)
+            // NetworkVarNames: m_hConveyorModels (EHANDLE)
+            pub mod C_FuncConveyor {
+                pub const m_vecMoveDirEntitySpace: usize = 0xD30; // Vector
+                pub const m_flTargetSpeed: usize = 0xD3C; // float32
+                pub const m_nTransitionStartTick: usize = 0xD40; // GameTick_t
+                pub const m_nTransitionDurationTicks: usize = 0xD44; // int32
+                pub const m_flTransitionStartSpeed: usize = 0xD48; // float32
+                pub const m_hConveyorModels: usize = 0xD50; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
+                pub const m_flCurrentConveyorOffset: usize = 0xD68; // float32
+                pub const m_flCurrentConveyorSpeed: usize = 0xD6C; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_pEntity (CEntityIdentity*)
+            // NetworkVarNames: m_CScriptComponent (CScriptComponent::Storage_t)
+            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 const m_bVisibleinPVS: usize = 0x30; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod ServerAuthoritativeWeaponSlot_t {
+                pub const unClass: usize = 0x28; // uint16
+                pub const unSlot: usize = 0x2A; // uint16
+                pub const unItemDefIdx: usize = 0x2C; // uint16
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CCSPlayer_DamageReactServices {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 16
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkOverride
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_nAnimationParity (uint32)
+            // NetworkVarNames: m_flAnimationStartTime (float32)
+            // NetworkVarNames: m_hWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            pub mod C_BaseViewModel {
+                pub const m_vecLastFacing: usize = 0xF90; // Vector
+                pub const m_nViewModelIndex: usize = 0xF9C; // uint32
+                pub const m_nAnimationParity: usize = 0xFA0; // uint32
+                pub const m_flAnimationStartTime: usize = 0xFA4; // float32
+                pub const m_hWeapon: usize = 0xFA8; // CHandle<C_BasePlayerWeapon>
+                pub const m_sVMName: usize = 0xFB0; // CUtlSymbolLarge
+                pub const m_sAnimationPrefix: usize = 0xFB8; // CUtlSymbolLarge
+                pub const m_iCameraAttachment: usize = 0xFC0; // AttachmentHandle_t
+                pub const m_vecLastCameraAngles: usize = 0xFC4; // QAngle
+                pub const m_previousElapsedDuration: usize = 0xFD0; // float32
+                pub const m_previousCycle: usize = 0xFD4; // float32
+                pub const m_nOldAnimationParity: usize = 0xFD8; // int32
+                pub const m_hOldLayerSequence: usize = 0xFDC; // HSequence
+                pub const m_oldLayer: usize = 0xFE0; // int32
+                pub const m_oldLayerStartTime: usize = 0xFE4; // float32
+                pub const m_hControlPanel: usize = 0xFE8; // CHandle<C_BaseEntity>
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_PortraitWorldCallbackHandler {
+            }
+            // Parent: CHostageRescueZoneShim
+            // Field count: 0
+            pub mod CHostageRescueZone {
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponNegev {
+            }
+            // Parent: None
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_hParent (CGameSceneNodeHandle)
+            // NetworkVarNames: m_vecOrigin (CNetworkOriginCellCoordQuantizedVector)
+            // NetworkVarNames: m_angRotation (QAngle)
+            // NetworkVarNames: m_flScale (float)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            // NetworkVarNames: m_hierarchyAttachName (CUtlStringToken)
+            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 = 0x78; // CGameSceneNodeHandle
+                pub const m_vecOrigin: usize = 0x88; // CNetworkOriginCellCoordQuantizedVector
+                pub const m_angRotation: usize = 0xC0; // QAngle
+                pub const m_flScale: usize = 0xCC; // float32
+                pub const m_vecAbsOrigin: usize = 0xD0; // Vector
+                pub const m_angAbsRotation: usize = 0xDC; // QAngle
+                pub const m_flAbsScale: usize = 0xE8; // float32
+                pub const m_nParentAttachmentOrBone: usize = 0xEC; // int16
+                pub const m_bDebugAbsOriginChanges: usize = 0xEE; // bool
+                pub const m_bDormant: usize = 0xEF; // bool
+                pub const m_bForceParentToBeNetworked: usize = 0xF0; // 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_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 = 0xF3; // uint8
+                pub const m_nHierarchyType: usize = 0xF4; // uint8
+                pub const m_nDoNotSetAnimTimeInInvalidatePhysicsCount: usize = 0xF5; // uint8
+                pub const m_name: usize = 0xF8; // CUtlStringToken
+                pub const m_hierarchyAttachName: usize = 0x138; // CUtlStringToken
+                pub const m_flZOffset: usize = 0x13C; // float32
+                pub const m_flClientLocalScale: usize = 0x140; // float32
+                pub const m_vRenderOrigin: usize = 0x144; // Vector
+            }
+            // Parent: C_MolotovGrenade
+            // Field count: 0
+            pub mod C_IncendiaryGrenade {
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            pub mod CCSPointScript {
+                pub const m_pParent: usize = 0xF8; // CCSPointScriptEntity*
+            }
+            // Parent: C_CSPlayerPawnBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            pub mod C_CSObserverPawn {
+                pub const m_hDetectParentChange: usize = 0x1510; // CEntityHandle
+            }
+            // Parent: C_BaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_hEntAttached (CHandle<C_BaseEntity>)
+            // NetworkVarNames: m_bCheapEffect (bool)
+            pub mod C_EntityFlame {
+                pub const m_hEntAttached: usize = 0x568; // CHandle<C_BaseEntity>
+                pub const m_hOldAttached: usize = 0x590; // CHandle<C_BaseEntity>
+                pub const m_bCheapEffect: usize = 0x594; // bool
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 0
+            pub mod C_Breakable {
+            }
+            // Parent: CPlayer_ObserverServices
+            // Field count: 8
+            pub mod CCSObserver_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; // float32
+                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
+            }
+            // Parent: C_BaseEntity
+            // Field count: 0
+            pub mod C_TintController {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_AutoaimServices {
+            }
+            // Parent: C_BaseCombatCharacter
+            // Field count: 23
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_leader (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_reuseTimer (CountdownTimer)
+            // NetworkVarNames: m_vel (Vector)
+            // NetworkVarNames: m_isRescued (bool)
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_nHostageState (int)
+            // NetworkVarNames: m_bHandsHaveBeenCut (bool)
+            // NetworkVarNames: m_hHostageGrabber (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_flRescueStartTime (GameTime_t)
+            // NetworkVarNames: m_flGrabSuccessTime (GameTime_t)
+            // NetworkVarNames: m_flDropStartTime (GameTime_t)
+            pub mod C_Hostage {
+                pub const m_entitySpottedState: usize = 0x11A8; // EntitySpottedState_t
+                pub const m_leader: usize = 0x11C0; // CHandle<C_BaseEntity>
+                pub const m_reuseTimer: usize = 0x11C8; // CountdownTimer
+                pub const m_vel: usize = 0x11E0; // Vector
+                pub const m_isRescued: usize = 0x11EC; // bool
+                pub const m_jumpedThisFrame: usize = 0x11ED; // bool
+                pub const m_nHostageState: usize = 0x11F0; // int32
+                pub const m_bHandsHaveBeenCut: usize = 0x11F4; // bool
+                pub const m_hHostageGrabber: usize = 0x11F8; // CHandle<C_CSPlayerPawn>
+                pub const m_fLastGrabTime: usize = 0x11FC; // GameTime_t
+                pub const m_vecGrabbedPos: usize = 0x1200; // Vector
+                pub const m_flRescueStartTime: usize = 0x120C; // GameTime_t
+                pub const m_flGrabSuccessTime: usize = 0x1210; // GameTime_t
+                pub const m_flDropStartTime: usize = 0x1214; // GameTime_t
+                pub const m_flDeadOrRescuedTime: usize = 0x1218; // GameTime_t
+                pub const m_blinkTimer: usize = 0x1220; // CountdownTimer
+                pub const m_lookAt: usize = 0x1238; // Vector
+                pub const m_lookAroundTimer: usize = 0x1248; // CountdownTimer
+                pub const m_isInit: usize = 0x1260; // bool
+                pub const m_eyeAttachment: usize = 0x1261; // AttachmentHandle_t
+                pub const m_chestAttachment: usize = 0x1262; // AttachmentHandle_t
+                pub const m_pPredictionOwner: usize = 0x1268; // CBasePlayerController*
+                pub const m_fNewestAlphaThinkTime: usize = 0x1270; // GameTime_t
+            }
+            // Parent: C_BaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSpriteMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hAttachedToEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_flSpriteFramerate (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nBrightness (uint32)
+            // NetworkVarNames: m_flBrightnessDuration (float32)
+            // NetworkVarNames: m_flSpriteScale (float32)
+            // NetworkVarNames: m_flScaleDuration (float32)
+            // NetworkVarNames: m_bWorldSpaceScale (bool)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            pub mod C_Sprite {
+                pub const m_hSpriteMaterial: usize = 0xD28; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_hAttachedToEntity: usize = 0xD30; // CHandle<C_BaseEntity>
+                pub const m_nAttachment: usize = 0xD34; // AttachmentHandle_t
+                pub const m_flSpriteFramerate: usize = 0xD38; // float32
+                pub const m_flFrame: usize = 0xD3C; // float32
+                pub const m_flDieTime: usize = 0xD40; // GameTime_t
+                pub const m_nBrightness: usize = 0xD50; // uint32
+                pub const m_flBrightnessDuration: usize = 0xD54; // float32
+                pub const m_flSpriteScale: usize = 0xD58; // float32
+                pub const m_flScaleDuration: usize = 0xD5C; // float32
+                pub const m_bWorldSpaceScale: usize = 0xD60; // bool
+                pub const m_flGlowProxySize: usize = 0xD64; // float32
+                pub const m_flHDRColorScale: usize = 0xD68; // float32
+                pub const m_flLastTime: usize = 0xD6C; // GameTime_t
+                pub const m_flMaxFrame: usize = 0xD70; // float32
+                pub const m_flStartScale: usize = 0xD74; // float32
+                pub const m_flDestScale: usize = 0xD78; // float32
+                pub const m_flScaleTimeStart: usize = 0xD7C; // GameTime_t
+                pub const m_nStartBrightness: usize = 0xD80; // int32
+                pub const m_nDestBrightness: usize = 0xD84; // int32
+                pub const m_flBrightnessTimeStart: usize = 0xD88; // GameTime_t
+                pub const m_hOldSpriteMaterial: usize = 0xD90; // CWeakHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nSpriteWidth: usize = 0xE30; // int32
+                pub const m_nSpriteHeight: usize = 0xE34; // int32
+            }
+            // Parent: C_CSWeaponBaseGun
+            // Field count: 0
+            pub mod C_WeaponM4A1Silencer {
+            }
+            // Parent: C_PointEntity
+            // Field count: 9
+            pub mod CMapInfo {
+                pub const m_iBuyingStatus: usize = 0x568; // int32
+                pub const m_flBombRadius: usize = 0x56C; // float32
+                pub const m_iPetPopulation: usize = 0x570; // int32
+                pub const m_bUseNormalSpawnsForDM: usize = 0x574; // bool
+                pub const m_bDisableAutoGeneratedDMSpawns: usize = 0x575; // bool
+                pub const m_flBotMaxVisionDistance: usize = 0x578; // float32
+                pub const m_iHostageCount: usize = 0x57C; // int32
+                pub const m_bFadePlayerVisibilityFarZ: usize = 0x580; // bool
+                pub const m_bRainTraceToSkyEnabled: usize = 0x581; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombTicking (bool)
+            // NetworkVarNames: m_nBombSite (int)
+            // NetworkVarNames: m_nSourceSoundscapeHash (int)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_flC4Blow (GameTime_t)
+            // NetworkVarNames: m_bCannotBeDefused (bool)
+            // NetworkVarNames: m_bHasExploded (bool)
+            // NetworkVarNames: m_flTimerLength (float)
+            // NetworkVarNames: m_bBeingDefused (bool)
+            // NetworkVarNames: m_flDefuseLength (float)
+            // NetworkVarNames: m_flDefuseCountDown (GameTime_t)
+            // NetworkVarNames: m_bBombDefused (bool)
+            // NetworkVarNames: m_hBombDefuser (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            pub mod C_PlantedC4 {
+                pub const m_bBombTicking: usize = 0xF90; // bool
+                pub const m_nBombSite: usize = 0xF94; // int32
+                pub const m_nSourceSoundscapeHash: usize = 0xF98; // int32
+                pub const m_entitySpottedState: usize = 0xFA0; // EntitySpottedState_t
+                pub const m_flNextGlow: usize = 0xFB8; // GameTime_t
+                pub const m_flNextBeep: usize = 0xFBC; // GameTime_t
+                pub const m_flC4Blow: usize = 0xFC0; // GameTime_t
+                pub const m_bCannotBeDefused: usize = 0xFC4; // bool
+                pub const m_bHasExploded: usize = 0xFC5; // bool
+                pub const m_flTimerLength: usize = 0xFC8; // float32
+                pub const m_bBeingDefused: usize = 0xFCC; // bool
+                pub const m_bTriggerWarning: usize = 0xFD0; // float32
+                pub const m_bExplodeWarning: usize = 0xFD4; // float32
+                pub const m_bC4Activated: usize = 0xFD8; // bool
+                pub const m_bTenSecWarning: usize = 0xFD9; // bool
+                pub const m_flDefuseLength: usize = 0xFDC; // float32
+                pub const m_flDefuseCountDown: usize = 0xFE0; // GameTime_t
+                pub const m_bBombDefused: usize = 0xFE4; // bool
+                pub const m_hBombDefuser: usize = 0xFE8; // CHandle<C_CSPlayerPawn>
+                pub const m_hControlPanel: usize = 0xFEC; // CHandle<C_BaseEntity>
+                pub const m_AttributeManager: usize = 0xFF0; // C_AttributeContainer
+                pub const m_hDefuserMultimeter: usize = 0x1498; // CHandle<C_Multimeter>
+                pub const m_flNextRadarFlashTime: usize = 0x149C; // GameTime_t
+                pub const m_bRadarFlash: usize = 0x14A0; // bool
+                pub const m_pBombDefuser: usize = 0x14A4; // CHandle<C_CSPlayerPawn>
+                pub const m_fLastDefuseTime: usize = 0x14A8; // GameTime_t
+                pub const m_pPredictionOwner: usize = 0x14B0; // CBasePlayerController*
+                pub const m_vecC4ExplodeSpectatePos: usize = 0x14B8; // Vector
+                pub const m_vecC4ExplodeSpectateAng: usize = 0x14C4; // QAngle
+                pub const m_flC4ExplodeSpectateDuration: usize = 0x14D0; // float32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_ragPos (Vector)
+            // NetworkVarNames: m_ragAngles (QAngle)
+            // NetworkVarNames: m_flBlendWeight (float32)
+            // NetworkVarNames: m_hRagdollSource (EHANDLE)
+            pub mod C_RagdollProp {
+                pub const m_ragPos: usize = 0xF90; // C_NetworkUtlVectorBase<Vector>
+                pub const m_ragAngles: usize = 0xFA8; // C_NetworkUtlVectorBase<QAngle>
+                pub const m_flBlendWeight: usize = 0xFC0; // float32
+                pub const m_hRagdollSource: usize = 0xFC4; // CHandle<C_BaseEntity>
+                pub const m_iEyeAttachment: usize = 0xFC8; // AttachmentHandle_t
+                pub const m_flBlendWeightCurrent: usize = 0xFCC; // float32
+                pub const m_parentPhysicsBoneIndices: usize = 0xFD0; // CUtlVector<int32>
+                pub const m_worldSpaceBoneComputationOrder: usize = 0xFE8; // CUtlVector<int32>
+            }
+            // Parent: C_CSGO_TeamPreviewCamera
+            // Field count: 0
+            pub mod C_CSGO_TerroristTeamIntroCamera {
+            }
+            // Parent: C_BaseEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_iActiveIssueIndex (int)
+            // NetworkVarNames: m_iOnlyTeamToVote (int)
+            // NetworkVarNames: m_nVoteOptionCount (int)
+            // NetworkVarNames: m_nPotentialVotes (int)
+            // NetworkVarNames: m_bIsYesNoVote (bool)
+            pub mod C_VoteController {
+                pub const m_iActiveIssueIndex: usize = 0x578; // int32
+                pub const m_iOnlyTeamToVote: usize = 0x57C; // int32
+                pub const m_nVoteOptionCount: usize = 0x580; // int32[5]
+                pub const m_nPotentialVotes: usize = 0x594; // int32
+                pub const m_bVotesDirty: usize = 0x598; // bool
+                pub const m_bTypeDirty: usize = 0x599; // bool
+                pub const m_bIsYesNoVote: usize = 0x59A; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: nType (FixAngleSet_t)
+            // NetworkVarNames: qAngle (QAngle)
+            // NetworkVarNames: nIndex (uint32)
+            pub mod ViewAngleServerChange_t {
+                pub const nType: usize = 0x30; // FixAngleSet_t
+                pub const qAngle: usize = 0x34; // QAngle
+                pub const nIndex: usize = 0x40; // uint32
+            }
+            // Parent: C_DynamicProp
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_leader (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            pub mod C_Chicken {
+                pub const m_hHolidayHatAddon: usize = 0x1230; // CHandle<CBaseAnimGraph>
+                pub const m_jumpedThisFrame: usize = 0x1234; // bool
+                pub const m_leader: usize = 0x1238; // CHandle<C_CSPlayerPawn>
+                pub const m_AttributeManager: usize = 0x1240; // C_AttributeContainer
+                pub const m_bAttributesInitialized: usize = 0x16E8; // bool
+                pub const m_hWaterWakeParticles: usize = 0x16EC; // ParticleIndex_t
+                pub const m_bIsPreviewModel: usize = 0x16F0; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Transforms (CTransform)
+            // NetworkVarNames: m_hOwner (EHANDLE)
+            pub mod PhysicsRagdollPose_t {
+                pub const m_Transforms: usize = 0x8; // C_NetworkUtlVectorBase<CTransform>
+                pub const m_hOwner: usize = 0x20; // CHandle<C_BaseEntity>
+            }
+        }
+    }
+}
diff --git a/output/engine2_dll.cs b/output/engine2_dll.cs
new file mode 100644
index 0000000..68199bc
--- /dev/null
+++ b/output/engine2_dll.cs
@@ -0,0 +1,311 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: engine2.dll
+    // Class count: 48
+    // Enum count: 4
+    public static class Engine2Dll {
+        // Alignment: 4
+        // Member count: 3
+        public enum EntityDormancyType_t : uint {
+            ENTITY_NOT_DORMANT = 0x0,
+            ENTITY_DORMANT = 0x1,
+            ENTITY_SUSPENDED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum EntityIOTargetType_t : uint {
+            ENTITY_IO_TARGET_INVALID = unchecked((uint)-1),
+            ENTITY_IO_TARGET_ENTITYNAME = 0x2,
+            ENTITY_IO_TARGET_EHANDLE = 0x6,
+            ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum SpawnDebugOverrideState_t : uint {
+            SPAWN_DEBUG_OVERRIDE_NONE = 0x0,
+            SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1,
+            SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum SpawnDebugRestrictionOverrideState_t : uint {
+            SPAWN_DEBUG_RESTRICT_NONE = 0x0,
+            SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1,
+            SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2,
+            SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_COOLDOWN_LIMITS = 0x4,
+            SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventClientPostSimulate_t {
+        }
+        // Parent: None
+        // Field count: 3
+        public static class EventSimpleLoopFrameUpdate_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRealTime = 0x28; // float32
+            public const nint m_flFrameTime = 0x2C; // float32
+        }
+        // Parent: EventSimulate_t
+        // Field count: 4
+        public static class EventPostAdvanceTick_t {
+            public const nint m_nCurrentTick = 0x30; // int32
+            public const nint m_nCurrentTickThisFrame = 0x34; // int32
+            public const nint m_nTotalTicksThisFrame = 0x38; // int32
+            public const nint m_nTotalTicks = 0x3C; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class CEntityIOOutput {
+            public const nint m_Value = 0x18; // CVariantBase<CVariantDefaultAllocator>
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventClientSceneSystemThreadStateChange_t {
+            public const nint m_bThreadsActive = 0x0; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        public static class EventClientOutput_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRenderTime = 0x28; // float32
+            public const nint m_flRealTime = 0x2C; // float32
+            public const nint m_flRenderFrameTimeUnbounded = 0x30; // float32
+            public const nint m_bRenderOnly = 0x34; // bool
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventServerPostSimulate_t {
+        }
+        // Parent: None
+        // Field count: 4
+        public static class CEntityComponentHelper {
+            public const nint m_flags = 0x8; // uint32
+            public const nint m_pInfo = 0x10; // EntComponentInfo_t*
+            public const nint m_nPriority = 0x18; // int32
+            public const nint m_pNext = 0x20; // CEntityComponentHelper*
+        }
+        // Parent: None
+        // Field count: 1
+        public static class GameTime_t {
+            public const nint m_Value = 0x0; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        public static class EventServerEndAsyncPostTickWork_t {
+        }
+        // Parent: EventAdvanceTick_t
+        // Field count: 0
+        public static class EventClientAdvanceTick_t {
+        }
+        // Parent: None
+        // Field count: 0
+        public static class EntInput_t {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class CNetworkVarChainer {
+            public const nint m_PathIndex = 0x20; // ChangeAccessorFieldPathIndex_t
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventClientSimulate_t {
+        }
+        // Parent: None
+        // Field count: 5
+        public static class EventClientPostOutput_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRenderTime = 0x28; // float64
+            public const nint m_flRenderFrameTime = 0x30; // float32
+            public const nint m_flRenderFrameTimeUnbounded = 0x34; // float32
+            public const nint m_bRenderOnly = 0x38; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        public static class GameTick_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        public static class EventClientPollInput_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRealTime = 0x28; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventPreDataUpdate_t {
+            public const nint m_nCount = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        public static class EventClientProcessGameInput_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRealTime = 0x28; // float32
+            public const nint m_flFrameTime = 0x2C; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventFrameBoundary_t {
+            public const nint m_flFrameTime = 0x0; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventAppShutdown_t {
+            public const nint m_nDummy0 = 0x0; // int32
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventServerSimulate_t {
+        }
+        // Parent: EventPostAdvanceTick_t
+        // Field count: 0
+        public static class EventServerPostAdvanceTick_t {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventProfileStorageAvailable_t {
+            public const nint m_nSplitScreenSlot = 0x0; // CSplitScreenSlot
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventPostDataUpdate_t {
+            public const nint m_nCount = 0x0; // int32
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventClientPreSimulate_t {
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventClientPauseSimulate_t {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventClientProcessNetworking_t {
+            public const nint m_nTickCount = 0x0; // int32
+        }
+        // Parent: EventSimulate_t
+        // Field count: 4
+        public static class EventAdvanceTick_t {
+            public const nint m_nCurrentTick = 0x30; // int32
+            public const nint m_nCurrentTickThisFrame = 0x34; // int32
+            public const nint m_nTotalTicksThisFrame = 0x38; // int32
+            public const nint m_nTotalTicks = 0x3C; // int32
+        }
+        // Parent: None
+        // Field count: 0
+        public static class EventSplitScreenStateChanged_t {
+        }
+        // Parent: EventPostAdvanceTick_t
+        // Field count: 0
+        public static class EventClientPostAdvanceTick_t {
+        }
+        // Parent: None
+        // Field count: 0
+        public static class CVariantDefaultAllocator {
+        }
+        // Parent: None
+        // Field count: 0
+        public static class EventModInitialized_t {
+        }
+        // Parent: None
+        // Field count: 6
+        public static class EventClientPreOutput_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRenderTime = 0x28; // float64
+            public const nint m_flRenderFrameTime = 0x30; // float64
+            public const nint m_flRenderFrameTimeUnbounded = 0x38; // float64
+            public const nint m_flRealTime = 0x40; // float32
+            public const nint m_bRenderOnly = 0x44; // bool
+        }
+        // Parent: None
+        // Field count: 4
+        public static class EventClientFrameSimulate_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRealTime = 0x28; // float32
+            public const nint m_flFrameTime = 0x2C; // float32
+            public const nint m_bScheduleSendTickPacket = 0x30; // bool
+        }
+        // Parent: EventAdvanceTick_t
+        // Field count: 0
+        public static class EventServerAdvanceTick_t {
+        }
+        // Parent: None
+        // Field count: 8
+        public static class EventSetTime_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_nClientOutputFrames = 0x28; // int32
+            public const nint m_flRealTime = 0x30; // float64
+            public const nint m_flRenderTime = 0x38; // float64
+            public const nint m_flRenderFrameTime = 0x40; // float64
+            public const nint m_flRenderFrameTimeUnbounded = 0x48; // float64
+            public const nint m_flRenderFrameTimeUnscaled = 0x50; // float64
+            public const nint m_flTickRemainder = 0x58; // float64
+        }
+        // Parent: None
+        // Field count: 0
+        public static class EntOutput_t {
+        }
+        // Parent: None
+        // Field count: 3
+        public static class EventSimulate_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_bFirstTick = 0x28; // bool
+            public const nint m_bLastTick = 0x29; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        public static class EventClientAdvanceNonRenderedFrame_t {
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventServerProcessNetworking_t {
+        }
+        // Parent: None
+        // Field count: 0
+        public static class CEmptyEntityInstance {
+        }
+        // Parent: None
+        // Field count: 7
+        public static class EntComponentInfo_t {
+            public const nint m_pName = 0x0; // char*
+            public const nint m_pCPPClassname = 0x8; // char*
+            public const nint m_pNetworkDataReferencedDescription = 0x10; // char*
+            public const nint m_pNetworkDataReferencedPtrPropDescription = 0x18; // char*
+            public const nint m_nRuntimeIndex = 0x20; // int32
+            public const nint m_nFlags = 0x24; // uint32
+            public const nint m_pBaseClassComponentHelper = 0x60; // CEntityComponentHelper*
+        }
+        // Parent: None
+        // Field count: 4
+        public static class EngineLoopState_t {
+            public const nint m_nPlatWindowWidth = 0x18; // int32
+            public const nint m_nPlatWindowHeight = 0x1C; // int32
+            public const nint m_nRenderWidth = 0x20; // int32
+            public const nint m_nRenderHeight = 0x24; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class EventClientPollNetworking_t {
+            public const nint m_nTickCount = 0x0; // int32
+        }
+        // Parent: EventPostAdvanceTick_t
+        // Field count: 0
+        public static class EventServerBeginAsyncPostTickWork_t {
+        }
+        // Parent: None
+        // Field count: 4
+        public static class EventClientProcessInput_t {
+            public const nint m_LoopState = 0x0; // EngineLoopState_t
+            public const nint m_flRealTime = 0x28; // float32
+            public const nint m_flTickInterval = 0x2C; // float32
+            public const nint m_flTickStartTime = 0x30; // float64
+        }
+        // Parent: EventSimulate_t
+        // Field count: 0
+        public static class EventServerPollNetworking_t {
+        }
+    }
+}
diff --git a/output/engine2_dll.hpp b/output/engine2_dll.hpp
new file mode 100644
index 0000000..48c8759
--- /dev/null
+++ b/output/engine2_dll.hpp
@@ -0,0 +1,317 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: engine2.dll
+        // Class count: 48
+        // Enum count: 4
+        namespace engine2_dll {
+            // Alignment: 4
+            // Member count: 3
+            enum class EntityDormancyType_t : uint32_t {
+                ENTITY_NOT_DORMANT = 0x0,
+                ENTITY_DORMANT = 0x1,
+                ENTITY_SUSPENDED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class EntityIOTargetType_t : uint32_t {
+                ENTITY_IO_TARGET_INVALID = 0xFFFFFFFFFFFFFFFF,
+                ENTITY_IO_TARGET_ENTITYNAME = 0x2,
+                ENTITY_IO_TARGET_EHANDLE = 0x6,
+                ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class SpawnDebugOverrideState_t : uint32_t {
+                SPAWN_DEBUG_OVERRIDE_NONE = 0x0,
+                SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1,
+                SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class SpawnDebugRestrictionOverrideState_t : uint32_t {
+                SPAWN_DEBUG_RESTRICT_NONE = 0x0,
+                SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1,
+                SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2,
+                SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_COOLDOWN_LIMITS = 0x4,
+                SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8
+            };
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventClientPostSimulate_t {
+            }
+            // Parent: None
+            // Field count: 3
+            namespace EventSimpleLoopFrameUpdate_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
+                constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 4
+            namespace EventPostAdvanceTick_t {
+                constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32
+                constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32
+                constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32
+                constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace CEntityIOOutput {
+                constexpr std::ptrdiff_t m_Value = 0x18; // CVariantBase<CVariantDefaultAllocator>
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventClientSceneSystemThreadStateChange_t {
+                constexpr std::ptrdiff_t m_bThreadsActive = 0x0; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            namespace EventClientOutput_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRenderTime = 0x28; // float32
+                constexpr std::ptrdiff_t m_flRealTime = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x30; // float32
+                constexpr std::ptrdiff_t m_bRenderOnly = 0x34; // bool
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventServerPostSimulate_t {
+            }
+            // Parent: None
+            // Field count: 4
+            namespace CEntityComponentHelper {
+                constexpr std::ptrdiff_t m_flags = 0x8; // uint32
+                constexpr std::ptrdiff_t m_pInfo = 0x10; // EntComponentInfo_t*
+                constexpr std::ptrdiff_t m_nPriority = 0x18; // int32
+                constexpr std::ptrdiff_t m_pNext = 0x20; // CEntityComponentHelper*
+            }
+            // Parent: None
+            // Field count: 1
+            namespace GameTime_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            namespace EventServerEndAsyncPostTickWork_t {
+            }
+            // Parent: EventAdvanceTick_t
+            // Field count: 0
+            namespace EventClientAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 0
+            namespace EntInput_t {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace CNetworkVarChainer {
+                constexpr std::ptrdiff_t m_PathIndex = 0x20; // ChangeAccessorFieldPathIndex_t
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventClientSimulate_t {
+            }
+            // Parent: None
+            // Field count: 5
+            namespace EventClientPostOutput_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRenderTime = 0x28; // float64
+                constexpr std::ptrdiff_t m_flRenderFrameTime = 0x30; // float32
+                constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x34; // float32
+                constexpr std::ptrdiff_t m_bRenderOnly = 0x38; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            namespace GameTick_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            namespace EventClientPollInput_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventPreDataUpdate_t {
+                constexpr std::ptrdiff_t m_nCount = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            namespace EventClientProcessGameInput_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
+                constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventFrameBoundary_t {
+                constexpr std::ptrdiff_t m_flFrameTime = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventAppShutdown_t {
+                constexpr std::ptrdiff_t m_nDummy0 = 0x0; // int32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventServerSimulate_t {
+            }
+            // Parent: EventPostAdvanceTick_t
+            // Field count: 0
+            namespace EventServerPostAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventProfileStorageAvailable_t {
+                constexpr std::ptrdiff_t m_nSplitScreenSlot = 0x0; // CSplitScreenSlot
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventPostDataUpdate_t {
+                constexpr std::ptrdiff_t m_nCount = 0x0; // int32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventClientPreSimulate_t {
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventClientPauseSimulate_t {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventClientProcessNetworking_t {
+                constexpr std::ptrdiff_t m_nTickCount = 0x0; // int32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 4
+            namespace EventAdvanceTick_t {
+                constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32
+                constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32
+                constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32
+                constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            namespace EventSplitScreenStateChanged_t {
+            }
+            // Parent: EventPostAdvanceTick_t
+            // Field count: 0
+            namespace EventClientPostAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 0
+            namespace CVariantDefaultAllocator {
+            }
+            // Parent: None
+            // Field count: 0
+            namespace EventModInitialized_t {
+            }
+            // Parent: None
+            // Field count: 6
+            namespace EventClientPreOutput_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRenderTime = 0x28; // float64
+                constexpr std::ptrdiff_t m_flRenderFrameTime = 0x30; // float64
+                constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x38; // float64
+                constexpr std::ptrdiff_t m_flRealTime = 0x40; // float32
+                constexpr std::ptrdiff_t m_bRenderOnly = 0x44; // bool
+            }
+            // Parent: None
+            // Field count: 4
+            namespace EventClientFrameSimulate_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
+                constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float32
+                constexpr std::ptrdiff_t m_bScheduleSendTickPacket = 0x30; // bool
+            }
+            // Parent: EventAdvanceTick_t
+            // Field count: 0
+            namespace EventServerAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 8
+            namespace EventSetTime_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_nClientOutputFrames = 0x28; // int32
+                constexpr std::ptrdiff_t m_flRealTime = 0x30; // float64
+                constexpr std::ptrdiff_t m_flRenderTime = 0x38; // float64
+                constexpr std::ptrdiff_t m_flRenderFrameTime = 0x40; // float64
+                constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x48; // float64
+                constexpr std::ptrdiff_t m_flRenderFrameTimeUnscaled = 0x50; // float64
+                constexpr std::ptrdiff_t m_flTickRemainder = 0x58; // float64
+            }
+            // Parent: None
+            // Field count: 0
+            namespace EntOutput_t {
+            }
+            // Parent: None
+            // Field count: 3
+            namespace EventSimulate_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_bFirstTick = 0x28; // bool
+                constexpr std::ptrdiff_t m_bLastTick = 0x29; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            namespace EventClientAdvanceNonRenderedFrame_t {
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventServerProcessNetworking_t {
+            }
+            // Parent: None
+            // Field count: 0
+            namespace CEmptyEntityInstance {
+            }
+            // Parent: None
+            // Field count: 7
+            namespace EntComponentInfo_t {
+                constexpr std::ptrdiff_t m_pName = 0x0; // char*
+                constexpr std::ptrdiff_t m_pCPPClassname = 0x8; // char*
+                constexpr std::ptrdiff_t m_pNetworkDataReferencedDescription = 0x10; // char*
+                constexpr std::ptrdiff_t m_pNetworkDataReferencedPtrPropDescription = 0x18; // char*
+                constexpr std::ptrdiff_t m_nRuntimeIndex = 0x20; // int32
+                constexpr std::ptrdiff_t m_nFlags = 0x24; // uint32
+                constexpr std::ptrdiff_t m_pBaseClassComponentHelper = 0x60; // CEntityComponentHelper*
+            }
+            // Parent: None
+            // Field count: 4
+            namespace EngineLoopState_t {
+                constexpr std::ptrdiff_t m_nPlatWindowWidth = 0x18; // int32
+                constexpr std::ptrdiff_t m_nPlatWindowHeight = 0x1C; // int32
+                constexpr std::ptrdiff_t m_nRenderWidth = 0x20; // int32
+                constexpr std::ptrdiff_t m_nRenderHeight = 0x24; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace EventClientPollNetworking_t {
+                constexpr std::ptrdiff_t m_nTickCount = 0x0; // int32
+            }
+            // Parent: EventPostAdvanceTick_t
+            // Field count: 0
+            namespace EventServerBeginAsyncPostTickWork_t {
+            }
+            // Parent: None
+            // Field count: 4
+            namespace EventClientProcessInput_t {
+                constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
+                constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
+                constexpr std::ptrdiff_t m_flTickInterval = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flTickStartTime = 0x30; // float64
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            namespace EventServerPollNetworking_t {
+            }
+        }
+    }
+}
diff --git a/output/engine2_dll.json b/output/engine2_dll.json
new file mode 100644
index 0000000..426120a
--- /dev/null
+++ b/output/engine2_dll.json
@@ -0,0 +1,392 @@
+{
+  "engine2.dll": {
+    "classes": {
+      "CEmptyEntityInstance": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "CEntityComponentHelper": {
+        "fields": {
+          "m_flags": 8,
+          "m_nPriority": 24,
+          "m_pInfo": 16,
+          "m_pNext": 32
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CEntityIOOutput": {
+        "fields": {
+          "m_Value": 24
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CNetworkVarChainer": {
+        "fields": {
+          "m_PathIndex": 32
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CVariantDefaultAllocator": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "EngineLoopState_t": {
+        "fields": {
+          "m_nPlatWindowHeight": 28,
+          "m_nPlatWindowWidth": 24,
+          "m_nRenderHeight": 36,
+          "m_nRenderWidth": 32
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EntComponentInfo_t": {
+        "fields": {
+          "m_nFlags": 36,
+          "m_nRuntimeIndex": 32,
+          "m_pBaseClassComponentHelper": 96,
+          "m_pCPPClassname": 8,
+          "m_pName": 0,
+          "m_pNetworkDataReferencedDescription": 16,
+          "m_pNetworkDataReferencedPtrPropDescription": 24
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EntInput_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "EntOutput_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "EventAdvanceTick_t": {
+        "fields": {
+          "m_nCurrentTick": 48,
+          "m_nCurrentTickThisFrame": 52,
+          "m_nTotalTicks": 60,
+          "m_nTotalTicksThisFrame": 56
+        },
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventAppShutdown_t": {
+        "fields": {
+          "m_nDummy0": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientAdvanceNonRenderedFrame_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientAdvanceTick_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventAdvanceTick_t"
+      },
+      "EventClientFrameSimulate_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_bScheduleSendTickPacket": 48,
+          "m_flFrameTime": 44,
+          "m_flRealTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientOutput_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_bRenderOnly": 52,
+          "m_flRealTime": 44,
+          "m_flRenderFrameTimeUnbounded": 48,
+          "m_flRenderTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientPauseSimulate_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventClientPollInput_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_flRealTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientPollNetworking_t": {
+        "fields": {
+          "m_nTickCount": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientPostAdvanceTick_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventPostAdvanceTick_t"
+      },
+      "EventClientPostOutput_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_bRenderOnly": 56,
+          "m_flRenderFrameTime": 48,
+          "m_flRenderFrameTimeUnbounded": 52,
+          "m_flRenderTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientPostSimulate_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventClientPreOutput_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_bRenderOnly": 68,
+          "m_flRealTime": 64,
+          "m_flRenderFrameTime": 48,
+          "m_flRenderFrameTimeUnbounded": 56,
+          "m_flRenderTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientPreSimulate_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventClientProcessGameInput_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_flFrameTime": 44,
+          "m_flRealTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientProcessInput_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_flRealTime": 40,
+          "m_flTickInterval": 44,
+          "m_flTickStartTime": 48
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientProcessNetworking_t": {
+        "fields": {
+          "m_nTickCount": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientSceneSystemThreadStateChange_t": {
+        "fields": {
+          "m_bThreadsActive": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventClientSimulate_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventFrameBoundary_t": {
+        "fields": {
+          "m_flFrameTime": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventModInitialized_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "EventPostAdvanceTick_t": {
+        "fields": {
+          "m_nCurrentTick": 48,
+          "m_nCurrentTickThisFrame": 52,
+          "m_nTotalTicks": 60,
+          "m_nTotalTicksThisFrame": 56
+        },
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventPostDataUpdate_t": {
+        "fields": {
+          "m_nCount": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventPreDataUpdate_t": {
+        "fields": {
+          "m_nCount": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventProfileStorageAvailable_t": {
+        "fields": {
+          "m_nSplitScreenSlot": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventServerAdvanceTick_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventAdvanceTick_t"
+      },
+      "EventServerBeginAsyncPostTickWork_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventPostAdvanceTick_t"
+      },
+      "EventServerEndAsyncPostTickWork_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "EventServerPollNetworking_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventServerPostAdvanceTick_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventPostAdvanceTick_t"
+      },
+      "EventServerPostSimulate_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventServerProcessNetworking_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventServerSimulate_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": "EventSimulate_t"
+      },
+      "EventSetTime_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_flRealTime": 48,
+          "m_flRenderFrameTime": 64,
+          "m_flRenderFrameTimeUnbounded": 72,
+          "m_flRenderFrameTimeUnscaled": 80,
+          "m_flRenderTime": 56,
+          "m_flTickRemainder": 88,
+          "m_nClientOutputFrames": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventSimpleLoopFrameUpdate_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_flFrameTime": 44,
+          "m_flRealTime": 40
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventSimulate_t": {
+        "fields": {
+          "m_LoopState": 0,
+          "m_bFirstTick": 40,
+          "m_bLastTick": 41
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EventSplitScreenStateChanged_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "GameTick_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "GameTime_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      }
+    },
+    "enums": {
+      "EntityDormancyType_t": {
+        "alignment": 4,
+        "members": {
+          "ENTITY_DORMANT": 1,
+          "ENTITY_NOT_DORMANT": 0,
+          "ENTITY_SUSPENDED": 2
+        },
+        "type": "uint32"
+      },
+      "EntityIOTargetType_t": {
+        "alignment": 4,
+        "members": {
+          "ENTITY_IO_TARGET_EHANDLE": 6,
+          "ENTITY_IO_TARGET_ENTITYNAME": 2,
+          "ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME": 7,
+          "ENTITY_IO_TARGET_INVALID": -1
+        },
+        "type": "uint32"
+      },
+      "SpawnDebugOverrideState_t": {
+        "alignment": 4,
+        "members": {
+          "SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED": 2,
+          "SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED": 1,
+          "SPAWN_DEBUG_OVERRIDE_NONE": 0
+        },
+        "type": "uint32"
+      },
+      "SpawnDebugRestrictionOverrideState_t": {
+        "alignment": 4,
+        "members": {
+          "SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS": 1,
+          "SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS": 8,
+          "SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_COOLDOWN_LIMITS": 4,
+          "SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS": 2,
+          "SPAWN_DEBUG_RESTRICT_NONE": 0
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/engine2_dll.rs b/output/engine2_dll.rs
new file mode 100644
index 0000000..bf3466c
--- /dev/null
+++ b/output/engine2_dll.rs
@@ -0,0 +1,319 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: engine2.dll
+        // Class count: 48
+        // Enum count: 4
+        pub mod engine2_dll {
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum EntityDormancyType_t {
+                ENTITY_NOT_DORMANT = 0x0,
+                ENTITY_DORMANT = 0x1,
+                ENTITY_SUSPENDED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum EntityIOTargetType_t {
+                ENTITY_IO_TARGET_INVALID = u32::MAX,
+                ENTITY_IO_TARGET_ENTITYNAME = 0x2,
+                ENTITY_IO_TARGET_EHANDLE = 0x6,
+                ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum SpawnDebugOverrideState_t {
+                SPAWN_DEBUG_OVERRIDE_NONE = 0x0,
+                SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1,
+                SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum SpawnDebugRestrictionOverrideState_t {
+                SPAWN_DEBUG_RESTRICT_NONE = 0x0,
+                SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1,
+                SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2,
+                SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_COOLDOWN_LIMITS = 0x4,
+                SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventClientPostSimulate_t {
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod EventSimpleLoopFrameUpdate_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRealTime: usize = 0x28; // float32
+                pub const m_flFrameTime: usize = 0x2C; // float32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 4
+            pub mod EventPostAdvanceTick_t {
+                pub const m_nCurrentTick: usize = 0x30; // int32
+                pub const m_nCurrentTickThisFrame: usize = 0x34; // int32
+                pub const m_nTotalTicksThisFrame: usize = 0x38; // int32
+                pub const m_nTotalTicks: usize = 0x3C; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod CEntityIOOutput {
+                pub const m_Value: usize = 0x18; // CVariantBase<CVariantDefaultAllocator>
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventClientSceneSystemThreadStateChange_t {
+                pub const m_bThreadsActive: usize = 0x0; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            pub mod EventClientOutput_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRenderTime: usize = 0x28; // float32
+                pub const m_flRealTime: usize = 0x2C; // float32
+                pub const m_flRenderFrameTimeUnbounded: usize = 0x30; // float32
+                pub const m_bRenderOnly: usize = 0x34; // bool
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventServerPostSimulate_t {
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod CEntityComponentHelper {
+                pub const m_flags: usize = 0x8; // uint32
+                pub const m_pInfo: usize = 0x10; // EntComponentInfo_t*
+                pub const m_nPriority: usize = 0x18; // int32
+                pub const m_pNext: usize = 0x20; // CEntityComponentHelper*
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod GameTime_t {
+                pub const m_Value: usize = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod EventServerEndAsyncPostTickWork_t {
+            }
+            // Parent: EventAdvanceTick_t
+            // Field count: 0
+            pub mod EventClientAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod EntInput_t {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod CNetworkVarChainer {
+                pub const m_PathIndex: usize = 0x20; // ChangeAccessorFieldPathIndex_t
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventClientSimulate_t {
+            }
+            // Parent: None
+            // Field count: 5
+            pub mod EventClientPostOutput_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRenderTime: usize = 0x28; // float64
+                pub const m_flRenderFrameTime: usize = 0x30; // float32
+                pub const m_flRenderFrameTimeUnbounded: usize = 0x34; // float32
+                pub const m_bRenderOnly: usize = 0x38; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod GameTick_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod EventClientPollInput_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRealTime: usize = 0x28; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventPreDataUpdate_t {
+                pub const m_nCount: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod EventClientProcessGameInput_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRealTime: usize = 0x28; // float32
+                pub const m_flFrameTime: usize = 0x2C; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventFrameBoundary_t {
+                pub const m_flFrameTime: usize = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventAppShutdown_t {
+                pub const m_nDummy0: usize = 0x0; // int32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventServerSimulate_t {
+            }
+            // Parent: EventPostAdvanceTick_t
+            // Field count: 0
+            pub mod EventServerPostAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventProfileStorageAvailable_t {
+                pub const m_nSplitScreenSlot: usize = 0x0; // CSplitScreenSlot
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventPostDataUpdate_t {
+                pub const m_nCount: usize = 0x0; // int32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventClientPreSimulate_t {
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventClientPauseSimulate_t {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventClientProcessNetworking_t {
+                pub const m_nTickCount: usize = 0x0; // int32
+            }
+            // Parent: EventSimulate_t
+            // Field count: 4
+            pub mod EventAdvanceTick_t {
+                pub const m_nCurrentTick: usize = 0x30; // int32
+                pub const m_nCurrentTickThisFrame: usize = 0x34; // int32
+                pub const m_nTotalTicksThisFrame: usize = 0x38; // int32
+                pub const m_nTotalTicks: usize = 0x3C; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod EventSplitScreenStateChanged_t {
+            }
+            // Parent: EventPostAdvanceTick_t
+            // Field count: 0
+            pub mod EventClientPostAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod CVariantDefaultAllocator {
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod EventModInitialized_t {
+            }
+            // Parent: None
+            // Field count: 6
+            pub mod EventClientPreOutput_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRenderTime: usize = 0x28; // float64
+                pub const m_flRenderFrameTime: usize = 0x30; // float64
+                pub const m_flRenderFrameTimeUnbounded: usize = 0x38; // float64
+                pub const m_flRealTime: usize = 0x40; // float32
+                pub const m_bRenderOnly: usize = 0x44; // bool
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod EventClientFrameSimulate_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRealTime: usize = 0x28; // float32
+                pub const m_flFrameTime: usize = 0x2C; // float32
+                pub const m_bScheduleSendTickPacket: usize = 0x30; // bool
+            }
+            // Parent: EventAdvanceTick_t
+            // Field count: 0
+            pub mod EventServerAdvanceTick_t {
+            }
+            // Parent: None
+            // Field count: 8
+            pub mod EventSetTime_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_nClientOutputFrames: usize = 0x28; // int32
+                pub const m_flRealTime: usize = 0x30; // float64
+                pub const m_flRenderTime: usize = 0x38; // float64
+                pub const m_flRenderFrameTime: usize = 0x40; // float64
+                pub const m_flRenderFrameTimeUnbounded: usize = 0x48; // float64
+                pub const m_flRenderFrameTimeUnscaled: usize = 0x50; // float64
+                pub const m_flTickRemainder: usize = 0x58; // float64
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod EntOutput_t {
+            }
+            // Parent: None
+            // Field count: 3
+            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
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod EventClientAdvanceNonRenderedFrame_t {
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventServerProcessNetworking_t {
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod CEmptyEntityInstance {
+            }
+            // Parent: None
+            // Field count: 7
+            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
+                pub const m_nFlags: usize = 0x24; // uint32
+                pub const m_pBaseClassComponentHelper: usize = 0x60; // CEntityComponentHelper*
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod EngineLoopState_t {
+                pub const m_nPlatWindowWidth: usize = 0x18; // int32
+                pub const m_nPlatWindowHeight: usize = 0x1C; // int32
+                pub const m_nRenderWidth: usize = 0x20; // int32
+                pub const m_nRenderHeight: usize = 0x24; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod EventClientPollNetworking_t {
+                pub const m_nTickCount: usize = 0x0; // int32
+            }
+            // Parent: EventPostAdvanceTick_t
+            // Field count: 0
+            pub mod EventServerBeginAsyncPostTickWork_t {
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod EventClientProcessInput_t {
+                pub const m_LoopState: usize = 0x0; // EngineLoopState_t
+                pub const m_flRealTime: usize = 0x28; // float32
+                pub const m_flTickInterval: usize = 0x2C; // float32
+                pub const m_flTickStartTime: usize = 0x30; // float64
+            }
+            // Parent: EventSimulate_t
+            // Field count: 0
+            pub mod EventServerPollNetworking_t {
+            }
+        }
+    }
+}
diff --git a/output/host_dll.cs b/output/host_dll.cs
new file mode 100644
index 0000000..d333f9c
--- /dev/null
+++ b/output/host_dll.cs
@@ -0,0 +1,20 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: host.dll
+    // Class count: 2
+    // Enum count: 0
+    public static class HostDll {
+        // Parent: CAnimScriptBase
+        // Field count: 1
+        public static class EmptyTestScript {
+            public const nint m_hTest = 0x10; // CAnimScriptParam<float32>
+        }
+        // Parent: None
+        // Field count: 1
+        public static class CAnimScriptBase {
+            public const nint m_bIsValid = 0x8; // bool
+        }
+    }
+}
diff --git a/output/host_dll.hpp b/output/host_dll.hpp
new file mode 100644
index 0000000..df8d888
--- /dev/null
+++ b/output/host_dll.hpp
@@ -0,0 +1,26 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: host.dll
+        // Class count: 2
+        // Enum count: 0
+        namespace host_dll {
+            // Parent: CAnimScriptBase
+            // Field count: 1
+            namespace EmptyTestScript {
+                constexpr std::ptrdiff_t m_hTest = 0x10; // CAnimScriptParam<float32>
+            }
+            // Parent: None
+            // Field count: 1
+            namespace CAnimScriptBase {
+                constexpr std::ptrdiff_t m_bIsValid = 0x8; // bool
+            }
+        }
+    }
+}
diff --git a/output/host_dll.json b/output/host_dll.json
new file mode 100644
index 0000000..114932b
--- /dev/null
+++ b/output/host_dll.json
@@ -0,0 +1,21 @@
+{
+  "host.dll": {
+    "classes": {
+      "CAnimScriptBase": {
+        "fields": {
+          "m_bIsValid": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "EmptyTestScript": {
+        "fields": {
+          "m_hTest": 16
+        },
+        "metadata": [],
+        "parent": "CAnimScriptBase"
+      }
+    },
+    "enums": {}
+  }
+}
\ No newline at end of file
diff --git a/output/host_dll.rs b/output/host_dll.rs
new file mode 100644
index 0000000..69869b5
--- /dev/null
+++ b/output/host_dll.rs
@@ -0,0 +1,24 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: host.dll
+        // Class count: 2
+        // Enum count: 0
+        pub mod host_dll {
+            // Parent: CAnimScriptBase
+            // Field count: 1
+            pub mod EmptyTestScript {
+                pub const m_hTest: usize = 0x10; // CAnimScriptParam<float32>
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod CAnimScriptBase {
+                pub const m_bIsValid: usize = 0x8; // bool
+            }
+        }
+    }
+}
diff --git a/output/info.json b/output/info.json
new file mode 100644
index 0000000..9d7b010
--- /dev/null
+++ b/output/info.json
@@ -0,0 +1,4 @@
+{
+  "build_number": 14074,
+  "timestamp": "2025-04-02T01:38:06.172164600+00:00"
+}
\ No newline at end of file
diff --git a/output/interfaces.cs b/output/interfaces.cs
new file mode 100644
index 0000000..032f435
--- /dev/null
+++ b/output/interfaces.cs
@@ -0,0 +1,235 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Interfaces {
+    // Module: animationsystem.dll
+    public static class AnimationsystemDll {
+        public const nint AnimationSystemUtils_001 = 0x60FE08;
+        public const nint AnimationSystem_001 = 0x607D30;
+    }
+    // Module: client.dll
+    public static class ClientDll {
+        public const nint ClientToolsInfo_001 = 0x186BE40;
+        public const nint EmptyWorldService001_Client = 0x1828090;
+        public const nint GameClientExports001 = 0x1868AF8;
+        public const nint LegacyGameUI001 = 0x18896A0;
+        public const nint Source2Client002 = 0x1A827A0;
+        public const nint Source2ClientConfig001 = 0x1A1B370;
+        public const nint Source2ClientPrediction001 = 0x1873ED0;
+        public const nint Source2ClientUI001 = 0x1887A70;
+    }
+    // Module: engine2.dll
+    public static class Engine2Dll {
+        public const nint BenchmarkService001 = 0x546D30;
+        public const nint BugService001 = 0x5DFCC0;
+        public const nint ClientServerEngineLoopService_001 = 0x547A50;
+        public const nint EngineGameUI001 = 0x544B90;
+        public const nint EngineServiceMgr001 = 0x620BA0;
+        public const nint GameEventSystemClientV001 = 0x620EC0;
+        public const nint GameEventSystemServerV001 = 0x621000;
+        public const nint GameResourceServiceClientV001 = 0x546E30;
+        public const nint GameResourceServiceServerV001 = 0x546E90;
+        public const nint GameUIService_001 = 0x5DFFC0;
+        public const nint HostStateMgr001 = 0x547940;
+        public const nint INETSUPPORT_001 = 0x540060;
+        public const nint InputService_001 = 0x5E02D0;
+        public const nint KeyValueCache001 = 0x5479F0;
+        public const nint MapListService_001 = 0x61F320;
+        public const nint NetworkClientService_001 = 0x61F4B0;
+        public const nint NetworkP2PService_001 = 0x547140;
+        public const nint NetworkServerService_001 = 0x61F840;
+        public const nint NetworkService_001 = 0x547290;
+        public const nint RenderService_001 = 0x61FAA0;
+        public const nint ScreenshotService001 = 0x61FD40;
+        public const nint SimpleEngineLoopService_001 = 0x547B60;
+        public const nint SoundService_001 = 0x5472D0;
+        public const nint Source2EngineToClient001 = 0x544210;
+        public const nint Source2EngineToClientStringTable001 = 0x544270;
+        public const nint Source2EngineToServer001 = 0x544308;
+        public const nint Source2EngineToServerStringTable001 = 0x544330;
+        public const nint SplitScreenService_001 = 0x5475B0;
+        public const nint StatsService_001 = 0x620170;
+        public const nint ToolService_001 = 0x547770;
+        public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x544C20;
+        public const nint VProfService_001 = 0x5477B0;
+    }
+    // Module: filesystem_stdio.dll
+    public static class FilesystemStdioDll {
+        public const nint VAsyncFileSystem2_001 = 0x20C590;
+        public const nint VFileSystem017 = 0x211840;
+    }
+    // Module: host.dll
+    public static class HostDll {
+        public const nint DebugDrawQueueManager001 = 0x136FE0;
+        public const nint GameModelInfo001 = 0x137020;
+        public const nint GameSystem2HostHook = 0x137060;
+        public const nint HostUtils001 = 0x137090;
+        public const nint PredictionDiffManager001 = 0x1372E0;
+        public const nint SaveRestoreDataVersion001 = 0x137410;
+        public const nint SinglePlayerSharedMemory001 = 0x137440;
+        public const nint Source2Host001 = 0x1374B0;
+    }
+    // Module: imemanager.dll
+    public static class ImemanagerDll {
+        public const nint IMEManager001 = 0x2EA50;
+    }
+    // Module: inputsystem.dll
+    public static class InputsystemDll {
+        public const nint InputStackSystemVersion001 = 0x36B70;
+        public const nint InputSystemVersion001 = 0x387E0;
+    }
+    // Module: localize.dll
+    public static class LocalizeDll {
+        public const nint Localize_001 = 0x3AAD0;
+    }
+    // Module: matchmaking.dll
+    public static class MatchmakingDll {
+        public const nint GameTypes001 = 0x1A3190;
+        public const nint MATCHFRAMEWORK_001 = 0x1AB360;
+    }
+    // Module: materialsystem2.dll
+    public static class Materialsystem2Dll {
+        public const nint FontManager_001 = 0x114330;
+        public const nint MaterialUtils_001 = 0x10F4C0;
+        public const nint PostProcessingSystem_001 = 0x10F3D0;
+        public const nint TextLayout_001 = 0x10F450;
+        public const nint VMaterialSystem2_001 = 0x113910;
+    }
+    // Module: meshsystem.dll
+    public static class MeshsystemDll {
+        public const nint MeshSystem001 = 0x19D600;
+    }
+    // Module: navsystem.dll
+    public static class NavsystemDll {
+        public const nint NavSystem001 = 0xFB730;
+    }
+    // Module: networksystem.dll
+    public static class NetworksystemDll {
+        public const nint FlattenedSerializersVersion001 = 0x244570;
+        public const nint NetworkMessagesVersion001 = 0x2765E0;
+        public const nint NetworkSystemVersion001 = 0x26E300;
+        public const nint SerializedEntitiesVersion001 = 0x26E3F0;
+    }
+    // Module: panorama.dll
+    public static class PanoramaDll {
+        public const nint PanoramaUIEngine001 = 0x4E9250;
+    }
+    // Module: panorama_text_pango.dll
+    public static class PanoramaTextPangoDll {
+        public const nint PanoramaTextServices001 = 0x2B38E0;
+    }
+    // Module: panoramauiclient.dll
+    public static class PanoramauiclientDll {
+        public const nint PanoramaUIClient001 = 0x28E840;
+    }
+    // Module: particles.dll
+    public static class ParticlesDll {
+        public const nint ParticleSystemMgr003 = 0x629C70;
+    }
+    // Module: pulse_system.dll
+    public static class PulseSystemDll {
+        public const nint IPulseSystem_001 = 0x17D990;
+    }
+    // Module: rendersystemdx11.dll
+    public static class Rendersystemdx11Dll {
+        public const nint RenderDeviceMgr001 = 0x3EE1F0;
+        public const nint RenderUtils_001 = 0x3EEA58;
+        public const nint VRenderDeviceMgrBackdoor001 = 0x3EE290;
+    }
+    // Module: resourcesystem.dll
+    public static class ResourcesystemDll {
+        public const nint ResourceSystem013 = 0x72A40;
+    }
+    // Module: scenefilecache.dll
+    public static class ScenefilecacheDll {
+        public const nint ResponseRulesCache001 = 0x720F0;
+        public const nint SceneFileCache002 = 0x72260;
+    }
+    // Module: scenesystem.dll
+    public static class ScenesystemDll {
+        public const nint RenderingPipelines_001 = 0x5CEB10;
+        public const nint SceneSystem_002 = 0x7ADFF0;
+        public const nint SceneUtils_001 = 0x5CF360;
+    }
+    // Module: schemasystem.dll
+    public static class SchemasystemDll {
+        public const nint SchemaSystem_001 = 0x616E0;
+    }
+    // Module: server.dll
+    public static class ServerDll {
+        public const nint EmptyWorldService001_Server = 0x1364D50;
+        public const nint EntitySubclassUtilsV001 = 0x13153E0;
+        public const nint NavGameTest001 = 0x1403E08;
+        public const nint ServerToolsInfo_001 = 0x13B9738;
+        public const nint Source2GameClients001 = 0x13B3600;
+        public const nint Source2GameDirector001 = 0x14E73A0;
+        public const nint Source2GameEntities001 = 0x13B9660;
+        public const nint Source2Server001 = 0x13B94D0;
+        public const nint Source2ServerConfig001 = 0x15B1CD8;
+        public const nint customnavsystem001 = 0x12F9B58;
+    }
+    // Module: soundsystem.dll
+    public static class SoundsystemDll {
+        public const nint SoundOpSystem001 = 0x3A1C50;
+        public const nint SoundOpSystemEdit001 = 0x3A1B20;
+        public const nint SoundSystem001 = 0x3A15F0;
+        public const nint VMixEditTool001 = 0x48289C6A;
+    }
+    // Module: steamaudio.dll
+    public static class SteamaudioDll {
+        public const nint SteamAudio001 = 0x2139F0;
+    }
+    // Module: steamclient64.dll
+    public static class Steamclient64Dll {
+        public static readonly nint CLIENTENGINE_INTERFACE_VERSION005 = unchecked((nint)0xFFFFFFFF8BB038DA);
+        public const nint IVALIDATE001 = 0x15246E8;
+        public const nint SteamClient006 = 0x1521E10;
+        public const nint SteamClient007 = 0x1521E18;
+        public const nint SteamClient008 = 0x1521E20;
+        public const nint SteamClient009 = 0x1521E28;
+        public const nint SteamClient010 = 0x1521E30;
+        public const nint SteamClient011 = 0x1521E38;
+        public const nint SteamClient012 = 0x1521E40;
+        public const nint SteamClient013 = 0x1521E48;
+        public const nint SteamClient014 = 0x1521E50;
+        public const nint SteamClient015 = 0x1521E58;
+        public const nint SteamClient016 = 0x1521E60;
+        public const nint SteamClient017 = 0x1521E68;
+        public const nint SteamClient018 = 0x1521E70;
+        public const nint SteamClient019 = 0x1521E78;
+        public const nint SteamClient020 = 0x1521E80;
+        public const nint SteamClient021 = 0x1521E88;
+        public const nint SteamClient022 = 0x1521E90;
+        public const nint p2pvoice002 = 0x14E297F;
+        public const nint p2pvoicesingleton002 = 0x14FF0E0;
+    }
+    // Module: tier0.dll
+    public static class Tier0Dll {
+        public const nint TestScriptMgr001 = 0x37FA70;
+        public const nint VEngineCvar007 = 0x38E4B0;
+        public const nint VProcessUtils002 = 0x37F980;
+        public const nint VStringTokenSystem001 = 0x3A6F00;
+    }
+    // Module: v8system.dll
+    public static class V8systemDll {
+        public const nint Source2V8System001 = 0x2C480;
+    }
+    // Module: vphysics2.dll
+    public static class Vphysics2Dll {
+        public const nint VPhysics2_Handle_Interface_001 = 0x391F50;
+        public const nint VPhysics2_Interface_001 = 0x391F90;
+    }
+    // Module: vscript.dll
+    public static class VscriptDll {
+        public const nint VScriptManager010 = 0x128600;
+    }
+    // Module: vstdlib_s64.dll
+    public static class VstdlibS64Dll {
+        public const nint IVALIDATE001 = 0x6A990;
+        public const nint VEngineCvar002 = 0x69070;
+    }
+    // Module: worldrenderer.dll
+    public static class WorldrendererDll {
+        public const nint WorldRendererMgr001 = 0x161D80;
+    }
+}
diff --git a/output/interfaces.hpp b/output/interfaces.hpp
new file mode 100644
index 0000000..2300fd0
--- /dev/null
+++ b/output/interfaces.hpp
@@ -0,0 +1,241 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace interfaces {
+        // Module: animationsystem.dll
+        namespace animationsystem_dll {
+            constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x60FE08;
+            constexpr std::ptrdiff_t AnimationSystem_001 = 0x607D30;
+        }
+        // Module: client.dll
+        namespace client_dll {
+            constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x186BE40;
+            constexpr std::ptrdiff_t EmptyWorldService001_Client = 0x1828090;
+            constexpr std::ptrdiff_t GameClientExports001 = 0x1868AF8;
+            constexpr std::ptrdiff_t LegacyGameUI001 = 0x18896A0;
+            constexpr std::ptrdiff_t Source2Client002 = 0x1A827A0;
+            constexpr std::ptrdiff_t Source2ClientConfig001 = 0x1A1B370;
+            constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x1873ED0;
+            constexpr std::ptrdiff_t Source2ClientUI001 = 0x1887A70;
+        }
+        // Module: engine2.dll
+        namespace engine2_dll {
+            constexpr std::ptrdiff_t BenchmarkService001 = 0x546D30;
+            constexpr std::ptrdiff_t BugService001 = 0x5DFCC0;
+            constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x547A50;
+            constexpr std::ptrdiff_t EngineGameUI001 = 0x544B90;
+            constexpr std::ptrdiff_t EngineServiceMgr001 = 0x620BA0;
+            constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x620EC0;
+            constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x621000;
+            constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x546E30;
+            constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x546E90;
+            constexpr std::ptrdiff_t GameUIService_001 = 0x5DFFC0;
+            constexpr std::ptrdiff_t HostStateMgr001 = 0x547940;
+            constexpr std::ptrdiff_t INETSUPPORT_001 = 0x540060;
+            constexpr std::ptrdiff_t InputService_001 = 0x5E02D0;
+            constexpr std::ptrdiff_t KeyValueCache001 = 0x5479F0;
+            constexpr std::ptrdiff_t MapListService_001 = 0x61F320;
+            constexpr std::ptrdiff_t NetworkClientService_001 = 0x61F4B0;
+            constexpr std::ptrdiff_t NetworkP2PService_001 = 0x547140;
+            constexpr std::ptrdiff_t NetworkServerService_001 = 0x61F840;
+            constexpr std::ptrdiff_t NetworkService_001 = 0x547290;
+            constexpr std::ptrdiff_t RenderService_001 = 0x61FAA0;
+            constexpr std::ptrdiff_t ScreenshotService001 = 0x61FD40;
+            constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x547B60;
+            constexpr std::ptrdiff_t SoundService_001 = 0x5472D0;
+            constexpr std::ptrdiff_t Source2EngineToClient001 = 0x544210;
+            constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x544270;
+            constexpr std::ptrdiff_t Source2EngineToServer001 = 0x544308;
+            constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0x544330;
+            constexpr std::ptrdiff_t SplitScreenService_001 = 0x5475B0;
+            constexpr std::ptrdiff_t StatsService_001 = 0x620170;
+            constexpr std::ptrdiff_t ToolService_001 = 0x547770;
+            constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x544C20;
+            constexpr std::ptrdiff_t VProfService_001 = 0x5477B0;
+        }
+        // Module: filesystem_stdio.dll
+        namespace filesystem_stdio_dll {
+            constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x20C590;
+            constexpr std::ptrdiff_t VFileSystem017 = 0x211840;
+        }
+        // Module: host.dll
+        namespace host_dll {
+            constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0x136FE0;
+            constexpr std::ptrdiff_t GameModelInfo001 = 0x137020;
+            constexpr std::ptrdiff_t GameSystem2HostHook = 0x137060;
+            constexpr std::ptrdiff_t HostUtils001 = 0x137090;
+            constexpr std::ptrdiff_t PredictionDiffManager001 = 0x1372E0;
+            constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0x137410;
+            constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0x137440;
+            constexpr std::ptrdiff_t Source2Host001 = 0x1374B0;
+        }
+        // Module: imemanager.dll
+        namespace imemanager_dll {
+            constexpr std::ptrdiff_t IMEManager001 = 0x2EA50;
+        }
+        // Module: inputsystem.dll
+        namespace inputsystem_dll {
+            constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x36B70;
+            constexpr std::ptrdiff_t InputSystemVersion001 = 0x387E0;
+        }
+        // Module: localize.dll
+        namespace localize_dll {
+            constexpr std::ptrdiff_t Localize_001 = 0x3AAD0;
+        }
+        // Module: matchmaking.dll
+        namespace matchmaking_dll {
+            constexpr std::ptrdiff_t GameTypes001 = 0x1A3190;
+            constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x1AB360;
+        }
+        // Module: materialsystem2.dll
+        namespace materialsystem2_dll {
+            constexpr std::ptrdiff_t FontManager_001 = 0x114330;
+            constexpr std::ptrdiff_t MaterialUtils_001 = 0x10F4C0;
+            constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x10F3D0;
+            constexpr std::ptrdiff_t TextLayout_001 = 0x10F450;
+            constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x113910;
+        }
+        // Module: meshsystem.dll
+        namespace meshsystem_dll {
+            constexpr std::ptrdiff_t MeshSystem001 = 0x19D600;
+        }
+        // Module: navsystem.dll
+        namespace navsystem_dll {
+            constexpr std::ptrdiff_t NavSystem001 = 0xFB730;
+        }
+        // Module: networksystem.dll
+        namespace networksystem_dll {
+            constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x244570;
+            constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x2765E0;
+            constexpr std::ptrdiff_t NetworkSystemVersion001 = 0x26E300;
+            constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0x26E3F0;
+        }
+        // Module: panorama.dll
+        namespace panorama_dll {
+            constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x4E9250;
+        }
+        // Module: panorama_text_pango.dll
+        namespace panorama_text_pango_dll {
+            constexpr std::ptrdiff_t PanoramaTextServices001 = 0x2B38E0;
+        }
+        // Module: panoramauiclient.dll
+        namespace panoramauiclient_dll {
+            constexpr std::ptrdiff_t PanoramaUIClient001 = 0x28E840;
+        }
+        // Module: particles.dll
+        namespace particles_dll {
+            constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x629C70;
+        }
+        // Module: pulse_system.dll
+        namespace pulse_system_dll {
+            constexpr std::ptrdiff_t IPulseSystem_001 = 0x17D990;
+        }
+        // Module: rendersystemdx11.dll
+        namespace rendersystemdx11_dll {
+            constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x3EE1F0;
+            constexpr std::ptrdiff_t RenderUtils_001 = 0x3EEA58;
+            constexpr std::ptrdiff_t VRenderDeviceMgrBackdoor001 = 0x3EE290;
+        }
+        // Module: resourcesystem.dll
+        namespace resourcesystem_dll {
+            constexpr std::ptrdiff_t ResourceSystem013 = 0x72A40;
+        }
+        // Module: scenefilecache.dll
+        namespace scenefilecache_dll {
+            constexpr std::ptrdiff_t ResponseRulesCache001 = 0x720F0;
+            constexpr std::ptrdiff_t SceneFileCache002 = 0x72260;
+        }
+        // Module: scenesystem.dll
+        namespace scenesystem_dll {
+            constexpr std::ptrdiff_t RenderingPipelines_001 = 0x5CEB10;
+            constexpr std::ptrdiff_t SceneSystem_002 = 0x7ADFF0;
+            constexpr std::ptrdiff_t SceneUtils_001 = 0x5CF360;
+        }
+        // Module: schemasystem.dll
+        namespace schemasystem_dll {
+            constexpr std::ptrdiff_t SchemaSystem_001 = 0x616E0;
+        }
+        // Module: server.dll
+        namespace server_dll {
+            constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x1364D50;
+            constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x13153E0;
+            constexpr std::ptrdiff_t NavGameTest001 = 0x1403E08;
+            constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x13B9738;
+            constexpr std::ptrdiff_t Source2GameClients001 = 0x13B3600;
+            constexpr std::ptrdiff_t Source2GameDirector001 = 0x14E73A0;
+            constexpr std::ptrdiff_t Source2GameEntities001 = 0x13B9660;
+            constexpr std::ptrdiff_t Source2Server001 = 0x13B94D0;
+            constexpr std::ptrdiff_t Source2ServerConfig001 = 0x15B1CD8;
+            constexpr std::ptrdiff_t customnavsystem001 = 0x12F9B58;
+        }
+        // Module: soundsystem.dll
+        namespace soundsystem_dll {
+            constexpr std::ptrdiff_t SoundOpSystem001 = 0x3A1C50;
+            constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0x3A1B20;
+            constexpr std::ptrdiff_t SoundSystem001 = 0x3A15F0;
+            constexpr std::ptrdiff_t VMixEditTool001 = 0x48289C6A;
+        }
+        // Module: steamaudio.dll
+        namespace steamaudio_dll {
+            constexpr std::ptrdiff_t SteamAudio001 = 0x2139F0;
+        }
+        // Module: steamclient64.dll
+        namespace steamclient64_dll {
+            constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0xFFFFFFFF8BB038DA;
+            constexpr std::ptrdiff_t IVALIDATE001 = 0x15246E8;
+            constexpr std::ptrdiff_t SteamClient006 = 0x1521E10;
+            constexpr std::ptrdiff_t SteamClient007 = 0x1521E18;
+            constexpr std::ptrdiff_t SteamClient008 = 0x1521E20;
+            constexpr std::ptrdiff_t SteamClient009 = 0x1521E28;
+            constexpr std::ptrdiff_t SteamClient010 = 0x1521E30;
+            constexpr std::ptrdiff_t SteamClient011 = 0x1521E38;
+            constexpr std::ptrdiff_t SteamClient012 = 0x1521E40;
+            constexpr std::ptrdiff_t SteamClient013 = 0x1521E48;
+            constexpr std::ptrdiff_t SteamClient014 = 0x1521E50;
+            constexpr std::ptrdiff_t SteamClient015 = 0x1521E58;
+            constexpr std::ptrdiff_t SteamClient016 = 0x1521E60;
+            constexpr std::ptrdiff_t SteamClient017 = 0x1521E68;
+            constexpr std::ptrdiff_t SteamClient018 = 0x1521E70;
+            constexpr std::ptrdiff_t SteamClient019 = 0x1521E78;
+            constexpr std::ptrdiff_t SteamClient020 = 0x1521E80;
+            constexpr std::ptrdiff_t SteamClient021 = 0x1521E88;
+            constexpr std::ptrdiff_t SteamClient022 = 0x1521E90;
+            constexpr std::ptrdiff_t p2pvoice002 = 0x14E297F;
+            constexpr std::ptrdiff_t p2pvoicesingleton002 = 0x14FF0E0;
+        }
+        // Module: tier0.dll
+        namespace tier0_dll {
+            constexpr std::ptrdiff_t TestScriptMgr001 = 0x37FA70;
+            constexpr std::ptrdiff_t VEngineCvar007 = 0x38E4B0;
+            constexpr std::ptrdiff_t VProcessUtils002 = 0x37F980;
+            constexpr std::ptrdiff_t VStringTokenSystem001 = 0x3A6F00;
+        }
+        // Module: v8system.dll
+        namespace v8system_dll {
+            constexpr std::ptrdiff_t Source2V8System001 = 0x2C480;
+        }
+        // Module: vphysics2.dll
+        namespace vphysics2_dll {
+            constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0x391F50;
+            constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0x391F90;
+        }
+        // Module: vscript.dll
+        namespace vscript_dll {
+            constexpr std::ptrdiff_t VScriptManager010 = 0x128600;
+        }
+        // Module: vstdlib_s64.dll
+        namespace vstdlib_s64_dll {
+            constexpr std::ptrdiff_t IVALIDATE001 = 0x6A990;
+            constexpr std::ptrdiff_t VEngineCvar002 = 0x69070;
+        }
+        // Module: worldrenderer.dll
+        namespace worldrenderer_dll {
+            constexpr std::ptrdiff_t WorldRendererMgr001 = 0x161D80;
+        }
+    }
+}
diff --git a/output/interfaces.json b/output/interfaces.json
new file mode 100644
index 0000000..9cd9f2c
--- /dev/null
+++ b/output/interfaces.json
@@ -0,0 +1,199 @@
+{
+  "animationsystem.dll": {
+    "AnimationSystemUtils_001": 6356488,
+    "AnimationSystem_001": 6323504
+  },
+  "client.dll": {
+    "ClientToolsInfo_001": 25607744,
+    "EmptyWorldService001_Client": 25329808,
+    "GameClientExports001": 25594616,
+    "LegacyGameUI001": 25728672,
+    "Source2Client002": 27797408,
+    "Source2ClientConfig001": 27374448,
+    "Source2ClientPrediction001": 25640656,
+    "Source2ClientUI001": 25721456
+  },
+  "engine2.dll": {
+    "BenchmarkService001": 5532976,
+    "BugService001": 6159552,
+    "ClientServerEngineLoopService_001": 5536336,
+    "EngineGameUI001": 5524368,
+    "EngineServiceMgr001": 6425504,
+    "GameEventSystemClientV001": 6426304,
+    "GameEventSystemServerV001": 6426624,
+    "GameResourceServiceClientV001": 5533232,
+    "GameResourceServiceServerV001": 5533328,
+    "GameUIService_001": 6160320,
+    "HostStateMgr001": 5536064,
+    "INETSUPPORT_001": 5505120,
+    "InputService_001": 6161104,
+    "KeyValueCache001": 5536240,
+    "MapListService_001": 6419232,
+    "NetworkClientService_001": 6419632,
+    "NetworkP2PService_001": 5534016,
+    "NetworkServerService_001": 6420544,
+    "NetworkService_001": 5534352,
+    "RenderService_001": 6421152,
+    "ScreenshotService001": 6421824,
+    "SimpleEngineLoopService_001": 5536608,
+    "SoundService_001": 5534416,
+    "Source2EngineToClient001": 5521936,
+    "Source2EngineToClientStringTable001": 5522032,
+    "Source2EngineToServer001": 5522184,
+    "Source2EngineToServerStringTable001": 5522224,
+    "SplitScreenService_001": 5535152,
+    "StatsService_001": 6422896,
+    "ToolService_001": 5535600,
+    "VENGINE_GAMEUIFUNCS_VERSION005": 5524512,
+    "VProfService_001": 5535664
+  },
+  "filesystem_stdio.dll": {
+    "VAsyncFileSystem2_001": 2147728,
+    "VFileSystem017": 2168896
+  },
+  "host.dll": {
+    "DebugDrawQueueManager001": 1273824,
+    "GameModelInfo001": 1273888,
+    "GameSystem2HostHook": 1273952,
+    "HostUtils001": 1274000,
+    "PredictionDiffManager001": 1274592,
+    "SaveRestoreDataVersion001": 1274896,
+    "SinglePlayerSharedMemory001": 1274944,
+    "Source2Host001": 1275056
+  },
+  "imemanager.dll": {
+    "IMEManager001": 191056
+  },
+  "inputsystem.dll": {
+    "InputStackSystemVersion001": 224112,
+    "InputSystemVersion001": 231392
+  },
+  "localize.dll": {
+    "Localize_001": 240336
+  },
+  "matchmaking.dll": {
+    "GameTypes001": 1716624,
+    "MATCHFRAMEWORK_001": 1749856
+  },
+  "materialsystem2.dll": {
+    "FontManager_001": 1131312,
+    "MaterialUtils_001": 1111232,
+    "PostProcessingSystem_001": 1110992,
+    "TextLayout_001": 1111120,
+    "VMaterialSystem2_001": 1128720
+  },
+  "meshsystem.dll": {
+    "MeshSystem001": 1693184
+  },
+  "navsystem.dll": {
+    "NavSystem001": 1029936
+  },
+  "networksystem.dll": {
+    "FlattenedSerializersVersion001": 2377072,
+    "NetworkMessagesVersion001": 2581984,
+    "NetworkSystemVersion001": 2548480,
+    "SerializedEntitiesVersion001": 2548720
+  },
+  "panorama.dll": {
+    "PanoramaUIEngine001": 5149264
+  },
+  "panorama_text_pango.dll": {
+    "PanoramaTextServices001": 2832608
+  },
+  "panoramauiclient.dll": {
+    "PanoramaUIClient001": 2680896
+  },
+  "particles.dll": {
+    "ParticleSystemMgr003": 6462576
+  },
+  "pulse_system.dll": {
+    "IPulseSystem_001": 1563024
+  },
+  "rendersystemdx11.dll": {
+    "RenderDeviceMgr001": 4121072,
+    "RenderUtils_001": 4123224,
+    "VRenderDeviceMgrBackdoor001": 4121232
+  },
+  "resourcesystem.dll": {
+    "ResourceSystem013": 469568
+  },
+  "scenefilecache.dll": {
+    "ResponseRulesCache001": 467184,
+    "SceneFileCache002": 467552
+  },
+  "scenesystem.dll": {
+    "RenderingPipelines_001": 6089488,
+    "SceneSystem_002": 8052720,
+    "SceneUtils_001": 6091616
+  },
+  "schemasystem.dll": {
+    "SchemaSystem_001": 399072
+  },
+  "server.dll": {
+    "EmptyWorldService001_Server": 20335952,
+    "EntitySubclassUtilsV001": 20009952,
+    "NavGameTest001": 20987400,
+    "ServerToolsInfo_001": 20682552,
+    "Source2GameClients001": 20657664,
+    "Source2GameDirector001": 21918624,
+    "Source2GameEntities001": 20682336,
+    "Source2Server001": 20681936,
+    "Source2ServerConfig001": 22748376,
+    "customnavsystem001": 19897176
+  },
+  "soundsystem.dll": {
+    "SoundOpSystem001": 3808336,
+    "SoundOpSystemEdit001": 3808032,
+    "SoundSystem001": 3806704,
+    "VMixEditTool001": 1210621034
+  },
+  "steamaudio.dll": {
+    "SteamAudio001": 2177520
+  },
+  "steamclient64.dll": {
+    "CLIENTENGINE_INTERFACE_VERSION005": 18446744071758166234,
+    "IVALIDATE001": 22169320,
+    "SteamClient006": 22158864,
+    "SteamClient007": 22158872,
+    "SteamClient008": 22158880,
+    "SteamClient009": 22158888,
+    "SteamClient010": 22158896,
+    "SteamClient011": 22158904,
+    "SteamClient012": 22158912,
+    "SteamClient013": 22158920,
+    "SteamClient014": 22158928,
+    "SteamClient015": 22158936,
+    "SteamClient016": 22158944,
+    "SteamClient017": 22158952,
+    "SteamClient018": 22158960,
+    "SteamClient019": 22158968,
+    "SteamClient020": 22158976,
+    "SteamClient021": 22158984,
+    "SteamClient022": 22158992,
+    "p2pvoice002": 21899647,
+    "p2pvoicesingleton002": 22016224
+  },
+  "tier0.dll": {
+    "TestScriptMgr001": 3668592,
+    "VEngineCvar007": 3728560,
+    "VProcessUtils002": 3668352,
+    "VStringTokenSystem001": 3829504
+  },
+  "v8system.dll": {
+    "Source2V8System001": 181376
+  },
+  "vphysics2.dll": {
+    "VPhysics2_Handle_Interface_001": 3743568,
+    "VPhysics2_Interface_001": 3743632
+  },
+  "vscript.dll": {
+    "VScriptManager010": 1213952
+  },
+  "vstdlib_s64.dll": {
+    "IVALIDATE001": 436624,
+    "VEngineCvar002": 430192
+  },
+  "worldrenderer.dll": {
+    "WorldRendererMgr001": 1449344
+  }
+}
\ No newline at end of file
diff --git a/output/interfaces.rs b/output/interfaces.rs
new file mode 100644
index 0000000..8bc9ee9
--- /dev/null
+++ b/output/interfaces.rs
@@ -0,0 +1,239 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, unused)]
+
+pub mod cs2_dumper {
+    pub mod interfaces {
+        // Module: animationsystem.dll
+        pub mod animationsystem_dll {
+            pub const AnimationSystemUtils_001: usize = 0x60FE08;
+            pub const AnimationSystem_001: usize = 0x607D30;
+        }
+        // Module: client.dll
+        pub mod client_dll {
+            pub const ClientToolsInfo_001: usize = 0x186BE40;
+            pub const EmptyWorldService001_Client: usize = 0x1828090;
+            pub const GameClientExports001: usize = 0x1868AF8;
+            pub const LegacyGameUI001: usize = 0x18896A0;
+            pub const Source2Client002: usize = 0x1A827A0;
+            pub const Source2ClientConfig001: usize = 0x1A1B370;
+            pub const Source2ClientPrediction001: usize = 0x1873ED0;
+            pub const Source2ClientUI001: usize = 0x1887A70;
+        }
+        // Module: engine2.dll
+        pub mod engine2_dll {
+            pub const BenchmarkService001: usize = 0x546D30;
+            pub const BugService001: usize = 0x5DFCC0;
+            pub const ClientServerEngineLoopService_001: usize = 0x547A50;
+            pub const EngineGameUI001: usize = 0x544B90;
+            pub const EngineServiceMgr001: usize = 0x620BA0;
+            pub const GameEventSystemClientV001: usize = 0x620EC0;
+            pub const GameEventSystemServerV001: usize = 0x621000;
+            pub const GameResourceServiceClientV001: usize = 0x546E30;
+            pub const GameResourceServiceServerV001: usize = 0x546E90;
+            pub const GameUIService_001: usize = 0x5DFFC0;
+            pub const HostStateMgr001: usize = 0x547940;
+            pub const INETSUPPORT_001: usize = 0x540060;
+            pub const InputService_001: usize = 0x5E02D0;
+            pub const KeyValueCache001: usize = 0x5479F0;
+            pub const MapListService_001: usize = 0x61F320;
+            pub const NetworkClientService_001: usize = 0x61F4B0;
+            pub const NetworkP2PService_001: usize = 0x547140;
+            pub const NetworkServerService_001: usize = 0x61F840;
+            pub const NetworkService_001: usize = 0x547290;
+            pub const RenderService_001: usize = 0x61FAA0;
+            pub const ScreenshotService001: usize = 0x61FD40;
+            pub const SimpleEngineLoopService_001: usize = 0x547B60;
+            pub const SoundService_001: usize = 0x5472D0;
+            pub const Source2EngineToClient001: usize = 0x544210;
+            pub const Source2EngineToClientStringTable001: usize = 0x544270;
+            pub const Source2EngineToServer001: usize = 0x544308;
+            pub const Source2EngineToServerStringTable001: usize = 0x544330;
+            pub const SplitScreenService_001: usize = 0x5475B0;
+            pub const StatsService_001: usize = 0x620170;
+            pub const ToolService_001: usize = 0x547770;
+            pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x544C20;
+            pub const VProfService_001: usize = 0x5477B0;
+        }
+        // Module: filesystem_stdio.dll
+        pub mod filesystem_stdio_dll {
+            pub const VAsyncFileSystem2_001: usize = 0x20C590;
+            pub const VFileSystem017: usize = 0x211840;
+        }
+        // Module: host.dll
+        pub mod host_dll {
+            pub const DebugDrawQueueManager001: usize = 0x136FE0;
+            pub const GameModelInfo001: usize = 0x137020;
+            pub const GameSystem2HostHook: usize = 0x137060;
+            pub const HostUtils001: usize = 0x137090;
+            pub const PredictionDiffManager001: usize = 0x1372E0;
+            pub const SaveRestoreDataVersion001: usize = 0x137410;
+            pub const SinglePlayerSharedMemory001: usize = 0x137440;
+            pub const Source2Host001: usize = 0x1374B0;
+        }
+        // Module: imemanager.dll
+        pub mod imemanager_dll {
+            pub const IMEManager001: usize = 0x2EA50;
+        }
+        // Module: inputsystem.dll
+        pub mod inputsystem_dll {
+            pub const InputStackSystemVersion001: usize = 0x36B70;
+            pub const InputSystemVersion001: usize = 0x387E0;
+        }
+        // Module: localize.dll
+        pub mod localize_dll {
+            pub const Localize_001: usize = 0x3AAD0;
+        }
+        // Module: matchmaking.dll
+        pub mod matchmaking_dll {
+            pub const GameTypes001: usize = 0x1A3190;
+            pub const MATCHFRAMEWORK_001: usize = 0x1AB360;
+        }
+        // Module: materialsystem2.dll
+        pub mod materialsystem2_dll {
+            pub const FontManager_001: usize = 0x114330;
+            pub const MaterialUtils_001: usize = 0x10F4C0;
+            pub const PostProcessingSystem_001: usize = 0x10F3D0;
+            pub const TextLayout_001: usize = 0x10F450;
+            pub const VMaterialSystem2_001: usize = 0x113910;
+        }
+        // Module: meshsystem.dll
+        pub mod meshsystem_dll {
+            pub const MeshSystem001: usize = 0x19D600;
+        }
+        // Module: navsystem.dll
+        pub mod navsystem_dll {
+            pub const NavSystem001: usize = 0xFB730;
+        }
+        // Module: networksystem.dll
+        pub mod networksystem_dll {
+            pub const FlattenedSerializersVersion001: usize = 0x244570;
+            pub const NetworkMessagesVersion001: usize = 0x2765E0;
+            pub const NetworkSystemVersion001: usize = 0x26E300;
+            pub const SerializedEntitiesVersion001: usize = 0x26E3F0;
+        }
+        // Module: panorama.dll
+        pub mod panorama_dll {
+            pub const PanoramaUIEngine001: usize = 0x4E9250;
+        }
+        // Module: panorama_text_pango.dll
+        pub mod panorama_text_pango_dll {
+            pub const PanoramaTextServices001: usize = 0x2B38E0;
+        }
+        // Module: panoramauiclient.dll
+        pub mod panoramauiclient_dll {
+            pub const PanoramaUIClient001: usize = 0x28E840;
+        }
+        // Module: particles.dll
+        pub mod particles_dll {
+            pub const ParticleSystemMgr003: usize = 0x629C70;
+        }
+        // Module: pulse_system.dll
+        pub mod pulse_system_dll {
+            pub const IPulseSystem_001: usize = 0x17D990;
+        }
+        // Module: rendersystemdx11.dll
+        pub mod rendersystemdx11_dll {
+            pub const RenderDeviceMgr001: usize = 0x3EE1F0;
+            pub const RenderUtils_001: usize = 0x3EEA58;
+            pub const VRenderDeviceMgrBackdoor001: usize = 0x3EE290;
+        }
+        // Module: resourcesystem.dll
+        pub mod resourcesystem_dll {
+            pub const ResourceSystem013: usize = 0x72A40;
+        }
+        // Module: scenefilecache.dll
+        pub mod scenefilecache_dll {
+            pub const ResponseRulesCache001: usize = 0x720F0;
+            pub const SceneFileCache002: usize = 0x72260;
+        }
+        // Module: scenesystem.dll
+        pub mod scenesystem_dll {
+            pub const RenderingPipelines_001: usize = 0x5CEB10;
+            pub const SceneSystem_002: usize = 0x7ADFF0;
+            pub const SceneUtils_001: usize = 0x5CF360;
+        }
+        // Module: schemasystem.dll
+        pub mod schemasystem_dll {
+            pub const SchemaSystem_001: usize = 0x616E0;
+        }
+        // Module: server.dll
+        pub mod server_dll {
+            pub const EmptyWorldService001_Server: usize = 0x1364D50;
+            pub const EntitySubclassUtilsV001: usize = 0x13153E0;
+            pub const NavGameTest001: usize = 0x1403E08;
+            pub const ServerToolsInfo_001: usize = 0x13B9738;
+            pub const Source2GameClients001: usize = 0x13B3600;
+            pub const Source2GameDirector001: usize = 0x14E73A0;
+            pub const Source2GameEntities001: usize = 0x13B9660;
+            pub const Source2Server001: usize = 0x13B94D0;
+            pub const Source2ServerConfig001: usize = 0x15B1CD8;
+            pub const customnavsystem001: usize = 0x12F9B58;
+        }
+        // Module: soundsystem.dll
+        pub mod soundsystem_dll {
+            pub const SoundOpSystem001: usize = 0x3A1C50;
+            pub const SoundOpSystemEdit001: usize = 0x3A1B20;
+            pub const SoundSystem001: usize = 0x3A15F0;
+            pub const VMixEditTool001: usize = 0x48289C6A;
+        }
+        // Module: steamaudio.dll
+        pub mod steamaudio_dll {
+            pub const SteamAudio001: usize = 0x2139F0;
+        }
+        // Module: steamclient64.dll
+        pub mod steamclient64_dll {
+            pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0xFFFFFFFF8BB038DA;
+            pub const IVALIDATE001: usize = 0x15246E8;
+            pub const SteamClient006: usize = 0x1521E10;
+            pub const SteamClient007: usize = 0x1521E18;
+            pub const SteamClient008: usize = 0x1521E20;
+            pub const SteamClient009: usize = 0x1521E28;
+            pub const SteamClient010: usize = 0x1521E30;
+            pub const SteamClient011: usize = 0x1521E38;
+            pub const SteamClient012: usize = 0x1521E40;
+            pub const SteamClient013: usize = 0x1521E48;
+            pub const SteamClient014: usize = 0x1521E50;
+            pub const SteamClient015: usize = 0x1521E58;
+            pub const SteamClient016: usize = 0x1521E60;
+            pub const SteamClient017: usize = 0x1521E68;
+            pub const SteamClient018: usize = 0x1521E70;
+            pub const SteamClient019: usize = 0x1521E78;
+            pub const SteamClient020: usize = 0x1521E80;
+            pub const SteamClient021: usize = 0x1521E88;
+            pub const SteamClient022: usize = 0x1521E90;
+            pub const p2pvoice002: usize = 0x14E297F;
+            pub const p2pvoicesingleton002: usize = 0x14FF0E0;
+        }
+        // Module: tier0.dll
+        pub mod tier0_dll {
+            pub const TestScriptMgr001: usize = 0x37FA70;
+            pub const VEngineCvar007: usize = 0x38E4B0;
+            pub const VProcessUtils002: usize = 0x37F980;
+            pub const VStringTokenSystem001: usize = 0x3A6F00;
+        }
+        // Module: v8system.dll
+        pub mod v8system_dll {
+            pub const Source2V8System001: usize = 0x2C480;
+        }
+        // Module: vphysics2.dll
+        pub mod vphysics2_dll {
+            pub const VPhysics2_Handle_Interface_001: usize = 0x391F50;
+            pub const VPhysics2_Interface_001: usize = 0x391F90;
+        }
+        // Module: vscript.dll
+        pub mod vscript_dll {
+            pub const VScriptManager010: usize = 0x128600;
+        }
+        // Module: vstdlib_s64.dll
+        pub mod vstdlib_s64_dll {
+            pub const IVALIDATE001: usize = 0x6A990;
+            pub const VEngineCvar002: usize = 0x69070;
+        }
+        // Module: worldrenderer.dll
+        pub mod worldrenderer_dll {
+            pub const WorldRendererMgr001: usize = 0x161D80;
+        }
+    }
+}
diff --git a/output/materialsystem2_dll.cs b/output/materialsystem2_dll.cs
new file mode 100644
index 0000000..507acea
--- /dev/null
+++ b/output/materialsystem2_dll.cs
@@ -0,0 +1,206 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: materialsystem2.dll
+    // Class count: 13
+    // Enum count: 5
+    public static class Materialsystem2Dll {
+        // Alignment: 4
+        // Member count: 4
+        public enum VertJustification_e : uint {
+            VERT_JUSTIFICATION_TOP = 0x0,
+            VERT_JUSTIFICATION_CENTER = 0x1,
+            VERT_JUSTIFICATION_BOTTOM = 0x2,
+            VERT_JUSTIFICATION_NONE = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum LayoutPositionType_e : uint {
+            LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0,
+            LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1,
+            LAYOUTPOSITIONTYPE_NONE = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ViewFadeMode_t : uint {
+            VIEW_FADE_CONSTANT_COLOR = 0x0,
+            VIEW_FADE_MODULATE = 0x1,
+            VIEW_FADE_MOD2X = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum BloomBlendMode_t : uint {
+            BLOOM_BLEND_ADD = 0x0,
+            BLOOM_BLEND_SCREEN = 0x1,
+            BLOOM_BLEND_BLUR = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum HorizJustification_e : uint {
+            HORIZ_JUSTIFICATION_LEFT = 0x0,
+            HORIZ_JUSTIFICATION_CENTER = 0x1,
+            HORIZ_JUSTIFICATION_RIGHT = 0x2,
+            HORIZ_JUSTIFICATION_NONE = 0x3
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParam_t {
+            public const nint m_name = 0x0; // CUtlString
+        }
+        // Parent: MaterialParam_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParamVector_t {
+            public const nint m_value = 0x8; // Vector4D
+        }
+        // Parent: MaterialParam_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParamString_t {
+            public const nint m_value = 0x8; // CUtlString
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PostProcessingResource_t {
+            public const nint m_bHasTonemapParams = 0x0; // bool
+            public const nint m_toneMapParams = 0x4; // PostProcessingTonemapParameters_t
+            public const nint m_bHasBloomParams = 0x40; // bool
+            public const nint m_bloomParams = 0x44; // PostProcessingBloomParameters_t
+            public const nint m_bHasVignetteParams = 0xB4; // bool
+            public const nint m_vignetteParams = 0xB8; // PostProcessingVignetteParameters_t
+            public const nint m_bHasLocalContrastParams = 0xDC; // bool
+            public const nint m_localConstrastParams = 0xE0; // PostProcessingLocalContrastParameters_t
+            public const nint m_nColorCorrectionVolumeDim = 0xF4; // int32
+            public const nint m_colorCorrectionVolumeData = 0xF8; // CUtlBinaryBlock
+            public const nint m_bHasColorCorrection = 0x110; // bool
+        }
+        // Parent: MaterialParam_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParamInt_t {
+            public const nint m_nValue = 0x8; // int32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PostProcessingVignetteParameters_t {
+            public const nint m_flVignetteStrength = 0x0; // float32
+            public const nint m_vCenter = 0x4; // Vector2D
+            public const nint m_flRadius = 0xC; // float32
+            public const nint m_flRoundness = 0x10; // float32
+            public const nint m_flFeather = 0x14; // float32
+            public const nint m_vColorTint = 0x18; // Vector
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PostProcessingLocalContrastParameters_t {
+            public const nint m_flLocalContrastStrength = 0x0; // float32
+            public const nint m_flLocalContrastEdgeStrength = 0x4; // float32
+            public const nint m_flLocalContrastVignetteStart = 0x8; // float32
+            public const nint m_flLocalContrastVignetteEnd = 0xC; // float32
+            public const nint m_flLocalContrastVignetteBlur = 0x10; // float32
+        }
+        // Parent: None
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PostProcessingTonemapParameters_t {
+            public const nint m_flExposureBias = 0x0; // float32
+            public const nint m_flShoulderStrength = 0x4; // float32
+            public const nint m_flLinearStrength = 0x8; // float32
+            public const nint m_flLinearAngle = 0xC; // float32
+            public const nint m_flToeStrength = 0x10; // float32
+            public const nint m_flToeNum = 0x14; // float32
+            public const nint m_flToeDenom = 0x18; // float32
+            public const nint m_flWhitePoint = 0x1C; // float32
+            public const nint m_flLuminanceSource = 0x20; // float32
+            public const nint m_flExposureBiasShadows = 0x24; // float32
+            public const nint m_flExposureBiasHighlights = 0x28; // float32
+            public const nint m_flMinShadowLum = 0x2C; // float32
+            public const nint m_flMaxShadowLum = 0x30; // float32
+            public const nint m_flMinHighlightLum = 0x34; // float32
+            public const nint m_flMaxHighlightLum = 0x38; // float32
+        }
+        // Parent: MaterialParam_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParamBuffer_t {
+            public const nint m_value = 0x8; // CUtlBinaryBlock
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialResourceData_t {
+            public const nint m_materialName = 0x0; // CUtlString
+            public const nint m_shaderName = 0x8; // CUtlString
+            public const nint m_intParams = 0x10; // CUtlVector<MaterialParamInt_t>
+            public const nint m_floatParams = 0x28; // CUtlVector<MaterialParamFloat_t>
+            public const nint m_vectorParams = 0x40; // CUtlVector<MaterialParamVector_t>
+            public const nint m_textureParams = 0x58; // CUtlVector<MaterialParamTexture_t>
+            public const nint m_dynamicParams = 0x70; // CUtlVector<MaterialParamBuffer_t>
+            public const nint m_dynamicTextureParams = 0x88; // CUtlVector<MaterialParamBuffer_t>
+            public const nint m_intAttributes = 0xA0; // CUtlVector<MaterialParamInt_t>
+            public const nint m_floatAttributes = 0xB8; // CUtlVector<MaterialParamFloat_t>
+            public const nint m_vectorAttributes = 0xD0; // CUtlVector<MaterialParamVector_t>
+            public const nint m_textureAttributes = 0xE8; // CUtlVector<MaterialParamTexture_t>
+            public const nint m_stringAttributes = 0x100; // CUtlVector<MaterialParamString_t>
+            public const nint m_renderAttributesUsed = 0x118; // CUtlVector<CUtlString>
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PostProcessingBloomParameters_t {
+            public const nint m_blendMode = 0x0; // BloomBlendMode_t
+            public const nint m_flBloomStrength = 0x4; // float32
+            public const nint m_flScreenBloomStrength = 0x8; // float32
+            public const nint m_flBlurBloomStrength = 0xC; // float32
+            public const nint m_flBloomThreshold = 0x10; // float32
+            public const nint m_flBloomThresholdWidth = 0x14; // float32
+            public const nint m_flSkyboxBloomStrength = 0x18; // float32
+            public const nint m_flBloomStartValue = 0x1C; // float32
+            public const nint m_flBlurWeight = 0x20; // float32[5]
+            public const nint m_vBlurTint = 0x34; // Vector[5]
+        }
+        // Parent: MaterialParam_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParamFloat_t {
+            public const nint m_flValue = 0x8; // float32
+        }
+        // Parent: MaterialParam_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialParamTexture_t {
+            public const nint m_pValue = 0x8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+        }
+    }
+}
diff --git a/output/materialsystem2_dll.hpp b/output/materialsystem2_dll.hpp
new file mode 100644
index 0000000..28bc530
--- /dev/null
+++ b/output/materialsystem2_dll.hpp
@@ -0,0 +1,212 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: materialsystem2.dll
+        // Class count: 13
+        // Enum count: 5
+        namespace materialsystem2_dll {
+            // Alignment: 4
+            // Member count: 4
+            enum class VertJustification_e : uint32_t {
+                VERT_JUSTIFICATION_TOP = 0x0,
+                VERT_JUSTIFICATION_CENTER = 0x1,
+                VERT_JUSTIFICATION_BOTTOM = 0x2,
+                VERT_JUSTIFICATION_NONE = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class LayoutPositionType_e : uint32_t {
+                LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0,
+                LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1,
+                LAYOUTPOSITIONTYPE_NONE = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ViewFadeMode_t : uint32_t {
+                VIEW_FADE_CONSTANT_COLOR = 0x0,
+                VIEW_FADE_MODULATE = 0x1,
+                VIEW_FADE_MOD2X = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class BloomBlendMode_t : uint32_t {
+                BLOOM_BLEND_ADD = 0x0,
+                BLOOM_BLEND_SCREEN = 0x1,
+                BLOOM_BLEND_BLUR = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class HorizJustification_e : uint32_t {
+                HORIZ_JUSTIFICATION_LEFT = 0x0,
+                HORIZ_JUSTIFICATION_CENTER = 0x1,
+                HORIZ_JUSTIFICATION_RIGHT = 0x2,
+                HORIZ_JUSTIFICATION_NONE = 0x3
+            };
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParam_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParamVector_t {
+                constexpr std::ptrdiff_t m_value = 0x8; // Vector4D
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParamString_t {
+                constexpr std::ptrdiff_t m_value = 0x8; // CUtlString
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PostProcessingResource_t {
+                constexpr std::ptrdiff_t m_bHasTonemapParams = 0x0; // bool
+                constexpr std::ptrdiff_t m_toneMapParams = 0x4; // PostProcessingTonemapParameters_t
+                constexpr std::ptrdiff_t m_bHasBloomParams = 0x40; // bool
+                constexpr std::ptrdiff_t m_bloomParams = 0x44; // PostProcessingBloomParameters_t
+                constexpr std::ptrdiff_t m_bHasVignetteParams = 0xB4; // bool
+                constexpr std::ptrdiff_t m_vignetteParams = 0xB8; // PostProcessingVignetteParameters_t
+                constexpr std::ptrdiff_t m_bHasLocalContrastParams = 0xDC; // bool
+                constexpr std::ptrdiff_t m_localConstrastParams = 0xE0; // PostProcessingLocalContrastParameters_t
+                constexpr std::ptrdiff_t m_nColorCorrectionVolumeDim = 0xF4; // int32
+                constexpr std::ptrdiff_t m_colorCorrectionVolumeData = 0xF8; // CUtlBinaryBlock
+                constexpr std::ptrdiff_t m_bHasColorCorrection = 0x110; // bool
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParamInt_t {
+                constexpr std::ptrdiff_t m_nValue = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PostProcessingVignetteParameters_t {
+                constexpr std::ptrdiff_t m_flVignetteStrength = 0x0; // float32
+                constexpr std::ptrdiff_t m_vCenter = 0x4; // Vector2D
+                constexpr std::ptrdiff_t m_flRadius = 0xC; // float32
+                constexpr std::ptrdiff_t m_flRoundness = 0x10; // float32
+                constexpr std::ptrdiff_t m_flFeather = 0x14; // float32
+                constexpr std::ptrdiff_t m_vColorTint = 0x18; // Vector
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PostProcessingLocalContrastParameters_t {
+                constexpr std::ptrdiff_t m_flLocalContrastStrength = 0x0; // float32
+                constexpr std::ptrdiff_t m_flLocalContrastEdgeStrength = 0x4; // float32
+                constexpr std::ptrdiff_t m_flLocalContrastVignetteStart = 0x8; // float32
+                constexpr std::ptrdiff_t m_flLocalContrastVignetteEnd = 0xC; // float32
+                constexpr std::ptrdiff_t m_flLocalContrastVignetteBlur = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PostProcessingTonemapParameters_t {
+                constexpr std::ptrdiff_t m_flExposureBias = 0x0; // float32
+                constexpr std::ptrdiff_t m_flShoulderStrength = 0x4; // float32
+                constexpr std::ptrdiff_t m_flLinearStrength = 0x8; // float32
+                constexpr std::ptrdiff_t m_flLinearAngle = 0xC; // float32
+                constexpr std::ptrdiff_t m_flToeStrength = 0x10; // float32
+                constexpr std::ptrdiff_t m_flToeNum = 0x14; // float32
+                constexpr std::ptrdiff_t m_flToeDenom = 0x18; // float32
+                constexpr std::ptrdiff_t m_flWhitePoint = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flLuminanceSource = 0x20; // float32
+                constexpr std::ptrdiff_t m_flExposureBiasShadows = 0x24; // float32
+                constexpr std::ptrdiff_t m_flExposureBiasHighlights = 0x28; // float32
+                constexpr std::ptrdiff_t m_flMinShadowLum = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flMaxShadowLum = 0x30; // float32
+                constexpr std::ptrdiff_t m_flMinHighlightLum = 0x34; // float32
+                constexpr std::ptrdiff_t m_flMaxHighlightLum = 0x38; // float32
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParamBuffer_t {
+                constexpr std::ptrdiff_t m_value = 0x8; // CUtlBinaryBlock
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialResourceData_t {
+                constexpr std::ptrdiff_t m_materialName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_shaderName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_intParams = 0x10; // CUtlVector<MaterialParamInt_t>
+                constexpr std::ptrdiff_t m_floatParams = 0x28; // CUtlVector<MaterialParamFloat_t>
+                constexpr std::ptrdiff_t m_vectorParams = 0x40; // CUtlVector<MaterialParamVector_t>
+                constexpr std::ptrdiff_t m_textureParams = 0x58; // CUtlVector<MaterialParamTexture_t>
+                constexpr std::ptrdiff_t m_dynamicParams = 0x70; // CUtlVector<MaterialParamBuffer_t>
+                constexpr std::ptrdiff_t m_dynamicTextureParams = 0x88; // CUtlVector<MaterialParamBuffer_t>
+                constexpr std::ptrdiff_t m_intAttributes = 0xA0; // CUtlVector<MaterialParamInt_t>
+                constexpr std::ptrdiff_t m_floatAttributes = 0xB8; // CUtlVector<MaterialParamFloat_t>
+                constexpr std::ptrdiff_t m_vectorAttributes = 0xD0; // CUtlVector<MaterialParamVector_t>
+                constexpr std::ptrdiff_t m_textureAttributes = 0xE8; // CUtlVector<MaterialParamTexture_t>
+                constexpr std::ptrdiff_t m_stringAttributes = 0x100; // CUtlVector<MaterialParamString_t>
+                constexpr std::ptrdiff_t m_renderAttributesUsed = 0x118; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PostProcessingBloomParameters_t {
+                constexpr std::ptrdiff_t m_blendMode = 0x0; // BloomBlendMode_t
+                constexpr std::ptrdiff_t m_flBloomStrength = 0x4; // float32
+                constexpr std::ptrdiff_t m_flScreenBloomStrength = 0x8; // float32
+                constexpr std::ptrdiff_t m_flBlurBloomStrength = 0xC; // float32
+                constexpr std::ptrdiff_t m_flBloomThreshold = 0x10; // float32
+                constexpr std::ptrdiff_t m_flBloomThresholdWidth = 0x14; // float32
+                constexpr std::ptrdiff_t m_flSkyboxBloomStrength = 0x18; // float32
+                constexpr std::ptrdiff_t m_flBloomStartValue = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flBlurWeight = 0x20; // float32[5]
+                constexpr std::ptrdiff_t m_vBlurTint = 0x34; // Vector[5]
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParamFloat_t {
+                constexpr std::ptrdiff_t m_flValue = 0x8; // float32
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialParamTexture_t {
+                constexpr std::ptrdiff_t m_pValue = 0x8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+        }
+    }
+}
diff --git a/output/materialsystem2_dll.json b/output/materialsystem2_dll.json
new file mode 100644
index 0000000..f68ee85
--- /dev/null
+++ b/output/materialsystem2_dll.json
@@ -0,0 +1,266 @@
+{
+  "materialsystem2.dll": {
+    "classes": {
+      "MaterialParamBuffer_t": {
+        "fields": {
+          "m_value": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "MaterialParam_t"
+      },
+      "MaterialParamFloat_t": {
+        "fields": {
+          "m_flValue": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "MaterialParam_t"
+      },
+      "MaterialParamInt_t": {
+        "fields": {
+          "m_nValue": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "MaterialParam_t"
+      },
+      "MaterialParamString_t": {
+        "fields": {
+          "m_value": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "MaterialParam_t"
+      },
+      "MaterialParamTexture_t": {
+        "fields": {
+          "m_pValue": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "MaterialParam_t"
+      },
+      "MaterialParamVector_t": {
+        "fields": {
+          "m_value": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "MaterialParam_t"
+      },
+      "MaterialParam_t": {
+        "fields": {
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MaterialResourceData_t": {
+        "fields": {
+          "m_dynamicParams": 112,
+          "m_dynamicTextureParams": 136,
+          "m_floatAttributes": 184,
+          "m_floatParams": 40,
+          "m_intAttributes": 160,
+          "m_intParams": 16,
+          "m_materialName": 0,
+          "m_renderAttributesUsed": 280,
+          "m_shaderName": 8,
+          "m_stringAttributes": 256,
+          "m_textureAttributes": 232,
+          "m_textureParams": 88,
+          "m_vectorAttributes": 208,
+          "m_vectorParams": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PostProcessingBloomParameters_t": {
+        "fields": {
+          "m_blendMode": 0,
+          "m_flBloomStartValue": 28,
+          "m_flBloomStrength": 4,
+          "m_flBloomThreshold": 16,
+          "m_flBloomThresholdWidth": 20,
+          "m_flBlurBloomStrength": 12,
+          "m_flBlurWeight": 32,
+          "m_flScreenBloomStrength": 8,
+          "m_flSkyboxBloomStrength": 24,
+          "m_vBlurTint": 52
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PostProcessingLocalContrastParameters_t": {
+        "fields": {
+          "m_flLocalContrastEdgeStrength": 4,
+          "m_flLocalContrastStrength": 0,
+          "m_flLocalContrastVignetteBlur": 16,
+          "m_flLocalContrastVignetteEnd": 12,
+          "m_flLocalContrastVignetteStart": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PostProcessingResource_t": {
+        "fields": {
+          "m_bHasBloomParams": 64,
+          "m_bHasColorCorrection": 272,
+          "m_bHasLocalContrastParams": 220,
+          "m_bHasTonemapParams": 0,
+          "m_bHasVignetteParams": 180,
+          "m_bloomParams": 68,
+          "m_colorCorrectionVolumeData": 248,
+          "m_localConstrastParams": 224,
+          "m_nColorCorrectionVolumeDim": 244,
+          "m_toneMapParams": 4,
+          "m_vignetteParams": 184
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PostProcessingTonemapParameters_t": {
+        "fields": {
+          "m_flExposureBias": 0,
+          "m_flExposureBiasHighlights": 40,
+          "m_flExposureBiasShadows": 36,
+          "m_flLinearAngle": 12,
+          "m_flLinearStrength": 8,
+          "m_flLuminanceSource": 32,
+          "m_flMaxHighlightLum": 56,
+          "m_flMaxShadowLum": 48,
+          "m_flMinHighlightLum": 52,
+          "m_flMinShadowLum": 44,
+          "m_flShoulderStrength": 4,
+          "m_flToeDenom": 24,
+          "m_flToeNum": 20,
+          "m_flToeStrength": 16,
+          "m_flWhitePoint": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PostProcessingVignetteParameters_t": {
+        "fields": {
+          "m_flFeather": 20,
+          "m_flRadius": 12,
+          "m_flRoundness": 16,
+          "m_flVignetteStrength": 0,
+          "m_vCenter": 4,
+          "m_vColorTint": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "BloomBlendMode_t": {
+        "alignment": 4,
+        "members": {
+          "BLOOM_BLEND_ADD": 0,
+          "BLOOM_BLEND_BLUR": 2,
+          "BLOOM_BLEND_SCREEN": 1
+        },
+        "type": "uint32"
+      },
+      "HorizJustification_e": {
+        "alignment": 4,
+        "members": {
+          "HORIZ_JUSTIFICATION_CENTER": 1,
+          "HORIZ_JUSTIFICATION_LEFT": 0,
+          "HORIZ_JUSTIFICATION_NONE": 3,
+          "HORIZ_JUSTIFICATION_RIGHT": 2
+        },
+        "type": "uint32"
+      },
+      "LayoutPositionType_e": {
+        "alignment": 4,
+        "members": {
+          "LAYOUTPOSITIONTYPE_FRACTIONAL": 1,
+          "LAYOUTPOSITIONTYPE_NONE": 2,
+          "LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE": 0
+        },
+        "type": "uint32"
+      },
+      "VertJustification_e": {
+        "alignment": 4,
+        "members": {
+          "VERT_JUSTIFICATION_BOTTOM": 2,
+          "VERT_JUSTIFICATION_CENTER": 1,
+          "VERT_JUSTIFICATION_NONE": 3,
+          "VERT_JUSTIFICATION_TOP": 0
+        },
+        "type": "uint32"
+      },
+      "ViewFadeMode_t": {
+        "alignment": 4,
+        "members": {
+          "VIEW_FADE_CONSTANT_COLOR": 0,
+          "VIEW_FADE_MOD2X": 2,
+          "VIEW_FADE_MODULATE": 1
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/materialsystem2_dll.rs b/output/materialsystem2_dll.rs
new file mode 100644
index 0000000..4e6af45
--- /dev/null
+++ b/output/materialsystem2_dll.rs
@@ -0,0 +1,215 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: materialsystem2.dll
+        // Class count: 13
+        // Enum count: 5
+        pub mod materialsystem2_dll {
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum VertJustification_e {
+                VERT_JUSTIFICATION_TOP = 0x0,
+                VERT_JUSTIFICATION_CENTER = 0x1,
+                VERT_JUSTIFICATION_BOTTOM = 0x2,
+                VERT_JUSTIFICATION_NONE = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum LayoutPositionType_e {
+                LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0,
+                LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1,
+                LAYOUTPOSITIONTYPE_NONE = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ViewFadeMode_t {
+                VIEW_FADE_CONSTANT_COLOR = 0x0,
+                VIEW_FADE_MODULATE = 0x1,
+                VIEW_FADE_MOD2X = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum BloomBlendMode_t {
+                BLOOM_BLEND_ADD = 0x0,
+                BLOOM_BLEND_SCREEN = 0x1,
+                BLOOM_BLEND_BLUR = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum HorizJustification_e {
+                HORIZ_JUSTIFICATION_LEFT = 0x0,
+                HORIZ_JUSTIFICATION_CENTER = 0x1,
+                HORIZ_JUSTIFICATION_RIGHT = 0x2,
+                HORIZ_JUSTIFICATION_NONE = 0x3
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParam_t {
+                pub const m_name: usize = 0x0; // CUtlString
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParamVector_t {
+                pub const m_value: usize = 0x8; // Vector4D
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParamString_t {
+                pub const m_value: usize = 0x8; // CUtlString
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PostProcessingResource_t {
+                pub const m_bHasTonemapParams: usize = 0x0; // bool
+                pub const m_toneMapParams: usize = 0x4; // PostProcessingTonemapParameters_t
+                pub const m_bHasBloomParams: usize = 0x40; // bool
+                pub const m_bloomParams: usize = 0x44; // PostProcessingBloomParameters_t
+                pub const m_bHasVignetteParams: usize = 0xB4; // bool
+                pub const m_vignetteParams: usize = 0xB8; // PostProcessingVignetteParameters_t
+                pub const m_bHasLocalContrastParams: usize = 0xDC; // bool
+                pub const m_localConstrastParams: usize = 0xE0; // PostProcessingLocalContrastParameters_t
+                pub const m_nColorCorrectionVolumeDim: usize = 0xF4; // int32
+                pub const m_colorCorrectionVolumeData: usize = 0xF8; // CUtlBinaryBlock
+                pub const m_bHasColorCorrection: usize = 0x110; // bool
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParamInt_t {
+                pub const m_nValue: usize = 0x8; // int32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PostProcessingVignetteParameters_t {
+                pub const m_flVignetteStrength: usize = 0x0; // float32
+                pub const m_vCenter: usize = 0x4; // Vector2D
+                pub const m_flRadius: usize = 0xC; // float32
+                pub const m_flRoundness: usize = 0x10; // float32
+                pub const m_flFeather: usize = 0x14; // float32
+                pub const m_vColorTint: usize = 0x18; // Vector
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PostProcessingLocalContrastParameters_t {
+                pub const m_flLocalContrastStrength: usize = 0x0; // float32
+                pub const m_flLocalContrastEdgeStrength: usize = 0x4; // float32
+                pub const m_flLocalContrastVignetteStart: usize = 0x8; // float32
+                pub const m_flLocalContrastVignetteEnd: usize = 0xC; // float32
+                pub const m_flLocalContrastVignetteBlur: usize = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PostProcessingTonemapParameters_t {
+                pub const m_flExposureBias: usize = 0x0; // float32
+                pub const m_flShoulderStrength: usize = 0x4; // float32
+                pub const m_flLinearStrength: usize = 0x8; // float32
+                pub const m_flLinearAngle: usize = 0xC; // float32
+                pub const m_flToeStrength: usize = 0x10; // float32
+                pub const m_flToeNum: usize = 0x14; // float32
+                pub const m_flToeDenom: usize = 0x18; // float32
+                pub const m_flWhitePoint: usize = 0x1C; // float32
+                pub const m_flLuminanceSource: usize = 0x20; // float32
+                pub const m_flExposureBiasShadows: usize = 0x24; // float32
+                pub const m_flExposureBiasHighlights: usize = 0x28; // float32
+                pub const m_flMinShadowLum: usize = 0x2C; // float32
+                pub const m_flMaxShadowLum: usize = 0x30; // float32
+                pub const m_flMinHighlightLum: usize = 0x34; // float32
+                pub const m_flMaxHighlightLum: usize = 0x38; // float32
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParamBuffer_t {
+                pub const m_value: usize = 0x8; // CUtlBinaryBlock
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialResourceData_t {
+                pub const m_materialName: usize = 0x0; // CUtlString
+                pub const m_shaderName: usize = 0x8; // CUtlString
+                pub const m_intParams: usize = 0x10; // CUtlVector<MaterialParamInt_t>
+                pub const m_floatParams: usize = 0x28; // CUtlVector<MaterialParamFloat_t>
+                pub const m_vectorParams: usize = 0x40; // CUtlVector<MaterialParamVector_t>
+                pub const m_textureParams: usize = 0x58; // CUtlVector<MaterialParamTexture_t>
+                pub const m_dynamicParams: usize = 0x70; // CUtlVector<MaterialParamBuffer_t>
+                pub const m_dynamicTextureParams: usize = 0x88; // CUtlVector<MaterialParamBuffer_t>
+                pub const m_intAttributes: usize = 0xA0; // CUtlVector<MaterialParamInt_t>
+                pub const m_floatAttributes: usize = 0xB8; // CUtlVector<MaterialParamFloat_t>
+                pub const m_vectorAttributes: usize = 0xD0; // CUtlVector<MaterialParamVector_t>
+                pub const m_textureAttributes: usize = 0xE8; // CUtlVector<MaterialParamTexture_t>
+                pub const m_stringAttributes: usize = 0x100; // CUtlVector<MaterialParamString_t>
+                pub const m_renderAttributesUsed: usize = 0x118; // CUtlVector<CUtlString>
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PostProcessingBloomParameters_t {
+                pub const m_blendMode: usize = 0x0; // BloomBlendMode_t
+                pub const m_flBloomStrength: usize = 0x4; // float32
+                pub const m_flScreenBloomStrength: usize = 0x8; // float32
+                pub const m_flBlurBloomStrength: usize = 0xC; // float32
+                pub const m_flBloomThreshold: usize = 0x10; // float32
+                pub const m_flBloomThresholdWidth: usize = 0x14; // float32
+                pub const m_flSkyboxBloomStrength: usize = 0x18; // float32
+                pub const m_flBloomStartValue: usize = 0x1C; // float32
+                pub const m_flBlurWeight: usize = 0x20; // float32[5]
+                pub const m_vBlurTint: usize = 0x34; // Vector[5]
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParamFloat_t {
+                pub const m_flValue: usize = 0x8; // float32
+            }
+            // Parent: MaterialParam_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialParamTexture_t {
+                pub const m_pValue: usize = 0x8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+        }
+    }
+}
diff --git a/output/networksystem_dll.cs b/output/networksystem_dll.cs
new file mode 100644
index 0000000..eeabaa5
--- /dev/null
+++ b/output/networksystem_dll.cs
@@ -0,0 +1,15 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: networksystem.dll
+    // Class count: 1
+    // Enum count: 0
+    public static class NetworksystemDll {
+        // Parent: None
+        // Field count: 1
+        public static class ChangeAccessorFieldPathIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+    }
+}
diff --git a/output/networksystem_dll.hpp b/output/networksystem_dll.hpp
new file mode 100644
index 0000000..abd99d6
--- /dev/null
+++ b/output/networksystem_dll.hpp
@@ -0,0 +1,21 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: networksystem.dll
+        // Class count: 1
+        // Enum count: 0
+        namespace networksystem_dll {
+            // Parent: None
+            // Field count: 1
+            namespace ChangeAccessorFieldPathIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+        }
+    }
+}
diff --git a/output/networksystem_dll.json b/output/networksystem_dll.json
new file mode 100644
index 0000000..f64ee0b
--- /dev/null
+++ b/output/networksystem_dll.json
@@ -0,0 +1,14 @@
+{
+  "networksystem.dll": {
+    "classes": {
+      "ChangeAccessorFieldPathIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      }
+    },
+    "enums": {}
+  }
+}
\ No newline at end of file
diff --git a/output/networksystem_dll.rs b/output/networksystem_dll.rs
new file mode 100644
index 0000000..f935fd9
--- /dev/null
+++ b/output/networksystem_dll.rs
@@ -0,0 +1,19 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: networksystem.dll
+        // Class count: 1
+        // Enum count: 0
+        pub mod networksystem_dll {
+            // Parent: None
+            // Field count: 1
+            pub mod ChangeAccessorFieldPathIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+        }
+    }
+}
diff --git a/output/offsets.cs b/output/offsets.cs
new file mode 100644
index 0000000..3e626e1
--- /dev/null
+++ b/output/offsets.cs
@@ -0,0 +1,53 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Offsets {
+    // Module: client.dll
+    public static class ClientDll {
+        public const nint dwCSGOInput = 0x1A92FF0;
+        public const nint dwEntityList = 0x1A1F730;
+        public const nint dwGameEntitySystem = 0x1B43F58;
+        public const nint dwGameEntitySystem_highestEntityIndex = 0x20F0;
+        public const nint dwGameRules = 0x1A84170;
+        public const nint dwGlobalVars = 0x1867DB0;
+        public const nint dwGlowManager = 0x1A84190;
+        public const nint dwLocalPlayerController = 0x1A6E9C0;
+        public const nint dwLocalPlayerPawn = 0x1874050;
+        public const nint dwPlantedC4 = 0x1A8E4A0;
+        public const nint dwPrediction = 0x1873ED0;
+        public const nint dwSensitivity = 0x1A85768;
+        public const nint dwSensitivity_sensitivity = 0x40;
+        public const nint dwViewAngles = 0x1A933C0;
+        public const nint dwViewMatrix = 0x1A89130;
+        public const nint dwViewRender = 0x1A89940;
+        public const nint dwWeaponC4 = 0x1A22630;
+    }
+    // Module: engine2.dll
+    public static class Engine2Dll {
+        public const nint dwBuildNumber = 0x540BE4;
+        public const nint dwNetworkGameClient = 0x53FCE0;
+        public const nint dwNetworkGameClient_clientTickCount = 0x368;
+        public const nint dwNetworkGameClient_deltaTick = 0x244;
+        public const nint dwNetworkGameClient_isBackgroundMap = 0x281447;
+        public const nint dwNetworkGameClient_localPlayer = 0xF0;
+        public const nint dwNetworkGameClient_maxClients = 0x238;
+        public const nint dwNetworkGameClient_serverTickCount = 0x36C;
+        public const nint dwNetworkGameClient_signOnState = 0x228;
+        public const nint dwWindowHeight = 0x62354C;
+        public const nint dwWindowWidth = 0x623548;
+    }
+    // Module: inputsystem.dll
+    public static class InputsystemDll {
+        public const nint dwInputSystem = 0x387E0;
+    }
+    // Module: matchmaking.dll
+    public static class MatchmakingDll {
+        public const nint dwGameTypes = 0x1A3190;
+        public const nint dwGameTypes_mapName = 0x120;
+    }
+    // Module: soundsystem.dll
+    public static class SoundsystemDll {
+        public const nint dwSoundSystem = 0x3A15F0;
+        public const nint dwSoundSystem_engineViewData = 0x7C;
+    }
+}
diff --git a/output/offsets.hpp b/output/offsets.hpp
new file mode 100644
index 0000000..9b3b11e
--- /dev/null
+++ b/output/offsets.hpp
@@ -0,0 +1,59 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace offsets {
+        // Module: client.dll
+        namespace client_dll {
+            constexpr std::ptrdiff_t dwCSGOInput = 0x1A92FF0;
+            constexpr std::ptrdiff_t dwEntityList = 0x1A1F730;
+            constexpr std::ptrdiff_t dwGameEntitySystem = 0x1B43F58;
+            constexpr std::ptrdiff_t dwGameEntitySystem_highestEntityIndex = 0x20F0;
+            constexpr std::ptrdiff_t dwGameRules = 0x1A84170;
+            constexpr std::ptrdiff_t dwGlobalVars = 0x1867DB0;
+            constexpr std::ptrdiff_t dwGlowManager = 0x1A84190;
+            constexpr std::ptrdiff_t dwLocalPlayerController = 0x1A6E9C0;
+            constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x1874050;
+            constexpr std::ptrdiff_t dwPlantedC4 = 0x1A8E4A0;
+            constexpr std::ptrdiff_t dwPrediction = 0x1873ED0;
+            constexpr std::ptrdiff_t dwSensitivity = 0x1A85768;
+            constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40;
+            constexpr std::ptrdiff_t dwViewAngles = 0x1A933C0;
+            constexpr std::ptrdiff_t dwViewMatrix = 0x1A89130;
+            constexpr std::ptrdiff_t dwViewRender = 0x1A89940;
+            constexpr std::ptrdiff_t dwWeaponC4 = 0x1A22630;
+        }
+        // Module: engine2.dll
+        namespace engine2_dll {
+            constexpr std::ptrdiff_t dwBuildNumber = 0x540BE4;
+            constexpr std::ptrdiff_t dwNetworkGameClient = 0x53FCE0;
+            constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x368;
+            constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x244;
+            constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x281447;
+            constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0xF0;
+            constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x238;
+            constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x36C;
+            constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x228;
+            constexpr std::ptrdiff_t dwWindowHeight = 0x62354C;
+            constexpr std::ptrdiff_t dwWindowWidth = 0x623548;
+        }
+        // Module: inputsystem.dll
+        namespace inputsystem_dll {
+            constexpr std::ptrdiff_t dwInputSystem = 0x387E0;
+        }
+        // Module: matchmaking.dll
+        namespace matchmaking_dll {
+            constexpr std::ptrdiff_t dwGameTypes = 0x1A3190;
+            constexpr std::ptrdiff_t dwGameTypes_mapName = 0x120;
+        }
+        // Module: soundsystem.dll
+        namespace soundsystem_dll {
+            constexpr std::ptrdiff_t dwSoundSystem = 0x3A15F0;
+            constexpr std::ptrdiff_t dwSoundSystem_engineViewData = 0x7C;
+        }
+    }
+}
diff --git a/output/offsets.json b/output/offsets.json
new file mode 100644
index 0000000..efb4fb1
--- /dev/null
+++ b/output/offsets.json
@@ -0,0 +1,45 @@
+{
+  "client.dll": {
+    "dwCSGOInput": 27865072,
+    "dwEntityList": 27391792,
+    "dwGameEntitySystem": 28589912,
+    "dwGameEntitySystem_highestEntityIndex": 8432,
+    "dwGameRules": 27804016,
+    "dwGlobalVars": 25591216,
+    "dwGlowManager": 27804048,
+    "dwLocalPlayerController": 27716032,
+    "dwLocalPlayerPawn": 25641040,
+    "dwPlantedC4": 27845792,
+    "dwPrediction": 25640656,
+    "dwSensitivity": 27809640,
+    "dwSensitivity_sensitivity": 64,
+    "dwViewAngles": 27866048,
+    "dwViewMatrix": 27824432,
+    "dwViewRender": 27826496,
+    "dwWeaponC4": 27403824
+  },
+  "engine2.dll": {
+    "dwBuildNumber": 5508068,
+    "dwNetworkGameClient": 5504224,
+    "dwNetworkGameClient_clientTickCount": 872,
+    "dwNetworkGameClient_deltaTick": 580,
+    "dwNetworkGameClient_isBackgroundMap": 2626631,
+    "dwNetworkGameClient_localPlayer": 240,
+    "dwNetworkGameClient_maxClients": 568,
+    "dwNetworkGameClient_serverTickCount": 876,
+    "dwNetworkGameClient_signOnState": 552,
+    "dwWindowHeight": 6436172,
+    "dwWindowWidth": 6436168
+  },
+  "inputsystem.dll": {
+    "dwInputSystem": 231392
+  },
+  "matchmaking.dll": {
+    "dwGameTypes": 1716624,
+    "dwGameTypes_mapName": 288
+  },
+  "soundsystem.dll": {
+    "dwSoundSystem": 3806704,
+    "dwSoundSystem_engineViewData": 124
+  }
+}
\ No newline at end of file
diff --git a/output/offsets.rs b/output/offsets.rs
new file mode 100644
index 0000000..f5bee83
--- /dev/null
+++ b/output/offsets.rs
@@ -0,0 +1,57 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, unused)]
+
+pub mod cs2_dumper {
+    pub mod offsets {
+        // Module: client.dll
+        pub mod client_dll {
+            pub const dwCSGOInput: usize = 0x1A92FF0;
+            pub const dwEntityList: usize = 0x1A1F730;
+            pub const dwGameEntitySystem: usize = 0x1B43F58;
+            pub const dwGameEntitySystem_highestEntityIndex: usize = 0x20F0;
+            pub const dwGameRules: usize = 0x1A84170;
+            pub const dwGlobalVars: usize = 0x1867DB0;
+            pub const dwGlowManager: usize = 0x1A84190;
+            pub const dwLocalPlayerController: usize = 0x1A6E9C0;
+            pub const dwLocalPlayerPawn: usize = 0x1874050;
+            pub const dwPlantedC4: usize = 0x1A8E4A0;
+            pub const dwPrediction: usize = 0x1873ED0;
+            pub const dwSensitivity: usize = 0x1A85768;
+            pub const dwSensitivity_sensitivity: usize = 0x40;
+            pub const dwViewAngles: usize = 0x1A933C0;
+            pub const dwViewMatrix: usize = 0x1A89130;
+            pub const dwViewRender: usize = 0x1A89940;
+            pub const dwWeaponC4: usize = 0x1A22630;
+        }
+        // Module: engine2.dll
+        pub mod engine2_dll {
+            pub const dwBuildNumber: usize = 0x540BE4;
+            pub const dwNetworkGameClient: usize = 0x53FCE0;
+            pub const dwNetworkGameClient_clientTickCount: usize = 0x368;
+            pub const dwNetworkGameClient_deltaTick: usize = 0x244;
+            pub const dwNetworkGameClient_isBackgroundMap: usize = 0x281447;
+            pub const dwNetworkGameClient_localPlayer: usize = 0xF0;
+            pub const dwNetworkGameClient_maxClients: usize = 0x238;
+            pub const dwNetworkGameClient_serverTickCount: usize = 0x36C;
+            pub const dwNetworkGameClient_signOnState: usize = 0x228;
+            pub const dwWindowHeight: usize = 0x62354C;
+            pub const dwWindowWidth: usize = 0x623548;
+        }
+        // Module: inputsystem.dll
+        pub mod inputsystem_dll {
+            pub const dwInputSystem: usize = 0x387E0;
+        }
+        // Module: matchmaking.dll
+        pub mod matchmaking_dll {
+            pub const dwGameTypes: usize = 0x1A3190;
+            pub const dwGameTypes_mapName: usize = 0x120;
+        }
+        // Module: soundsystem.dll
+        pub mod soundsystem_dll {
+            pub const dwSoundSystem: usize = 0x3A15F0;
+            pub const dwSoundSystem_engineViewData: usize = 0x7C;
+        }
+    }
+}
diff --git a/output/panorama_dll.cs b/output/panorama_dll.cs
new file mode 100644
index 0000000..4fc9147
--- /dev/null
+++ b/output/panorama_dll.cs
@@ -0,0 +1,47 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: panorama.dll
+    // Class count: 0
+    // Enum count: 2
+    public static class PanoramaDll {
+        // Alignment: 4
+        // Member count: 13
+        public enum ELayoutNodeType : uint {
+            ROOT = 0x0,
+            STYLES = 0x1,
+            SCRIPT_BODY = 0x2,
+            SCRIPTS = 0x3,
+            SNIPPETS = 0x4,
+            INCLUDE = 0x5,
+            SNIPPET = 0x6,
+            PANEL = 0x7,
+            PANEL_ATTRIBUTE = 0x8,
+            PANEL_ATTRIBUTE_VALUE = 0x9,
+            REFERENCE_CONTENT = 0xA,
+            REFERENCE_COMPILED = 0xB,
+            REFERENCE_PASSTHROUGH = 0xC
+        }
+        // Alignment: 4
+        // Member count: 16
+        public enum EStyleNodeType : uint {
+            ROOT = 0x0,
+            EXPRESSION = 0x1,
+            PROPERTY = 0x2,
+            DEFINE = 0x3,
+            IMPORT = 0x4,
+            KEYFRAMES = 0x5,
+            KEYFRAME_SELECTOR = 0x6,
+            STYLE_SELECTOR = 0x7,
+            WHITESPACE = 0x8,
+            EXPRESSION_TEXT = 0x9,
+            EXPRESSION_URL = 0xA,
+            EXPRESSION_CONCAT = 0xB,
+            REFERENCE_CONTENT = 0xC,
+            REFERENCE_COMPILED = 0xD,
+            REFERENCE_PASSTHROUGH = 0xE,
+            COMPILER_CONDITIONAL = 0xF
+        }
+    }
+}
diff --git a/output/panorama_dll.hpp b/output/panorama_dll.hpp
new file mode 100644
index 0000000..9381bf7
--- /dev/null
+++ b/output/panorama_dll.hpp
@@ -0,0 +1,53 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: panorama.dll
+        // Class count: 0
+        // Enum count: 2
+        namespace panorama_dll {
+            // Alignment: 4
+            // Member count: 13
+            enum class ELayoutNodeType : uint32_t {
+                ROOT = 0x0,
+                STYLES = 0x1,
+                SCRIPT_BODY = 0x2,
+                SCRIPTS = 0x3,
+                SNIPPETS = 0x4,
+                INCLUDE = 0x5,
+                SNIPPET = 0x6,
+                PANEL = 0x7,
+                PANEL_ATTRIBUTE = 0x8,
+                PANEL_ATTRIBUTE_VALUE = 0x9,
+                REFERENCE_CONTENT = 0xA,
+                REFERENCE_COMPILED = 0xB,
+                REFERENCE_PASSTHROUGH = 0xC
+            };
+            // Alignment: 4
+            // Member count: 16
+            enum class EStyleNodeType : uint32_t {
+                ROOT = 0x0,
+                EXPRESSION = 0x1,
+                PROPERTY = 0x2,
+                DEFINE = 0x3,
+                IMPORT = 0x4,
+                KEYFRAMES = 0x5,
+                KEYFRAME_SELECTOR = 0x6,
+                STYLE_SELECTOR = 0x7,
+                WHITESPACE = 0x8,
+                EXPRESSION_TEXT = 0x9,
+                EXPRESSION_URL = 0xA,
+                EXPRESSION_CONCAT = 0xB,
+                REFERENCE_CONTENT = 0xC,
+                REFERENCE_COMPILED = 0xD,
+                REFERENCE_PASSTHROUGH = 0xE,
+                COMPILER_CONDITIONAL = 0xF
+            };
+        }
+    }
+}
diff --git a/output/panorama_dll.json b/output/panorama_dll.json
new file mode 100644
index 0000000..4998473
--- /dev/null
+++ b/output/panorama_dll.json
@@ -0,0 +1,48 @@
+{
+  "panorama.dll": {
+    "classes": {},
+    "enums": {
+      "ELayoutNodeType": {
+        "alignment": 4,
+        "members": {
+          "INCLUDE": 5,
+          "PANEL": 7,
+          "PANEL_ATTRIBUTE": 8,
+          "PANEL_ATTRIBUTE_VALUE": 9,
+          "REFERENCE_COMPILED": 11,
+          "REFERENCE_CONTENT": 10,
+          "REFERENCE_PASSTHROUGH": 12,
+          "ROOT": 0,
+          "SCRIPTS": 3,
+          "SCRIPT_BODY": 2,
+          "SNIPPET": 6,
+          "SNIPPETS": 4,
+          "STYLES": 1
+        },
+        "type": "uint32"
+      },
+      "EStyleNodeType": {
+        "alignment": 4,
+        "members": {
+          "COMPILER_CONDITIONAL": 15,
+          "DEFINE": 3,
+          "EXPRESSION": 1,
+          "EXPRESSION_CONCAT": 11,
+          "EXPRESSION_TEXT": 9,
+          "EXPRESSION_URL": 10,
+          "IMPORT": 4,
+          "KEYFRAMES": 5,
+          "KEYFRAME_SELECTOR": 6,
+          "PROPERTY": 2,
+          "REFERENCE_COMPILED": 13,
+          "REFERENCE_CONTENT": 12,
+          "REFERENCE_PASSTHROUGH": 14,
+          "ROOT": 0,
+          "STYLE_SELECTOR": 7,
+          "WHITESPACE": 8
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/panorama_dll.rs b/output/panorama_dll.rs
new file mode 100644
index 0000000..ded835d
--- /dev/null
+++ b/output/panorama_dll.rs
@@ -0,0 +1,53 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: panorama.dll
+        // Class count: 0
+        // Enum count: 2
+        pub mod panorama_dll {
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum ELayoutNodeType {
+                ROOT = 0x0,
+                STYLES = 0x1,
+                SCRIPT_BODY = 0x2,
+                SCRIPTS = 0x3,
+                SNIPPETS = 0x4,
+                INCLUDE = 0x5,
+                SNIPPET = 0x6,
+                PANEL = 0x7,
+                PANEL_ATTRIBUTE = 0x8,
+                PANEL_ATTRIBUTE_VALUE = 0x9,
+                REFERENCE_CONTENT = 0xA,
+                REFERENCE_COMPILED = 0xB,
+                REFERENCE_PASSTHROUGH = 0xC
+            }
+            // Alignment: 4
+            // Member count: 16
+            #[repr(u32)]
+            pub enum EStyleNodeType {
+                ROOT = 0x0,
+                EXPRESSION = 0x1,
+                PROPERTY = 0x2,
+                DEFINE = 0x3,
+                IMPORT = 0x4,
+                KEYFRAMES = 0x5,
+                KEYFRAME_SELECTOR = 0x6,
+                STYLE_SELECTOR = 0x7,
+                WHITESPACE = 0x8,
+                EXPRESSION_TEXT = 0x9,
+                EXPRESSION_URL = 0xA,
+                EXPRESSION_CONCAT = 0xB,
+                REFERENCE_CONTENT = 0xC,
+                REFERENCE_COMPILED = 0xD,
+                REFERENCE_PASSTHROUGH = 0xE,
+                COMPILER_CONDITIONAL = 0xF
+            }
+        }
+    }
+}
diff --git a/output/particles_dll.cs b/output/particles_dll.cs
new file mode 100644
index 0000000..5253c4a
--- /dev/null
+++ b/output/particles_dll.cs
@@ -0,0 +1,6651 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: particles.dll
+    // Class count: 446
+    // Enum count: 77
+    public static class ParticlesDll {
+        // Alignment: 4
+        // Member count: 6
+        public enum ParticleSetMethod_t : uint {
+            PARTICLE_SET_REPLACE_VALUE = 0x0,
+            PARTICLE_SET_SCALE_INITIAL_VALUE = 0x1,
+            PARTICLE_SET_ADD_TO_INITIAL_VALUE = 0x2,
+            PARTICLE_SET_RAMP_CURRENT_VALUE = 0x3,
+            PARTICLE_SET_SCALE_CURRENT_VALUE = 0x4,
+            PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum Detail2Combo_t : uint {
+            DETAIL_2_COMBO_UNINITIALIZED = unchecked((uint)-1),
+            DETAIL_2_COMBO_OFF = 0x0,
+            DETAIL_2_COMBO_ADD = 0x1,
+            DETAIL_2_COMBO_ADD_SELF_ILLUM = 0x2,
+            DETAIL_2_COMBO_MOD2X = 0x3,
+            DETAIL_2_COMBO_MUL = 0x4,
+            DETAIL_2_COMBO_CROSSFADE = 0x5
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum MissingParentInheritBehavior_t : uint {
+            MISSING_PARENT_DO_NOTHING = unchecked((uint)-1),
+            MISSING_PARENT_KILL = 0x0,
+            MISSING_PARENT_FIND_NEW = 0x1,
+            MISSING_PARENT_SAME_INDEX = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleFloatBiasType_t : uint {
+            PF_BIAS_TYPE_INVALID = unchecked((uint)-1),
+            PF_BIAS_TYPE_STANDARD = 0x0,
+            PF_BIAS_TYPE_GAIN = 0x1,
+            PF_BIAS_TYPE_EXPONENTIAL = 0x2,
+            PF_BIAS_TYPE_COUNT = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleTraceMissBehavior_t : uint {
+            PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0,
+            PARTICLE_TRACE_MISS_BEHAVIOR_KILL = 0x1,
+            PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum PFuncVisualizationType_t : uint {
+            PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0,
+            PFUNC_VISUALIZATION_SPHERE_SOLID = 0x1,
+            PFUNC_VISUALIZATION_BOX = 0x2,
+            PFUNC_VISUALIZATION_RING = 0x3,
+            PFUNC_VISUALIZATION_PLANE = 0x4,
+            PFUNC_VISUALIZATION_LINE = 0x5,
+            PFUNC_VISUALIZATION_CYLINDER = 0x6
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleVRHandChoiceList_t : uint {
+            PARTICLE_VRHAND_LEFT = 0x0,
+            PARTICLE_VRHAND_RIGHT = 0x1,
+            PARTICLE_VRHAND_CP = 0x2,
+            PARTICLE_VRHAND_CP_OBJECT = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleReplicationMode_t : uint {
+            PARTICLE_REPLICATIONMODE_NONE = 0x0,
+            PARTICLE_REPLICATIONMODE_REPLICATE_FOR_EACH_PARENT_PARTICLE = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum PetGroundType_t : uint {
+            PET_GROUND_NONE = 0x0,
+            PET_GROUND_GRID = 0x1,
+            PET_GROUND_PLANE = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum InheritableBoolType_t : uint {
+            INHERITABLE_BOOL_INHERIT = 0x0,
+            INHERITABLE_BOOL_FALSE = 0x1,
+            INHERITABLE_BOOL_TRUE = 0x2
+        }
+        // Alignment: 4
+        // Member count: 24
+        public enum ParticleFloatType_t : uint {
+            PF_TYPE_INVALID = unchecked((uint)-1),
+            PF_TYPE_LITERAL = 0x0,
+            PF_TYPE_NAMED_VALUE = 0x1,
+            PF_TYPE_RANDOM_UNIFORM = 0x2,
+            PF_TYPE_RANDOM_BIASED = 0x3,
+            PF_TYPE_COLLECTION_AGE = 0x4,
+            PF_TYPE_ENDCAP_AGE = 0x5,
+            PF_TYPE_CONTROL_POINT_COMPONENT = 0x6,
+            PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7,
+            PF_TYPE_CONTROL_POINT_SPEED = 0x8,
+            PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9,
+            PF_TYPE_CONCURRENT_DEF_COUNT = 0xA,
+            PF_TYPE_CLOSEST_CAMERA_DISTANCE = 0xB,
+            PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xC,
+            PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xD,
+            PF_TYPE_PARTICLE_NOISE = 0xE,
+            PF_TYPE_PARTICLE_AGE = 0xF,
+            PF_TYPE_PARTICLE_AGE_NORMALIZED = 0x10,
+            PF_TYPE_PARTICLE_FLOAT = 0x11,
+            PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x12,
+            PF_TYPE_PARTICLE_SPEED = 0x13,
+            PF_TYPE_PARTICLE_NUMBER = 0x14,
+            PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x15,
+            PF_TYPE_COUNT = 0x16
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum ParticlePostProcessPriorityGroup_t : uint {
+            PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0,
+            PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE = 0x1,
+            PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT = 0x2,
+            PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_LOW = 0x3,
+            PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_HIGH = 0x4,
+            PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI = 0x5
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum PFNoiseTurbulence_t : uint {
+            PF_NOISE_TURB_NONE = 0x0,
+            PF_NOISE_TURB_HIGHLIGHT = 0x1,
+            PF_NOISE_TURB_FEEDBACK = 0x2,
+            PF_NOISE_TURB_LOOPY = 0x3,
+            PF_NOISE_TURB_CONTRAST = 0x4,
+            PF_NOISE_TURB_ALTERNATE = 0x5
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleColorBlendMode_t : uint {
+            PARTICLEBLEND_DEFAULT = 0x0,
+            PARTICLEBLEND_OVERLAY = 0x1,
+            PARTICLEBLEND_DARKEN = 0x2,
+            PARTICLEBLEND_LIGHTEN = 0x3,
+            PARTICLEBLEND_MULTIPLY = 0x4
+        }
+        // Alignment: 4
+        // Member count: 13
+        public enum ParticleColorBlendType_t : uint {
+            PARTICLE_COLOR_BLEND_MULTIPLY = 0x0,
+            PARTICLE_COLOR_BLEND_MULTIPLY2X = 0x1,
+            PARTICLE_COLOR_BLEND_DIVIDE = 0x2,
+            PARTICLE_COLOR_BLEND_ADD = 0x3,
+            PARTICLE_COLOR_BLEND_SUBTRACT = 0x4,
+            PARTICLE_COLOR_BLEND_MOD2X = 0x5,
+            PARTICLE_COLOR_BLEND_SCREEN = 0x6,
+            PARTICLE_COLOR_BLEND_MAX = 0x7,
+            PARTICLE_COLOR_BLEND_MIN = 0x8,
+            PARTICLE_COLOR_BLEND_REPLACE = 0x9,
+            PARTICLE_COLOR_BLEND_AVERAGE = 0xA,
+            PARTICLE_COLOR_BLEND_NEGATE = 0xB,
+            PARTICLE_COLOR_BLEND_LUMINANCE = 0xC
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum DetailCombo_t : uint {
+            DETAIL_COMBO_OFF = 0x0,
+            DETAIL_COMBO_ADD = 0x1,
+            DETAIL_COMBO_ADD_SELF_ILLUM = 0x2,
+            DETAIL_COMBO_MOD2X = 0x3
+        }
+        // Alignment: 4
+        // Member count: 9
+        public enum ScalarExpressionType_t : uint {
+            SCALAR_EXPRESSION_UNINITIALIZED = unchecked((uint)-1),
+            SCALAR_EXPRESSION_ADD = 0x0,
+            SCALAR_EXPRESSION_SUBTRACT = 0x1,
+            SCALAR_EXPRESSION_MUL = 0x2,
+            SCALAR_EXPRESSION_DIVIDE = 0x3,
+            SCALAR_EXPRESSION_INPUT_1 = 0x4,
+            SCALAR_EXPRESSION_MIN = 0x5,
+            SCALAR_EXPRESSION_MAX = 0x6,
+            SCALAR_EXPRESSION_MOD = 0x7
+        }
+        // Alignment: 4
+        // Member count: 14
+        public enum SpriteCardPerParticleScale_t : uint {
+            SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0,
+            SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE = 0x1,
+            SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME = 0x2,
+            SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA1 = 0x3,
+            SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA2 = 0x4,
+            SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_ALPHA = 0x5,
+            SPRITECARD_TEXTURE_PP_SCALE_SHADER_RADIUS = 0x6,
+            SPRITECARD_TEXTURE_PP_SCALE_ROLL = 0x7,
+            SPRITECARD_TEXTURE_PP_SCALE_YAW = 0x8,
+            SPRITECARD_TEXTURE_PP_SCALE_PITCH = 0x9,
+            SPRITECARD_TEXTURE_PP_SCALE_RANDOM = 0xA,
+            SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM = 0xB,
+            SPRITECARD_TEXTURE_PP_SCALE_RANDOM_TIME = 0xC,
+            SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME = 0xD
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum BlurFilterType_t : uint {
+            BLURFILTER_GAUSSIAN = 0x0,
+            BLURFILTER_BOX = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum StandardLightingAttenuationStyle_t : uint {
+            LIGHT_STYLE_OLD = 0x0,
+            LIGHT_STYLE_NEW = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleParentSetMode_t : uint {
+            PARTICLE_SET_PARENT_NO = 0x0,
+            PARTICLE_SET_PARENT_IMMEDIATE = 0x1,
+            PARTICLE_SET_PARENT_ROOT = 0x1
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleModelType_t : uint {
+            PM_TYPE_INVALID = 0x0,
+            PM_TYPE_NAMED_VALUE_MODEL = 0x1,
+            PM_TYPE_NAMED_VALUE_EHANDLE = 0x2,
+            PM_TYPE_CONTROL_POINT = 0x3,
+            PM_TYPE_COUNT = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleLightingQuality_t : uint {
+            PARTICLE_LIGHTING_PER_PARTICLE = 0x0,
+            PARTICLE_LIGHTING_PER_VERTEX = 0x1,
+            PARTICLE_LIGHTING_PER_PIXEL = unchecked((uint)-1)
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleFloatRoundType_t : uint {
+            PF_ROUND_TYPE_INVALID = unchecked((uint)-1),
+            PF_ROUND_TYPE_NEAREST = 0x0,
+            PF_ROUND_TYPE_FLOOR = 0x1,
+            PF_ROUND_TYPE_CEIL = 0x2,
+            PF_ROUND_TYPE_COUNT = 0x3
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PFNoiseType_t : uint {
+            PF_NOISE_TYPE_PERLIN = 0x0,
+            PF_NOISE_TYPE_SIMPLEX = 0x1,
+            PF_NOISE_TYPE_WORLEY = 0x2,
+            PF_NOISE_TYPE_CURL = 0x3
+        }
+        // Alignment: 4
+        // Member count: 11
+        public enum EventTypeSelection_t : uint {
+            PARTICLE_EVENT_TYPE_MASK_NONE = 0x0,
+            PARTICLE_EVENT_TYPE_MASK_SPAWNED = 0x1,
+            PARTICLE_EVENT_TYPE_MASK_KILLED = 0x2,
+            PARTICLE_EVENT_TYPE_MASK_COLLISION = 0x4,
+            PARTICLE_EVENT_TYPE_MASK_FIRST_COLLISION = 0x8,
+            PARTICLE_EVENT_TYPE_MASK_COLLISION_STOPPED = 0x10,
+            PARTICLE_EVENT_TYPE_MASK_KILLED_ON_COLLISION = 0x20,
+            PARTICLE_EVENT_TYPE_MASK_USER_1 = 0x40,
+            PARTICLE_EVENT_TYPE_MASK_USER_2 = 0x80,
+            PARTICLE_EVENT_TYPE_MASK_USER_3 = 0x100,
+            PARTICLE_EVENT_TYPE_MASK_USER_4 = 0x200
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleMassMode_t : uint {
+            PARTICLE_MASSMODE_RADIUS_CUBED = 0x0,
+            PARTICLE_MASSMODE_RADIUS_SQUARED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleDirectionNoiseType_t : uint {
+            PARTICLE_DIR_NOISE_PERLIN = 0x0,
+            PARTICLE_DIR_NOISE_CURL = 0x1,
+            PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleHitboxBiasType_t : uint {
+            PARTICLE_HITBOX_BIAS_ENTITY = 0x0,
+            PARTICLE_HITBOX_BIAS_HITBOX = 0x1
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum ParticleControlPointAxis_t : uint {
+            PARTICLE_CP_AXIS_X = 0x0,
+            PARTICLE_CP_AXIS_Y = 0x1,
+            PARTICLE_CP_AXIS_Z = 0x2,
+            PARTICLE_CP_AXIS_NEGATIVE_X = 0x3,
+            PARTICLE_CP_AXIS_NEGATIVE_Y = 0x4,
+            PARTICLE_CP_AXIS_NEGATIVE_Z = 0x5
+        }
+        // Alignment: 4
+        // Member count: 12
+        public enum ParticlePinDistance_t : uint {
+            PARTICLE_PIN_DISTANCE_NONE = unchecked((uint)-1),
+            PARTICLE_PIN_DISTANCE_NEIGHBOR = 0x0,
+            PARTICLE_PIN_DISTANCE_FARTHEST = 0x1,
+            PARTICLE_PIN_DISTANCE_FIRST = 0x2,
+            PARTICLE_PIN_DISTANCE_LAST = 0x3,
+            PARTICLE_PIN_DISTANCE_CENTER = 0x5,
+            PARTICLE_PIN_DISTANCE_CP = 0x6,
+            PARTICLE_PIN_DISTANCE_CP_PAIR_EITHER = 0x7,
+            PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH = 0x8,
+            PARTICLE_PIN_SPEED = 0x9,
+            PARTICLE_PIN_COLLECTION_AGE = 0xA,
+            PARTICLE_PIN_FLOAT_VALUE = 0xB
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum VectorFloatExpressionType_t : uint {
+            VECTOR_FLOAT_EXPRESSION_UNINITIALIZED = unchecked((uint)-1),
+            VECTOR_FLOAT_EXPRESSION_DOTPRODUCT = 0x0,
+            VECTOR_FLOAT_EXPRESSION_DISTANCE = 0x1,
+            VECTOR_FLOAT_EXPRESSION_DISTANCESQR = 0x2,
+            VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTH = 0x3,
+            VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTHSQR = 0x4,
+            VECTOR_FLOAT_EXPRESSION_INPUT1_NOISE = 0x5
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleFogType_t : uint {
+            PARTICLE_FOG_GAME_DEFAULT = 0x0,
+            PARTICLE_FOG_ENABLED = 0x1,
+            PARTICLE_FOG_DISABLED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 9
+        public enum VectorExpressionType_t : uint {
+            VECTOR_EXPRESSION_UNINITIALIZED = unchecked((uint)-1),
+            VECTOR_EXPRESSION_ADD = 0x0,
+            VECTOR_EXPRESSION_SUBTRACT = 0x1,
+            VECTOR_EXPRESSION_MUL = 0x2,
+            VECTOR_EXPRESSION_DIVIDE = 0x3,
+            VECTOR_EXPRESSION_INPUT_1 = 0x4,
+            VECTOR_EXPRESSION_MIN = 0x5,
+            VECTOR_EXPRESSION_MAX = 0x6,
+            VECTOR_EXPRESSION_CROSSPRODUCT = 0x7
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleRotationLockType_t : uint {
+            PARTICLE_ROTATION_LOCK_NONE = 0x0,
+            PARTICLE_ROTATION_LOCK_ROTATIONS = 0x1,
+            PARTICLE_ROTATION_LOCK_NORMAL = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum HitboxLerpType_t : uint {
+            HITBOX_LERP_LIFETIME = 0x0,
+            HITBOX_LERP_CONSTANT = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum AnimationType_t : uint {
+            ANIMATION_TYPE_FIXED_RATE = 0x0,
+            ANIMATION_TYPE_FIT_LIFETIME = 0x1,
+            ANIMATION_TYPE_MANUAL_FRAMES = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleAttrBoxFlags_t : uint {
+            PARTICLE_ATTR_BOX_FLAGS_NONE = 0x0,
+            PARTICLE_ATTR_BOX_FLAGS_WATER = 0x1
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleTopology_t : uint {
+            PARTICLE_TOPOLOGY_POINTS = 0x0,
+            PARTICLE_TOPOLOGY_LINES = 0x1,
+            PARTICLE_TOPOLOGY_TRIS = 0x2,
+            PARTICLE_TOPOLOGY_QUADS = 0x3,
+            PARTICLE_TOPOLOGY_CUBES = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleLightBehaviorChoiceList_t : uint {
+            PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0,
+            PARTICLE_LIGHT_BEHAVIOR_ROPE = 0x1,
+            PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ModelHitboxType_t : uint {
+            MODEL_HITBOX_TYPE_STANDARD = 0x0,
+            MODEL_HITBOX_TYPE_RAW_BONES = 0x1,
+            MODEL_HITBOX_TYPE_RENDERBOUNDS = 0x2,
+            MODEL_HITBOX_TYPE_SNAPSHOT = 0x3
+        }
+        // Alignment: 4
+        // Member count: 9
+        public enum ParticleFloatMapType_t : uint {
+            PF_MAP_TYPE_INVALID = unchecked((uint)-1),
+            PF_MAP_TYPE_DIRECT = 0x0,
+            PF_MAP_TYPE_MULT = 0x1,
+            PF_MAP_TYPE_REMAP = 0x2,
+            PF_MAP_TYPE_REMAP_BIASED = 0x3,
+            PF_MAP_TYPE_CURVE = 0x4,
+            PF_MAP_TYPE_NOTCHED = 0x5,
+            PF_MAP_TYPE_ROUND = 0x6,
+            PF_MAP_TYPE_COUNT = 0x7
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleTraceSet_t : uint {
+            PARTICLE_TRACE_SET_ALL = 0x0,
+            PARTICLE_TRACE_SET_STATIC = 0x1,
+            PARTICLE_TRACE_SET_STATIC_AND_KEYFRAMED = 0x2,
+            PARTICLE_TRACE_SET_DYNAMIC = 0x3
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum ParticleTextureLayerBlendType_t : uint {
+            SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0,
+            SPRITECARD_TEXTURE_BLEND_MOD2X = 0x1,
+            SPRITECARD_TEXTURE_BLEND_REPLACE = 0x2,
+            SPRITECARD_TEXTURE_BLEND_ADD = 0x3,
+            SPRITECARD_TEXTURE_BLEND_SUBTRACT = 0x4,
+            SPRITECARD_TEXTURE_BLEND_AVERAGE = 0x5,
+            SPRITECARD_TEXTURE_BLEND_LUMINANCE = 0x6
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleSelection_t : uint {
+            PARTICLE_SELECTION_FIRST = 0x0,
+            PARTICLE_SELECTION_LAST = 0x1,
+            PARTICLE_SELECTION_NUMBER = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleFloatInputMode_t : uint {
+            PF_INPUT_MODE_INVALID = unchecked((uint)-1),
+            PF_INPUT_MODE_CLAMPED = 0x0,
+            PF_INPUT_MODE_LOOPED = 0x1,
+            PF_INPUT_MODE_COUNT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum SnapshotIndexType_t : uint {
+            SNAPSHOT_INDEX_INCREMENT = 0x0,
+            SNAPSHOT_INDEX_DIRECT = 0x1
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum ParticleOutputBlendMode_t : uint {
+            PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0,
+            PARTICLE_OUTPUT_BLEND_MODE_ADD = 0x1,
+            PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD = 0x2,
+            PARTICLE_OUTPUT_BLEND_MODE_HALF_BLEND_ADD = 0x3,
+            PARTICLE_OUTPUT_BLEND_MODE_NEG_HALF_BLEND_ADD = 0x4,
+            PARTICLE_OUTPUT_BLEND_MODE_MOD2X = 0x5,
+            PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN = 0x6
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleLightnintBranchBehavior_t : uint {
+            PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0,
+            PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum MaterialProxyType_t : uint {
+            MATERIAL_PROXY_STATUS_EFFECT = 0x0,
+            MATERIAL_PROXY_TINT = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleDepthFeatheringMode_t : uint {
+            PARTICLE_DEPTH_FEATHERING_OFF = 0x0,
+            PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL = 0x1,
+            PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleFloatRandomMode_t : uint {
+            PF_RANDOM_MODE_INVALID = unchecked((uint)-1),
+            PF_RANDOM_MODE_CONSTANT = 0x0,
+            PF_RANDOM_MODE_VARYING = 0x1,
+            PF_RANDOM_MODE_COUNT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PFNoiseModifier_t : uint {
+            PF_NOISE_MODIFIER_NONE = 0x0,
+            PF_NOISE_MODIFIER_LINES = 0x1,
+            PF_NOISE_MODIFIER_CLUMPS = 0x2,
+            PF_NOISE_MODIFIER_RINGS = 0x3
+        }
+        // Alignment: 4
+        // Member count: 19
+        public enum ParticleVecType_t : uint {
+            PVEC_TYPE_INVALID = unchecked((uint)-1),
+            PVEC_TYPE_LITERAL = 0x0,
+            PVEC_TYPE_LITERAL_COLOR = 0x1,
+            PVEC_TYPE_NAMED_VALUE = 0x2,
+            PVEC_TYPE_PARTICLE_VECTOR = 0x3,
+            PVEC_TYPE_PARTICLE_VELOCITY = 0x4,
+            PVEC_TYPE_CP_VALUE = 0x5,
+            PVEC_TYPE_CP_RELATIVE_POSITION = 0x6,
+            PVEC_TYPE_CP_RELATIVE_DIR = 0x7,
+            PVEC_TYPE_CP_RELATIVE_RANDOM_DIR = 0x8,
+            PVEC_TYPE_FLOAT_COMPONENTS = 0x9,
+            PVEC_TYPE_FLOAT_INTERP_CLAMPED = 0xA,
+            PVEC_TYPE_FLOAT_INTERP_OPEN = 0xB,
+            PVEC_TYPE_FLOAT_INTERP_GRADIENT = 0xC,
+            PVEC_TYPE_RANDOM_UNIFORM = 0xD,
+            PVEC_TYPE_RANDOM_UNIFORM_OFFSET = 0xE,
+            PVEC_TYPE_CP_DELTA = 0xF,
+            PVEC_TYPE_CLOSEST_CAMERA_POSITION = 0x10,
+            PVEC_TYPE_COUNT = 0x11
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleLightUnitChoiceList_t : uint {
+            PARTICLE_LIGHT_UNIT_CANDELAS = 0x0,
+            PARTICLE_LIGHT_UNIT_LUMENS = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleFalloffFunction_t : uint {
+            PARTICLE_FALLOFF_CONSTANT = 0x0,
+            PARTICLE_FALLOFF_LINEAR = 0x1,
+            PARTICLE_FALLOFF_EXPONENTIAL = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleSequenceCropOverride_t : uint {
+            PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = unchecked((uint)-1),
+            PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF = 0x0,
+            PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleDetailLevel_t : uint {
+            PARTICLEDETAIL_LOW = 0x0,
+            PARTICLEDETAIL_MEDIUM = 0x1,
+            PARTICLEDETAIL_HIGH = 0x2,
+            PARTICLEDETAIL_ULTRA = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum BBoxVolumeType_t : uint {
+            BBOX_VOLUME = 0x0,
+            BBOX_DIMENSIONS = 0x1,
+            BBOX_MINS_MAXS = 0x2
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum SpriteCardTextureType_t : uint {
+            SPRITECARD_TEXTURE_DIFFUSE = 0x0,
+            SPRITECARD_TEXTURE_ZOOM = 0x1,
+            SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 0x2,
+            SPRITECARD_TEXTURE_UVDISTORTION = 0x3,
+            SPRITECARD_TEXTURE_UVDISTORTION_ZOOM = 0x4,
+            SPRITECARD_TEXTURE_NORMALMAP = 0x5,
+            SPRITECARD_TEXTURE_ANIMMOTIONVEC = 0x6,
+            SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_A = 0x7,
+            SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_B = 0x8,
+            SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleAlphaReferenceType_t : uint {
+            PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0,
+            PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA = 0x1,
+            PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE = 0x2,
+            PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE = 0x3
+        }
+        // Alignment: 4
+        // Member count: 15
+        public enum SpriteCardTextureChannel_t : uint {
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA = 0x1,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_A = 0x2,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A = 0x3,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_ALPHAMASK = 0x4,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_RGBMASK = 0x5,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA_RGBALPHA = 0x6,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_A_RGBALPHA = 0x7,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A_RGBALPHA = 0x8,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_R = 0x9,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_G = 0xA,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_B = 0xB,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_RALPHA = 0xC,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_GALPHA = 0xD,
+            SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xE
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleTransformType_t : uint {
+            PT_TYPE_INVALID = 0x0,
+            PT_TYPE_NAMED_VALUE = 0x1,
+            PT_TYPE_CONTROL_POINT = 0x2,
+            PT_TYPE_CONTROL_POINT_RANGE = 0x3,
+            PT_TYPE_COUNT = 0x4
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum RenderModelSubModelFieldType_t : uint {
+            SUBMODEL_AS_BODYGROUP_SUBMODEL = 0x0,
+            SUBMODEL_AS_MESHGROUP_INDEX = 0x1,
+            SUBMODEL_AS_MESHGROUP_MASK = 0x2,
+            SUBMODEL_IGNORED_USE_MODEL_DEFAULT_MESHGROUP_MASK = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleHitboxDataSelection_t : uint {
+            PARTICLE_HITBOX_AVERAGE_SPEED = 0x0,
+            PARTICLE_HITBOX_COUNT = 0x1
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum ParticleOrientationChoiceList_t : uint {
+            PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0,
+            PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED = 0x1,
+            PARTICLE_ORIENTATION_WORLD_Z_ALIGNED = 0x2,
+            PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL = 0x3,
+            PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL = 0x4,
+            PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum ParticleCollisionMode_t : uint {
+            COLLISION_MODE_PER_PARTICLE_TRACE = 0x3,
+            COLLISION_MODE_USE_NEAREST_TRACE = 0x2,
+            COLLISION_MODE_PER_FRAME_PLANESET = 0x1,
+            COLLISION_MODE_INITIAL_TRACE_DOWN = 0x0,
+            COLLISION_MODE_DISABLED = unchecked((uint)-1)
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleSortingChoiceList_t : uint {
+            PARTICLE_SORTING_NEAREST = 0x0,
+            PARTICLE_SORTING_CREATION_TIME = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleEndcapMode_t : uint {
+            PARTICLE_ENDCAP_ALWAYS_ON = unchecked((uint)-1),
+            PARTICLE_ENDCAP_ENDCAP_OFF = 0x0,
+            PARTICLE_ENDCAP_ENDCAP_ON = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ClosestPointTestType_t : uint {
+            PARTICLE_CLOSEST_TYPE_BOX = 0x0,
+            PARTICLE_CLOSEST_TYPE_CAPSULE = 0x1,
+            PARTICLE_CLOSEST_TYPE_HYBRID = 0x2
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum ParticleImpulseType_t : uint {
+            IMPULSE_TYPE_NONE = 0x0,
+            IMPULSE_TYPE_GENERIC = 0x1,
+            IMPULSE_TYPE_ROPE = 0x2,
+            IMPULSE_TYPE_EXPLOSION = 0x4,
+            IMPULSE_TYPE_EXPLOSION_UNDERWATER = 0x8,
+            IMPULSE_TYPE_PARTICLE_SYSTEM = 0x10
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum SpriteCardShaderType_t : uint {
+            SPRITECARD_SHADER_BASE = 0x0,
+            SPRITECARD_SHADER_CUSTOM = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleOmni2LightTypeChoiceList_t : uint {
+            PARTICLE_OMNI2_LIGHT_TYPE_POINT = 0x0,
+            PARTICLE_OMNI2_LIGHT_TYPE_SPHERE = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ParticleLightFogLightingMode_t : uint {
+            PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0,
+            PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC = 0x2,
+            PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ParticleLightTypeChoiceList_t : uint {
+            PARTICLE_LIGHT_TYPE_POINT = 0x0,
+            PARTICLE_LIGHT_TYPE_SPOT = 0x1,
+            PARTICLE_LIGHT_TYPE_FX = 0x2,
+            PARTICLE_LIGHT_TYPE_CAPSULE = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ParticleOrientationSetMode_t : uint {
+            PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0,
+            PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum TextureRepetitionMode_t : uint {
+            TEXTURE_REPETITION_PARTICLE = 0x0,
+            TEXTURE_REPETITION_PATH = 0x1
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapGravityToVector {
+            public const nint m_vInput1 = 0x1C0; // CPerParticleVecInput
+            public const nint m_nOutputField = 0x838; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x83C; // ParticleSetMethod_t
+            public const nint m_bNormalizedOutput = 0x840; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Decay {
+            public const nint m_bRopeDecay = 0x1C0; // bool
+            public const nint m_bForcePreserveParticleOrder = 0x1C1; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderDeferredLight {
+            public const nint m_bUseAlphaTestWindow = 0x210; // bool
+            public const nint m_bUseTexture = 0x211; // bool
+            public const nint m_flRadiusScale = 0x214; // float32
+            public const nint m_flAlphaScale = 0x218; // float32
+            public const nint m_nAlpha2Field = 0x21C; // ParticleAttributeIndex_t
+            public const nint m_vecColorScale = 0x220; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0x898; // ParticleColorBlendType_t
+            public const nint m_flLightDistance = 0x89C; // float32
+            public const nint m_flStartFalloff = 0x8A0; // float32
+            public const nint m_flDistanceFalloff = 0x8A4; // float32
+            public const nint m_flSpotFoV = 0x8A8; // float32
+            public const nint m_nAlphaTestPointField = 0x8AC; // ParticleAttributeIndex_t
+            public const nint m_nAlphaTestRangeField = 0x8B0; // ParticleAttributeIndex_t
+            public const nint m_nAlphaTestSharpnessField = 0x8B4; // ParticleAttributeIndex_t
+            public const nint m_hTexture = 0x8B8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_nHSVShiftControlPoint = 0x8C0; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapSpeedtoCP {
+            public const nint m_nInControlPointNumber = 0x1C8; // int32
+            public const nint m_nOutControlPointNumber = 0x1CC; // int32
+            public const nint m_nField = 0x1D0; // int32
+            public const nint m_flInputMin = 0x1D4; // float32
+            public const nint m_flInputMax = 0x1D8; // float32
+            public const nint m_flOutputMin = 0x1DC; // float32
+            public const nint m_flOutputMax = 0x1E0; // float32
+            public const nint m_bUseDeltaV = 0x1E4; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapTransformToVelocity {
+            public const nint m_TransformInput = 0x1C0; // CParticleTransformInput
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CollisionGroupContext_t {
+            public const nint m_nCollisionGroupNumber = 0x0; // int32
+        }
+        // Parent: CParticleInput
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        // MParticleCustomFieldDefaultValue
+        public static class CParticleModelInput {
+            public const nint m_nType = 0x10; // ParticleModelType_t
+            public const nint m_NamedValue = 0x18; // CParticleNamedValueRef
+            public const nint m_nControlPoint = 0x58; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionPreEmission {
+            public const nint m_bRunOnce = 0x1C0; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_FadeOutSimple {
+            public const nint m_flFadeOutTime = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SpringToVectorConstraint {
+            public const nint m_flRestLength = 0x1C0; // CPerParticleFloatInput
+            public const nint m_flMinDistance = 0x320; // CPerParticleFloatInput
+            public const nint m_flMaxDistance = 0x480; // CPerParticleFloatInput
+            public const nint m_flRestingLength = 0x5E0; // CPerParticleFloatInput
+            public const nint m_vecAnchorVector = 0x740; // CPerParticleVecInput
+        }
+        // Parent: CBaseRendererSource2
+        // Field count: 30
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderRopes {
+            public const nint m_bEnableFadingAndClamping = 0x2AA8; // bool
+            public const nint m_flMinSize = 0x2AAC; // float32
+            public const nint m_flMaxSize = 0x2AB0; // float32
+            public const nint m_flStartFadeSize = 0x2AB4; // float32
+            public const nint m_flEndFadeSize = 0x2AB8; // float32
+            public const nint m_flStartFadeDot = 0x2ABC; // float32
+            public const nint m_flEndFadeDot = 0x2AC0; // float32
+            public const nint m_flRadiusTaper = 0x2AC4; // float32
+            public const nint m_nMinTesselation = 0x2AC8; // int32
+            public const nint m_nMaxTesselation = 0x2ACC; // int32
+            public const nint m_flTessScale = 0x2AD0; // float32
+            public const nint m_flTextureVWorldSize = 0x2AD8; // CParticleCollectionRendererFloatInput
+            public const nint m_flTextureVScrollRate = 0x2C38; // CParticleCollectionRendererFloatInput
+            public const nint m_flTextureVOffset = 0x2D98; // CParticleCollectionRendererFloatInput
+            public const nint m_nTextureVParamsCP = 0x2EF8; // int32
+            public const nint m_bClampV = 0x2EFC; // bool
+            public const nint m_nScaleCP1 = 0x2F00; // int32
+            public const nint m_nScaleCP2 = 0x2F04; // int32
+            public const nint m_flScaleVSizeByControlPointDistance = 0x2F08; // float32
+            public const nint m_flScaleVScrollByControlPointDistance = 0x2F0C; // float32
+            public const nint m_flScaleVOffsetByControlPointDistance = 0x2F10; // float32
+            public const nint m_bUseScalarForTextureCoordinate = 0x2F15; // bool
+            public const nint m_nScalarFieldForTextureCoordinate = 0x2F18; // ParticleAttributeIndex_t
+            public const nint m_flScalarAttributeTextureCoordScale = 0x2F1C; // float32
+            public const nint m_bReverseOrder = 0x2F20; // bool
+            public const nint m_bClosedLoop = 0x2F21; // bool
+            public const nint m_nOrientationType = 0x2F24; // ParticleOrientationChoiceList_t
+            public const nint m_nVectorFieldForOrientation = 0x2F28; // ParticleAttributeIndex_t
+            public const nint m_bDrawAsOpaque = 0x2F2C; // bool
+            public const nint m_bGenerateNormals = 0x2F2D; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 19
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_StatusEffectCitadel {
+            public const nint m_flSFXColorWarpAmount = 0x1C8; // float32
+            public const nint m_flSFXNormalAmount = 0x1CC; // float32
+            public const nint m_flSFXMetalnessAmount = 0x1D0; // float32
+            public const nint m_flSFXRoughnessAmount = 0x1D4; // float32
+            public const nint m_flSFXSelfIllumAmount = 0x1D8; // float32
+            public const nint m_flSFXSScale = 0x1DC; // float32
+            public const nint m_flSFXSScrollX = 0x1E0; // float32
+            public const nint m_flSFXSScrollY = 0x1E4; // float32
+            public const nint m_flSFXSScrollZ = 0x1E8; // float32
+            public const nint m_flSFXSOffsetX = 0x1EC; // float32
+            public const nint m_flSFXSOffsetY = 0x1F0; // float32
+            public const nint m_flSFXSOffsetZ = 0x1F4; // float32
+            public const nint m_nDetailCombo = 0x1F8; // DetailCombo_t
+            public const nint m_flSFXSDetailAmount = 0x1FC; // float32
+            public const nint m_flSFXSDetailScale = 0x200; // float32
+            public const nint m_flSFXSDetailScrollX = 0x204; // float32
+            public const nint m_flSFXSDetailScrollY = 0x208; // float32
+            public const nint m_flSFXSDetailScrollZ = 0x20C; // float32
+            public const nint m_flSFXSUseModelUVs = 0x210; // float32
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderSound {
+            public const nint m_flDurationScale = 0x210; // float32
+            public const nint m_flSndLvlScale = 0x214; // float32
+            public const nint m_flPitchScale = 0x218; // float32
+            public const nint m_flVolumeScale = 0x21C; // float32
+            public const nint m_nSndLvlField = 0x220; // ParticleAttributeIndex_t
+            public const nint m_nDurationField = 0x224; // ParticleAttributeIndex_t
+            public const nint m_nPitchField = 0x228; // ParticleAttributeIndex_t
+            public const nint m_nVolumeField = 0x22C; // ParticleAttributeIndex_t
+            public const nint m_nChannel = 0x230; // int32
+            public const nint m_nCPReference = 0x234; // int32
+            public const nint m_pszSoundName = 0x238; // char[256]
+            public const nint m_bSuppressStopSoundEvent = 0x338; // bool
+        }
+        // Parent: None
+        // Field count: 19
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleVisibilityInputs {
+            public const nint m_flCameraBias = 0x0; // float32
+            public const nint m_nCPin = 0x4; // int32
+            public const nint m_flProxyRadius = 0x8; // float32
+            public const nint m_flInputMin = 0xC; // float32
+            public const nint m_flInputMax = 0x10; // float32
+            public const nint m_flInputPixelVisFade = 0x14; // float32
+            public const nint m_flNoPixelVisibilityFallback = 0x18; // float32
+            public const nint m_flDistanceInputMin = 0x1C; // float32
+            public const nint m_flDistanceInputMax = 0x20; // float32
+            public const nint m_flDotInputMin = 0x24; // float32
+            public const nint m_flDotInputMax = 0x28; // float32
+            public const nint m_bDotCPAngles = 0x2C; // bool
+            public const nint m_bDotCameraAngles = 0x2D; // bool
+            public const nint m_flAlphaScaleMin = 0x30; // float32
+            public const nint m_flAlphaScaleMax = 0x34; // float32
+            public const nint m_flRadiusScaleMin = 0x38; // float32
+            public const nint m_flRadiusScaleMax = 0x3C; // float32
+            public const nint m_flRadiusScaleFOVBase = 0x40; // float32
+            public const nint m_bRightEye = 0x44; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointsToParticle {
+            public const nint m_nChildGroupID = 0x1C0; // int32
+            public const nint m_nFirstControlPoint = 0x1C4; // int32
+            public const nint m_nNumControlPoints = 0x1C8; // int32
+            public const nint m_nFirstSourcePoint = 0x1CC; // int32
+            public const nint m_bSetOrientation = 0x1D0; // bool
+            public const nint m_nOrientationMode = 0x1D4; // ParticleOrientationSetMode_t
+            public const nint m_nSetParent = 0x1D8; // ParticleParentSetMode_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapSDFDistanceToVectorAttribute {
+            public const nint m_nVectorFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nVectorFieldInput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flMinDistance = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_flMaxDistance = 0x328; // CParticleCollectionFloatInput
+            public const nint m_vValueBelowMin = 0x488; // Vector
+            public const nint m_vValueAtMin = 0x494; // Vector
+            public const nint m_vValueAtMax = 0x4A0; // Vector
+            public const nint m_vValueAboveMax = 0x4AC; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapCPVelocityToVector {
+            public const nint m_nControlPoint = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x1C8; // float32
+            public const nint m_bNormalize = 0x1CC; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PointVectorAtNextParticle {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInterpolation = 0x1C8; // CPerParticleFloatInput
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticlePreviewBodyGroup_t {
+            public const nint m_bodyGroupName = 0x0; // CUtlString
+            public const nint m_nValue = 0x8; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_OscillateScalarSimple {
+            public const nint m_Rate = 0x1C0; // float32
+            public const nint m_Frequency = 0x1C4; // float32
+            public const nint m_nField = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_flOscMult = 0x1CC; // float32
+            public const nint m_flOscAdd = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 18
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_StatusEffect {
+            public const nint m_nDetail2Combo = 0x1C8; // Detail2Combo_t
+            public const nint m_flDetail2Rotation = 0x1CC; // float32
+            public const nint m_flDetail2Scale = 0x1D0; // float32
+            public const nint m_flDetail2BlendFactor = 0x1D4; // float32
+            public const nint m_flColorWarpIntensity = 0x1D8; // float32
+            public const nint m_flDiffuseWarpBlendToFull = 0x1DC; // float32
+            public const nint m_flEnvMapIntensity = 0x1E0; // float32
+            public const nint m_flAmbientScale = 0x1E4; // float32
+            public const nint m_specularColor = 0x1E8; // Color
+            public const nint m_flSpecularScale = 0x1EC; // float32
+            public const nint m_flSpecularExponent = 0x1F0; // float32
+            public const nint m_flSpecularExponentBlendToFull = 0x1F4; // float32
+            public const nint m_flSpecularBlendToFull = 0x1F8; // float32
+            public const nint m_rimLightColor = 0x1FC; // Color
+            public const nint m_flRimLightScale = 0x200; // float32
+            public const nint m_flReflectionsTintByBaseBlendToNone = 0x204; // float32
+            public const nint m_flMetalnessBlendToFull = 0x208; // float32
+            public const nint m_flSelfIllumBlendToFull = 0x20C; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RtEnvCull {
+            public const nint m_vecTestDir = 0x1C8; // Vector
+            public const nint m_vecTestNormal = 0x1D4; // Vector
+            public const nint m_bUseVelocity = 0x1E0; // bool
+            public const nint m_bCullOnMiss = 0x1E1; // bool
+            public const nint m_bLifeAdjust = 0x1E2; // bool
+            public const nint m_RtEnvName = 0x1E3; // char[128]
+            public const nint m_nRTEnvCP = 0x264; // int32
+            public const nint m_nComponent = 0x268; // int32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ConstrainDistance {
+            public const nint m_fMinDistance = 0x1C0; // CParticleCollectionFloatInput
+            public const nint m_fMaxDistance = 0x320; // CParticleCollectionFloatInput
+            public const nint m_nControlPointNumber = 0x480; // int32
+            public const nint m_CenterOffset = 0x484; // Vector
+            public const nint m_bGlobalCenter = 0x490; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomVector {
+            public const nint m_vecMin = 0x1C8; // Vector
+            public const nint m_vecMax = 0x1D4; // Vector
+            public const nint m_nFieldOutput = 0x1E0; // ParticleAttributeIndex_t
+            public const nint m_randomnessParameters = 0x1E4; // CRandomNumberGeneratorParameters
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitialVelocityNoise {
+            public const nint m_vecAbsVal = 0x1C8; // Vector
+            public const nint m_vecAbsValInv = 0x1D4; // Vector
+            public const nint m_vecOffsetLoc = 0x1E0; // CPerParticleVecInput
+            public const nint m_flOffset = 0x858; // CPerParticleFloatInput
+            public const nint m_vecOutputMin = 0x9B8; // CPerParticleVecInput
+            public const nint m_vecOutputMax = 0x1030; // CPerParticleVecInput
+            public const nint m_flNoiseScale = 0x16A8; // CPerParticleFloatInput
+            public const nint m_flNoiseScaleLoc = 0x1808; // CPerParticleFloatInput
+            public const nint m_TransformInput = 0x1968; // CParticleTransformInput
+            public const nint m_bIgnoreDt = 0x19D0; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticleChildrenInfo_t {
+            public const nint m_ChildRef = 0x0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_flDelay = 0x8; // float32
+            public const nint m_bEndCap = 0xC; // bool
+            public const nint m_bDisableChild = 0xD; // bool
+            public const nint m_nDetailLevel = 0x10; // ParticleDetailLevel_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapScalarOnceTimed {
+            public const nint m_bProportional = 0x1C0; // bool
+            public const nint m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1CC; // float32
+            public const nint m_flInputMax = 0x1D0; // float32
+            public const nint m_flOutputMin = 0x1D4; // float32
+            public const nint m_flOutputMax = 0x1D8; // float32
+            public const nint m_flRemapTime = 0x1DC; // float32
+        }
+        // Parent: C_INIT_RandomNamedModelElement
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomNamedModelSequence {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PlaneCull {
+            public const nint m_nPlaneControlPoint = 0x1C0; // int32
+            public const nint m_vecPlaneDirection = 0x1C4; // Vector
+            public const nint m_bLocalSpace = 0x1D0; // bool
+            public const nint m_flPlaneOffset = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_VelocityRandom {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_fSpeedMin = 0x1D0; // CPerParticleFloatInput
+            public const nint m_fSpeedMax = 0x330; // CPerParticleFloatInput
+            public const nint m_LocalCoordinateSystemSpeedMin = 0x490; // CPerParticleVecInput
+            public const nint m_LocalCoordinateSystemSpeedMax = 0xB08; // CPerParticleVecInput
+            public const nint m_bIgnoreDT = 0x1180; // bool
+            public const nint m_randomnessParameters = 0x1184; // CRandomNumberGeneratorParameters
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ModelDampenMovement {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_bBoundBox = 0x1C4; // bool
+            public const nint m_bOutside = 0x1C5; // bool
+            public const nint m_bUseBones = 0x1C6; // bool
+            public const nint m_HitboxSetName = 0x1C7; // char[128]
+            public const nint m_vecPosOffset = 0x248; // CPerParticleVecInput
+            public const nint m_fDrag = 0x8C0; // float32
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_TwistAroundAxis {
+            public const nint m_fForceAmount = 0x1D0; // float32
+            public const nint m_TwistAxis = 0x1D4; // Vector
+            public const nint m_bLocalSpace = 0x1E0; // bool
+            public const nint m_nControlPointNumber = 0x1E4; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_TeleportBeam {
+            public const nint m_nCPPosition = 0x1C0; // int32
+            public const nint m_nCPVelocity = 0x1C4; // int32
+            public const nint m_nCPMisc = 0x1C8; // int32
+            public const nint m_nCPColor = 0x1CC; // int32
+            public const nint m_nCPInvalidColor = 0x1D0; // int32
+            public const nint m_nCPExtraArcData = 0x1D4; // int32
+            public const nint m_vGravity = 0x1D8; // Vector
+            public const nint m_flArcMaxDuration = 0x1E4; // float32
+            public const nint m_flSegmentBreak = 0x1E8; // float32
+            public const nint m_flArcSpeed = 0x1EC; // float32
+            public const nint m_flAlpha = 0x1F0; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapExternalWindToCP {
+            public const nint m_nCP = 0x1C8; // int32
+            public const nint m_nCPOutput = 0x1CC; // int32
+            public const nint m_vecScale = 0x1D0; // CParticleCollectionVecInput
+            public const nint m_bSetMagnitude = 0x848; // bool
+            public const nint m_nOutVectorField = 0x84C; // int32
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 64
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBaseRendererSource2 {
+            public const nint m_flRadiusScale = 0x210; // CParticleCollectionRendererFloatInput
+            public const nint m_flAlphaScale = 0x370; // CParticleCollectionRendererFloatInput
+            public const nint m_flRollScale = 0x4D0; // CParticleCollectionRendererFloatInput
+            public const nint m_nAlpha2Field = 0x630; // ParticleAttributeIndex_t
+            public const nint m_vecColorScale = 0x638; // CParticleCollectionRendererVecInput
+            public const nint m_nColorBlendType = 0xCB0; // ParticleColorBlendType_t
+            public const nint m_nShaderType = 0xCB4; // SpriteCardShaderType_t
+            public const nint m_strShaderOverride = 0xCB8; // CUtlString
+            public const nint m_flCenterXOffset = 0xCC0; // CParticleCollectionRendererFloatInput
+            public const nint m_flCenterYOffset = 0xE20; // CParticleCollectionRendererFloatInput
+            public const nint m_flBumpStrength = 0xF80; // float32
+            public const nint m_nCropTextureOverride = 0xF84; // ParticleSequenceCropOverride_t
+            public const nint m_vecTexturesInput = 0xF88; // CUtlVector<TextureGroup_t>
+            public const nint m_flAnimationRate = 0xFA0; // float32
+            public const nint m_nAnimationType = 0xFA4; // AnimationType_t
+            public const nint m_bAnimateInFPS = 0xFA8; // bool
+            public const nint m_flMotionVectorScaleU = 0xFB0; // CParticleCollectionRendererFloatInput
+            public const nint m_flMotionVectorScaleV = 0x1110; // CParticleCollectionRendererFloatInput
+            public const nint m_flSelfIllumAmount = 0x1270; // CParticleCollectionRendererFloatInput
+            public const nint m_flDiffuseAmount = 0x13D0; // CParticleCollectionRendererFloatInput
+            public const nint m_flDiffuseClamp = 0x1530; // CParticleCollectionRendererFloatInput
+            public const nint m_nLightingControlPoint = 0x1690; // int32
+            public const nint m_nSelfIllumPerParticle = 0x1694; // ParticleAttributeIndex_t
+            public const nint m_nOutputBlendMode = 0x1698; // ParticleOutputBlendMode_t
+            public const nint m_bGammaCorrectVertexColors = 0x169C; // bool
+            public const nint m_bSaturateColorPreAlphaBlend = 0x169D; // bool
+            public const nint m_flAddSelfAmount = 0x16A0; // CParticleCollectionRendererFloatInput
+            public const nint m_flDesaturation = 0x1800; // CParticleCollectionRendererFloatInput
+            public const nint m_flOverbrightFactor = 0x1960; // CParticleCollectionRendererFloatInput
+            public const nint m_nHSVShiftControlPoint = 0x1AC0; // int32
+            public const nint m_nFogType = 0x1AC4; // ParticleFogType_t
+            public const nint m_flFogAmount = 0x1AC8; // CParticleCollectionRendererFloatInput
+            public const nint m_bTintByFOW = 0x1C28; // bool
+            public const nint m_bTintByGlobalLight = 0x1C29; // bool
+            public const nint m_nPerParticleAlphaReference = 0x1C2C; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleAlphaRefWindow = 0x1C30; // SpriteCardPerParticleScale_t
+            public const nint m_nAlphaReferenceType = 0x1C34; // ParticleAlphaReferenceType_t
+            public const nint m_flAlphaReferenceSoftness = 0x1C38; // CParticleCollectionRendererFloatInput
+            public const nint m_flSourceAlphaValueToMapToZero = 0x1D98; // CParticleCollectionRendererFloatInput
+            public const nint m_flSourceAlphaValueToMapToOne = 0x1EF8; // CParticleCollectionRendererFloatInput
+            public const nint m_bRefract = 0x2058; // bool
+            public const nint m_bRefractSolid = 0x2059; // bool
+            public const nint m_flRefractAmount = 0x2060; // CParticleCollectionRendererFloatInput
+            public const nint m_nRefractBlurRadius = 0x21C0; // int32
+            public const nint m_nRefractBlurType = 0x21C4; // BlurFilterType_t
+            public const nint m_bOnlyRenderInEffectsBloomPass = 0x21C8; // bool
+            public const nint m_bOnlyRenderInEffectsWaterPass = 0x21C9; // bool
+            public const nint m_bUseMixedResolutionRendering = 0x21CA; // bool
+            public const nint m_bOnlyRenderInEffecsGameOverlay = 0x21CB; // bool
+            public const nint m_stencilTestID = 0x21CC; // char[128]
+            public const nint m_bStencilTestExclude = 0x224C; // bool
+            public const nint m_stencilWriteID = 0x224D; // char[128]
+            public const nint m_bWriteStencilOnDepthPass = 0x22CD; // bool
+            public const nint m_bWriteStencilOnDepthFail = 0x22CE; // bool
+            public const nint m_bReverseZBuffering = 0x22CF; // bool
+            public const nint m_bDisableZBuffering = 0x22D0; // bool
+            public const nint m_nFeatheringMode = 0x22D4; // ParticleDepthFeatheringMode_t
+            public const nint m_flFeatheringMinDist = 0x22D8; // CParticleCollectionRendererFloatInput
+            public const nint m_flFeatheringMaxDist = 0x2438; // CParticleCollectionRendererFloatInput
+            public const nint m_flFeatheringFilter = 0x2598; // CParticleCollectionRendererFloatInput
+            public const nint m_flDepthBias = 0x26F8; // CParticleCollectionRendererFloatInput
+            public const nint m_nSortMethod = 0x2858; // ParticleSortingChoiceList_t
+            public const nint m_bBlendFramesSeq0 = 0x285C; // bool
+            public const nint m_bMaxLuminanceBlendingSequence0 = 0x285D; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSpinUpdateBase {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_OrientTo2dDirection {
+            public const nint m_flRotOffset = 0x1C0; // float32
+            public const nint m_flSpinStrength = 0x1C4; // float32
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDotProductToCP {
+            public const nint m_nInputCP1 = 0x1C8; // int32
+            public const nint m_nInputCP2 = 0x1CC; // int32
+            public const nint m_nOutputCP = 0x1D0; // int32
+            public const nint m_nOutVectorField = 0x1D4; // int32
+            public const nint m_flInputMin = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_flInputMax = 0x338; // CParticleCollectionFloatInput
+            public const nint m_flOutputMin = 0x498; // CParticleCollectionFloatInput
+            public const nint m_flOutputMax = 0x5F8; // CParticleCollectionFloatInput
+        }
+        // Parent: C_INIT_RemapParticleCountToScalar
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapParticleCountToNamedModelElementScalar {
+            public const nint m_hModel = 0x1F8; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_outputMinName = 0x200; // CUtlString
+            public const nint m_outputMaxName = 0x208; // CUtlString
+            public const nint m_bModelFromRenderer = 0x210; // bool
+        }
+        // Parent: CBaseTrailRenderer
+        // Field count: 20
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderTrails {
+            public const nint m_bEnableFadingAndClamping = 0x2D80; // bool
+            public const nint m_flStartFadeDot = 0x2D84; // float32
+            public const nint m_flEndFadeDot = 0x2D88; // float32
+            public const nint m_nPrevPntSource = 0x2D8C; // ParticleAttributeIndex_t
+            public const nint m_flMaxLength = 0x2D90; // float32
+            public const nint m_flMinLength = 0x2D94; // float32
+            public const nint m_bIgnoreDT = 0x2D98; // bool
+            public const nint m_flConstrainRadiusToLengthRatio = 0x2D9C; // float32
+            public const nint m_flLengthScale = 0x2DA0; // float32
+            public const nint m_flLengthFadeInTime = 0x2DA4; // float32
+            public const nint m_flRadiusHeadTaper = 0x2DA8; // CPerParticleFloatInput
+            public const nint m_vecHeadColorScale = 0x2F08; // CParticleCollectionVecInput
+            public const nint m_flHeadAlphaScale = 0x3580; // CPerParticleFloatInput
+            public const nint m_flRadiusTaper = 0x36E0; // CPerParticleFloatInput
+            public const nint m_vecTailColorScale = 0x3840; // CParticleCollectionVecInput
+            public const nint m_flTailAlphaScale = 0x3EB8; // CPerParticleFloatInput
+            public const nint m_nHorizCropField = 0x4018; // ParticleAttributeIndex_t
+            public const nint m_nVertCropField = 0x401C; // ParticleAttributeIndex_t
+            public const nint m_flForwardShift = 0x4020; // float32
+            public const nint m_bFlipUVBasedOnPitchYaw = 0x4024; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointPositionToTimeOfDayValue {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_pszTimeOfDayParameter = 0x1CC; // char[128]
+            public const nint m_vecDefaultValue = 0x24C; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DecayMaintainCount {
+            public const nint m_nParticlesToMaintain = 0x1C0; // int32
+            public const nint m_flDecayDelay = 0x1C4; // float32
+            public const nint m_nSnapshotControlPoint = 0x1C8; // int32
+            public const nint m_bLifespanDecay = 0x1CC; // bool
+            public const nint m_flScale = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_bKillNewest = 0x330; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomModelSequence {
+            public const nint m_ActivityName = 0x1C8; // char[256]
+            public const nint m_SequenceName = 0x2C8; // char[256]
+            public const nint m_hModel = 0x3C8; // CStrongHandle<InfoForResourceTypeCModel>
+        }
+        // Parent: CParticleVecInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CPerParticleVecInput {
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ExternalGameImpulseForce {
+            public const nint m_flForceScale = 0x1D0; // CPerParticleFloatInput
+            public const nint m_bRopes = 0x330; // bool
+            public const nint m_bRopesZOnly = 0x331; // bool
+            public const nint m_bExplosions = 0x332; // bool
+            public const nint m_bParticles = 0x333; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapAverageHitboxSpeedtoCP {
+            public const nint m_nInControlPointNumber = 0x1C8; // int32
+            public const nint m_nOutControlPointNumber = 0x1CC; // int32
+            public const nint m_nField = 0x1D0; // int32
+            public const nint m_nHitboxDataType = 0x1D4; // ParticleHitboxDataSelection_t
+            public const nint m_flInputMin = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_flInputMax = 0x338; // CParticleCollectionFloatInput
+            public const nint m_flOutputMin = 0x498; // CParticleCollectionFloatInput
+            public const nint m_flOutputMax = 0x5F8; // CParticleCollectionFloatInput
+            public const nint m_nHeightControlPointNumber = 0x758; // int32
+            public const nint m_vecComparisonVelocity = 0x760; // CParticleCollectionVecInput
+            public const nint m_HitboxSetName = 0xDD8; // char[128]
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomAlpha {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nAlphaMin = 0x1CC; // int32
+            public const nint m_nAlphaMax = 0x1D0; // int32
+            public const nint m_flAlphaRandExponent = 0x1DC; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_NormalizeVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x1C4; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_FadeInSimple {
+            public const nint m_flFadeInTime = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RepeatedTriggerChildGroup {
+            public const nint m_nChildGroupID = 0x1C8; // int32
+            public const nint m_flClusterRefireTime = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_flClusterSize = 0x330; // CParticleCollectionFloatInput
+            public const nint m_flClusterCooldown = 0x490; // CParticleCollectionFloatInput
+            public const nint m_bLimitChildCount = 0x5F0; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderTonemapController {
+            public const nint m_flTonemapLevel = 0x210; // float32
+            public const nint m_flTonemapWeight = 0x214; // float32
+            public const nint m_nTonemapLevelField = 0x218; // ParticleAttributeIndex_t
+            public const nint m_nTonemapWeightField = 0x21C; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapVelocityToVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x1C4; // float32
+            public const nint m_bNormalize = 0x1C8; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SetHitboxToClosest {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nDesiredHitbox = 0x1CC; // int32
+            public const nint m_vecHitBoxScale = 0x1D0; // CParticleCollectionVecInput
+            public const nint m_HitboxSetName = 0x848; // char[128]
+            public const nint m_bUseBones = 0x8C8; // bool
+            public const nint m_bUseClosestPointOnHitbox = 0x8C9; // bool
+            public const nint m_nTestType = 0x8CC; // ClosestPointTestType_t
+            public const nint m_flHybridRatio = 0x8D0; // CParticleCollectionFloatInput
+            public const nint m_bUpdatePosition = 0xA30; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RingWave {
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_flParticlesPerOrbit = 0x230; // CParticleCollectionFloatInput
+            public const nint m_flInitialRadius = 0x390; // CPerParticleFloatInput
+            public const nint m_flThickness = 0x4F0; // CPerParticleFloatInput
+            public const nint m_flInitialSpeedMin = 0x650; // CPerParticleFloatInput
+            public const nint m_flInitialSpeedMax = 0x7B0; // CPerParticleFloatInput
+            public const nint m_flRoll = 0x910; // CPerParticleFloatInput
+            public const nint m_flPitch = 0xA70; // CPerParticleFloatInput
+            public const nint m_flYaw = 0xBD0; // CPerParticleFloatInput
+            public const nint m_bEvenDistribution = 0xD30; // bool
+            public const nint m_bXYVelocityOnly = 0xD31; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomTrailLength {
+            public const nint m_flMinLength = 0x1C8; // float32
+            public const nint m_flMaxLength = 0x1CC; // float32
+            public const nint m_flLengthRandExponent = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapScalar {
+            public const nint m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // float32
+            public const nint m_flInputMax = 0x1CC; // float32
+            public const nint m_flOutputMin = 0x1D0; // float32
+            public const nint m_flOutputMax = 0x1D4; // float32
+            public const nint m_bOldCode = 0x1D8; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DistanceBetweenTransforms {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_TransformStart = 0x1C8; // CParticleTransformInput
+            public const nint m_TransformEnd = 0x230; // CParticleTransformInput
+            public const nint m_flInputMin = 0x298; // CPerParticleFloatInput
+            public const nint m_flInputMax = 0x3F8; // CPerParticleFloatInput
+            public const nint m_flOutputMin = 0x558; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x6B8; // CPerParticleFloatInput
+            public const nint m_flMaxTraceLength = 0x818; // float32
+            public const nint m_flLOSScale = 0x81C; // float32
+            public const nint m_CollisionGroupName = 0x820; // char[128]
+            public const nint m_nTraceSet = 0x8A0; // ParticleTraceSet_t
+            public const nint m_bLOS = 0x8A4; // bool
+            public const nint m_nSetMethod = 0x8A8; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DecayOffscreen {
+            public const nint m_flOffscreenTime = 0x1C0; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MParticleMaxVersion
+        // MParticleReplacementOp
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateSequentialPath {
+            public const nint m_fMaxDistance = 0x1C8; // float32
+            public const nint m_flNumToAssign = 0x1CC; // float32
+            public const nint m_bLoop = 0x1D0; // bool
+            public const nint m_bCPPairs = 0x1D1; // bool
+            public const nint m_bSaveOffset = 0x1D2; // bool
+            public const nint m_PathParams = 0x1E0; // CPathParameters
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_EndCapTimedDecay {
+            public const nint m_flDecayTime = 0x1C0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDistanceToLineSegmentBase {
+            public const nint m_nCP0 = 0x1C0; // int32
+            public const nint m_nCP1 = 0x1C4; // int32
+            public const nint m_flMinInputValue = 0x1C8; // float32
+            public const nint m_flMaxInputValue = 0x1CC; // float32
+            public const nint m_bInfiniteLine = 0x1D0; // bool
+        }
+        // Parent: CParticleFunctionEmitter
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ContinuousEmitter {
+            public const nint m_flEmissionDuration = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_flStartTime = 0x328; // CParticleCollectionFloatInput
+            public const nint m_flEmitRate = 0x488; // CParticleCollectionFloatInput
+            public const nint m_flEmissionScale = 0x5E8; // float32
+            public const nint m_flScalePerParentParticle = 0x5EC; // float32
+            public const nint m_bInitFromKilledParentParticles = 0x5F0; // bool
+            public const nint m_nEventType = 0x5F4; // EventTypeSelection_t
+            public const nint m_nSnapshotControlPoint = 0x5F8; // int32
+            public const nint m_nLimitPerUpdate = 0x5FC; // int32
+            public const nint m_bForceEmitOnFirstUpdate = 0x600; // bool
+            public const nint m_bForceEmitOnLastUpdate = 0x601; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_OscillateVectorSimple {
+            public const nint m_Rate = 0x1C0; // Vector
+            public const nint m_Frequency = 0x1CC; // Vector
+            public const nint m_nField = 0x1D8; // ParticleAttributeIndex_t
+            public const nint m_flOscMult = 0x1DC; // float32
+            public const nint m_flOscAdd = 0x1E0; // float32
+            public const nint m_bOffset = 0x1E4; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SequenceLifeTime {
+            public const nint m_flFramerate = 0x1C8; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_MoveBetweenPoints {
+            public const nint m_flSpeedMin = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flSpeedMax = 0x328; // CPerParticleFloatInput
+            public const nint m_flEndSpread = 0x488; // CPerParticleFloatInput
+            public const nint m_flStartOffset = 0x5E8; // CPerParticleFloatInput
+            public const nint m_flEndOffset = 0x748; // CPerParticleFloatInput
+            public const nint m_nEndControlPointNumber = 0x8A8; // int32
+            public const nint m_bTrailBias = 0x8AC; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapScalar {
+            public const nint m_nFieldInput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1D0; // float32
+            public const nint m_flInputMax = 0x1D4; // float32
+            public const nint m_flOutputMin = 0x1D8; // float32
+            public const nint m_flOutputMax = 0x1DC; // float32
+            public const nint m_flStartTime = 0x1E0; // float32
+            public const nint m_flEndTime = 0x1E4; // float32
+            public const nint m_nSetMethod = 0x1E8; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x1EC; // bool
+            public const nint m_flRemapBias = 0x1F0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetUserEvent {
+            public const nint m_flInput = 0x1C0; // CPerParticleFloatInput
+            public const nint m_flRisingEdge = 0x320; // CPerParticleFloatInput
+            public const nint m_nRisingEventType = 0x480; // EventTypeSelection_t
+            public const nint m_flFallingEdge = 0x488; // CPerParticleFloatInput
+            public const nint m_nFallingEventType = 0x5E8; // EventTypeSelection_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_QuantizeFloat {
+            public const nint m_InputValue = 0x1C0; // CPerParticleFloatInput
+            public const nint m_nOutputField = 0x320; // ParticleAttributeIndex_t
+        }
+        // Parent: CBasePulseGraphInstance
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        // MPulseDomainOptInFeatureTag
+        // MPulseDomainOptInFeatureTag
+        public static class CParticleCollectionBindingInstance {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_BasicMovement {
+            public const nint m_Gravity = 0x1C0; // CParticleCollectionVecInput
+            public const nint m_fDrag = 0x838; // CParticleCollectionFloatInput
+            public const nint m_massControls = 0x998; // CParticleMassCalculationParameters
+            public const nint m_nMaxConstraintPasses = 0xDC0; // int32
+            public const nint m_bUseNewCode = 0xDC4; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomNamedModelElement {
+            public const nint m_hModel = 0x1C8; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_names = 0x1D0; // CUtlVector<CUtlString>
+            public const nint m_bShuffle = 0x1E8; // bool
+            public const nint m_bLinear = 0x1E9; // bool
+            public const nint m_bModelFromRenderer = 0x1EA; // bool
+            public const nint m_nFieldOutput = 0x1EC; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitFromParentKilled {
+            public const nint m_nAttributeToCopy = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nEventType = 0x1CC; // EventTypeSelection_t
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Callback {
+        }
+        // Parent: None
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunction {
+            public const nint m_flOpStrength = 0x8; // CParticleCollectionFloatInput
+            public const nint m_nOpEndCapState = 0x168; // ParticleEndcapMode_t
+            public const nint m_flOpStartFadeInTime = 0x16C; // float32
+            public const nint m_flOpEndFadeInTime = 0x170; // float32
+            public const nint m_flOpStartFadeOutTime = 0x174; // float32
+            public const nint m_flOpEndFadeOutTime = 0x178; // float32
+            public const nint m_flOpFadeOscillatePeriod = 0x17C; // float32
+            public const nint m_bNormalizeToStopTime = 0x180; // bool
+            public const nint m_flOpTimeOffsetMin = 0x184; // float32
+            public const nint m_flOpTimeOffsetMax = 0x188; // float32
+            public const nint m_nOpTimeOffsetSeed = 0x18C; // int32
+            public const nint m_nOpTimeScaleSeed = 0x190; // int32
+            public const nint m_flOpTimeScaleMin = 0x194; // float32
+            public const nint m_flOpTimeScaleMax = 0x198; // float32
+            public const nint m_bDisableOperator = 0x19E; // bool
+            public const nint m_Notes = 0x1A0; // CUtlString
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_GlobalLight {
+            public const nint m_flScale = 0x1C0; // float32
+            public const nint m_bClampLowerRange = 0x1C4; // bool
+            public const nint m_bClampUpperRange = 0x1C5; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_OffsetVectorToVector {
+            public const nint m_nFieldInput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_vecOutputMin = 0x1D0; // Vector
+            public const nint m_vecOutputMax = 0x1DC; // Vector
+            public const nint m_randomnessParameters = 0x1E8; // CRandomNumberGeneratorParameters
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetPerChildControlPointFromAttribute {
+            public const nint m_nChildGroupID = 0x1C0; // int32
+            public const nint m_nFirstControlPoint = 0x1C4; // int32
+            public const nint m_nNumControlPoints = 0x1C8; // int32
+            public const nint m_nParticleIncrement = 0x1CC; // int32
+            public const nint m_nFirstSourcePoint = 0x1D0; // int32
+            public const nint m_bNumBasedOnParticleCount = 0x1D4; // bool
+            public const nint m_nAttributeToRead = 0x1D8; // ParticleAttributeIndex_t
+            public const nint m_nCPField = 0x1DC; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetParentControlPointsToChildCP {
+            public const nint m_nChildGroupID = 0x1C8; // int32
+            public const nint m_nChildControlPoint = 0x1CC; // int32
+            public const nint m_nNumControlPoints = 0x1D0; // int32
+            public const nint m_nFirstSourcePoint = 0x1D4; // int32
+            public const nint m_bSetOrientation = 0x1D8; // bool
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SDFForce {
+            public const nint m_flForceScale = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_BoxConstraint {
+            public const nint m_vecMin = 0x1C0; // CParticleCollectionVecInput
+            public const nint m_vecMax = 0x838; // CParticleCollectionVecInput
+            public const nint m_nCP = 0xEB0; // int32
+            public const nint m_bLocalSpace = 0xEB4; // bool
+            public const nint m_bAccountForRadius = 0xEB5; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreatePhyllotaxis {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nScaleCP = 0x1CC; // int32
+            public const nint m_nComponent = 0x1D0; // int32
+            public const nint m_fRadCentCore = 0x1D4; // float32
+            public const nint m_fRadPerPoint = 0x1D8; // float32
+            public const nint m_fRadPerPointTo = 0x1DC; // float32
+            public const nint m_fpointAngle = 0x1E0; // float32
+            public const nint m_fsizeOverall = 0x1E4; // float32
+            public const nint m_fRadBias = 0x1E8; // float32
+            public const nint m_fMinRad = 0x1EC; // float32
+            public const nint m_fDistBias = 0x1F0; // float32
+            public const nint m_bUseLocalCoords = 0x1F4; // bool
+            public const nint m_bUseWithContEmit = 0x1F5; // bool
+            public const nint m_bUseOrigRadius = 0x1F6; // bool
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_AttractToControlPoint {
+            public const nint m_vecComponentScale = 0x1D0; // Vector
+            public const nint m_fForceAmount = 0x1E0; // CPerParticleFloatInput
+            public const nint m_fFalloffPower = 0x340; // float32
+            public const nint m_TransformInput = 0x348; // CParticleTransformInput
+            public const nint m_fForceAmountMin = 0x3B0; // CPerParticleFloatInput
+            public const nint m_bApplyMinForce = 0x510; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomLifeTime {
+            public const nint m_fLifetimeMin = 0x1C8; // float32
+            public const nint m_fLifetimeMax = 0x1CC; // float32
+            public const nint m_fLifetimeRandExponent = 0x1D0; // float32
+        }
+        // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapParticleCountToNamedModelSequenceScalar {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_VelocityRadialRandom {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_fSpeedMin = 0x1D0; // CPerParticleFloatInput
+            public const nint m_fSpeedMax = 0x330; // CPerParticleFloatInput
+            public const nint m_vecLocalCoordinateSystemSpeedScale = 0x490; // Vector
+            public const nint m_bIgnoreDelta = 0x49D; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomRadius {
+            public const nint m_flRadiusMin = 0x1C8; // float32
+            public const nint m_flRadiusMax = 0x1CC; // float32
+            public const nint m_flRadiusRandExponent = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Orient2DRelToCP {
+            public const nint m_flRotOffset = 0x1C0; // float32
+            public const nint m_flSpinStrength = 0x1C4; // float32
+            public const nint m_nCP = 0x1C8; // int32
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+        }
+        // Parent: None
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class TextureControls_t {
+            public const nint m_flFinalTextureScaleU = 0x0; // CParticleCollectionRendererFloatInput
+            public const nint m_flFinalTextureScaleV = 0x160; // CParticleCollectionRendererFloatInput
+            public const nint m_flFinalTextureOffsetU = 0x2C0; // CParticleCollectionRendererFloatInput
+            public const nint m_flFinalTextureOffsetV = 0x420; // CParticleCollectionRendererFloatInput
+            public const nint m_flFinalTextureUVRotation = 0x580; // CParticleCollectionRendererFloatInput
+            public const nint m_flZoomScale = 0x6E0; // CParticleCollectionRendererFloatInput
+            public const nint m_flDistortion = 0x840; // CParticleCollectionRendererFloatInput
+            public const nint m_bRandomizeOffsets = 0x9A0; // bool
+            public const nint m_bClampUVs = 0x9A1; // bool
+            public const nint m_nPerParticleBlend = 0x9A4; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleScale = 0x9A8; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleOffsetU = 0x9AC; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleOffsetV = 0x9B0; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleRotation = 0x9B4; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleZoom = 0x9B8; // SpriteCardPerParticleScale_t
+            public const nint m_nPerParticleDistortion = 0x9BC; // SpriteCardPerParticleScale_t
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ControlPointReference_t {
+            public const nint m_controlPointNameString = 0x0; // int32
+            public const nint m_vOffsetFromControlPoint = 0x4; // Vector
+            public const nint m_bOffsetInLocalSpace = 0x10; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToVectorExpression {
+            public const nint m_nExpression = 0x1C8; // VectorExpressionType_t
+            public const nint m_nOutputCP = 0x1CC; // int32
+            public const nint m_vInput1 = 0x1D0; // CParticleCollectionVecInput
+            public const nint m_vInput2 = 0x848; // CParticleCollectionVecInput
+            public const nint m_bNormalizedOutput = 0xEC0; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LightningSnapshotGenerator {
+            public const nint m_nCPSnapshot = 0x1C8; // int32
+            public const nint m_nCPStartPnt = 0x1CC; // int32
+            public const nint m_nCPEndPnt = 0x1D0; // int32
+            public const nint m_flSegments = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_flOffset = 0x338; // CParticleCollectionFloatInput
+            public const nint m_flOffsetDecay = 0x498; // CParticleCollectionFloatInput
+            public const nint m_flRecalcRate = 0x5F8; // CParticleCollectionFloatInput
+            public const nint m_flUVScale = 0x758; // CParticleCollectionFloatInput
+            public const nint m_flUVOffset = 0x8B8; // CParticleCollectionFloatInput
+            public const nint m_flSplitRate = 0xA18; // CParticleCollectionFloatInput
+            public const nint m_flBranchTwist = 0xB78; // CParticleCollectionFloatInput
+            public const nint m_nBranchBehavior = 0xCD8; // ParticleLightnintBranchBehavior_t
+            public const nint m_flRadiusStart = 0xCE0; // CParticleCollectionFloatInput
+            public const nint m_flRadiusEnd = 0xE40; // CParticleCollectionFloatInput
+            public const nint m_flDedicatedPool = 0xFA0; // CParticleCollectionFloatInput
+        }
+        // Parent: C_OP_RemapNamedModelElementOnceTimed
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelMeshGroupOnceTimed {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleInput {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapSpeedToScalar {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nControlPointNumber = 0x1CC; // int32
+            public const nint m_flStartTime = 0x1D0; // float32
+            public const nint m_flEndTime = 0x1D4; // float32
+            public const nint m_flInputMin = 0x1D8; // float32
+            public const nint m_flInputMax = 0x1DC; // float32
+            public const nint m_flOutputMin = 0x1E0; // float32
+            public const nint m_flOutputMax = 0x1E4; // float32
+            public const nint m_nSetMethod = 0x1E8; // ParticleSetMethod_t
+            public const nint m_bPerParticle = 0x1EC; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapQAnglesToRotation {
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PositionWarp {
+            public const nint m_vecWarpMin = 0x1C8; // CParticleCollectionVecInput
+            public const nint m_vecWarpMax = 0x840; // CParticleCollectionVecInput
+            public const nint m_nScaleControlPointNumber = 0xEB8; // int32
+            public const nint m_nControlPointNumber = 0xEBC; // int32
+            public const nint m_nRadiusComponent = 0xEC0; // int32
+            public const nint m_flWarpTime = 0xEC4; // float32
+            public const nint m_flWarpStartTime = 0xEC8; // float32
+            public const nint m_flPrevPosScale = 0xECC; // float32
+            public const nint m_bInvertWarp = 0xED0; // bool
+            public const nint m_bUseCount = 0xED1; // bool
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SDFConstraint {
+            public const nint m_flMinDist = 0x1C0; // CParticleCollectionFloatInput
+            public const nint m_flMaxDist = 0x320; // CParticleCollectionFloatInput
+            public const nint m_nMaxIterations = 0x480; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointFieldToScalarExpression {
+            public const nint m_nExpression = 0x1C8; // ScalarExpressionType_t
+            public const nint m_flInput1 = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_flInput2 = 0x330; // CParticleCollectionFloatInput
+            public const nint m_flOutputRemap = 0x490; // CParticleRemapFloatInput
+            public const nint m_nOutputCP = 0x5F0; // int32
+            public const nint m_nOutVectorField = 0x5F4; // int32
+        }
+        // Parent: CParticleFunction
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionForce {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomVectorComponent {
+            public const nint m_flMin = 0x1C8; // float32
+            public const nint m_flMax = 0x1CC; // float32
+            public const nint m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_nComponent = 0x1D4; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MParticleMaxVersion
+        // MParticleReplacementOp
+        // MGetKV3ClassDefaults
+        public static class C_OP_InheritFromParentParticles {
+            public const nint m_flScale = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nIncrement = 0x1C8; // int32
+            public const nint m_bRandomDistribution = 0x1CC; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SetVectorAttributeToVectorExpression {
+            public const nint m_nExpression = 0x1C8; // VectorExpressionType_t
+            public const nint m_vInput1 = 0x1D0; // CPerParticleVecInput
+            public const nint m_vInput2 = 0x848; // CPerParticleVecInput
+            public const nint m_nOutputField = 0xEC0; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0xEC4; // ParticleSetMethod_t
+            public const nint m_bNormalizedOutput = 0xEC8; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapTransformVisibilityToVector {
+            public const nint m_nSetMethod = 0x1C0; // ParticleSetMethod_t
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x234; // float32
+            public const nint m_flInputMax = 0x238; // float32
+            public const nint m_vecOutputMin = 0x23C; // Vector
+            public const nint m_vecOutputMax = 0x248; // Vector
+            public const nint m_flRadius = 0x254; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DirectionBetweenVecsToVec {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecPoint1 = 0x1C8; // CPerParticleVecInput
+            public const nint m_vecPoint2 = 0x840; // CPerParticleVecInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementLoopInsideSphere {
+            public const nint m_nCP = 0x1C0; // int32
+            public const nint m_flDistance = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_vecScale = 0x328; // CParticleCollectionVecInput
+            public const nint m_nDistSqrAttr = 0x9A0; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderSimpleModelCollection {
+            public const nint m_bCenterOffset = 0x210; // bool
+            public const nint m_hModel = 0x218; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_modelInput = 0x220; // CParticleModelInput
+            public const nint m_fSizeCullScale = 0x280; // CParticleCollectionFloatInput
+            public const nint m_bDisableShadows = 0x3E0; // bool
+            public const nint m_bDisableMotionBlur = 0x3E1; // bool
+            public const nint m_bAcceptsDecals = 0x3E2; // bool
+            public const nint m_nAngularVelocityField = 0x3E4; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_QuantizeCPComponent {
+            public const nint m_flInputValue = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_nCPOutput = 0x328; // int32
+            public const nint m_nOutVectorField = 0x32C; // int32
+            public const nint m_flQuantizeValue = 0x330; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PlayEndCapWhenFinished {
+            public const nint m_bFireOnEmissionEnd = 0x1C8; // bool
+            public const nint m_bIncludeChildren = 0x1C9; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitFloatCollection {
+            public const nint m_InputValue = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_nOutputField = 0x328; // ParticleAttributeIndex_t
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPathParameters {
+            public const nint m_nStartControlPointNumber = 0x0; // int32
+            public const nint m_nEndControlPointNumber = 0x4; // int32
+            public const nint m_nBulgeControl = 0x8; // int32
+            public const nint m_flBulge = 0xC; // float32
+            public const nint m_flMidPoint = 0x10; // float32
+            public const nint m_vStartPointOffset = 0x14; // Vector
+            public const nint m_vMidPointOffset = 0x20; // Vector
+            public const nint m_vEndOffset = 0x2C; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapScalarEndCap {
+            public const nint m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // float32
+            public const nint m_flInputMax = 0x1CC; // float32
+            public const nint m_flOutputMin = 0x1D0; // float32
+            public const nint m_flOutputMax = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateFromPlaneCache {
+            public const nint m_vecOffsetMin = 0x1C8; // Vector
+            public const nint m_vecOffsetMax = 0x1D4; // Vector
+            public const nint m_bUseNormal = 0x1E1; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ControlPointToRadialScreenSpace {
+            public const nint m_nCPIn = 0x1C8; // int32
+            public const nint m_vecCP1Pos = 0x1CC; // Vector
+            public const nint m_nCPOut = 0x1D8; // int32
+            public const nint m_nCPOutField = 0x1DC; // int32
+            public const nint m_nCPSSPosOut = 0x1E0; // int32
+        }
+        // Parent: CSpinUpdateBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SpinUpdate {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_NormalOffset {
+            public const nint m_OffsetMin = 0x1C8; // Vector
+            public const nint m_OffsetMax = 0x1D4; // Vector
+            public const nint m_nControlPointNumber = 0x1E0; // int32
+            public const nint m_bLocalCoords = 0x1E4; // bool
+            public const nint m_bNormalize = 0x1E5; // bool
+        }
+        // Parent: C_OP_RemapDistanceToLineSegmentBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDistanceToLineSegmentToVector {
+            public const nint m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t
+            public const nint m_vMinOutputValue = 0x1DC; // Vector
+            public const nint m_vMaxOutputValue = 0x1E8; // Vector
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderAsModels {
+            public const nint m_ModelList = 0x210; // CUtlVector<ModelReference_t>
+            public const nint m_flModelScale = 0x22C; // float32
+            public const nint m_bFitToModelSize = 0x230; // bool
+            public const nint m_bNonUniformScaling = 0x231; // bool
+            public const nint m_nXAxisScalingAttribute = 0x234; // ParticleAttributeIndex_t
+            public const nint m_nYAxisScalingAttribute = 0x238; // ParticleAttributeIndex_t
+            public const nint m_nZAxisScalingAttribute = 0x23C; // ParticleAttributeIndex_t
+            public const nint m_nSizeCullBloat = 0x240; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreationNoise {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_bAbsVal = 0x1CC; // bool
+            public const nint m_bAbsValInv = 0x1CD; // bool
+            public const nint m_flOffset = 0x1D0; // float32
+            public const nint m_flOutputMin = 0x1D4; // float32
+            public const nint m_flOutputMax = 0x1D8; // float32
+            public const nint m_flNoiseScale = 0x1DC; // float32
+            public const nint m_flNoiseScaleLoc = 0x1E0; // float32
+            public const nint m_vecOffsetLoc = 0x1E4; // Vector
+            public const nint m_flWorldTimeScale = 0x1F0; // float32
+        }
+        // Parent: CGeneralSpin
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Spin {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticleNamedValueConfiguration_t {
+            public const nint m_ConfigName = 0x0; // CUtlString
+            public const nint m_ConfigValue = 0x8; // KeyValues3
+            public const nint m_iAttachType = 0x18; // ParticleAttachment_t
+            public const nint m_BoundEntityPath = 0x20; // CUtlString
+            public const nint m_strEntityScope = 0x28; // CUtlString
+            public const nint m_strAttachmentName = 0x30; // CUtlString
+        }
+        // Parent: CParticleInput
+        // Field count: 23
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MParticleCustomFieldDefaultValue
+        public static class CParticleVecInput {
+            public const nint m_nType = 0x10; // ParticleVecType_t
+            public const nint m_vLiteralValue = 0x14; // Vector
+            public const nint m_LiteralColor = 0x20; // Color
+            public const nint m_NamedValue = 0x28; // CParticleNamedValueRef
+            public const nint m_bFollowNamedValue = 0x68; // bool
+            public const nint m_nVectorAttribute = 0x6C; // ParticleAttributeIndex_t
+            public const nint m_vVectorAttributeScale = 0x70; // Vector
+            public const nint m_nControlPoint = 0x7C; // int32
+            public const nint m_nDeltaControlPoint = 0x80; // int32
+            public const nint m_vCPValueScale = 0x84; // Vector
+            public const nint m_vCPRelativePosition = 0x90; // Vector
+            public const nint m_vCPRelativeDir = 0x9C; // Vector
+            public const nint m_FloatComponentX = 0xA8; // CParticleFloatInput
+            public const nint m_FloatComponentY = 0x208; // CParticleFloatInput
+            public const nint m_FloatComponentZ = 0x368; // CParticleFloatInput
+            public const nint m_FloatInterp = 0x4C8; // CParticleFloatInput
+            public const nint m_flInterpInput0 = 0x628; // float32
+            public const nint m_flInterpInput1 = 0x62C; // float32
+            public const nint m_vInterpOutput0 = 0x630; // Vector
+            public const nint m_vInterpOutput1 = 0x63C; // Vector
+            public const nint m_Gradient = 0x648; // CColorGradient
+            public const nint m_vRandomMin = 0x660; // Vector
+            public const nint m_vRandomMax = 0x66C; // Vector
+        }
+        // Parent: CParticleFunctionEmitter
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_InstantaneousEmitter {
+            public const nint m_nParticlesToEmit = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_flStartTime = 0x328; // CParticleCollectionFloatInput
+            public const nint m_flInitFromKilledParentParticles = 0x488; // float32
+            public const nint m_nEventType = 0x48C; // EventTypeSelection_t
+            public const nint m_flParentParticleScale = 0x490; // CParticleCollectionFloatInput
+            public const nint m_nMaxEmittedPerFrame = 0x5F0; // int32
+            public const nint m_nSnapshotControlPoint = 0x5F4; // int32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ConstrainLineLength {
+            public const nint m_flMinDistance = 0x1C0; // float32
+            public const nint m_flMaxDistance = 0x1C4; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_LifespanFromVelocity {
+            public const nint m_vecComponentScale = 0x1C8; // Vector
+            public const nint m_flTraceOffset = 0x1D4; // float32
+            public const nint m_flMaxTraceLength = 0x1D8; // float32
+            public const nint m_flTraceTolerance = 0x1DC; // float32
+            public const nint m_nMaxPlanes = 0x1E0; // int32
+            public const nint m_CollisionGroupName = 0x1E8; // char[128]
+            public const nint m_nTraceSet = 0x268; // ParticleTraceSet_t
+            public const nint m_bIncludeWater = 0x278; // bool
+        }
+        // Parent: CBaseRendererSource2
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBaseTrailRenderer {
+            public const nint m_nOrientationType = 0x2AA8; // ParticleOrientationChoiceList_t
+            public const nint m_nOrientationControlPoint = 0x2AAC; // int32
+            public const nint m_flMinSize = 0x2AB0; // float32
+            public const nint m_flMaxSize = 0x2AB4; // float32
+            public const nint m_flStartFadeSize = 0x2AB8; // CParticleCollectionRendererFloatInput
+            public const nint m_flEndFadeSize = 0x2C18; // CParticleCollectionRendererFloatInput
+            public const nint m_bClampV = 0x2D78; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_VelocityFromCP {
+            public const nint m_velocityInput = 0x1C8; // CParticleCollectionVecInput
+            public const nint m_transformInput = 0x840; // CParticleTransformInput
+            public const nint m_flVelocityScale = 0x8A8; // float32
+            public const nint m_bDirectionOnly = 0x8AC; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointOrientation {
+            public const nint m_bUseWorldLocation = 0x1C8; // bool
+            public const nint m_bRandomize = 0x1CA; // bool
+            public const nint m_bSetOnce = 0x1CB; // bool
+            public const nint m_nCP = 0x1CC; // int32
+            public const nint m_nHeadLocation = 0x1D0; // int32
+            public const nint m_vecRotation = 0x1D4; // QAngle
+            public const nint m_vecRotationB = 0x1E0; // QAngle
+            public const nint m_flInterpolation = 0x1F0; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementSkinnedPositionFromCPSnapshot {
+            public const nint m_nSnapshotControlPointNumber = 0x1C0; // int32
+            public const nint m_nControlPointNumber = 0x1C4; // int32
+            public const nint m_bRandom = 0x1C8; // bool
+            public const nint m_nRandomSeed = 0x1CC; // int32
+            public const nint m_bSetNormal = 0x1D0; // bool
+            public const nint m_bSetRadius = 0x1D1; // bool
+            public const nint m_nIndexType = 0x1D4; // SnapshotIndexType_t
+            public const nint m_flReadIndex = 0x1D8; // CPerParticleFloatInput
+            public const nint m_flIncrement = 0x338; // CParticleCollectionFloatInput
+            public const nint m_nFullLoopIncrement = 0x498; // CParticleCollectionFloatInput
+            public const nint m_nSnapShotStartPoint = 0x5F8; // CParticleCollectionFloatInput
+            public const nint m_flInterpolation = 0x758; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_OscillateVector {
+            public const nint m_RateMin = 0x1C0; // Vector
+            public const nint m_RateMax = 0x1CC; // Vector
+            public const nint m_FrequencyMin = 0x1D8; // Vector
+            public const nint m_FrequencyMax = 0x1E4; // Vector
+            public const nint m_nField = 0x1F0; // ParticleAttributeIndex_t
+            public const nint m_bProportional = 0x1F4; // bool
+            public const nint m_bProportionalOp = 0x1F5; // bool
+            public const nint m_bOffset = 0x1F6; // bool
+            public const nint m_flStartTime_min = 0x1F8; // float32
+            public const nint m_flStartTime_max = 0x1FC; // float32
+            public const nint m_flEndTime_min = 0x200; // float32
+            public const nint m_flEndTime_max = 0x204; // float32
+            public const nint m_flOscMult = 0x208; // CPerParticleFloatInput
+            public const nint m_flOscAdd = 0x368; // CPerParticleFloatInput
+            public const nint m_flRateScale = 0x4C8; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PositionLock {
+            public const nint m_TransformInput = 0x1C0; // CParticleTransformInput
+            public const nint m_flStartTime_min = 0x228; // float32
+            public const nint m_flStartTime_max = 0x22C; // float32
+            public const nint m_flStartTime_exp = 0x230; // float32
+            public const nint m_flEndTime_min = 0x234; // float32
+            public const nint m_flEndTime_max = 0x238; // float32
+            public const nint m_flEndTime_exp = 0x23C; // float32
+            public const nint m_flRange = 0x240; // float32
+            public const nint m_flRangeBias = 0x248; // CParticleCollectionFloatInput
+            public const nint m_flJumpThreshold = 0x3A8; // float32
+            public const nint m_flPrevPosScale = 0x3AC; // float32
+            public const nint m_bLockRot = 0x3B0; // bool
+            public const nint m_vecScale = 0x3B8; // CParticleCollectionVecInput
+            public const nint m_nFieldOutput = 0xA30; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutputPrev = 0xA34; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderVRHapticEvent {
+            public const nint m_nHand = 0x210; // ParticleVRHandChoiceList_t
+            public const nint m_nOutputHandCP = 0x214; // int32
+            public const nint m_nOutputField = 0x218; // int32
+            public const nint m_flAmplitude = 0x220; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToImpactPoint {
+            public const nint m_nCPOut = 0x1C8; // int32
+            public const nint m_nCPIn = 0x1CC; // int32
+            public const nint m_flUpdateRate = 0x1D0; // float32
+            public const nint m_flTraceLength = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_flStartOffset = 0x338; // float32
+            public const nint m_flOffset = 0x33C; // float32
+            public const nint m_vecTraceDir = 0x340; // Vector
+            public const nint m_CollisionGroupName = 0x34C; // char[128]
+            public const nint m_nTraceSet = 0x3CC; // ParticleTraceSet_t
+            public const nint m_bSetToEndpoint = 0x3D0; // bool
+            public const nint m_bTraceToClosestSurface = 0x3D1; // bool
+            public const nint m_bIncludeWater = 0x3D2; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_InterpolateRadius {
+            public const nint m_flStartTime = 0x1C0; // float32
+            public const nint m_flEndTime = 0x1C4; // float32
+            public const nint m_flStartScale = 0x1C8; // float32
+            public const nint m_flEndScale = 0x1CC; // float32
+            public const nint m_bEaseInAndOut = 0x1D0; // bool
+            public const nint m_flBias = 0x1D4; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class ParticleAttributeIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ReinitializeScalarEndCap {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flOutputMin = 0x1C4; // float32
+            public const nint m_flOutputMax = 0x1C8; // float32
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_TurbulenceForce {
+            public const nint m_flNoiseCoordScale0 = 0x1D0; // float32
+            public const nint m_flNoiseCoordScale1 = 0x1D4; // float32
+            public const nint m_flNoiseCoordScale2 = 0x1D8; // float32
+            public const nint m_flNoiseCoordScale3 = 0x1DC; // float32
+            public const nint m_vecNoiseAmount0 = 0x1E0; // Vector
+            public const nint m_vecNoiseAmount1 = 0x1EC; // Vector
+            public const nint m_vecNoiseAmount2 = 0x1F8; // Vector
+            public const nint m_vecNoiseAmount3 = 0x204; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelElementOnceTimed {
+            public const nint m_hModel = 0x1C0; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_inNames = 0x1C8; // CUtlVector<CUtlString>
+            public const nint m_outNames = 0x1E0; // CUtlVector<CUtlString>
+            public const nint m_fallbackNames = 0x1F8; // CUtlVector<CUtlString>
+            public const nint m_bModelFromRenderer = 0x210; // bool
+            public const nint m_bProportional = 0x211; // bool
+            public const nint m_nFieldInput = 0x214; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x218; // ParticleAttributeIndex_t
+            public const nint m_flRemapTime = 0x21C; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToPlayer {
+            public const nint m_nCP1 = 0x1C8; // int32
+            public const nint m_vecCP1Pos = 0x1CC; // Vector
+            public const nint m_bOrientToEyes = 0x1D8; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_EndCapTimedFreeze {
+            public const nint m_flFreezeTime = 0x1C0; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderGpuImplicit {
+            public const nint m_bUsePerParticleRadius = 0x210; // bool
+            public const nint m_nVertexCountKb = 0x214; // uint32
+            public const nint m_nIndexCountKb = 0x218; // uint32
+            public const nint m_fGridSize = 0x220; // CParticleCollectionRendererFloatInput
+            public const nint m_fRadiusScale = 0x380; // CParticleCollectionRendererFloatInput
+            public const nint m_fIsosurfaceThreshold = 0x4E0; // CParticleCollectionRendererFloatInput
+            public const nint m_nScaleCP = 0x640; // int32
+            public const nint m_hMaterial = 0x648; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: IParticleEffect
+        // Field count: 32
+        public static class CNewParticleEffect {
+            public const nint m_pNext = 0x10; // CNewParticleEffect*
+            public const nint m_pPrev = 0x18; // CNewParticleEffect*
+            public const nint m_pParticles = 0x20; // IParticleCollection*
+            public const nint m_pDebugName = 0x28; // char*
+            public const nint m_bDontRemove = 0x0; // bitfield:1
+            public const nint m_bRemove = 0x0; // bitfield:1
+            public const nint m_bNeedsBBoxUpdate = 0x0; // bitfield:1
+            public const nint m_bIsFirstFrame = 0x0; // bitfield:1
+            public const nint m_bAutoUpdateBBox = 0x0; // bitfield:1
+            public const nint m_bAllocated = 0x0; // bitfield:1
+            public const nint m_bSimulate = 0x0; // bitfield:1
+            public const nint m_bShouldPerformCullCheck = 0x0; // bitfield:1
+            public const nint m_bForceNoDraw = 0x0; // bitfield:1
+            public const nint m_bShouldSave = 0x0; // bitfield:1
+            public const nint m_bDisableAggregation = 0x0; // bitfield:1
+            public const nint m_bShouldSimulateDuringGamePaused = 0x0; // bitfield:1
+            public const nint m_bShouldCheckFoW = 0x0; // bitfield:1
+            public const nint m_vSortOrigin = 0x40; // Vector
+            public const nint m_flScale = 0x4C; // float32
+            public const nint m_hOwner = 0x50; // PARTICLE_EHANDLE__*
+            public const nint m_pOwningParticleProperty = 0x58; // CParticleProperty*
+            public const nint m_flFreezeTransitionStart = 0x70; // float32
+            public const nint m_flFreezeTransitionDuration = 0x74; // float32
+            public const nint m_flFreezeTransitionOverride = 0x78; // float32
+            public const nint m_bFreezeTransitionActive = 0x7C; // bool
+            public const nint m_bFreezeTargetState = 0x7D; // bool
+            public const nint m_bCanFreeze = 0x7E; // bool
+            public const nint m_LastMin = 0x80; // Vector
+            public const nint m_LastMax = 0x8C; // Vector
+            public const nint m_nSplitScreenUser = 0x98; // CSplitScreenSlot
+            public const nint m_vecAggregationCenter = 0x9C; // Vector
+            public const nint m_RefCount = 0xC0; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetRandomControlPointPosition {
+            public const nint m_bUseWorldLocation = 0x1C8; // bool
+            public const nint m_bOrient = 0x1C9; // bool
+            public const nint m_nCP1 = 0x1CC; // int32
+            public const nint m_nHeadLocation = 0x1D0; // int32
+            public const nint m_flReRandomRate = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_vecCPMinPos = 0x338; // Vector
+            public const nint m_vecCPMaxPos = 0x344; // Vector
+            public const nint m_flInterpolation = 0x350; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapTransformVisibilityToScalar {
+            public const nint m_nSetMethod = 0x1C0; // ParticleSetMethod_t
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x234; // float32
+            public const nint m_flInputMax = 0x238; // float32
+            public const nint m_flOutputMin = 0x23C; // float32
+            public const nint m_flOutputMax = 0x240; // float32
+            public const nint m_flRadius = 0x244; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapControlPointDirectionToVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x1C4; // float32
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+        }
+        // Parent: CParticleFunction
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionOperator {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DragRelativeToPlane {
+            public const nint m_flDragAtPlane = 0x1C0; // CParticleCollectionFloatInput
+            public const nint m_flFalloff = 0x320; // CParticleCollectionFloatInput
+            public const nint m_bDirectional = 0x480; // bool
+            public const nint m_vecPlaneNormal = 0x488; // CParticleCollectionVecInput
+            public const nint m_nControlPointNumber = 0xB00; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetCPtoVector {
+            public const nint m_nCPInput = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticleNamedValueSource_t {
+            public const nint m_Name = 0x0; // CUtlString
+            public const nint m_IsPublic = 0x8; // bool
+            public const nint m_ValueType = 0xC; // PulseValueType_t
+            public const nint m_DefaultConfig = 0x10; // ParticleNamedValueConfiguration_t
+            public const nint m_NamedConfigs = 0x48; // CUtlVector<ParticleNamedValueConfiguration_t>
+        }
+        // Parent: CGeneralRandomRotation
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomYaw {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SnapshotRigidSkinToBones {
+            public const nint m_bTransformNormals = 0x1C0; // bool
+            public const nint m_bTransformRadii = 0x1C1; // bool
+            public const nint m_nControlPointNumber = 0x1C4; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetSingleControlPointPosition {
+            public const nint m_bSetOnce = 0x1C8; // bool
+            public const nint m_nCP1 = 0x1CC; // int32
+            public const nint m_vecCP1Pos = 0x1D0; // CParticleCollectionVecInput
+            public const nint m_transformInput = 0x848; // CParticleTransformInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_DistanceToNeighborCull {
+            public const nint m_flDistance = 0x1C8; // CPerParticleFloatInput
+            public const nint m_bIncludeRadii = 0x328; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapCPtoScalar {
+            public const nint m_nCPInput = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nField = 0x1C8; // int32
+            public const nint m_flInputMin = 0x1CC; // float32
+            public const nint m_flInputMax = 0x1D0; // float32
+            public const nint m_flOutputMin = 0x1D4; // float32
+            public const nint m_flOutputMax = 0x1D8; // float32
+            public const nint m_flStartTime = 0x1DC; // float32
+            public const nint m_flEndTime = 0x1E0; // float32
+            public const nint m_flInterpRate = 0x1E4; // float32
+            public const nint m_nSetMethod = 0x1E8; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunction
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionRenderer {
+            public const nint VisibilityInputs = 0x1C0; // CParticleVisibilityInputs
+            public const nint m_bCannotBeRefracted = 0x208; // bool
+            public const nint m_bSkipRenderingOnMobile = 0x209; // bool
+        }
+        // Parent: IParticleSystemDefinition
+        // Field count: 65
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleSystemDefinition {
+            public const nint m_nBehaviorVersion = 0x8; // int32
+            public const nint m_PreEmissionOperators = 0x10; // CUtlVector<CParticleFunctionPreEmission*>
+            public const nint m_Emitters = 0x28; // CUtlVector<CParticleFunctionEmitter*>
+            public const nint m_Initializers = 0x40; // CUtlVector<CParticleFunctionInitializer*>
+            public const nint m_Operators = 0x58; // CUtlVector<CParticleFunctionOperator*>
+            public const nint m_ForceGenerators = 0x70; // CUtlVector<CParticleFunctionForce*>
+            public const nint m_Constraints = 0x88; // CUtlVector<CParticleFunctionConstraint*>
+            public const nint m_Renderers = 0xA0; // CUtlVector<CParticleFunctionRenderer*>
+            public const nint m_Children = 0xB8; // CUtlVector<ParticleChildrenInfo_t>
+            public const nint m_nFirstMultipleOverride_BackwardCompat = 0x178; // int32
+            public const nint m_nInitialParticles = 0x210; // int32
+            public const nint m_nMaxParticles = 0x214; // int32
+            public const nint m_nGroupID = 0x218; // int32
+            public const nint m_BoundingBoxMin = 0x21C; // Vector
+            public const nint m_BoundingBoxMax = 0x228; // Vector
+            public const nint m_flDepthSortBias = 0x234; // float32
+            public const nint m_nSortOverridePositionCP = 0x238; // int32
+            public const nint m_bInfiniteBounds = 0x23C; // bool
+            public const nint m_bEnableNamedValues = 0x23D; // bool
+            public const nint m_NamedValueDomain = 0x240; // CUtlString
+            public const nint m_NamedValueLocals = 0x248; // CUtlVector<ParticleNamedValueSource_t*>
+            public const nint m_ConstantColor = 0x260; // Color
+            public const nint m_ConstantNormal = 0x264; // Vector
+            public const nint m_flConstantRadius = 0x270; // float32
+            public const nint m_flConstantRotation = 0x274; // float32
+            public const nint m_flConstantRotationSpeed = 0x278; // float32
+            public const nint m_flConstantLifespan = 0x27C; // float32
+            public const nint m_nConstantSequenceNumber = 0x280; // int32
+            public const nint m_nConstantSequenceNumber1 = 0x284; // int32
+            public const nint m_nSnapshotControlPoint = 0x288; // int32
+            public const nint m_hSnapshot = 0x290; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+            public const nint m_pszCullReplacementName = 0x298; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_flCullRadius = 0x2A0; // float32
+            public const nint m_flCullFillCost = 0x2A4; // float32
+            public const nint m_nCullControlPoint = 0x2A8; // int32
+            public const nint m_hFallback = 0x2B0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_nFallbackMaxCount = 0x2B8; // int32
+            public const nint m_hLowViolenceDef = 0x2C0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_hReferenceReplacement = 0x2C8; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_flPreSimulationTime = 0x2D0; // float32
+            public const nint m_flStopSimulationAfterTime = 0x2D4; // float32
+            public const nint m_flMaximumTimeStep = 0x2D8; // float32
+            public const nint m_flMaximumSimTime = 0x2DC; // float32
+            public const nint m_flMinimumSimTime = 0x2E0; // float32
+            public const nint m_flMinimumTimeStep = 0x2E4; // float32
+            public const nint m_nMinimumFrames = 0x2E8; // int32
+            public const nint m_nMinCPULevel = 0x2EC; // int32
+            public const nint m_nMinGPULevel = 0x2F0; // int32
+            public const nint m_flNoDrawTimeToGoToSleep = 0x2F4; // float32
+            public const nint m_flMaxDrawDistance = 0x2F8; // float32
+            public const nint m_flStartFadeDistance = 0x2FC; // float32
+            public const nint m_flMaxCreationDistance = 0x300; // float32
+            public const nint m_nAggregationMinAvailableParticles = 0x304; // int32
+            public const nint m_flAggregateRadius = 0x308; // float32
+            public const nint m_bShouldBatch = 0x30C; // bool
+            public const nint m_bShouldHitboxesFallbackToRenderBounds = 0x30D; // bool
+            public const nint m_bShouldHitboxesFallbackToSnapshot = 0x30E; // bool
+            public const nint m_bShouldHitboxesFallbackToCollisionHulls = 0x30F; // bool
+            public const nint m_nViewModelEffect = 0x310; // InheritableBoolType_t
+            public const nint m_bScreenSpaceEffect = 0x314; // bool
+            public const nint m_pszTargetLayerID = 0x318; // CUtlSymbolLarge
+            public const nint m_nSkipRenderControlPoint = 0x320; // int32
+            public const nint m_nAllowRenderControlPoint = 0x324; // int32
+            public const nint m_bShouldSort = 0x328; // bool
+            public const nint m_controlPointConfigurations = 0x370; // CUtlVector<ParticleControlPointConfiguration_t>
+        }
+        // Parent: C_OP_RemapNamedModelElementEndCap
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelMeshGroupEndCap {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PercentageBetweenTransformsVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C4; // float32
+            public const nint m_flInputMax = 0x1C8; // float32
+            public const nint m_vecOutputMin = 0x1CC; // Vector
+            public const nint m_vecOutputMax = 0x1D8; // Vector
+            public const nint m_TransformStart = 0x1E8; // CParticleTransformInput
+            public const nint m_TransformEnd = 0x250; // CParticleTransformInput
+            public const nint m_nSetMethod = 0x2B8; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x2BC; // bool
+            public const nint m_bRadialCheck = 0x2BD; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderScreenVelocityRotate {
+            public const nint m_flRotateRateDegrees = 0x210; // float32
+            public const nint m_flForwardDegrees = 0x214; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_UpdateLightSource {
+            public const nint m_vColorTint = 0x1C0; // Color
+            public const nint m_flBrightnessScale = 0x1C4; // float32
+            public const nint m_flRadiusScale = 0x1C8; // float32
+            public const nint m_flMinimumLightingRadius = 0x1CC; // float32
+            public const nint m_flMaximumLightingRadius = 0x1D0; // float32
+            public const nint m_flPositionDampingConstant = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateWithinBox {
+            public const nint m_vecMin = 0x1C8; // CPerParticleVecInput
+            public const nint m_vecMax = 0x840; // CPerParticleVecInput
+            public const nint m_nControlPointNumber = 0xEB8; // int32
+            public const nint m_bLocalSpace = 0xEBC; // bool
+            public const nint m_randomnessParameters = 0xEC0; // CRandomNumberGeneratorParameters
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ChooseRandomChildrenInGroup {
+            public const nint m_nChildGroupID = 0x1C8; // int32
+            public const nint m_flNumberOfChildren = 0x1D0; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 33
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ControlpointLight {
+            public const nint m_flScale = 0x1C0; // float32
+            public const nint m_nControlPoint1 = 0x650; // int32
+            public const nint m_nControlPoint2 = 0x654; // int32
+            public const nint m_nControlPoint3 = 0x658; // int32
+            public const nint m_nControlPoint4 = 0x65C; // int32
+            public const nint m_vecCPOffset1 = 0x660; // Vector
+            public const nint m_vecCPOffset2 = 0x66C; // Vector
+            public const nint m_vecCPOffset3 = 0x678; // Vector
+            public const nint m_vecCPOffset4 = 0x684; // Vector
+            public const nint m_LightFiftyDist1 = 0x690; // float32
+            public const nint m_LightZeroDist1 = 0x694; // float32
+            public const nint m_LightFiftyDist2 = 0x698; // float32
+            public const nint m_LightZeroDist2 = 0x69C; // float32
+            public const nint m_LightFiftyDist3 = 0x6A0; // float32
+            public const nint m_LightZeroDist3 = 0x6A4; // float32
+            public const nint m_LightFiftyDist4 = 0x6A8; // float32
+            public const nint m_LightZeroDist4 = 0x6AC; // float32
+            public const nint m_LightColor1 = 0x6B0; // Color
+            public const nint m_LightColor2 = 0x6B4; // Color
+            public const nint m_LightColor3 = 0x6B8; // Color
+            public const nint m_LightColor4 = 0x6BC; // Color
+            public const nint m_bLightType1 = 0x6C0; // bool
+            public const nint m_bLightType2 = 0x6C1; // bool
+            public const nint m_bLightType3 = 0x6C2; // bool
+            public const nint m_bLightType4 = 0x6C3; // bool
+            public const nint m_bLightDynamic1 = 0x6C4; // bool
+            public const nint m_bLightDynamic2 = 0x6C5; // bool
+            public const nint m_bLightDynamic3 = 0x6C6; // bool
+            public const nint m_bLightDynamic4 = 0x6C7; // bool
+            public const nint m_bUseNormal = 0x6C8; // bool
+            public const nint m_bUseHLambert = 0x6C9; // bool
+            public const nint m_bClampLowerRange = 0x6CE; // bool
+            public const nint m_bClampUpperRange = 0x6CF; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_VectorFieldSnapshot {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_nAttributeToWrite = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nLocalSpaceCP = 0x1C8; // int32
+            public const nint m_flInterpolation = 0x1D0; // CPerParticleFloatInput
+            public const nint m_vecScale = 0x330; // CPerParticleVecInput
+            public const nint m_flBoundaryDampening = 0x9A8; // float32
+            public const nint m_bSetVelocity = 0x9AC; // bool
+            public const nint m_bLockToSurface = 0x9AD; // bool
+            public const nint m_flGridSpacing = 0x9B0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CylindricalDistanceToTransform {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flInputMax = 0x328; // CPerParticleFloatInput
+            public const nint m_flOutputMin = 0x488; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x5E8; // CPerParticleFloatInput
+            public const nint m_TransformStart = 0x748; // CParticleTransformInput
+            public const nint m_TransformEnd = 0x7B0; // CParticleTransformInput
+            public const nint m_nSetMethod = 0x818; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x81C; // bool
+            public const nint m_bAdditive = 0x81D; // bool
+            public const nint m_bCapsule = 0x81E; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PositionPlaceOnGround {
+            public const nint m_flOffset = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flMaxTraceLength = 0x328; // CPerParticleFloatInput
+            public const nint m_CollisionGroupName = 0x488; // char[128]
+            public const nint m_nTraceSet = 0x508; // ParticleTraceSet_t
+            public const nint m_nTraceMissBehavior = 0x518; // ParticleTraceMissBehavior_t
+            public const nint m_bIncludeWater = 0x51C; // bool
+            public const nint m_bSetNormal = 0x51D; // bool
+            public const nint m_bSetPXYZOnly = 0x51E; // bool
+            public const nint m_bTraceAlongNormal = 0x51F; // bool
+            public const nint m_bOffsetonColOnly = 0x520; // bool
+            public const nint m_flOffsetByRadiusFactor = 0x524; // float32
+            public const nint m_nPreserveOffsetCP = 0x528; // int32
+            public const nint m_nIgnoreCP = 0x52C; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomScalar {
+            public const nint m_flMin = 0x1C8; // float32
+            public const nint m_flMax = 0x1CC; // float32
+            public const nint m_flExponent = 0x1D0; // float32
+            public const nint m_nFieldOutput = 0x1D4; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderPostProcessing {
+            public const nint m_flPostProcessStrength = 0x210; // CPerParticleFloatInput
+            public const nint m_hPostTexture = 0x370; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+            public const nint m_nPriority = 0x378; // ParticlePostProcessPriorityGroup_t
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 27
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_WorldTraceConstraint {
+            public const nint m_nCP = 0x1C0; // int32
+            public const nint m_vecCpOffset = 0x1C4; // Vector
+            public const nint m_nCollisionMode = 0x1D0; // ParticleCollisionMode_t
+            public const nint m_nCollisionModeMin = 0x1D4; // ParticleCollisionMode_t
+            public const nint m_nTraceSet = 0x1D8; // ParticleTraceSet_t
+            public const nint m_CollisionGroupName = 0x1DC; // char[128]
+            public const nint m_bWorldOnly = 0x25C; // bool
+            public const nint m_bBrushOnly = 0x25D; // bool
+            public const nint m_bIncludeWater = 0x25E; // bool
+            public const nint m_nIgnoreCP = 0x260; // int32
+            public const nint m_flCpMovementTolerance = 0x264; // float32
+            public const nint m_flRetestRate = 0x268; // float32
+            public const nint m_flTraceTolerance = 0x26C; // float32
+            public const nint m_flCollisionConfirmationSpeed = 0x270; // float32
+            public const nint m_nMaxTracesPerFrame = 0x274; // float32
+            public const nint m_flRadiusScale = 0x278; // CPerParticleFloatInput
+            public const nint m_flBounceAmount = 0x3D8; // CPerParticleFloatInput
+            public const nint m_flSlideAmount = 0x538; // CPerParticleFloatInput
+            public const nint m_flRandomDirScale = 0x698; // CPerParticleFloatInput
+            public const nint m_bDecayBounce = 0x7F8; // bool
+            public const nint m_bKillonContact = 0x7F9; // bool
+            public const nint m_flMinSpeed = 0x7FC; // float32
+            public const nint m_bSetNormal = 0x800; // bool
+            public const nint m_nStickOnCollisionField = 0x804; // ParticleAttributeIndex_t
+            public const nint m_flStopSpeed = 0x808; // CPerParticleFloatInput
+            public const nint m_nEntityStickDataField = 0x968; // ParticleAttributeIndex_t
+            public const nint m_nEntityStickNormalField = 0x96C; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleVecInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CParticleCollectionVecInput {
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderBlobs {
+            public const nint m_cubeWidth = 0x210; // CParticleCollectionRendererFloatInput
+            public const nint m_cutoffRadius = 0x370; // CParticleCollectionRendererFloatInput
+            public const nint m_renderRadius = 0x4D0; // CParticleCollectionRendererFloatInput
+            public const nint m_nVertexCountKb = 0x630; // uint32
+            public const nint m_nIndexCountKb = 0x634; // uint32
+            public const nint m_nScaleCP = 0x638; // int32
+            public const nint m_MaterialVars = 0x640; // CUtlVector<MaterialVariable_t>
+            public const nint m_hMaterial = 0x670; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_OscillateScalar {
+            public const nint m_RateMin = 0x1C0; // float32
+            public const nint m_RateMax = 0x1C4; // float32
+            public const nint m_FrequencyMin = 0x1C8; // float32
+            public const nint m_FrequencyMax = 0x1CC; // float32
+            public const nint m_nField = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_bProportional = 0x1D4; // bool
+            public const nint m_bProportionalOp = 0x1D5; // bool
+            public const nint m_flStartTime_min = 0x1D8; // float32
+            public const nint m_flStartTime_max = 0x1DC; // float32
+            public const nint m_flEndTime_min = 0x1E0; // float32
+            public const nint m_flEndTime_max = 0x1E4; // float32
+            public const nint m_flOscMult = 0x1E8; // float32
+            public const nint m_flOscAdd = 0x1EC; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_FadeOut {
+            public const nint m_flFadeOutTimeMin = 0x1C0; // float32
+            public const nint m_flFadeOutTimeMax = 0x1C4; // float32
+            public const nint m_flFadeOutTimeExp = 0x1C8; // float32
+            public const nint m_flFadeBias = 0x1CC; // float32
+            public const nint m_bProportional = 0x200; // bool
+            public const nint m_bEaseInAndOut = 0x201; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomSequence {
+            public const nint m_nSequenceMin = 0x1C8; // int32
+            public const nint m_nSequenceMax = 0x1CC; // int32
+            public const nint m_bShuffle = 0x1D0; // bool
+            public const nint m_bLinear = 0x1D1; // bool
+            public const nint m_WeightedList = 0x1D8; // CUtlVector<SequenceWeightedList_t>
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RampScalarSplineSimple {
+            public const nint m_Rate = 0x1C0; // float32
+            public const nint m_flStartTime = 0x1C4; // float32
+            public const nint m_flEndTime = 0x1C8; // float32
+            public const nint m_nField = 0x1F0; // ParticleAttributeIndex_t
+            public const nint m_bEaseOut = 0x1F4; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_DistanceCull {
+            public const nint m_nControlPoint = 0x1C8; // int32
+            public const nint m_flDistance = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_bCullInside = 0x330; // bool
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CollideWithParentParticles {
+            public const nint m_flParentRadiusScale = 0x1C0; // CPerParticleFloatInput
+            public const nint m_flRadiusScale = 0x320; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitFromVectorFieldSnapshot {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nLocalSpaceCP = 0x1CC; // int32
+            public const nint m_nWeightUpdateCP = 0x1D0; // int32
+            public const nint m_bUseVerticalVelocity = 0x1D4; // bool
+            public const nint m_vecScale = 0x1D8; // CPerParticleVecInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetVectorAttributeToVectorExpression {
+            public const nint m_nExpression = 0x1C0; // VectorExpressionType_t
+            public const nint m_vInput1 = 0x1C8; // CPerParticleVecInput
+            public const nint m_vInput2 = 0x840; // CPerParticleVecInput
+            public const nint m_nOutputField = 0xEB8; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0xEBC; // ParticleSetMethod_t
+            public const nint m_bNormalizedOutput = 0xEC0; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_AddVectorToVector {
+            public const nint m_vecScale = 0x1C8; // Vector
+            public const nint m_nFieldOutput = 0x1D4; // ParticleAttributeIndex_t
+            public const nint m_nFieldInput = 0x1D8; // ParticleAttributeIndex_t
+            public const nint m_vOffsetMin = 0x1DC; // Vector
+            public const nint m_vOffsetMax = 0x1E8; // Vector
+            public const nint m_randomnessParameters = 0x1F4; // CRandomNumberGeneratorParameters
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapInitialVisibilityScalar {
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1D0; // float32
+            public const nint m_flInputMax = 0x1D4; // float32
+            public const nint m_flOutputMin = 0x1D8; // float32
+            public const nint m_flOutputMax = 0x1DC; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapTransformOrientationToYaw {
+            public const nint m_TransformInput = 0x1C0; // CParticleTransformInput
+            public const nint m_nFieldOutput = 0x228; // ParticleAttributeIndex_t
+            public const nint m_flRotOffset = 0x22C; // float32
+            public const nint m_flSpinStrength = 0x230; // float32
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderStatusEffect {
+            public const nint m_pTextureColorWarp = 0x210; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureDetail2 = 0x218; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureDiffuseWarp = 0x220; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureFresnelColorWarp = 0x228; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureFresnelWarp = 0x230; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureSpecularWarp = 0x238; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureEnvMap = 0x240; // CStrongHandle<InfoForResourceTypeCTextureBase>
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RandomForce {
+            public const nint m_MinForce = 0x1D0; // Vector
+            public const nint m_MaxForce = 0x1DC; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapParticleCountOnScalarEndCap {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nInputMin = 0x1C4; // int32
+            public const nint m_nInputMax = 0x1C8; // int32
+            public const nint m_flOutputMin = 0x1CC; // float32
+            public const nint m_flOutputMax = 0x1D0; // float32
+            public const nint m_bBackwards = 0x1D4; // bool
+            public const nint m_nSetMethod = 0x1D8; // ParticleSetMethod_t
+        }
+        // Parent: None
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticlePreviewState_t {
+            public const nint m_previewModel = 0x0; // CUtlString
+            public const nint m_nModSpecificData = 0x8; // uint32
+            public const nint m_groundType = 0xC; // PetGroundType_t
+            public const nint m_sequenceName = 0x10; // CUtlString
+            public const nint m_nFireParticleOnSequenceFrame = 0x18; // int32
+            public const nint m_hitboxSetName = 0x20; // CUtlString
+            public const nint m_materialGroupName = 0x28; // CUtlString
+            public const nint m_vecBodyGroups = 0x30; // CUtlVector<ParticlePreviewBodyGroup_t>
+            public const nint m_flPlaybackSpeed = 0x48; // float32
+            public const nint m_flParticleSimulationRate = 0x4C; // float32
+            public const nint m_bShouldDrawHitboxes = 0x50; // bool
+            public const nint m_bShouldDrawAttachments = 0x51; // bool
+            public const nint m_bShouldDrawAttachmentNames = 0x52; // bool
+            public const nint m_bShouldDrawControlPointAxes = 0x53; // bool
+            public const nint m_bAnimationNonLooping = 0x54; // bool
+            public const nint m_vecPreviewGravity = 0x58; // Vector
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LocalAccelerationForce {
+            public const nint m_nCP = 0x1D0; // int32
+            public const nint m_nScaleCP = 0x1D4; // int32
+            public const nint m_vecAccel = 0x1D8; // CParticleCollectionVecInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ModelCull {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_bBoundBox = 0x1C4; // bool
+            public const nint m_bCullOutside = 0x1C5; // bool
+            public const nint m_bUseBones = 0x1C6; // bool
+            public const nint m_HitboxSetName = 0x1C7; // char[128]
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetFloat {
+            public const nint m_InputValue = 0x1C0; // CPerParticleFloatInput
+            public const nint m_nOutputField = 0x320; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x324; // ParticleSetMethod_t
+            public const nint m_Lerp = 0x328; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapTransformToVector {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_vInputMin = 0x1CC; // Vector
+            public const nint m_vInputMax = 0x1D8; // Vector
+            public const nint m_vOutputMin = 0x1E4; // Vector
+            public const nint m_vOutputMax = 0x1F0; // Vector
+            public const nint m_TransformInput = 0x200; // CParticleTransformInput
+            public const nint m_LocalSpaceTransform = 0x268; // CParticleTransformInput
+            public const nint m_flStartTime = 0x2D0; // float32
+            public const nint m_flEndTime = 0x2D4; // float32
+            public const nint m_nSetMethod = 0x2D8; // ParticleSetMethod_t
+            public const nint m_bOffset = 0x2DC; // bool
+            public const nint m_bAccelerate = 0x2DD; // bool
+            public const nint m_flRemapBias = 0x2E0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SDFLighting {
+            public const nint m_vLightingDir = 0x1C0; // Vector
+            public const nint m_vTint_0 = 0x1CC; // Vector
+            public const nint m_vTint_1 = 0x1D8; // Vector
+        }
+        // Parent: C_OP_RemapDistanceToLineSegmentBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDistanceToLineSegmentToScalar {
+            public const nint m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t
+            public const nint m_flMinOutputValue = 0x1DC; // float32
+            public const nint m_flMaxOutputValue = 0x1E0; // float32
+        }
+        // Parent: CParticleFloatInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CParticleRemapFloatInput {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapVectortoCP {
+            public const nint m_nOutControlPointNumber = 0x1C0; // int32
+            public const nint m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nParticleNumber = 0x1C8; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetFromCPSnapshot {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_nAttributeToRead = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nAttributeToWrite = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nLocalSpaceCP = 0x1CC; // int32
+            public const nint m_bRandom = 0x1D0; // bool
+            public const nint m_bReverse = 0x1D1; // bool
+            public const nint m_nRandomSeed = 0x1D4; // int32
+            public const nint m_nSnapShotStartPoint = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_nSnapShotIncrement = 0x338; // CParticleCollectionFloatInput
+            public const nint m_flInterpolation = 0x498; // CPerParticleFloatInput
+            public const nint m_bSubSample = 0x5F8; // bool
+            public const nint m_bPrev = 0x5F9; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DistanceBetweenCPsToCP {
+            public const nint m_nStartCP = 0x1C8; // int32
+            public const nint m_nEndCP = 0x1CC; // int32
+            public const nint m_nOutputCP = 0x1D0; // int32
+            public const nint m_nOutputCPField = 0x1D4; // int32
+            public const nint m_bSetOnce = 0x1D8; // bool
+            public const nint m_flInputMin = 0x1DC; // float32
+            public const nint m_flInputMax = 0x1E0; // float32
+            public const nint m_flOutputMin = 0x1E4; // float32
+            public const nint m_flOutputMax = 0x1E8; // float32
+            public const nint m_flMaxTraceLength = 0x1EC; // float32
+            public const nint m_flLOSScale = 0x1F0; // float32
+            public const nint m_bLOS = 0x1F4; // bool
+            public const nint m_CollisionGroupName = 0x1F5; // char[128]
+            public const nint m_nTraceSet = 0x278; // ParticleTraceSet_t
+            public const nint m_nSetParent = 0x27C; // ParticleParentSetMode_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToHand {
+            public const nint m_nCP1 = 0x1C8; // int32
+            public const nint m_nHand = 0x1CC; // int32
+            public const nint m_vecCP1Pos = 0x1D0; // Vector
+            public const nint m_bOrientToHand = 0x1DC; // bool
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ConstrainDistanceToPath {
+            public const nint m_fMinDistance = 0x1C0; // float32
+            public const nint m_flMaxDistance0 = 0x1C4; // float32
+            public const nint m_flMaxDistanceMid = 0x1C8; // float32
+            public const nint m_flMaxDistance1 = 0x1CC; // float32
+            public const nint m_PathParameters = 0x1D0; // CPathParameters
+            public const nint m_flTravelTime = 0x210; // float32
+            public const nint m_nFieldScale = 0x214; // ParticleAttributeIndex_t
+            public const nint m_nManualTField = 0x218; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DistanceCull {
+            public const nint m_nControlPoint = 0x1C0; // int32
+            public const nint m_vecPointOffset = 0x1C4; // Vector
+            public const nint m_flDistance = 0x1D0; // float32
+            public const nint m_bCullInside = 0x1D4; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapSDFDistanceToScalarAttribute {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nVectorFieldInput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flMinDistance = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_flMaxDistance = 0x328; // CParticleCollectionFloatInput
+            public const nint m_flValueBelowMin = 0x488; // CParticleCollectionFloatInput
+            public const nint m_flValueAtMin = 0x5E8; // CParticleCollectionFloatInput
+            public const nint m_flValueAtMax = 0x748; // CParticleCollectionFloatInput
+            public const nint m_flValueAboveMax = 0x8A8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateAlongPath {
+            public const nint m_fMaxDistance = 0x1C8; // float32
+            public const nint m_PathParams = 0x1D0; // CPathParameters
+            public const nint m_bUseRandomCPs = 0x210; // bool
+            public const nint m_vEndOffset = 0x214; // Vector
+            public const nint m_bSaveOffset = 0x220; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointsToModelParticles {
+            public const nint m_HitboxSetName = 0x1C0; // char[128]
+            public const nint m_AttachmentName = 0x240; // char[128]
+            public const nint m_nFirstControlPoint = 0x2C0; // int32
+            public const nint m_nNumControlPoints = 0x2C4; // int32
+            public const nint m_nFirstSourcePoint = 0x2C8; // int32
+            public const nint m_bSkin = 0x2CC; // bool
+            public const nint m_bAttachment = 0x2CD; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ColorInterpolateRandom {
+            public const nint m_ColorFadeMin = 0x1C0; // Color
+            public const nint m_ColorFadeMax = 0x1DC; // Color
+            public const nint m_flFadeStartTime = 0x1EC; // float32
+            public const nint m_flFadeEndTime = 0x1F0; // float32
+            public const nint m_nFieldOutput = 0x1F4; // ParticleAttributeIndex_t
+            public const nint m_bEaseInOut = 0x1F8; // bool
+        }
+        // Parent: C_INIT_RemapNamedModelElementToScalar
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapNamedModelSequenceToScalar {
+        }
+        // Parent: C_OP_RenderPoints
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderLights {
+            public const nint m_flAnimationRate = 0x218; // float32
+            public const nint m_nAnimationType = 0x21C; // AnimationType_t
+            public const nint m_bAnimateInFPS = 0x220; // bool
+            public const nint m_flMinSize = 0x224; // float32
+            public const nint m_flMaxSize = 0x228; // float32
+            public const nint m_flStartFadeSize = 0x22C; // float32
+            public const nint m_flEndFadeSize = 0x230; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DecayClampCount {
+            public const nint m_nCount = 0x1C0; // CParticleCollectionFloatInput
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRandomNumberGeneratorParameters {
+            public const nint m_bDistributeEvenly = 0x0; // bool
+            public const nint m_nSeed = 0x4; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_ColorLitPerParticle {
+            public const nint m_ColorMin = 0x1E0; // Color
+            public const nint m_ColorMax = 0x1E4; // Color
+            public const nint m_TintMin = 0x1E8; // Color
+            public const nint m_TintMax = 0x1EC; // Color
+            public const nint m_flTintPerc = 0x1F0; // float32
+            public const nint m_nTintBlendMode = 0x1F4; // ParticleColorBlendMode_t
+            public const nint m_flLightAmplification = 0x1F8; // float32
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderPoints {
+            public const nint m_hMaterial = 0x210; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SetAttributeToScalarExpression {
+            public const nint m_nExpression = 0x1C8; // ScalarExpressionType_t
+            public const nint m_flInput1 = 0x1D0; // CPerParticleFloatInput
+            public const nint m_flInput2 = 0x330; // CPerParticleFloatInput
+            public const nint m_flOutputRemap = 0x490; // CParticleRemapFloatInput
+            public const nint m_nOutputField = 0x5F0; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x5F4; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateOnGrid {
+            public const nint m_nXCount = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_nYCount = 0x328; // CParticleCollectionFloatInput
+            public const nint m_nZCount = 0x488; // CParticleCollectionFloatInput
+            public const nint m_nXSpacing = 0x5E8; // CParticleCollectionFloatInput
+            public const nint m_nYSpacing = 0x748; // CParticleCollectionFloatInput
+            public const nint m_nZSpacing = 0x8A8; // CParticleCollectionFloatInput
+            public const nint m_nControlPointNumber = 0xA08; // int32
+            public const nint m_bLocalSpace = 0xA0C; // bool
+            public const nint m_bCenter = 0xA0D; // bool
+            public const nint m_bHollow = 0xA0E; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RampCPLinearRandom {
+            public const nint m_nOutControlPointNumber = 0x1C8; // int32
+            public const nint m_vecRateMin = 0x1CC; // Vector
+            public const nint m_vecRateMax = 0x1D8; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_VelocityMatchingForce {
+            public const nint m_flDirScale = 0x1C0; // float32
+            public const nint m_flSpdScale = 0x1C4; // float32
+            public const nint m_flNeighborDistance = 0x1C8; // float32
+            public const nint m_flFacingStrength = 0x1CC; // float32
+            public const nint m_bUseAABB = 0x1D0; // bool
+            public const nint m_nCPBroadcast = 0x1D4; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomAlphaWindowThreshold {
+            public const nint m_flMin = 0x1C8; // float32
+            public const nint m_flMax = 0x1CC; // float32
+            public const nint m_flExponent = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateOnModelAtHeight {
+            public const nint m_bUseBones = 0x1C8; // bool
+            public const nint m_bForceZ = 0x1C9; // bool
+            public const nint m_nControlPointNumber = 0x1CC; // int32
+            public const nint m_nHeightCP = 0x1D0; // int32
+            public const nint m_bUseWaterHeight = 0x1D4; // bool
+            public const nint m_flDesiredHeight = 0x1D8; // CParticleCollectionFloatInput
+            public const nint m_vecHitBoxScale = 0x338; // CParticleCollectionVecInput
+            public const nint m_vecDirectionBias = 0x9B0; // CParticleCollectionVecInput
+            public const nint m_nBiasType = 0x1028; // ParticleHitboxBiasType_t
+            public const nint m_bLocalCoords = 0x102C; // bool
+            public const nint m_bPreferMovingBoxes = 0x102D; // bool
+            public const nint m_HitboxSetName = 0x102E; // char[128]
+            public const nint m_flHitboxVelocityScale = 0x10B0; // CParticleCollectionFloatInput
+            public const nint m_flMaxBoneVelocity = 0x1210; // CParticleCollectionFloatInput
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CParticleVariableRef {
+            public const nint m_variableName = 0x0; // CKV3MemberNameWithStorage
+            public const nint m_variableType = 0x38; // PulseValueType_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RestartAfterDuration {
+            public const nint m_flDurationMin = 0x1C0; // float32
+            public const nint m_flDurationMax = 0x1C4; // float32
+            public const nint m_nCP = 0x1C8; // int32
+            public const nint m_nCPField = 0x1CC; // int32
+            public const nint m_nChildGroupID = 0x1D0; // int32
+            public const nint m_bOnlyChildren = 0x1D4; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderClothForce {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapVisibilityScalar {
+            public const nint m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // float32
+            public const nint m_flInputMax = 0x1CC; // float32
+            public const nint m_flOutputMin = 0x1D0; // float32
+            public const nint m_flOutputMax = 0x1D4; // float32
+            public const nint m_flRadiusScale = 0x1D8; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MParticleMinVersion
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateSequentialPathV2 {
+            public const nint m_fMaxDistance = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flNumToAssign = 0x328; // CParticleCollectionFloatInput
+            public const nint m_bLoop = 0x488; // bool
+            public const nint m_bCPPairs = 0x489; // bool
+            public const nint m_bSaveOffset = 0x48A; // bool
+            public const nint m_PathParams = 0x490; // CPathParameters
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VecInputMaterialVariable_t {
+            public const nint m_strVariable = 0x0; // CUtlString
+            public const nint m_vecInput = 0x8; // CParticleCollectionVecInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapInitialDirectionToTransformToVector {
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x234; // float32
+            public const nint m_flOffsetRot = 0x238; // float32
+            public const nint m_vecOffsetAxis = 0x23C; // Vector
+            public const nint m_bNormalize = 0x248; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MParticleMinVersion
+        // MGetKV3ClassDefaults
+        public static class C_OP_LockToSavedSequentialPathV2 {
+            public const nint m_flFadeStart = 0x1C0; // float32
+            public const nint m_flFadeEnd = 0x1C4; // float32
+            public const nint m_bCPPairs = 0x1C8; // bool
+            public const nint m_PathParams = 0x1D0; // CPathParameters
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_NormalLock {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapTransformOrientationToRotations {
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_vecRotation = 0x230; // Vector
+            public const nint m_bUseQuat = 0x23C; // bool
+            public const nint m_bWriteNormal = 0x23D; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Cull {
+            public const nint m_flCullPerc = 0x1C0; // float32
+            public const nint m_flCullStart = 0x1C4; // float32
+            public const nint m_flCullEnd = 0x1C8; // float32
+            public const nint m_flCullExp = 0x1CC; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomYawFlip {
+            public const nint m_flPercent = 0x1C8; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapSDFGradientToVectorAttribute {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SequenceWeightedList_t {
+            public const nint m_nSequence = 0x0; // int32
+            public const nint m_flRelativeWeight = 0x4; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ReadFromNeighboringParticle {
+            public const nint m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nIncrement = 0x1C8; // int32
+            public const nint m_DistanceCheck = 0x1D0; // CPerParticleFloatInput
+            public const nint m_flInterpolation = 0x330; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderText {
+            public const nint m_OutlineColor = 0x210; // Color
+            public const nint m_DefaultText = 0x218; // CUtlString
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LerpToInitialPosition {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_flInterpolation = 0x1C8; // CPerParticleFloatInput
+            public const nint m_nCacheField = 0x328; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x330; // CParticleCollectionFloatInput
+            public const nint m_vecScale = 0x490; // CParticleCollectionVecInput
+        }
+        // Parent: CGeneralRandomRotation
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomRotation {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LerpEndCapVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecOutput = 0x1C4; // Vector
+            public const nint m_flLerpTime = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_VelocityDecay {
+            public const nint m_flMinVelocity = 0x1C0; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetCPOrientationToPointAtCP {
+            public const nint m_nInputCP = 0x1C8; // int32
+            public const nint m_nOutputCP = 0x1CC; // int32
+            public const nint m_flInterpolation = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_b2DOrientation = 0x330; // bool
+            public const nint m_bAvoidSingularity = 0x331; // bool
+            public const nint m_bPointAway = 0x332; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LockToPointList {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_pointList = 0x1C8; // CUtlVector<PointDefinition_t>
+            public const nint m_bPlaceAlongPath = 0x1E0; // bool
+            public const nint m_bClosedLoop = 0x1E1; // bool
+            public const nint m_nNumPointsAlongPath = 0x1E4; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 17
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementPlaceOnGround {
+            public const nint m_flOffset = 0x1C0; // CPerParticleFloatInput
+            public const nint m_flMaxTraceLength = 0x320; // float32
+            public const nint m_flTolerance = 0x324; // float32
+            public const nint m_flTraceOffset = 0x328; // float32
+            public const nint m_flLerpRate = 0x32C; // float32
+            public const nint m_CollisionGroupName = 0x330; // char[128]
+            public const nint m_nTraceSet = 0x3B0; // ParticleTraceSet_t
+            public const nint m_nRefCP1 = 0x3B4; // int32
+            public const nint m_nRefCP2 = 0x3B8; // int32
+            public const nint m_nLerpCP = 0x3BC; // int32
+            public const nint m_nTraceMissBehavior = 0x3C8; // ParticleTraceMissBehavior_t
+            public const nint m_bIncludeShotHull = 0x3CC; // bool
+            public const nint m_bIncludeWater = 0x3CD; // bool
+            public const nint m_bSetNormal = 0x3D0; // bool
+            public const nint m_bScaleOffset = 0x3D1; // bool
+            public const nint m_nPreserveOffsetCP = 0x3D4; // int32
+            public const nint m_nIgnoreCP = 0x3D8; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetCPOrientationToDirection {
+            public const nint m_nInputControlPoint = 0x1C0; // int32
+            public const nint m_nOutputControlPoint = 0x1C4; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapCrossProductOfTwoVectorsToVector {
+            public const nint m_InputVec1 = 0x1C0; // CPerParticleVecInput
+            public const nint m_InputVec2 = 0x838; // CPerParticleVecInput
+            public const nint m_nFieldOutput = 0xEB0; // ParticleAttributeIndex_t
+            public const nint m_bNormalize = 0xEB4; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapTransformOrientationToRotations {
+            public const nint m_TransformInput = 0x1C0; // CParticleTransformInput
+            public const nint m_vecRotation = 0x228; // Vector
+            public const nint m_bUseQuat = 0x234; // bool
+            public const nint m_bWriteNormal = 0x235; // bool
+        }
+        // Parent: CGeneralRandomRotation
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomRotationSpeed {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MParticleMinVersion
+        // MGetKV3ClassDefaults
+        public static class C_OP_InheritFromParentParticlesV2 {
+            public const nint m_flScale = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nIncrement = 0x1C8; // int32
+            public const nint m_bRandomDistribution = 0x1CC; // bool
+            public const nint m_nMissingParentBehavior = 0x1D0; // MissingParentInheritBehavior_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomSecondSequence {
+            public const nint m_nSequenceMin = 0x1C8; // int32
+            public const nint m_nSequenceMax = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetFloatCollection {
+            public const nint m_InputValue = 0x1C0; // CParticleCollectionFloatInput
+            public const nint m_nOutputField = 0x320; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x324; // ParticleSetMethod_t
+            public const nint m_Lerp = 0x328; // CParticleCollectionFloatInput
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PointDefinition_t {
+            public const nint m_nControlPoint = 0x0; // int32
+            public const nint m_bLocalCoords = 0x4; // bool
+            public const nint m_vOffset = 0x8; // Vector
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointPositionToRandomActiveCP {
+            public const nint m_nCP1 = 0x1C8; // int32
+            public const nint m_nHeadLocationMin = 0x1CC; // int32
+            public const nint m_nHeadLocationMax = 0x1D0; // int32
+            public const nint m_flResetRate = 0x1D8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Diffusion {
+            public const nint m_flRadiusScale = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nVoxelGridResolution = 0x1C8; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_AgeNoise {
+            public const nint m_bAbsVal = 0x1C8; // bool
+            public const nint m_bAbsValInv = 0x1C9; // bool
+            public const nint m_flOffset = 0x1CC; // float32
+            public const nint m_flAgeMin = 0x1D0; // float32
+            public const nint m_flAgeMax = 0x1D4; // float32
+            public const nint m_flNoiseScale = 0x1D8; // float32
+            public const nint m_flNoiseScaleLoc = 0x1DC; // float32
+            public const nint m_vecOffsetLoc = 0x1E0; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapVectorComponentToScalar {
+            public const nint m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nComponent = 0x1C8; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CGeneralRandomRotation {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_flDegrees = 0x1CC; // float32
+            public const nint m_flDegreesMin = 0x1D0; // float32
+            public const nint m_flDegreesMax = 0x1D4; // float32
+            public const nint m_flRotationRandExponent = 0x1D8; // float32
+            public const nint m_bRandomlyFlipDirection = 0x1DC; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DistanceBetweenVecs {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecPoint1 = 0x1C8; // CPerParticleVecInput
+            public const nint m_vecPoint2 = 0x840; // CPerParticleVecInput
+            public const nint m_flInputMin = 0xEB8; // CPerParticleFloatInput
+            public const nint m_flInputMax = 0x1018; // CPerParticleFloatInput
+            public const nint m_flOutputMin = 0x1178; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x12D8; // CPerParticleFloatInput
+            public const nint m_nSetMethod = 0x1438; // ParticleSetMethod_t
+            public const nint m_bDeltaTime = 0x143C; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DampenToCP {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_flRange = 0x1C4; // float32
+            public const nint m_flScale = 0x1C8; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CalculateVectorAttribute {
+            public const nint m_vStartValue = 0x1C0; // Vector
+            public const nint m_nFieldInput1 = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_flInputScale1 = 0x1D0; // float32
+            public const nint m_nFieldInput2 = 0x1D4; // ParticleAttributeIndex_t
+            public const nint m_flInputScale2 = 0x1D8; // float32
+            public const nint m_nControlPointInput1 = 0x1DC; // ControlPointReference_t
+            public const nint m_flControlPointScale1 = 0x1F0; // float32
+            public const nint m_nControlPointInput2 = 0x1F4; // ControlPointReference_t
+            public const nint m_flControlPointScale2 = 0x208; // float32
+            public const nint m_nFieldOutput = 0x20C; // ParticleAttributeIndex_t
+            public const nint m_vFinalOutputScale = 0x210; // Vector
+        }
+        // Parent: CParticleInput
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        // MParticleCustomFieldDefaultValue
+        public static class CParticleTransformInput {
+            public const nint m_nType = 0x10; // ParticleTransformType_t
+            public const nint m_NamedValue = 0x18; // CParticleNamedValueRef
+            public const nint m_bFollowNamedValue = 0x58; // bool
+            public const nint m_bSupportsDisabled = 0x59; // bool
+            public const nint m_bUseOrientation = 0x5A; // bool
+            public const nint m_nControlPoint = 0x5C; // int32
+            public const nint m_nControlPointRangeMax = 0x60; // int32
+            public const nint m_flEndCPGrowthTime = 0x64; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LockToBone {
+            public const nint m_modelInput = 0x1C0; // CParticleModelInput
+            public const nint m_transformInput = 0x220; // CParticleTransformInput
+            public const nint m_flLifeTimeFadeStart = 0x288; // float32
+            public const nint m_flLifeTimeFadeEnd = 0x28C; // float32
+            public const nint m_flJumpThreshold = 0x290; // float32
+            public const nint m_flPrevPosScale = 0x294; // float32
+            public const nint m_HitboxSetName = 0x298; // char[128]
+            public const nint m_bRigid = 0x318; // bool
+            public const nint m_bUseBones = 0x319; // bool
+            public const nint m_nFieldOutput = 0x31C; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutputPrev = 0x320; // ParticleAttributeIndex_t
+            public const nint m_nRotationSetType = 0x324; // ParticleRotationLockType_t
+            public const nint m_bRigidRotationLock = 0x328; // bool
+            public const nint m_vecRotation = 0x330; // CPerParticleVecInput
+            public const nint m_flRotLerp = 0x9A8; // CPerParticleFloatInput
+        }
+        // Parent: C_OP_RemapNamedModelElementOnceTimed
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelBodyPartOnceTimed {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementMaintainOffset {
+            public const nint m_vecOffset = 0x1C0; // Vector
+            public const nint m_nCP = 0x1CC; // int32
+            public const nint m_bRadiusScale = 0x1D0; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetVec {
+            public const nint m_InputValue = 0x1C0; // CPerParticleVecInput
+            public const nint m_nOutputField = 0x838; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x83C; // ParticleSetMethod_t
+            public const nint m_Lerp = 0x840; // CPerParticleFloatInput
+            public const nint m_bNormalizedOutput = 0x9A0; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateFromParentParticles {
+            public const nint m_flVelocityScale = 0x1C8; // float32
+            public const nint m_flIncrement = 0x1CC; // float32
+            public const nint m_bRandomDistribution = 0x1D0; // bool
+            public const nint m_nRandomSeed = 0x1D4; // int32
+            public const nint m_bSubFrame = 0x1D8; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        public static class IParticleEffect {
+        }
+        // Parent: C_INIT_RandomNamedModelElement
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomNamedModelBodyPart {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PARTICLE_EHANDLE__ {
+            public const nint unused = 0x0; // int32
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderOmni2Light {
+            public const nint m_nLightType = 0x210; // ParticleOmni2LightTypeChoiceList_t
+            public const nint m_vColorBlend = 0x218; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0x890; // ParticleColorBlendType_t
+            public const nint m_nBrightnessUnit = 0x894; // ParticleLightUnitChoiceList_t
+            public const nint m_flBrightnessLumens = 0x898; // CPerParticleFloatInput
+            public const nint m_flBrightnessCandelas = 0x9F8; // CPerParticleFloatInput
+            public const nint m_bCastShadows = 0xB58; // bool
+            public const nint m_bFog = 0xB59; // bool
+            public const nint m_flFogScale = 0xB60; // CPerParticleFloatInput
+            public const nint m_flLuminaireRadius = 0xCC0; // CPerParticleFloatInput
+            public const nint m_flSkirt = 0xE20; // CPerParticleFloatInput
+            public const nint m_flRange = 0xF80; // CPerParticleFloatInput
+            public const nint m_flInnerConeAngle = 0x10E0; // CPerParticleFloatInput
+            public const nint m_flOuterConeAngle = 0x1240; // CPerParticleFloatInput
+            public const nint m_hLightCookie = 0x13A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_bSphericalCookie = 0x13A8; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ConnectParentParticleToNearest {
+            public const nint m_nFirstControlPoint = 0x1C0; // int32
+            public const nint m_nSecondControlPoint = 0x1C4; // int32
+            public const nint m_bUseRadius = 0x1C8; // bool
+            public const nint m_flRadiusScale = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_flParentRadiusScale = 0x330; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFloatInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CPerParticleFloatInput {
+        }
+        // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapParticleCountToNamedModelBodyPartScalar {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 19
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitSkinnedPositionFromCPSnapshot {
+            public const nint m_nSnapshotControlPointNumber = 0x1C8; // int32
+            public const nint m_nControlPointNumber = 0x1CC; // int32
+            public const nint m_bRandom = 0x1D0; // bool
+            public const nint m_nRandomSeed = 0x1D4; // int32
+            public const nint m_bRigid = 0x1D8; // bool
+            public const nint m_bSetNormal = 0x1D9; // bool
+            public const nint m_bIgnoreDt = 0x1DA; // bool
+            public const nint m_flMinNormalVelocity = 0x1DC; // float32
+            public const nint m_flMaxNormalVelocity = 0x1E0; // float32
+            public const nint m_nIndexType = 0x1E4; // SnapshotIndexType_t
+            public const nint m_flReadIndex = 0x1E8; // CPerParticleFloatInput
+            public const nint m_flIncrement = 0x348; // float32
+            public const nint m_nFullLoopIncrement = 0x34C; // int32
+            public const nint m_nSnapShotStartPoint = 0x350; // int32
+            public const nint m_flBoneVelocity = 0x354; // float32
+            public const nint m_flBoneVelocityMax = 0x358; // float32
+            public const nint m_bCopyColor = 0x35C; // bool
+            public const nint m_bCopyAlpha = 0x35D; // bool
+            public const nint m_bSetRadius = 0x35E; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LagCompensation {
+            public const nint m_nDesiredVelocityCP = 0x1C0; // int32
+            public const nint m_nLatencyCP = 0x1C4; // int32
+            public const nint m_nLatencyCPField = 0x1C8; // int32
+            public const nint m_nDesiredVelocityCPField = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CollideWithSelf {
+            public const nint m_flRadiusScale = 0x1C0; // CPerParticleFloatInput
+            public const nint m_flMinimumSpeed = 0x320; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_Noise {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flOutputMin = 0x1C4; // float32
+            public const nint m_flOutputMax = 0x1C8; // float32
+            public const nint m_fl4NoiseScale = 0x1CC; // float32
+            public const nint m_bAdditive = 0x1D0; // bool
+            public const nint m_flNoiseAnimationTimeScale = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_FadeAndKillForTracers {
+            public const nint m_flStartFadeInTime = 0x1C0; // float32
+            public const nint m_flEndFadeInTime = 0x1C4; // float32
+            public const nint m_flStartFadeOutTime = 0x1C8; // float32
+            public const nint m_flEndFadeOutTime = 0x1CC; // float32
+            public const nint m_flStartAlpha = 0x1D0; // float32
+            public const nint m_flEndAlpha = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ColorAdjustHSL {
+            public const nint m_flHueAdjust = 0x1C0; // CPerParticleFloatInput
+            public const nint m_flSaturationAdjust = 0x320; // CPerParticleFloatInput
+            public const nint m_flLightnessAdjust = 0x480; // CPerParticleFloatInput
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleMassCalculationParameters {
+            public const nint m_nMassMode = 0x0; // ParticleMassMode_t
+            public const nint m_flRadius = 0x8; // CPerParticleFloatInput
+            public const nint m_flNominalRadius = 0x168; // CPerParticleFloatInput
+            public const nint m_flScale = 0x2C8; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SequenceFromModel {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutputAnim = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1CC; // float32
+            public const nint m_flInputMax = 0x1D0; // float32
+            public const nint m_flOutputMin = 0x1D4; // float32
+            public const nint m_flOutputMax = 0x1D8; // float32
+            public const nint m_nSetMethod = 0x1DC; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_AlphaDecay {
+            public const nint m_flMinAlpha = 0x1C0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDensityGradientToVectorAttribute {
+            public const nint m_flRadiusScale = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitVec {
+            public const nint m_InputValue = 0x1C8; // CPerParticleVecInput
+            public const nint m_nOutputField = 0x840; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x844; // ParticleSetMethod_t
+            public const nint m_bNormalizedOutput = 0x848; // bool
+            public const nint m_bWritePreviousPosition = 0x849; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SetHitboxToModel {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nForceInModel = 0x1CC; // int32
+            public const nint m_bEvenDistribution = 0x1D0; // bool
+            public const nint m_nDesiredHitbox = 0x1D4; // int32
+            public const nint m_vecHitBoxScale = 0x1D8; // CParticleCollectionVecInput
+            public const nint m_vecDirectionBias = 0x850; // Vector
+            public const nint m_bMaintainHitbox = 0x85C; // bool
+            public const nint m_bUseBones = 0x85D; // bool
+            public const nint m_HitboxSetName = 0x85E; // char[128]
+            public const nint m_flShellSize = 0x8E0; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementMoveAlongSkinnedCPSnapshot {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_nSnapshotControlPointNumber = 0x1C4; // int32
+            public const nint m_bSetNormal = 0x1C8; // bool
+            public const nint m_bSetRadius = 0x1C9; // bool
+            public const nint m_flInterpolation = 0x1D0; // CPerParticleFloatInput
+            public const nint m_flTValue = 0x330; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LerpScalar {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flOutput = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flStartTime = 0x328; // float32
+            public const nint m_flEndTime = 0x32C; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitialRepulsionVelocity {
+            public const nint m_CollisionGroupName = 0x1C8; // char[128]
+            public const nint m_nTraceSet = 0x248; // ParticleTraceSet_t
+            public const nint m_vecOutputMin = 0x24C; // Vector
+            public const nint m_vecOutputMax = 0x258; // Vector
+            public const nint m_nControlPointNumber = 0x264; // int32
+            public const nint m_bPerParticle = 0x268; // bool
+            public const nint m_bTranslate = 0x269; // bool
+            public const nint m_bProportional = 0x26A; // bool
+            public const nint m_flTraceLength = 0x26C; // float32
+            public const nint m_bPerParticleTR = 0x270; // bool
+            public const nint m_bInherit = 0x271; // bool
+            public const nint m_nChildCP = 0x274; // int32
+            public const nint m_nChildGroupID = 0x278; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ClampScalar {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flOutputMin = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x328; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToHMD {
+            public const nint m_nCP1 = 0x1C8; // int32
+            public const nint m_vecCP1Pos = 0x1CC; // Vector
+            public const nint m_bOrientToHMD = 0x1D8; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DifferencePreviousParticle {
+            public const nint m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // float32
+            public const nint m_flInputMax = 0x1CC; // float32
+            public const nint m_flOutputMin = 0x1D0; // float32
+            public const nint m_flOutputMax = 0x1D4; // float32
+            public const nint m_nSetMethod = 0x1D8; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x1DC; // bool
+            public const nint m_bSetPreviousParticle = 0x1DD; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointFieldFromVectorExpression {
+            public const nint m_nExpression = 0x1C8; // VectorFloatExpressionType_t
+            public const nint m_vecInput1 = 0x1D0; // CParticleCollectionVecInput
+            public const nint m_vecInput2 = 0x848; // CParticleCollectionVecInput
+            public const nint m_flOutputRemap = 0xEC0; // CParticleRemapFloatInput
+            public const nint m_nOutputCP = 0x1020; // int32
+            public const nint m_nOutVectorField = 0x1024; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PercentageBetweenTransforms {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C4; // float32
+            public const nint m_flInputMax = 0x1C8; // float32
+            public const nint m_flOutputMin = 0x1CC; // float32
+            public const nint m_flOutputMax = 0x1D0; // float32
+            public const nint m_TransformStart = 0x1D8; // CParticleTransformInput
+            public const nint m_TransformEnd = 0x240; // CParticleTransformInput
+            public const nint m_nSetMethod = 0x2A8; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x2AC; // bool
+            public const nint m_bRadialCheck = 0x2AD; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PlaneCull {
+            public const nint m_nControlPoint = 0x1C8; // int32
+            public const nint m_flDistance = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_bCullInside = 0x330; // bool
+        }
+        // Parent: C_OP_RemapNamedModelElementEndCap
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelSequenceEndCap {
+        }
+        // Parent: CParticleCollectionFloatInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CParticleCollectionRendererFloatInput {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitFromCPSnapshot {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nAttributeToRead = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_nAttributeToWrite = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_nLocalSpaceCP = 0x1D4; // int32
+            public const nint m_bRandom = 0x1D8; // bool
+            public const nint m_bReverse = 0x1D9; // bool
+            public const nint m_nSnapShotIncrement = 0x1E0; // CParticleCollectionFloatInput
+            public const nint m_nManualSnapshotIndex = 0x340; // CPerParticleFloatInput
+            public const nint m_nRandomSeed = 0x4A0; // int32
+            public const nint m_bLocalSpaceAngles = 0x4A4; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 22
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderCables {
+            public const nint m_flRadiusScale = 0x210; // CParticleCollectionFloatInput
+            public const nint m_flAlphaScale = 0x370; // CParticleCollectionFloatInput
+            public const nint m_vecColorScale = 0x4D0; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0xB48; // ParticleColorBlendType_t
+            public const nint m_hMaterial = 0xB50; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nTextureRepetitionMode = 0xB58; // TextureRepetitionMode_t
+            public const nint m_flTextureRepeatsPerSegment = 0xB60; // CParticleCollectionFloatInput
+            public const nint m_flTextureRepeatsCircumference = 0xCC0; // CParticleCollectionFloatInput
+            public const nint m_flColorMapOffsetV = 0xE20; // CParticleCollectionFloatInput
+            public const nint m_flColorMapOffsetU = 0xF80; // CParticleCollectionFloatInput
+            public const nint m_flNormalMapOffsetV = 0x10E0; // CParticleCollectionFloatInput
+            public const nint m_flNormalMapOffsetU = 0x1240; // CParticleCollectionFloatInput
+            public const nint m_bDrawCableCaps = 0x13A0; // bool
+            public const nint m_flCapRoundness = 0x13A4; // float32
+            public const nint m_flCapOffsetAmount = 0x13A8; // float32
+            public const nint m_flTessScale = 0x13AC; // float32
+            public const nint m_nMinTesselation = 0x13B0; // int32
+            public const nint m_nMaxTesselation = 0x13B4; // int32
+            public const nint m_nRoundness = 0x13B8; // int32
+            public const nint m_LightingTransform = 0x13C0; // CParticleTransformInput
+            public const nint m_MaterialFloatVars = 0x1428; // CUtlVector<FloatInputMaterialVariable_t>
+            public const nint m_MaterialVecVars = 0x1458; // CUtlVector<VecInputMaterialVariable_t>
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InheritVelocity {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_flVelocityScale = 0x1CC; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToWaterSurface {
+            public const nint m_nSourceCP = 0x1C8; // int32
+            public const nint m_nDestCP = 0x1CC; // int32
+            public const nint m_nFlowCP = 0x1D0; // int32
+            public const nint m_nActiveCP = 0x1D4; // int32
+            public const nint m_nActiveCPField = 0x1D8; // int32
+            public const nint m_flRetestRate = 0x1E0; // CParticleCollectionFloatInput
+            public const nint m_bAdaptiveThreshold = 0x340; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PositionOffset {
+            public const nint m_OffsetMin = 0x1C8; // CPerParticleVecInput
+            public const nint m_OffsetMax = 0x840; // CPerParticleVecInput
+            public const nint m_TransformInput = 0xEB8; // CParticleTransformInput
+            public const nint m_bLocalCoords = 0xF20; // bool
+            public const nint m_bProportional = 0xF21; // bool
+            public const nint m_randomnessParameters = 0xF24; // CRandomNumberGeneratorParameters
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_NormalAlignToCP {
+            public const nint m_transformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_nControlPointAxis = 0x230; // ParticleControlPointAxis_t
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ShapeMatchingConstraint {
+            public const nint m_flShapeRestorationTime = 0x1C0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetChildControlPoints {
+            public const nint m_nChildGroupID = 0x1C0; // int32
+            public const nint m_nFirstControlPoint = 0x1C4; // int32
+            public const nint m_nNumControlPoints = 0x1C8; // int32
+            public const nint m_nFirstSourcePoint = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_bReverse = 0x330; // bool
+            public const nint m_bSetOrientation = 0x331; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ChladniWave {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flInputMax = 0x328; // CPerParticleFloatInput
+            public const nint m_flOutputMin = 0x488; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x5E8; // CPerParticleFloatInput
+            public const nint m_vecWaveLength = 0x748; // CPerParticleVecInput
+            public const nint m_vecHarmonics = 0xDC0; // CPerParticleVecInput
+            public const nint m_nSetMethod = 0x1438; // ParticleSetMethod_t
+            public const nint m_nLocalSpaceControlPoint = 0x143C; // int32
+            public const nint m_b3D = 0x1440; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDirectionToCPToVector {
+            public const nint m_nCP = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0x1C8; // float32
+            public const nint m_flOffsetRot = 0x1CC; // float32
+            public const nint m_vecOffsetAxis = 0x1D0; // Vector
+            public const nint m_bNormalize = 0x1DC; // bool
+            public const nint m_nFieldStrength = 0x1E0; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DriveCPFromGlobalSoundFloat {
+            public const nint m_nOutputControlPoint = 0x1C8; // int32
+            public const nint m_nOutputField = 0x1CC; // int32
+            public const nint m_flInputMin = 0x1D0; // float32
+            public const nint m_flInputMax = 0x1D4; // float32
+            public const nint m_flOutputMin = 0x1D8; // float32
+            public const nint m_flOutputMax = 0x1DC; // float32
+            public const nint m_StackName = 0x1E0; // CUtlString
+            public const nint m_OperatorName = 0x1E8; // CUtlString
+            public const nint m_FieldName = 0x1F0; // CUtlString
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RtEnvCull {
+            public const nint m_vecTestDir = 0x1C0; // Vector
+            public const nint m_vecTestNormal = 0x1CC; // Vector
+            public const nint m_bCullOnMiss = 0x1D8; // bool
+            public const nint m_bStickInsteadOfCull = 0x1D9; // bool
+            public const nint m_RtEnvName = 0x1DA; // char[128]
+            public const nint m_nRTEnvCP = 0x25C; // int32
+            public const nint m_nComponent = 0x260; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PinParticleToCP {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_vecOffset = 0x1C8; // CParticleCollectionVecInput
+            public const nint m_bOffsetLocal = 0x840; // bool
+            public const nint m_nParticleSelection = 0x844; // ParticleSelection_t
+            public const nint m_nParticleNumber = 0x848; // CParticleCollectionFloatInput
+            public const nint m_nPinBreakType = 0x9A8; // ParticlePinDistance_t
+            public const nint m_flBreakDistance = 0x9B0; // CParticleCollectionFloatInput
+            public const nint m_flBreakSpeed = 0xB10; // CParticleCollectionFloatInput
+            public const nint m_flAge = 0xC70; // CParticleCollectionFloatInput
+            public const nint m_nBreakControlPointNumber = 0xDD0; // int32
+            public const nint m_nBreakControlPointNumber2 = 0xDD4; // int32
+            public const nint m_flBreakValue = 0xDD8; // CParticleCollectionFloatInput
+            public const nint m_flInterpolation = 0xF38; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapCPtoVector {
+            public const nint m_nCPInput = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nLocalSpaceCP = 0x1C8; // int32
+            public const nint m_vInputMin = 0x1CC; // Vector
+            public const nint m_vInputMax = 0x1D8; // Vector
+            public const nint m_vOutputMin = 0x1E4; // Vector
+            public const nint m_vOutputMax = 0x1F0; // Vector
+            public const nint m_flStartTime = 0x1FC; // float32
+            public const nint m_flEndTime = 0x200; // float32
+            public const nint m_flInterpRate = 0x204; // float32
+            public const nint m_nSetMethod = 0x208; // ParticleSetMethod_t
+            public const nint m_bOffset = 0x20C; // bool
+            public const nint m_bAccelerate = 0x20D; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateParticleImpulse {
+            public const nint m_InputRadius = 0x1C8; // CPerParticleFloatInput
+            public const nint m_InputMagnitude = 0x328; // CPerParticleFloatInput
+            public const nint m_nFalloffFunction = 0x488; // ParticleFalloffFunction_t
+            public const nint m_InputFalloffExp = 0x490; // CPerParticleFloatInput
+            public const nint m_nImpulseType = 0x5F0; // ParticleImpulseType_t
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DensityForce {
+            public const nint m_flRadiusScale = 0x1D0; // float32
+            public const nint m_flForceScale = 0x1D4; // float32
+            public const nint m_flTargetDensity = 0x1D8; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateInEpitrochoid {
+            public const nint m_nComponent1 = 0x1C8; // int32
+            public const nint m_nComponent2 = 0x1CC; // int32
+            public const nint m_TransformInput = 0x1D0; // CParticleTransformInput
+            public const nint m_flParticleDensity = 0x238; // CPerParticleFloatInput
+            public const nint m_flOffset = 0x398; // CPerParticleFloatInput
+            public const nint m_flRadius1 = 0x4F8; // CPerParticleFloatInput
+            public const nint m_flRadius2 = 0x658; // CPerParticleFloatInput
+            public const nint m_bUseCount = 0x7B8; // bool
+            public const nint m_bUseLocalCoords = 0x7B9; // bool
+            public const nint m_bOffsetExistingPos = 0x7BA; // bool
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ConstrainDistanceToUserSpecifiedPath {
+            public const nint m_fMinDistance = 0x1C0; // float32
+            public const nint m_flMaxDistance = 0x1C4; // float32
+            public const nint m_flTimeScale = 0x1C8; // float32
+            public const nint m_bLoopedPath = 0x1CC; // bool
+            public const nint m_pointList = 0x1D0; // CUtlVector<PointDefinitionWithTimeValues_t>
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointPositions {
+            public const nint m_bUseWorldLocation = 0x1C8; // bool
+            public const nint m_bOrient = 0x1C9; // bool
+            public const nint m_bSetOnce = 0x1CA; // bool
+            public const nint m_nCP1 = 0x1CC; // int32
+            public const nint m_nCP2 = 0x1D0; // int32
+            public const nint m_nCP3 = 0x1D4; // int32
+            public const nint m_nCP4 = 0x1D8; // int32
+            public const nint m_vecCP1Pos = 0x1DC; // Vector
+            public const nint m_vecCP2Pos = 0x1E8; // Vector
+            public const nint m_vecCP3Pos = 0x1F4; // Vector
+            public const nint m_vecCP4Pos = 0x200; // Vector
+            public const nint m_nHeadLocation = 0x20C; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetFloatAttributeToVectorExpression {
+            public const nint m_nExpression = 0x1C0; // VectorFloatExpressionType_t
+            public const nint m_vInput1 = 0x1C8; // CPerParticleVecInput
+            public const nint m_vInput2 = 0x840; // CPerParticleVecInput
+            public const nint m_flOutputRemap = 0xEB8; // CParticleRemapFloatInput
+            public const nint m_nOutputField = 0x1018; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x101C; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementRotateParticleAroundAxis {
+            public const nint m_vecRotAxis = 0x1C0; // CParticleCollectionVecInput
+            public const nint m_flRotRate = 0x838; // CParticleCollectionFloatInput
+            public const nint m_TransformInput = 0x998; // CParticleTransformInput
+            public const nint m_bLocalSpace = 0xA00; // bool
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_IntraParticleForce {
+            public const nint m_flAttractionMinDistance = 0x1D0; // float32
+            public const nint m_flAttractionMaxDistance = 0x1D4; // float32
+            public const nint m_flAttractionMaxStrength = 0x1D8; // float32
+            public const nint m_flRepulsionMinDistance = 0x1DC; // float32
+            public const nint m_flRepulsionMaxDistance = 0x1E0; // float32
+            public const nint m_flRepulsionMaxStrength = 0x1E4; // float32
+            public const nint m_bUseAABB = 0x1E8; // bool
+            public const nint m_bThreadIt = 0x1E9; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitFloat {
+            public const nint m_InputValue = 0x1C8; // CPerParticleFloatInput
+            public const nint m_nOutputField = 0x328; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x32C; // ParticleSetMethod_t
+            public const nint m_InputStrength = 0x330; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 16
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateOnModel {
+            public const nint m_modelInput = 0x1C8; // CParticleModelInput
+            public const nint m_transformInput = 0x228; // CParticleTransformInput
+            public const nint m_nForceInModel = 0x290; // int32
+            public const nint m_bScaleToVolume = 0x294; // bool
+            public const nint m_bEvenDistribution = 0x295; // bool
+            public const nint m_nDesiredHitbox = 0x298; // CParticleCollectionFloatInput
+            public const nint m_nHitboxValueFromControlPointIndex = 0x3F8; // int32
+            public const nint m_vecHitBoxScale = 0x400; // CParticleCollectionVecInput
+            public const nint m_flBoneVelocity = 0xA78; // float32
+            public const nint m_flMaxBoneVelocity = 0xA7C; // float32
+            public const nint m_vecDirectionBias = 0xA80; // CParticleCollectionVecInput
+            public const nint m_HitboxSetName = 0x10F8; // char[128]
+            public const nint m_bLocalCoords = 0x1178; // bool
+            public const nint m_bUseBones = 0x1179; // bool
+            public const nint m_bUseMesh = 0x117A; // bool
+            public const nint m_flShellSize = 0x1180; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_InheritFromPeerSystem {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_nIncrement = 0x1C8; // int32
+            public const nint m_nGroupID = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PerParticleForce {
+            public const nint m_flForceScale = 0x1D0; // CPerParticleFloatInput
+            public const nint m_vForce = 0x330; // CPerParticleVecInput
+            public const nint m_nCP = 0x9A8; // int32
+        }
+        // Parent: C_INIT_RandomNamedModelElement
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomNamedModelMeshGroup {
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 18
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderProjected {
+            public const nint m_bProjectCharacter = 0x210; // bool
+            public const nint m_bProjectWorld = 0x211; // bool
+            public const nint m_bProjectWater = 0x212; // bool
+            public const nint m_bFlipHorizontal = 0x213; // bool
+            public const nint m_bEnableProjectedDepthControls = 0x214; // bool
+            public const nint m_flMinProjectionDepth = 0x218; // float32
+            public const nint m_flMaxProjectionDepth = 0x21C; // float32
+            public const nint m_vecProjectedMaterials = 0x220; // CUtlVector<RenderProjectedMaterial_t>
+            public const nint m_flMaterialSelection = 0x238; // CPerParticleFloatInput
+            public const nint m_flAnimationTimeScale = 0x398; // float32
+            public const nint m_bOrientToNormal = 0x39C; // bool
+            public const nint m_MaterialVars = 0x3A0; // CUtlVector<MaterialVariable_t>
+            public const nint m_flRadiusScale = 0x3B8; // CParticleCollectionFloatInput
+            public const nint m_flAlphaScale = 0x518; // CParticleCollectionFloatInput
+            public const nint m_flRollScale = 0x678; // CParticleCollectionFloatInput
+            public const nint m_nAlpha2Field = 0x7D8; // ParticleAttributeIndex_t
+            public const nint m_vecColorScale = 0x7E0; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0xE58; // ParticleColorBlendType_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MaxVelocity {
+            public const nint m_flMaxVelocity = 0x1C0; // float32
+            public const nint m_flMinVelocity = 0x1C4; // float32
+            public const nint m_nOverrideCP = 0x1C8; // int32
+            public const nint m_nOverrideCPField = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_VelocityFromNormal {
+            public const nint m_fSpeedMin = 0x1C8; // float32
+            public const nint m_fSpeedMax = 0x1CC; // float32
+            public const nint m_bIgnoreDt = 0x1D0; // bool
+        }
+        // Parent: CParticleFunctionEmitter
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MaintainEmitter {
+            public const nint m_nParticlesToMaintain = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_flStartTime = 0x328; // float32
+            public const nint m_flEmissionDuration = 0x330; // CParticleCollectionFloatInput
+            public const nint m_flEmissionRate = 0x490; // float32
+            public const nint m_nSnapshotControlPoint = 0x494; // int32
+            public const nint m_bEmitInstantaneously = 0x498; // bool
+            public const nint m_bFinalEmitOnStop = 0x499; // bool
+            public const nint m_flScale = 0x4A0; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PositionOffsetToCP {
+            public const nint m_nControlPointNumberStart = 0x1C8; // int32
+            public const nint m_nControlPointNumberEnd = 0x1CC; // int32
+            public const nint m_bLocalCoords = 0x1D0; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapInitialTransformDirectionToRotation {
+            public const nint m_TransformInput = 0x1C8; // CParticleTransformInput
+            public const nint m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+            public const nint m_flOffsetRot = 0x234; // float32
+            public const nint m_nComponent = 0x238; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_FadeAndKill {
+            public const nint m_flStartFadeInTime = 0x1C0; // float32
+            public const nint m_flEndFadeInTime = 0x1C4; // float32
+            public const nint m_flStartFadeOutTime = 0x1C8; // float32
+            public const nint m_flEndFadeOutTime = 0x1CC; // float32
+            public const nint m_flStartAlpha = 0x1D0; // float32
+            public const nint m_flEndAlpha = 0x1D4; // float32
+            public const nint m_bForcePreserveParticleOrder = 0x1D8; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PARTICLE_WORLD_HANDLE__ {
+            public const nint unused = 0x0; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ColorInterpolate {
+            public const nint m_ColorFade = 0x1C0; // Color
+            public const nint m_flFadeStartTime = 0x1D0; // float32
+            public const nint m_flFadeEndTime = 0x1D4; // float32
+            public const nint m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t
+            public const nint m_bEaseInOut = 0x1DC; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RampScalarSpline {
+            public const nint m_RateMin = 0x1C0; // float32
+            public const nint m_RateMax = 0x1C4; // float32
+            public const nint m_flStartTime_min = 0x1C8; // float32
+            public const nint m_flStartTime_max = 0x1CC; // float32
+            public const nint m_flEndTime_min = 0x1D0; // float32
+            public const nint m_flEndTime_max = 0x1D4; // float32
+            public const nint m_flBias = 0x1D8; // float32
+            public const nint m_nField = 0x200; // ParticleAttributeIndex_t
+            public const nint m_bProportionalOp = 0x204; // bool
+            public const nint m_bEaseOut = 0x205; // bool
+        }
+        // Parent: C_OP_RemapNamedModelElementOnceTimed
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelSequenceOnceTimed {
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointFromObjectScale {
+            public const nint m_nCPInput = 0x1C8; // int32
+            public const nint m_nCPOutput = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MaintainSequentialPath {
+            public const nint m_fMaxDistance = 0x1C0; // float32
+            public const nint m_flNumToAssign = 0x1C4; // float32
+            public const nint m_flCohesionStrength = 0x1C8; // float32
+            public const nint m_flTolerance = 0x1CC; // float32
+            public const nint m_bLoop = 0x1D0; // bool
+            public const nint m_bUseParticleCount = 0x1D1; // bool
+            public const nint m_PathParams = 0x1E0; // CPathParameters
+        }
+        // Parent: C_OP_RemapNamedModelElementEndCap
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelBodyPartEndCap {
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_StopAfterCPDuration {
+            public const nint m_flDuration = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_bDestroyImmediately = 0x328; // bool
+            public const nint m_bPlayEndCap = 0x329; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CGeneralSpin {
+            public const nint m_nSpinRateDegrees = 0x1C0; // int32
+            public const nint m_nSpinRateMinDegrees = 0x1C4; // int32
+            public const nint m_fSpinRateStopTime = 0x1CC; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MParticleMaxVersion
+        // MParticleReplacementOp
+        // MGetKV3ClassDefaults
+        public static class C_OP_LockToSavedSequentialPath {
+            public const nint m_flFadeStart = 0x1C4; // float32
+            public const nint m_flFadeEnd = 0x1C8; // float32
+            public const nint m_bCPPairs = 0x1CC; // bool
+            public const nint m_PathParams = 0x1D0; // CPathParameters
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapNamedModelElementToScalar {
+            public const nint m_hModel = 0x1C8; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_names = 0x1D0; // CUtlVector<CUtlString>
+            public const nint m_values = 0x1E8; // CUtlVector<float32>
+            public const nint m_nFieldInput = 0x200; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x204; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x208; // ParticleSetMethod_t
+            public const nint m_bModelFromRenderer = 0x20C; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ClampVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecOutputMin = 0x1C8; // CPerParticleVecInput
+            public const nint m_vecOutputMax = 0x840; // CPerParticleVecInput
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderStatusEffectCitadel {
+            public const nint m_pTextureColorWarp = 0x210; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureNormal = 0x218; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureMetalness = 0x220; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureRoughness = 0x228; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureSelfIllum = 0x230; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_pTextureDetail = 0x238; // CStrongHandle<InfoForResourceTypeCTextureBase>
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapCPtoScalar {
+            public const nint m_nCPInput = 0x1C8; // int32
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_nField = 0x1D0; // int32
+            public const nint m_flInputMin = 0x1D4; // float32
+            public const nint m_flInputMax = 0x1D8; // float32
+            public const nint m_flOutputMin = 0x1DC; // float32
+            public const nint m_flOutputMax = 0x1E0; // float32
+            public const nint m_flStartTime = 0x1E4; // float32
+            public const nint m_flEndTime = 0x1E8; // float32
+            public const nint m_nSetMethod = 0x1EC; // ParticleSetMethod_t
+            public const nint m_flRemapBias = 0x1F0; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class IParticleSystemDefinition {
+        }
+        // Parent: CParticleFloatInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CParticleCollectionFloatInput {
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_WindForce {
+            public const nint m_vForce = 0x1D0; // Vector
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetVariable {
+            public const nint m_variableReference = 0x1C8; // CParticleVariableRef
+            public const nint m_transformInput = 0x208; // CParticleTransformInput
+            public const nint m_positionOffset = 0x270; // Vector
+            public const nint m_rotationOffset = 0x27C; // QAngle
+            public const nint m_vecInput = 0x288; // CParticleCollectionVecInput
+            public const nint m_floatInput = 0x900; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 29
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderStandardLight {
+            public const nint m_nLightType = 0x210; // ParticleLightTypeChoiceList_t
+            public const nint m_vecColorScale = 0x218; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0x890; // ParticleColorBlendType_t
+            public const nint m_flIntensity = 0x898; // CParticleCollectionFloatInput
+            public const nint m_bCastShadows = 0x9F8; // bool
+            public const nint m_flTheta = 0xA00; // CParticleCollectionFloatInput
+            public const nint m_flPhi = 0xB60; // CParticleCollectionFloatInput
+            public const nint m_flRadiusMultiplier = 0xCC0; // CParticleCollectionFloatInput
+            public const nint m_nAttenuationStyle = 0xE20; // StandardLightingAttenuationStyle_t
+            public const nint m_flFalloffLinearity = 0xE28; // CParticleCollectionFloatInput
+            public const nint m_flFiftyPercentFalloff = 0xF88; // CParticleCollectionFloatInput
+            public const nint m_flZeroPercentFalloff = 0x10E8; // CParticleCollectionFloatInput
+            public const nint m_bRenderDiffuse = 0x1248; // bool
+            public const nint m_bRenderSpecular = 0x1249; // bool
+            public const nint m_lightCookie = 0x1250; // CUtlString
+            public const nint m_nPriority = 0x1258; // int32
+            public const nint m_nFogLightingMode = 0x125C; // ParticleLightFogLightingMode_t
+            public const nint m_flFogContribution = 0x1260; // CParticleCollectionRendererFloatInput
+            public const nint m_nCapsuleLightBehavior = 0x13C0; // ParticleLightBehaviorChoiceList_t
+            public const nint m_flCapsuleLength = 0x13C4; // float32
+            public const nint m_bReverseOrder = 0x13C8; // bool
+            public const nint m_bClosedLoop = 0x13C9; // bool
+            public const nint m_nPrevPntSource = 0x13CC; // ParticleAttributeIndex_t
+            public const nint m_flMaxLength = 0x13D0; // float32
+            public const nint m_flMinLength = 0x13D4; // float32
+            public const nint m_bIgnoreDT = 0x13D8; // bool
+            public const nint m_flConstrainRadiusToLengthRatio = 0x13DC; // float32
+            public const nint m_flLengthScale = 0x13E0; // float32
+            public const nint m_flLengthFadeInTime = 0x13E4; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_DistanceToTransform {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flInputMax = 0x328; // CPerParticleFloatInput
+            public const nint m_flOutputMin = 0x488; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x5E8; // CPerParticleFloatInput
+            public const nint m_TransformStart = 0x748; // CParticleTransformInput
+            public const nint m_bLOS = 0x7B0; // bool
+            public const nint m_CollisionGroupName = 0x7B1; // char[128]
+            public const nint m_nTraceSet = 0x834; // ParticleTraceSet_t
+            public const nint m_flMaxTraceLength = 0x838; // float32
+            public const nint m_flLOSScale = 0x83C; // float32
+            public const nint m_nSetMethod = 0x840; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x844; // bool
+            public const nint m_bAdditive = 0x845; // bool
+            public const nint m_vecComponentScale = 0x848; // CPerParticleVecInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapControlPointOrientationToRotation {
+            public const nint m_nCP = 0x1C0; // int32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flOffsetRot = 0x1C8; // float32
+            public const nint m_nComponent = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToCenter {
+            public const nint m_nCP1 = 0x1C8; // int32
+            public const nint m_vecCP1Pos = 0x1CC; // Vector
+            public const nint m_bUseAvgParticlePos = 0x1D8; // bool
+            public const nint m_nSetParent = 0x1DC; // ParticleParentSetMode_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapAverageScalarValuetoCP {
+            public const nint m_nOutControlPointNumber = 0x1C8; // int32
+            public const nint m_nOutVectorField = 0x1CC; // int32
+            public const nint m_nField = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1D4; // float32
+            public const nint m_flInputMax = 0x1D8; // float32
+            public const nint m_flOutputMin = 0x1DC; // float32
+            public const nint m_flOutputMax = 0x1E0; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDotProductToScalar {
+            public const nint m_nInputCP1 = 0x1C0; // int32
+            public const nint m_nInputCP2 = 0x1C4; // int32
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1CC; // float32
+            public const nint m_flInputMax = 0x1D0; // float32
+            public const nint m_flOutputMin = 0x1D4; // float32
+            public const nint m_flOutputMax = 0x1D8; // float32
+            public const nint m_bUseParticleVelocity = 0x1DC; // bool
+            public const nint m_nSetMethod = 0x1E0; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x1E4; // bool
+            public const nint m_bUseParticleNormal = 0x1E5; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapCPtoCP {
+            public const nint m_nInputControlPoint = 0x1C8; // int32
+            public const nint m_nOutputControlPoint = 0x1CC; // int32
+            public const nint m_nInputField = 0x1D0; // int32
+            public const nint m_nOutputField = 0x1D4; // int32
+            public const nint m_flInputMin = 0x1D8; // float32
+            public const nint m_flInputMax = 0x1DC; // float32
+            public const nint m_flOutputMin = 0x1E0; // float32
+            public const nint m_flOutputMax = 0x1E4; // float32
+            public const nint m_bDerivative = 0x1E8; // bool
+            public const nint m_flInterpRate = 0x1EC; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointRotation {
+            public const nint m_vecRotAxis = 0x1C8; // CParticleCollectionVecInput
+            public const nint m_flRotRate = 0x840; // CParticleCollectionFloatInput
+            public const nint m_nCP = 0x9A0; // int32
+            public const nint m_nLocalCP = 0x9A4; // int32
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CurlNoiseForce {
+            public const nint m_nNoiseType = 0x1D0; // ParticleDirectionNoiseType_t
+            public const nint m_vecNoiseFreq = 0x1D8; // CPerParticleVecInput
+            public const nint m_vecNoiseScale = 0x850; // CPerParticleVecInput
+            public const nint m_vecOffset = 0xEC8; // CPerParticleVecInput
+            public const nint m_vecOffsetRate = 0x1540; // CPerParticleVecInput
+            public const nint m_flWorleySeed = 0x1BB8; // CPerParticleFloatInput
+            public const nint m_flWorleyJitter = 0x1D18; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_Orient2DRelToCP {
+            public const nint m_nCP = 0x1C8; // int32
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_flRotOffset = 0x1D0; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetSimulationRate {
+            public const nint m_flSimulationScale = 0x1C8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_FadeIn {
+            public const nint m_flFadeInTimeMin = 0x1C0; // float32
+            public const nint m_flFadeInTimeMax = 0x1C4; // float32
+            public const nint m_flFadeInTimeExp = 0x1C8; // float32
+            public const nint m_bProportional = 0x1CC; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderScreenShake {
+            public const nint m_flDurationScale = 0x210; // float32
+            public const nint m_flRadiusScale = 0x214; // float32
+            public const nint m_flFrequencyScale = 0x218; // float32
+            public const nint m_flAmplitudeScale = 0x21C; // float32
+            public const nint m_nRadiusField = 0x220; // ParticleAttributeIndex_t
+            public const nint m_nDurationField = 0x224; // ParticleAttributeIndex_t
+            public const nint m_nFrequencyField = 0x228; // ParticleAttributeIndex_t
+            public const nint m_nAmplitudeField = 0x22C; // ParticleAttributeIndex_t
+            public const nint m_nFilterCP = 0x230; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapBoundingVolumetoCP {
+            public const nint m_nOutControlPointNumber = 0x1C8; // int32
+            public const nint m_flInputMin = 0x1CC; // float32
+            public const nint m_flInputMax = 0x1D0; // float32
+            public const nint m_flOutputMin = 0x1D4; // float32
+            public const nint m_flOutputMax = 0x1D8; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_HSVShiftToCP {
+            public const nint m_nColorCP = 0x1C8; // int32
+            public const nint m_nColorGemEnableCP = 0x1CC; // int32
+            public const nint m_nOutputCP = 0x1D0; // int32
+            public const nint m_DefaultHSVColor = 0x1D4; // Color
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_GlobalScale {
+            public const nint m_flScale = 0x1C8; // float32
+            public const nint m_nScaleControlPointNumber = 0x1CC; // int32
+            public const nint m_nControlPointNumber = 0x1D0; // int32
+            public const nint m_bScaleRadius = 0x1D4; // bool
+            public const nint m_bScalePosition = 0x1D5; // bool
+            public const nint m_bScaleVelocity = 0x1D6; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RadiusFromCPObject {
+            public const nint m_nControlPoint = 0x1C8; // int32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitialVelocityFromHitbox {
+            public const nint m_flVelocityMin = 0x1C8; // float32
+            public const nint m_flVelocityMax = 0x1CC; // float32
+            public const nint m_nControlPointNumber = 0x1D0; // int32
+            public const nint m_HitboxSetName = 0x1D4; // char[128]
+            public const nint m_bUseBones = 0x254; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LerpVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecOutput = 0x1C4; // Vector
+            public const nint m_flStartTime = 0x1D0; // float32
+            public const nint m_flEndTime = 0x1D4; // float32
+            public const nint m_nSetMethod = 0x1D8; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointFieldToWater {
+            public const nint m_nSourceCP = 0x1C8; // int32
+            public const nint m_nDestCP = 0x1CC; // int32
+            public const nint m_nCPField = 0x1D0; // int32
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class TextureGroup_t {
+            public const nint m_bEnabled = 0x0; // bool
+            public const nint m_bReplaceTextureWithGradient = 0x1; // bool
+            public const nint m_hTexture = 0x8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Gradient = 0x10; // CColorGradient
+            public const nint m_nTextureType = 0x28; // SpriteCardTextureType_t
+            public const nint m_nTextureChannels = 0x2C; // SpriteCardTextureChannel_t
+            public const nint m_nTextureBlendMode = 0x30; // ParticleTextureLayerBlendType_t
+            public const nint m_flTextureBlend = 0x38; // CParticleCollectionRendererFloatInput
+            public const nint m_TextureControls = 0x198; // TextureControls_t
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_TimeVaryingForce {
+            public const nint m_flStartLerpTime = 0x1D0; // float32
+            public const nint m_StartingForce = 0x1D4; // Vector
+            public const nint m_flEndLerpTime = 0x1E0; // float32
+            public const nint m_EndingForce = 0x1E4; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetCPOrientationToGroundNormal {
+            public const nint m_flInterpRate = 0x1C0; // float32
+            public const nint m_flMaxTraceLength = 0x1C4; // float32
+            public const nint m_flTolerance = 0x1C8; // float32
+            public const nint m_flTraceOffset = 0x1CC; // float32
+            public const nint m_CollisionGroupName = 0x1D0; // char[128]
+            public const nint m_nTraceSet = 0x250; // ParticleTraceSet_t
+            public const nint m_nInputCP = 0x254; // int32
+            public const nint m_nOutputCP = 0x258; // int32
+            public const nint m_bIncludeWater = 0x268; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SnapshotSkinToBones {
+            public const nint m_bTransformNormals = 0x1C0; // bool
+            public const nint m_bTransformRadii = 0x1C1; // bool
+            public const nint m_nControlPointNumber = 0x1C4; // int32
+            public const nint m_flLifeTimeFadeStart = 0x1C8; // float32
+            public const nint m_flLifeTimeFadeEnd = 0x1CC; // float32
+            public const nint m_flJumpThreshold = 0x1D0; // float32
+            public const nint m_flPrevPosScale = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateWithinSphereTransform {
+            public const nint m_fRadiusMin = 0x1C8; // CPerParticleFloatInput
+            public const nint m_fRadiusMax = 0x328; // CPerParticleFloatInput
+            public const nint m_vecDistanceBias = 0x488; // CPerParticleVecInput
+            public const nint m_vecDistanceBiasAbs = 0xB00; // Vector
+            public const nint m_TransformInput = 0xB10; // CParticleTransformInput
+            public const nint m_fSpeedMin = 0xB78; // CPerParticleFloatInput
+            public const nint m_fSpeedMax = 0xCD8; // CPerParticleFloatInput
+            public const nint m_fSpeedRandExp = 0xE38; // float32
+            public const nint m_bLocalCoords = 0xE3C; // bool
+            public const nint m_flEndCPGrowthTime = 0xE40; // float32
+            public const nint m_LocalCoordinateSystemSpeedMin = 0xE48; // CPerParticleVecInput
+            public const nint m_LocalCoordinateSystemSpeedMax = 0x14C0; // CPerParticleVecInput
+            public const nint m_nFieldOutput = 0x1B38; // ParticleAttributeIndex_t
+            public const nint m_nFieldVelocity = 0x1B3C; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RadiusDecay {
+            public const nint m_flMinRadius = 0x1C0; // float32
+        }
+        // Parent: C_INIT_RemapNamedModelElementToScalar
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapNamedModelBodyPartToScalar {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapScalarToVector {
+            public const nint m_nFieldInput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1D0; // float32
+            public const nint m_flInputMax = 0x1D4; // float32
+            public const nint m_vecOutputMin = 0x1D8; // Vector
+            public const nint m_vecOutputMax = 0x1E4; // Vector
+            public const nint m_flStartTime = 0x1F0; // float32
+            public const nint m_flEndTime = 0x1F4; // float32
+            public const nint m_nSetMethod = 0x1F8; // ParticleSetMethod_t
+            public const nint m_nControlPointNumber = 0x1FC; // int32
+            public const nint m_bLocalCoords = 0x200; // bool
+            public const nint m_flRemapBias = 0x204; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitialSequenceFromModel {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutputAnim = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1D4; // float32
+            public const nint m_flInputMax = 0x1D8; // float32
+            public const nint m_flOutputMin = 0x1DC; // float32
+            public const nint m_flOutputMax = 0x1E0; // float32
+            public const nint m_nSetMethod = 0x1E4; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionEmitter
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_NoiseEmitter {
+            public const nint m_flEmissionDuration = 0x1C8; // float32
+            public const nint m_flStartTime = 0x1CC; // float32
+            public const nint m_flEmissionScale = 0x1D0; // float32
+            public const nint m_nScaleControlPoint = 0x1D4; // int32
+            public const nint m_nScaleControlPointField = 0x1D8; // int32
+            public const nint m_nWorldNoisePoint = 0x1DC; // int32
+            public const nint m_bAbsVal = 0x1E0; // bool
+            public const nint m_bAbsValInv = 0x1E1; // bool
+            public const nint m_flOffset = 0x1E4; // float32
+            public const nint m_flOutputMin = 0x1E8; // float32
+            public const nint m_flOutputMax = 0x1EC; // float32
+            public const nint m_flNoiseScale = 0x1F0; // float32
+            public const nint m_flWorldNoiseScale = 0x1F4; // float32
+            public const nint m_vecOffsetLoc = 0x1F8; // Vector
+            public const nint m_flWorldTimeScale = 0x204; // float32
+        }
+        // Parent: CParticleFunction
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionInitializer {
+            public const nint m_nAssociatedEmitterIndex = 0x1C0; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SelectivelyEnableChildren {
+            public const nint m_nChildGroupID = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_nFirstChild = 0x328; // CParticleCollectionFloatInput
+            public const nint m_nNumChildrenToEnable = 0x488; // CParticleCollectionFloatInput
+            public const nint m_bPlayEndcapOnStop = 0x5E8; // bool
+            public const nint m_bDestroyImmediately = 0x5E9; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ModelReference_t {
+            public const nint m_model = 0x0; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_flRelativeProbabilityOfSpawn = 0x8; // float32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PlanarConstraint {
+            public const nint m_PointOnPlane = 0x1C0; // Vector
+            public const nint m_PlaneNormal = 0x1CC; // Vector
+            public const nint m_nControlPointNumber = 0x1D8; // int32
+            public const nint m_bGlobalOrigin = 0x1DC; // bool
+            public const nint m_bGlobalNormal = 0x1DD; // bool
+            public const nint m_flRadiusScale = 0x1E0; // CPerParticleFloatInput
+            public const nint m_flMaximumDistanceToCP = 0x340; // CParticleCollectionFloatInput
+            public const nint m_bUseOldCode = 0x4A0; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateFromCPs {
+            public const nint m_nIncrement = 0x1C8; // int32
+            public const nint m_nMinCP = 0x1CC; // int32
+            public const nint m_nMaxCP = 0x1D0; // int32
+            public const nint m_nDynamicCPCount = 0x1D8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LockPoints {
+            public const nint m_nMinCol = 0x1C0; // int32
+            public const nint m_nMaxCol = 0x1C4; // int32
+            public const nint m_nMinRow = 0x1C8; // int32
+            public const nint m_nMaxRow = 0x1CC; // int32
+            public const nint m_nControlPoint = 0x1D0; // int32
+            public const nint m_flBlendValue = 0x1D4; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_CreateSpiralSphere {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nOverrideCP = 0x1CC; // int32
+            public const nint m_nDensity = 0x1D0; // int32
+            public const nint m_flInitialRadius = 0x1D4; // float32
+            public const nint m_flInitialSpeedMin = 0x1D8; // float32
+            public const nint m_flInitialSpeedMax = 0x1DC; // float32
+            public const nint m_bUseParticleCount = 0x1E0; // bool
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CPVelocityForce {
+            public const nint m_nControlPointNumber = 0x1D0; // int32
+            public const nint m_flScale = 0x1D8; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapNamedModelElementEndCap {
+            public const nint m_hModel = 0x1C0; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_inNames = 0x1C8; // CUtlVector<CUtlString>
+            public const nint m_outNames = 0x1E0; // CUtlVector<CUtlString>
+            public const nint m_fallbackNames = 0x1F8; // CUtlVector<CUtlString>
+            public const nint m_bModelFromRenderer = 0x210; // bool
+            public const nint m_nFieldInput = 0x214; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x218; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_ScaleVelocity {
+            public const nint m_vecScale = 0x1C8; // CParticleCollectionVecInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MoveToHitbox {
+            public const nint m_modelInput = 0x1C0; // CParticleModelInput
+            public const nint m_transformInput = 0x220; // CParticleTransformInput
+            public const nint m_flLifeTimeLerpStart = 0x28C; // float32
+            public const nint m_flLifeTimeLerpEnd = 0x290; // float32
+            public const nint m_flPrevPosScale = 0x294; // float32
+            public const nint m_HitboxSetName = 0x298; // char[128]
+            public const nint m_bUseBones = 0x318; // bool
+            public const nint m_nLerpType = 0x31C; // HitboxLerpType_t
+            public const nint m_flInterpolation = 0x320; // CPerParticleFloatInput
+        }
+        // Parent: CParticleInput
+        // Field count: 47
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MParticleCustomFieldDefaultValue
+        public static class CParticleFloatInput {
+            public const nint m_nType = 0x10; // ParticleFloatType_t
+            public const nint m_nMapType = 0x14; // ParticleFloatMapType_t
+            public const nint m_flLiteralValue = 0x18; // float32
+            public const nint m_NamedValue = 0x20; // CParticleNamedValueRef
+            public const nint m_nControlPoint = 0x60; // int32
+            public const nint m_nScalarAttribute = 0x64; // ParticleAttributeIndex_t
+            public const nint m_nVectorAttribute = 0x68; // ParticleAttributeIndex_t
+            public const nint m_nVectorComponent = 0x6C; // int32
+            public const nint m_flRandomMin = 0x70; // float32
+            public const nint m_flRandomMax = 0x74; // float32
+            public const nint m_bHasRandomSignFlip = 0x78; // bool
+            public const nint m_nRandomSeed = 0x7C; // int32
+            public const nint m_nRandomMode = 0x80; // ParticleFloatRandomMode_t
+            public const nint m_flLOD0 = 0x88; // float32
+            public const nint m_flLOD1 = 0x8C; // float32
+            public const nint m_flLOD2 = 0x90; // float32
+            public const nint m_flLOD3 = 0x94; // float32
+            public const nint m_nNoiseInputVectorAttribute = 0x98; // ParticleAttributeIndex_t
+            public const nint m_flNoiseOutputMin = 0x9C; // float32
+            public const nint m_flNoiseOutputMax = 0xA0; // float32
+            public const nint m_flNoiseScale = 0xA4; // float32
+            public const nint m_vecNoiseOffsetRate = 0xA8; // Vector
+            public const nint m_flNoiseOffset = 0xB4; // float32
+            public const nint m_nNoiseOctaves = 0xB8; // int32
+            public const nint m_nNoiseTurbulence = 0xBC; // PFNoiseTurbulence_t
+            public const nint m_nNoiseType = 0xC0; // PFNoiseType_t
+            public const nint m_nNoiseModifier = 0xC4; // PFNoiseModifier_t
+            public const nint m_flNoiseTurbulenceScale = 0xC8; // float32
+            public const nint m_flNoiseTurbulenceMix = 0xCC; // float32
+            public const nint m_flNoiseImgPreviewScale = 0xD0; // float32
+            public const nint m_bNoiseImgPreviewLive = 0xD4; // bool
+            public const nint m_flNoCameraFallback = 0xE0; // float32
+            public const nint m_bUseBoundsCenter = 0xE4; // bool
+            public const nint m_nInputMode = 0xE8; // ParticleFloatInputMode_t
+            public const nint m_flMultFactor = 0xEC; // float32
+            public const nint m_flInput0 = 0xF0; // float32
+            public const nint m_flInput1 = 0xF4; // float32
+            public const nint m_flOutput0 = 0xF8; // float32
+            public const nint m_flOutput1 = 0xFC; // float32
+            public const nint m_flNotchedRangeMin = 0x100; // float32
+            public const nint m_flNotchedRangeMax = 0x104; // float32
+            public const nint m_flNotchedOutputOutside = 0x108; // float32
+            public const nint m_flNotchedOutputInside = 0x10C; // float32
+            public const nint m_nRoundType = 0x110; // ParticleFloatRoundType_t
+            public const nint m_nBiasType = 0x114; // ParticleFloatBiasType_t
+            public const nint m_flBiasParameter = 0x118; // float32
+            public const nint m_Curve = 0x120; // CPiecewiseCurve
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PointList {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_pointList = 0x1D0; // CUtlVector<PointDefinition_t>
+            public const nint m_bPlaceAlongPath = 0x1E8; // bool
+            public const nint m_bClosedLoop = 0x1E9; // bool
+            public const nint m_nNumPointsAlongPath = 0x1EC; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LerpToOtherAttribute {
+            public const nint m_flInterpolation = 0x1C0; // CPerParticleFloatInput
+            public const nint m_nFieldInputFrom = 0x320; // ParticleAttributeIndex_t
+            public const nint m_nFieldInput = 0x324; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x328; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RandomColor {
+            public const nint m_ColorMin = 0x1E4; // Color
+            public const nint m_ColorMax = 0x1E8; // Color
+            public const nint m_TintMin = 0x1EC; // Color
+            public const nint m_TintMax = 0x1F0; // Color
+            public const nint m_flTintPerc = 0x1F4; // float32
+            public const nint m_flUpdateThreshold = 0x1F8; // float32
+            public const nint m_nTintCP = 0x1FC; // int32
+            public const nint m_nFieldOutput = 0x200; // ParticleAttributeIndex_t
+            public const nint m_nTintBlendMode = 0x204; // ParticleColorBlendMode_t
+            public const nint m_flLightAmplification = 0x208; // float32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetGravityToCP {
+            public const nint m_nCPInput = 0x1C8; // int32
+            public const nint m_nCPOutput = 0x1CC; // int32
+            public const nint m_flScale = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_bSetOrientation = 0x330; // bool
+            public const nint m_bSetZDown = 0x331; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapParticleCountToScalar {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_nInputMin = 0x1CC; // int32
+            public const nint m_nInputMax = 0x1D0; // int32
+            public const nint m_nScaleControlPoint = 0x1D4; // int32
+            public const nint m_nScaleControlPointField = 0x1D8; // int32
+            public const nint m_flOutputMin = 0x1DC; // float32
+            public const nint m_flOutputMax = 0x1E0; // float32
+            public const nint m_nSetMethod = 0x1E4; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x1E8; // bool
+            public const nint m_bInvert = 0x1E9; // bool
+            public const nint m_bWrap = 0x1EA; // bool
+            public const nint m_flRemapBias = 0x1EC; // float32
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InheritFromParentParticles {
+            public const nint m_flScale = 0x1C8; // float32
+            public const nint m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_nIncrement = 0x1D0; // int32
+            public const nint m_bRandomDistribution = 0x1D4; // bool
+            public const nint m_nRandomSeed = 0x1D8; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RampScalarLinearSimple {
+            public const nint m_Rate = 0x1C0; // float32
+            public const nint m_flStartTime = 0x1C4; // float32
+            public const nint m_flEndTime = 0x1C8; // float32
+            public const nint m_nField = 0x1F0; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_ChaoticAttractor {
+            public const nint m_flAParm = 0x1C8; // float32
+            public const nint m_flBParm = 0x1CC; // float32
+            public const nint m_flCParm = 0x1D0; // float32
+            public const nint m_flDParm = 0x1D4; // float32
+            public const nint m_flScale = 0x1D8; // float32
+            public const nint m_flSpeedMin = 0x1DC; // float32
+            public const nint m_flSpeedMax = 0x1E0; // float32
+            public const nint m_nBaseCP = 0x1E4; // int32
+            public const nint m_bUniformSpeed = 0x1E8; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_MovementRigidAttachToCP {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_nScaleControlPoint = 0x1C4; // int32
+            public const nint m_nScaleCPField = 0x1C8; // int32
+            public const nint m_nFieldInput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_bOffsetLocal = 0x1D4; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderFlattenGrass {
+            public const nint m_flFlattenStrength = 0x210; // float32
+            public const nint m_nStrengthFieldOverride = 0x214; // ParticleAttributeIndex_t
+            public const nint m_flRadiusScale = 0x218; // float32
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderLightBeam {
+            public const nint m_vColorBlend = 0x210; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0x888; // ParticleColorBlendType_t
+            public const nint m_flBrightnessLumensPerMeter = 0x890; // CParticleCollectionFloatInput
+            public const nint m_bCastShadows = 0x9F0; // bool
+            public const nint m_flSkirt = 0x9F8; // CParticleCollectionFloatInput
+            public const nint m_flRange = 0xB58; // CParticleCollectionFloatInput
+            public const nint m_flThickness = 0xCB8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_EnableChildrenFromParentParticleCount {
+            public const nint m_nChildGroupID = 0x1C8; // int32
+            public const nint m_nFirstChild = 0x1CC; // int32
+            public const nint m_nNumChildrenToEnable = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_bDisableChildren = 0x330; // bool
+            public const nint m_bPlayEndcapOnStop = 0x331; // bool
+            public const nint m_bDestroyImmediately = 0x332; // bool
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 15
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_DistanceToCPInit {
+            public const nint m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1D0; // CPerParticleFloatInput
+            public const nint m_flInputMax = 0x330; // CPerParticleFloatInput
+            public const nint m_flOutputMin = 0x490; // CPerParticleFloatInput
+            public const nint m_flOutputMax = 0x5F0; // CPerParticleFloatInput
+            public const nint m_nStartCP = 0x750; // int32
+            public const nint m_bLOS = 0x754; // bool
+            public const nint m_CollisionGroupName = 0x755; // char[128]
+            public const nint m_nTraceSet = 0x7D8; // ParticleTraceSet_t
+            public const nint m_flMaxTraceLength = 0x7E0; // CPerParticleFloatInput
+            public const nint m_flLOSScale = 0x940; // float32
+            public const nint m_nSetMethod = 0x944; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x948; // bool
+            public const nint m_vecDistanceScale = 0x94C; // Vector
+            public const nint m_flRemapBias = 0x958; // float32
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CReplicationParameters {
+            public const nint m_nReplicationMode = 0x0; // ParticleReplicationMode_t
+            public const nint m_bScaleChildParticleRadii = 0x4; // bool
+            public const nint m_flMinRandomRadiusScale = 0x8; // CParticleCollectionFloatInput
+            public const nint m_flMaxRandomRadiusScale = 0x168; // CParticleCollectionFloatInput
+            public const nint m_vMinRandomDisplacement = 0x2C8; // CParticleCollectionVecInput
+            public const nint m_vMaxRandomDisplacement = 0x940; // CParticleCollectionVecInput
+            public const nint m_flModellingScale = 0xFB8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_EndCapDecay {
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ForceBasedOnDistanceToPlane {
+            public const nint m_flMinDist = 0x1D0; // float32
+            public const nint m_vecForceAtMinDist = 0x1D4; // Vector
+            public const nint m_flMaxDist = 0x1E0; // float32
+            public const nint m_vecForceAtMaxDist = 0x1E4; // Vector
+            public const nint m_vecPlaneNormal = 0x1F0; // Vector
+            public const nint m_nControlPointNumber = 0x1FC; // int32
+            public const nint m_flExponent = 0x200; // float32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapDensityToVector {
+            public const nint m_flRadiusScale = 0x1C0; // float32
+            public const nint m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            public const nint m_flDensityMin = 0x1C8; // float32
+            public const nint m_flDensityMax = 0x1CC; // float32
+            public const nint m_vecOutputMin = 0x1D0; // Vector
+            public const nint m_vecOutputMax = 0x1DC; // Vector
+            public const nint m_bUseParentDensity = 0x1E8; // bool
+            public const nint m_nVoxelGridResolution = 0x1EC; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticleControlPointConfiguration_t {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_drivers = 0x8; // CUtlVector<ParticleControlPointDriver_t>
+            public const nint m_previewState = 0x20; // ParticlePreviewState_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SetRigidAttachment {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_nFieldInput = 0x1CC; // ParticleAttributeIndex_t
+            public const nint m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t
+            public const nint m_bLocalSpace = 0x1D4; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialVariable_t {
+            public const nint m_strVariable = 0x0; // CUtlString
+            public const nint m_nVariableField = 0x8; // ParticleAttributeIndex_t
+            public const nint m_flScale = 0xC; // float32
+        }
+        // Parent: CParticleFunction
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionConstraint {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapSpeed {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C4; // float32
+            public const nint m_flInputMax = 0x1C8; // float32
+            public const nint m_flOutputMin = 0x1CC; // float32
+            public const nint m_flOutputMax = 0x1D0; // float32
+            public const nint m_nSetMethod = 0x1D4; // ParticleSetMethod_t
+            public const nint m_bIgnoreDelta = 0x1D8; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 54
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderModels {
+            public const nint m_bOnlyRenderInEffectsBloomPass = 0x210; // bool
+            public const nint m_bOnlyRenderInEffectsWaterPass = 0x211; // bool
+            public const nint m_bUseMixedResolutionRendering = 0x212; // bool
+            public const nint m_bOnlyRenderInEffecsGameOverlay = 0x213; // bool
+            public const nint m_ModelList = 0x218; // CUtlVector<ModelReference_t>
+            public const nint m_nBodyGroupField = 0x230; // ParticleAttributeIndex_t
+            public const nint m_nSubModelField = 0x234; // ParticleAttributeIndex_t
+            public const nint m_bIgnoreNormal = 0x238; // bool
+            public const nint m_bOrientZ = 0x239; // bool
+            public const nint m_bCenterOffset = 0x23A; // bool
+            public const nint m_vecLocalOffset = 0x240; // CPerParticleVecInput
+            public const nint m_vecLocalRotation = 0x8B8; // CPerParticleVecInput
+            public const nint m_bIgnoreRadius = 0xF30; // bool
+            public const nint m_nModelScaleCP = 0xF34; // int32
+            public const nint m_vecComponentScale = 0xF38; // CPerParticleVecInput
+            public const nint m_bLocalScale = 0x15B0; // bool
+            public const nint m_nSizeCullBloat = 0x15B4; // int32
+            public const nint m_bAnimated = 0x15B8; // bool
+            public const nint m_flAnimationRate = 0x15C0; // CPerParticleFloatInput
+            public const nint m_bScaleAnimationRate = 0x1720; // bool
+            public const nint m_bForceLoopingAnimation = 0x1721; // bool
+            public const nint m_bResetAnimOnStop = 0x1722; // bool
+            public const nint m_bManualAnimFrame = 0x1723; // bool
+            public const nint m_nAnimationScaleField = 0x1724; // ParticleAttributeIndex_t
+            public const nint m_nAnimationField = 0x1728; // ParticleAttributeIndex_t
+            public const nint m_nManualFrameField = 0x172C; // ParticleAttributeIndex_t
+            public const nint m_ActivityName = 0x1730; // char[256]
+            public const nint m_SequenceName = 0x1830; // char[256]
+            public const nint m_bEnableClothSimulation = 0x1930; // bool
+            public const nint m_ClothEffectName = 0x1931; // char[64]
+            public const nint m_hOverrideMaterial = 0x1978; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_bOverrideTranslucentMaterials = 0x1980; // bool
+            public const nint m_nSkin = 0x1988; // CPerParticleFloatInput
+            public const nint m_MaterialVars = 0x1AE8; // CUtlVector<MaterialVariable_t>
+            public const nint m_flManualModelSelection = 0x1B00; // CPerParticleFloatInput
+            public const nint m_modelInput = 0x1C60; // CParticleModelInput
+            public const nint m_nLOD = 0x1CC0; // int32
+            public const nint m_EconSlotName = 0x1CC4; // char[256]
+            public const nint m_bOriginalModel = 0x1DC4; // bool
+            public const nint m_bSuppressTint = 0x1DC5; // bool
+            public const nint m_nSubModelFieldType = 0x1DC8; // RenderModelSubModelFieldType_t
+            public const nint m_bDisableShadows = 0x1DCC; // bool
+            public const nint m_bDisableDepthPrepass = 0x1DCD; // bool
+            public const nint m_bAcceptsDecals = 0x1DCE; // bool
+            public const nint m_bForceDrawInterlevedWithSiblings = 0x1DCF; // bool
+            public const nint m_bDoNotDrawInParticlePass = 0x1DD0; // bool
+            public const nint m_bAllowApproximateTransforms = 0x1DD1; // bool
+            public const nint m_szRenderAttribute = 0x1DD2; // char[260]
+            public const nint m_flRadiusScale = 0x1ED8; // CParticleCollectionFloatInput
+            public const nint m_flAlphaScale = 0x2038; // CParticleCollectionFloatInput
+            public const nint m_flRollScale = 0x2198; // CParticleCollectionFloatInput
+            public const nint m_nAlpha2Field = 0x22F8; // ParticleAttributeIndex_t
+            public const nint m_vecColorScale = 0x2300; // CParticleCollectionVecInput
+            public const nint m_nColorBlendType = 0x2978; // ParticleColorBlendType_t
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderClientPhysicsImpulse {
+            public const nint m_flRadius = 0x210; // CPerParticleFloatInput
+            public const nint m_flMagnitude = 0x370; // CPerParticleFloatInput
+            public const nint m_nSimIdFilter = 0x4D0; // int32
+        }
+        // Parent: CParticleFunction
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CParticleFunctionEmitter {
+            public const nint m_nEmitterIndex = 0x1C0; // int32
+        }
+        // Parent: C_INIT_RemapNamedModelElementToScalar
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapNamedModelMeshGroupToScalar {
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointOrientationToCPVelocity {
+            public const nint m_nCPInput = 0x1C8; // int32
+            public const nint m_nCPOutput = 0x1CC; // int32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RopeSpringConstraint {
+            public const nint m_flRestLength = 0x1C0; // CParticleCollectionFloatInput
+            public const nint m_flMinDistance = 0x320; // CParticleCollectionFloatInput
+            public const nint m_flMaxDistance = 0x480; // CParticleCollectionFloatInput
+            public const nint m_flAdjustmentScale = 0x5E0; // float32
+            public const nint m_flInitialRestingLength = 0x5E8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_PositionWarpScalar {
+            public const nint m_vecWarpMin = 0x1C8; // Vector
+            public const nint m_vecWarpMax = 0x1D4; // Vector
+            public const nint m_InputValue = 0x1E0; // CPerParticleFloatInput
+            public const nint m_flPrevPosScale = 0x340; // float32
+            public const nint m_nScaleControlPointNumber = 0x344; // int32
+            public const nint m_nControlPointNumber = 0x348; // int32
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ForceControlPointStub {
+            public const nint m_ControlPoint = 0x1C8; // int32
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_VectorNoise {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecOutputMin = 0x1C4; // Vector
+            public const nint m_vecOutputMax = 0x1D0; // Vector
+            public const nint m_fl4NoiseScale = 0x1DC; // float32
+            public const nint m_bAdditive = 0x1E0; // bool
+            public const nint m_bOffset = 0x1E1; // bool
+            public const nint m_flNoiseAnimationTimeScale = 0x1E4; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        public static class IParticleCollection {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapParticleCountToScalar {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_nInputMin = 0x1C8; // CParticleCollectionFloatInput
+            public const nint m_nInputMax = 0x328; // CParticleCollectionFloatInput
+            public const nint m_flOutputMin = 0x488; // CParticleCollectionFloatInput
+            public const nint m_flOutputMax = 0x5E8; // CParticleCollectionFloatInput
+            public const nint m_bActiveRange = 0x748; // bool
+            public const nint m_nSetMethod = 0x74C; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_QuantizeFloat {
+            public const nint m_InputValue = 0x1C8; // CPerParticleFloatInput
+            public const nint m_nOutputField = 0x328; // ParticleAttributeIndex_t
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RemapModelVolumetoCP {
+            public const nint m_nBBoxType = 0x1C8; // BBoxVolumeType_t
+            public const nint m_nInControlPointNumber = 0x1CC; // int32
+            public const nint m_nOutControlPointNumber = 0x1D0; // int32
+            public const nint m_nOutControlPointMaxNumber = 0x1D4; // int32
+            public const nint m_nField = 0x1D8; // int32
+            public const nint m_flInputMin = 0x1DC; // float32
+            public const nint m_flInputMax = 0x1E0; // float32
+            public const nint m_flOutputMin = 0x1E4; // float32
+            public const nint m_flOutputMax = 0x1E8; // float32
+            public const nint m_bBBoxOnly = 0x1EC; // bool
+            public const nint m_bCubeRoot = 0x1ED; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetToCP {
+            public const nint m_nControlPointNumber = 0x1C0; // int32
+            public const nint m_vecOffset = 0x1C4; // Vector
+            public const nint m_bOffsetLocal = 0x1D0; // bool
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ParticleControlPointDriver_t {
+            public const nint m_iControlPoint = 0x0; // int32
+            public const nint m_iAttachType = 0x4; // ParticleAttachment_t
+            public const nint m_attachmentName = 0x8; // CUtlString
+            public const nint m_vecOffset = 0x10; // Vector
+            public const nint m_angOffset = 0x1C; // QAngle
+            public const nint m_entityName = 0x28; // CUtlString
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ParentVortices {
+            public const nint m_flForceScale = 0x1D0; // float32
+            public const nint m_vecTwistAxis = 0x1D4; // Vector
+            public const nint m_bFlipBasedOnYaw = 0x1E0; // bool
+        }
+        // Parent: CParticleFunctionPreEmission
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetControlPointToCPVelocity {
+            public const nint m_nCPInput = 0x1C8; // int32
+            public const nint m_nCPOutputVel = 0x1CC; // int32
+            public const nint m_bNormalize = 0x1D0; // bool
+            public const nint m_nCPOutputMag = 0x1D4; // int32
+            public const nint m_nCPField = 0x1D8; // int32
+            public const nint m_vecComparisonVelocity = 0x1E0; // CParticleCollectionVecInput
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ClientPhysics {
+            public const nint m_strPhysicsType = 0x210; // CUtlString
+            public const nint m_bStartAsleep = 0x218; // bool
+            public const nint m_flPlayerWakeRadius = 0x220; // CParticleCollectionFloatInput
+            public const nint m_flVehicleWakeRadius = 0x380; // CParticleCollectionFloatInput
+            public const nint m_bUseHighQualitySimulation = 0x4E0; // bool
+            public const nint m_nMaxParticleCount = 0x4E4; // int32
+            public const nint m_bRespectExclusionVolumes = 0x4E8; // bool
+            public const nint m_bKillParticles = 0x4E9; // bool
+            public const nint m_bDeleteSim = 0x4EA; // bool
+            public const nint m_nControlPoint = 0x4EC; // int32
+            public const nint m_nColorBlendType = 0x4F0; // ParticleColorBlendType_t
+        }
+        // Parent: CGeneralSpin
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SpinYaw {
+        }
+        // Parent: PointDefinition_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PointDefinitionWithTimeValues_t {
+            public const nint m_flTimeDuration = 0x14; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RenderProjectedMaterial_t {
+            public const nint m_hMaterial = 0x0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: CParticleFunctionForce
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_ExternalWindForce {
+            public const nint m_vecSamplePosition = 0x1D0; // CPerParticleVecInput
+            public const nint m_vecScale = 0x848; // CPerParticleVecInput
+            public const nint m_bSampleWind = 0xEC0; // bool
+            public const nint m_bSampleWater = 0xEC1; // bool
+            public const nint m_bDampenNearWaterPlane = 0xEC2; // bool
+            public const nint m_bSampleGravity = 0xEC3; // bool
+            public const nint m_vecGravityForce = 0xEC8; // CPerParticleVecInput
+            public const nint m_bUseBasicMovementGravity = 0x1540; // bool
+            public const nint m_flLocalGravityScale = 0x1548; // CPerParticleFloatInput
+            public const nint m_flLocalBuoyancyScale = 0x16A8; // CPerParticleFloatInput
+            public const nint m_vecBuoyancyForce = 0x1808; // CPerParticleVecInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_ModelCull {
+            public const nint m_nControlPointNumber = 0x1C8; // int32
+            public const nint m_bBoundBox = 0x1CC; // bool
+            public const nint m_bCullOutside = 0x1CD; // bool
+            public const nint m_bUseBones = 0x1CE; // bool
+            public const nint m_HitboxSetName = 0x1CF; // char[128]
+        }
+        // Parent: CBaseRendererSource2
+        // Field count: 28
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderSprites {
+            public const nint m_nSequenceOverride = 0x2AA8; // CParticleCollectionRendererFloatInput
+            public const nint m_nOrientationType = 0x2C08; // ParticleOrientationChoiceList_t
+            public const nint m_nOrientationControlPoint = 0x2C0C; // int32
+            public const nint m_bUseYawWithNormalAligned = 0x2C10; // bool
+            public const nint m_flMinSize = 0x2C18; // CParticleCollectionRendererFloatInput
+            public const nint m_flMaxSize = 0x2D78; // CParticleCollectionRendererFloatInput
+            public const nint m_flAlphaAdjustWithSizeAdjust = 0x2ED8; // CParticleCollectionRendererFloatInput
+            public const nint m_flStartFadeSize = 0x3038; // CParticleCollectionRendererFloatInput
+            public const nint m_flEndFadeSize = 0x3198; // CParticleCollectionRendererFloatInput
+            public const nint m_flStartFadeDot = 0x32F8; // float32
+            public const nint m_flEndFadeDot = 0x32FC; // float32
+            public const nint m_bDistanceAlpha = 0x3300; // bool
+            public const nint m_bSoftEdges = 0x3301; // bool
+            public const nint m_flEdgeSoftnessStart = 0x3304; // float32
+            public const nint m_flEdgeSoftnessEnd = 0x3308; // float32
+            public const nint m_bOutline = 0x330C; // bool
+            public const nint m_OutlineColor = 0x330D; // Color
+            public const nint m_nOutlineAlpha = 0x3314; // int32
+            public const nint m_flOutlineStart0 = 0x3318; // float32
+            public const nint m_flOutlineStart1 = 0x331C; // float32
+            public const nint m_flOutlineEnd0 = 0x3320; // float32
+            public const nint m_flOutlineEnd1 = 0x3324; // float32
+            public const nint m_nLightingMode = 0x3328; // ParticleLightingQuality_t
+            public const nint m_flLightingTessellation = 0x3330; // CParticleCollectionRendererFloatInput
+            public const nint m_flLightingDirectionality = 0x3490; // CParticleCollectionRendererFloatInput
+            public const nint m_bParticleShadows = 0x35F0; // bool
+            public const nint m_flShadowDensity = 0x35F4; // float32
+            public const nint m_replicationParameters = 0x35F8; // CReplicationParameters
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_PercentageBetweenTransformLerpCPs {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flInputMin = 0x1C4; // float32
+            public const nint m_flInputMax = 0x1C8; // float32
+            public const nint m_TransformStart = 0x1D0; // CParticleTransformInput
+            public const nint m_TransformEnd = 0x238; // CParticleTransformInput
+            public const nint m_nOutputStartCP = 0x2A0; // int32
+            public const nint m_nOutputStartField = 0x2A4; // int32
+            public const nint m_nOutputEndCP = 0x2A8; // int32
+            public const nint m_nOutputEndField = 0x2AC; // int32
+            public const nint m_nSetMethod = 0x2B0; // ParticleSetMethod_t
+            public const nint m_bActiveRange = 0x2B4; // bool
+            public const nint m_bRadialCheck = 0x2B5; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetPerChildControlPoint {
+            public const nint m_nChildGroupID = 0x1C0; // int32
+            public const nint m_nFirstControlPoint = 0x1C4; // int32
+            public const nint m_nNumControlPoints = 0x1C8; // int32
+            public const nint m_nParticleIncrement = 0x1D0; // CParticleCollectionFloatInput
+            public const nint m_nFirstSourcePoint = 0x330; // CParticleCollectionFloatInput
+            public const nint m_bSetOrientation = 0x490; // bool
+            public const nint m_nOrientationField = 0x494; // ParticleAttributeIndex_t
+            public const nint m_bNumBasedOnParticleCount = 0x498; // bool
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderTreeShake {
+            public const nint m_flPeakStrength = 0x210; // float32
+            public const nint m_nPeakStrengthFieldOverride = 0x214; // ParticleAttributeIndex_t
+            public const nint m_flRadius = 0x218; // float32
+            public const nint m_nRadiusFieldOverride = 0x21C; // ParticleAttributeIndex_t
+            public const nint m_flShakeDuration = 0x220; // float32
+            public const nint m_flTransitionTime = 0x224; // float32
+            public const nint m_flTwistAmount = 0x228; // float32
+            public const nint m_flRadialAmount = 0x22C; // float32
+            public const nint m_flControlPointOrientationAmount = 0x230; // float32
+            public const nint m_nControlPointForLinearDirection = 0x234; // int32
+        }
+        // Parent: CParticleFunctionConstraint
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_WorldCollideConstraint {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_SetAttributeToScalarExpression {
+            public const nint m_nExpression = 0x1C0; // ScalarExpressionType_t
+            public const nint m_flInput1 = 0x1C8; // CPerParticleFloatInput
+            public const nint m_flInput2 = 0x328; // CPerParticleFloatInput
+            public const nint m_flOutputRemap = 0x488; // CParticleRemapFloatInput
+            public const nint m_nOutputField = 0x5E8; // ParticleAttributeIndex_t
+            public const nint m_nSetMethod = 0x5EC; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CycleScalar {
+            public const nint m_nDestField = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flStartValue = 0x1C4; // float32
+            public const nint m_flEndValue = 0x1C8; // float32
+            public const nint m_flCycleTime = 0x1CC; // float32
+            public const nint m_bDoNotRepeatCycle = 0x1D0; // bool
+            public const nint m_bSynchronizeParticles = 0x1D1; // bool
+            public const nint m_nCPScale = 0x1D4; // int32
+            public const nint m_nCPFieldMin = 0x1D8; // int32
+            public const nint m_nCPFieldMax = 0x1DC; // int32
+            public const nint m_nSetMethod = 0x1E0; // ParticleSetMethod_t
+        }
+        // Parent: CParticleFunctionRenderer
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RenderMaterialProxy {
+            public const nint m_nMaterialControlPoint = 0x210; // int32
+            public const nint m_nProxyType = 0x214; // MaterialProxyType_t
+            public const nint m_MaterialVars = 0x218; // CUtlVector<MaterialVariable_t>
+            public const nint m_hOverrideMaterial = 0x230; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_flMaterialOverrideEnabled = 0x238; // CParticleCollectionFloatInput
+            public const nint m_vecColorScale = 0x398; // CParticleCollectionVecInput
+            public const nint m_flAlpha = 0xA10; // CPerParticleFloatInput
+            public const nint m_nColorBlendType = 0xB70; // ParticleColorBlendType_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FloatInputMaterialVariable_t {
+            public const nint m_strVariable = 0x0; // CUtlString
+            public const nint m_flInput = 0x8; // CParticleCollectionFloatInput
+        }
+        // Parent: CParticleCollectionVecInput
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyCustomEditor
+        public static class CParticleCollectionRendererVecInput {
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RampScalarLinear {
+            public const nint m_RateMin = 0x1C0; // float32
+            public const nint m_RateMax = 0x1C4; // float32
+            public const nint m_flStartTime_min = 0x1C8; // float32
+            public const nint m_flStartTime_max = 0x1CC; // float32
+            public const nint m_flEndTime_min = 0x1D0; // float32
+            public const nint m_flEndTime_max = 0x1D4; // float32
+            public const nint m_nField = 0x200; // ParticleAttributeIndex_t
+            public const nint m_bProportionalOp = 0x204; // bool
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_RotateVector {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_vecRotAxisMin = 0x1C4; // Vector
+            public const nint m_vecRotAxisMax = 0x1D0; // Vector
+            public const nint m_flRotRateMin = 0x1DC; // float32
+            public const nint m_flRotRateMax = 0x1E0; // float32
+            public const nint m_bNormalize = 0x1E4; // bool
+            public const nint m_flScale = 0x1E8; // CPerParticleFloatInput
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_InitVecCollection {
+            public const nint m_InputValue = 0x1C8; // CParticleCollectionVecInput
+            public const nint m_nOutputField = 0x840; // ParticleAttributeIndex_t
+        }
+        // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar {
+        }
+        // Parent: CParticleFunctionInitializer
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_INIT_SequenceFromCP {
+            public const nint m_bKillUnused = 0x1C8; // bool
+            public const nint m_bRadiusScale = 0x1C9; // bool
+            public const nint m_nCP = 0x1CC; // int32
+            public const nint m_vecOffset = 0x1D0; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_CPOffsetToPercentageBetweenCPs {
+            public const nint m_flInputMin = 0x1C0; // float32
+            public const nint m_flInputMax = 0x1C4; // float32
+            public const nint m_flInputBias = 0x1C8; // float32
+            public const nint m_nStartCP = 0x1CC; // int32
+            public const nint m_nEndCP = 0x1D0; // int32
+            public const nint m_nOffsetCP = 0x1D4; // int32
+            public const nint m_nOuputCP = 0x1D8; // int32
+            public const nint m_nInputCP = 0x1DC; // int32
+            public const nint m_bRadialCheck = 0x1E0; // bool
+            public const nint m_bScaleOffset = 0x1E1; // bool
+            public const nint m_vecOffset = 0x1E4; // Vector
+        }
+        // Parent: CParticleFunctionOperator
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class C_OP_LerpEndCapScalar {
+            public const nint m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            public const nint m_flOutput = 0x1C4; // float32
+            public const nint m_flLerpTime = 0x1C8; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        public static class CParticleProperty {
+        }
+    }
+}
diff --git a/output/particles_dll.hpp b/output/particles_dll.hpp
new file mode 100644
index 0000000..af8c66b
--- /dev/null
+++ b/output/particles_dll.hpp
@@ -0,0 +1,6657 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: particles.dll
+        // Class count: 446
+        // Enum count: 77
+        namespace particles_dll {
+            // Alignment: 4
+            // Member count: 6
+            enum class ParticleSetMethod_t : uint32_t {
+                PARTICLE_SET_REPLACE_VALUE = 0x0,
+                PARTICLE_SET_SCALE_INITIAL_VALUE = 0x1,
+                PARTICLE_SET_ADD_TO_INITIAL_VALUE = 0x2,
+                PARTICLE_SET_RAMP_CURRENT_VALUE = 0x3,
+                PARTICLE_SET_SCALE_CURRENT_VALUE = 0x4,
+                PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class Detail2Combo_t : uint32_t {
+                DETAIL_2_COMBO_UNINITIALIZED = 0xFFFFFFFFFFFFFFFF,
+                DETAIL_2_COMBO_OFF = 0x0,
+                DETAIL_2_COMBO_ADD = 0x1,
+                DETAIL_2_COMBO_ADD_SELF_ILLUM = 0x2,
+                DETAIL_2_COMBO_MOD2X = 0x3,
+                DETAIL_2_COMBO_MUL = 0x4,
+                DETAIL_2_COMBO_CROSSFADE = 0x5
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class MissingParentInheritBehavior_t : uint32_t {
+                MISSING_PARENT_DO_NOTHING = 0xFFFFFFFFFFFFFFFF,
+                MISSING_PARENT_KILL = 0x0,
+                MISSING_PARENT_FIND_NEW = 0x1,
+                MISSING_PARENT_SAME_INDEX = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleFloatBiasType_t : uint32_t {
+                PF_BIAS_TYPE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PF_BIAS_TYPE_STANDARD = 0x0,
+                PF_BIAS_TYPE_GAIN = 0x1,
+                PF_BIAS_TYPE_EXPONENTIAL = 0x2,
+                PF_BIAS_TYPE_COUNT = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleTraceMissBehavior_t : uint32_t {
+                PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0,
+                PARTICLE_TRACE_MISS_BEHAVIOR_KILL = 0x1,
+                PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class PFuncVisualizationType_t : uint32_t {
+                PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0,
+                PFUNC_VISUALIZATION_SPHERE_SOLID = 0x1,
+                PFUNC_VISUALIZATION_BOX = 0x2,
+                PFUNC_VISUALIZATION_RING = 0x3,
+                PFUNC_VISUALIZATION_PLANE = 0x4,
+                PFUNC_VISUALIZATION_LINE = 0x5,
+                PFUNC_VISUALIZATION_CYLINDER = 0x6
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleVRHandChoiceList_t : uint32_t {
+                PARTICLE_VRHAND_LEFT = 0x0,
+                PARTICLE_VRHAND_RIGHT = 0x1,
+                PARTICLE_VRHAND_CP = 0x2,
+                PARTICLE_VRHAND_CP_OBJECT = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleReplicationMode_t : uint32_t {
+                PARTICLE_REPLICATIONMODE_NONE = 0x0,
+                PARTICLE_REPLICATIONMODE_REPLICATE_FOR_EACH_PARENT_PARTICLE = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class PetGroundType_t : uint32_t {
+                PET_GROUND_NONE = 0x0,
+                PET_GROUND_GRID = 0x1,
+                PET_GROUND_PLANE = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class InheritableBoolType_t : uint32_t {
+                INHERITABLE_BOOL_INHERIT = 0x0,
+                INHERITABLE_BOOL_FALSE = 0x1,
+                INHERITABLE_BOOL_TRUE = 0x2
+            };
+            // Alignment: 4
+            // Member count: 24
+            enum class ParticleFloatType_t : uint32_t {
+                PF_TYPE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PF_TYPE_LITERAL = 0x0,
+                PF_TYPE_NAMED_VALUE = 0x1,
+                PF_TYPE_RANDOM_UNIFORM = 0x2,
+                PF_TYPE_RANDOM_BIASED = 0x3,
+                PF_TYPE_COLLECTION_AGE = 0x4,
+                PF_TYPE_ENDCAP_AGE = 0x5,
+                PF_TYPE_CONTROL_POINT_COMPONENT = 0x6,
+                PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7,
+                PF_TYPE_CONTROL_POINT_SPEED = 0x8,
+                PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9,
+                PF_TYPE_CONCURRENT_DEF_COUNT = 0xA,
+                PF_TYPE_CLOSEST_CAMERA_DISTANCE = 0xB,
+                PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xC,
+                PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xD,
+                PF_TYPE_PARTICLE_NOISE = 0xE,
+                PF_TYPE_PARTICLE_AGE = 0xF,
+                PF_TYPE_PARTICLE_AGE_NORMALIZED = 0x10,
+                PF_TYPE_PARTICLE_FLOAT = 0x11,
+                PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x12,
+                PF_TYPE_PARTICLE_SPEED = 0x13,
+                PF_TYPE_PARTICLE_NUMBER = 0x14,
+                PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x15,
+                PF_TYPE_COUNT = 0x16
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class ParticlePostProcessPriorityGroup_t : uint32_t {
+                PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0,
+                PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE = 0x1,
+                PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT = 0x2,
+                PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_LOW = 0x3,
+                PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_HIGH = 0x4,
+                PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI = 0x5
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class PFNoiseTurbulence_t : uint32_t {
+                PF_NOISE_TURB_NONE = 0x0,
+                PF_NOISE_TURB_HIGHLIGHT = 0x1,
+                PF_NOISE_TURB_FEEDBACK = 0x2,
+                PF_NOISE_TURB_LOOPY = 0x3,
+                PF_NOISE_TURB_CONTRAST = 0x4,
+                PF_NOISE_TURB_ALTERNATE = 0x5
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleColorBlendMode_t : uint32_t {
+                PARTICLEBLEND_DEFAULT = 0x0,
+                PARTICLEBLEND_OVERLAY = 0x1,
+                PARTICLEBLEND_DARKEN = 0x2,
+                PARTICLEBLEND_LIGHTEN = 0x3,
+                PARTICLEBLEND_MULTIPLY = 0x4
+            };
+            // Alignment: 4
+            // Member count: 13
+            enum class ParticleColorBlendType_t : uint32_t {
+                PARTICLE_COLOR_BLEND_MULTIPLY = 0x0,
+                PARTICLE_COLOR_BLEND_MULTIPLY2X = 0x1,
+                PARTICLE_COLOR_BLEND_DIVIDE = 0x2,
+                PARTICLE_COLOR_BLEND_ADD = 0x3,
+                PARTICLE_COLOR_BLEND_SUBTRACT = 0x4,
+                PARTICLE_COLOR_BLEND_MOD2X = 0x5,
+                PARTICLE_COLOR_BLEND_SCREEN = 0x6,
+                PARTICLE_COLOR_BLEND_MAX = 0x7,
+                PARTICLE_COLOR_BLEND_MIN = 0x8,
+                PARTICLE_COLOR_BLEND_REPLACE = 0x9,
+                PARTICLE_COLOR_BLEND_AVERAGE = 0xA,
+                PARTICLE_COLOR_BLEND_NEGATE = 0xB,
+                PARTICLE_COLOR_BLEND_LUMINANCE = 0xC
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class DetailCombo_t : uint32_t {
+                DETAIL_COMBO_OFF = 0x0,
+                DETAIL_COMBO_ADD = 0x1,
+                DETAIL_COMBO_ADD_SELF_ILLUM = 0x2,
+                DETAIL_COMBO_MOD2X = 0x3
+            };
+            // Alignment: 4
+            // Member count: 9
+            enum class ScalarExpressionType_t : uint32_t {
+                SCALAR_EXPRESSION_UNINITIALIZED = 0xFFFFFFFFFFFFFFFF,
+                SCALAR_EXPRESSION_ADD = 0x0,
+                SCALAR_EXPRESSION_SUBTRACT = 0x1,
+                SCALAR_EXPRESSION_MUL = 0x2,
+                SCALAR_EXPRESSION_DIVIDE = 0x3,
+                SCALAR_EXPRESSION_INPUT_1 = 0x4,
+                SCALAR_EXPRESSION_MIN = 0x5,
+                SCALAR_EXPRESSION_MAX = 0x6,
+                SCALAR_EXPRESSION_MOD = 0x7
+            };
+            // Alignment: 4
+            // Member count: 14
+            enum class SpriteCardPerParticleScale_t : uint32_t {
+                SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0,
+                SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE = 0x1,
+                SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME = 0x2,
+                SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA1 = 0x3,
+                SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA2 = 0x4,
+                SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_ALPHA = 0x5,
+                SPRITECARD_TEXTURE_PP_SCALE_SHADER_RADIUS = 0x6,
+                SPRITECARD_TEXTURE_PP_SCALE_ROLL = 0x7,
+                SPRITECARD_TEXTURE_PP_SCALE_YAW = 0x8,
+                SPRITECARD_TEXTURE_PP_SCALE_PITCH = 0x9,
+                SPRITECARD_TEXTURE_PP_SCALE_RANDOM = 0xA,
+                SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM = 0xB,
+                SPRITECARD_TEXTURE_PP_SCALE_RANDOM_TIME = 0xC,
+                SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME = 0xD
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class BlurFilterType_t : uint32_t {
+                BLURFILTER_GAUSSIAN = 0x0,
+                BLURFILTER_BOX = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class StandardLightingAttenuationStyle_t : uint32_t {
+                LIGHT_STYLE_OLD = 0x0,
+                LIGHT_STYLE_NEW = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleParentSetMode_t : uint32_t {
+                PARTICLE_SET_PARENT_NO = 0x0,
+                PARTICLE_SET_PARENT_IMMEDIATE = 0x1,
+                PARTICLE_SET_PARENT_ROOT = 0x1
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleModelType_t : uint32_t {
+                PM_TYPE_INVALID = 0x0,
+                PM_TYPE_NAMED_VALUE_MODEL = 0x1,
+                PM_TYPE_NAMED_VALUE_EHANDLE = 0x2,
+                PM_TYPE_CONTROL_POINT = 0x3,
+                PM_TYPE_COUNT = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleLightingQuality_t : uint32_t {
+                PARTICLE_LIGHTING_PER_PARTICLE = 0x0,
+                PARTICLE_LIGHTING_PER_VERTEX = 0x1,
+                PARTICLE_LIGHTING_PER_PIXEL = 0xFFFFFFFFFFFFFFFF
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleFloatRoundType_t : uint32_t {
+                PF_ROUND_TYPE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PF_ROUND_TYPE_NEAREST = 0x0,
+                PF_ROUND_TYPE_FLOOR = 0x1,
+                PF_ROUND_TYPE_CEIL = 0x2,
+                PF_ROUND_TYPE_COUNT = 0x3
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PFNoiseType_t : uint32_t {
+                PF_NOISE_TYPE_PERLIN = 0x0,
+                PF_NOISE_TYPE_SIMPLEX = 0x1,
+                PF_NOISE_TYPE_WORLEY = 0x2,
+                PF_NOISE_TYPE_CURL = 0x3
+            };
+            // Alignment: 4
+            // Member count: 11
+            enum class EventTypeSelection_t : uint32_t {
+                PARTICLE_EVENT_TYPE_MASK_NONE = 0x0,
+                PARTICLE_EVENT_TYPE_MASK_SPAWNED = 0x1,
+                PARTICLE_EVENT_TYPE_MASK_KILLED = 0x2,
+                PARTICLE_EVENT_TYPE_MASK_COLLISION = 0x4,
+                PARTICLE_EVENT_TYPE_MASK_FIRST_COLLISION = 0x8,
+                PARTICLE_EVENT_TYPE_MASK_COLLISION_STOPPED = 0x10,
+                PARTICLE_EVENT_TYPE_MASK_KILLED_ON_COLLISION = 0x20,
+                PARTICLE_EVENT_TYPE_MASK_USER_1 = 0x40,
+                PARTICLE_EVENT_TYPE_MASK_USER_2 = 0x80,
+                PARTICLE_EVENT_TYPE_MASK_USER_3 = 0x100,
+                PARTICLE_EVENT_TYPE_MASK_USER_4 = 0x200
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleMassMode_t : uint32_t {
+                PARTICLE_MASSMODE_RADIUS_CUBED = 0x0,
+                PARTICLE_MASSMODE_RADIUS_SQUARED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleDirectionNoiseType_t : uint32_t {
+                PARTICLE_DIR_NOISE_PERLIN = 0x0,
+                PARTICLE_DIR_NOISE_CURL = 0x1,
+                PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleHitboxBiasType_t : uint32_t {
+                PARTICLE_HITBOX_BIAS_ENTITY = 0x0,
+                PARTICLE_HITBOX_BIAS_HITBOX = 0x1
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class ParticleControlPointAxis_t : uint32_t {
+                PARTICLE_CP_AXIS_X = 0x0,
+                PARTICLE_CP_AXIS_Y = 0x1,
+                PARTICLE_CP_AXIS_Z = 0x2,
+                PARTICLE_CP_AXIS_NEGATIVE_X = 0x3,
+                PARTICLE_CP_AXIS_NEGATIVE_Y = 0x4,
+                PARTICLE_CP_AXIS_NEGATIVE_Z = 0x5
+            };
+            // Alignment: 4
+            // Member count: 12
+            enum class ParticlePinDistance_t : uint32_t {
+                PARTICLE_PIN_DISTANCE_NONE = 0xFFFFFFFFFFFFFFFF,
+                PARTICLE_PIN_DISTANCE_NEIGHBOR = 0x0,
+                PARTICLE_PIN_DISTANCE_FARTHEST = 0x1,
+                PARTICLE_PIN_DISTANCE_FIRST = 0x2,
+                PARTICLE_PIN_DISTANCE_LAST = 0x3,
+                PARTICLE_PIN_DISTANCE_CENTER = 0x5,
+                PARTICLE_PIN_DISTANCE_CP = 0x6,
+                PARTICLE_PIN_DISTANCE_CP_PAIR_EITHER = 0x7,
+                PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH = 0x8,
+                PARTICLE_PIN_SPEED = 0x9,
+                PARTICLE_PIN_COLLECTION_AGE = 0xA,
+                PARTICLE_PIN_FLOAT_VALUE = 0xB
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class VectorFloatExpressionType_t : uint32_t {
+                VECTOR_FLOAT_EXPRESSION_UNINITIALIZED = 0xFFFFFFFFFFFFFFFF,
+                VECTOR_FLOAT_EXPRESSION_DOTPRODUCT = 0x0,
+                VECTOR_FLOAT_EXPRESSION_DISTANCE = 0x1,
+                VECTOR_FLOAT_EXPRESSION_DISTANCESQR = 0x2,
+                VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTH = 0x3,
+                VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTHSQR = 0x4,
+                VECTOR_FLOAT_EXPRESSION_INPUT1_NOISE = 0x5
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleFogType_t : uint32_t {
+                PARTICLE_FOG_GAME_DEFAULT = 0x0,
+                PARTICLE_FOG_ENABLED = 0x1,
+                PARTICLE_FOG_DISABLED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 9
+            enum class VectorExpressionType_t : uint32_t {
+                VECTOR_EXPRESSION_UNINITIALIZED = 0xFFFFFFFFFFFFFFFF,
+                VECTOR_EXPRESSION_ADD = 0x0,
+                VECTOR_EXPRESSION_SUBTRACT = 0x1,
+                VECTOR_EXPRESSION_MUL = 0x2,
+                VECTOR_EXPRESSION_DIVIDE = 0x3,
+                VECTOR_EXPRESSION_INPUT_1 = 0x4,
+                VECTOR_EXPRESSION_MIN = 0x5,
+                VECTOR_EXPRESSION_MAX = 0x6,
+                VECTOR_EXPRESSION_CROSSPRODUCT = 0x7
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleRotationLockType_t : uint32_t {
+                PARTICLE_ROTATION_LOCK_NONE = 0x0,
+                PARTICLE_ROTATION_LOCK_ROTATIONS = 0x1,
+                PARTICLE_ROTATION_LOCK_NORMAL = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class HitboxLerpType_t : uint32_t {
+                HITBOX_LERP_LIFETIME = 0x0,
+                HITBOX_LERP_CONSTANT = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class AnimationType_t : uint32_t {
+                ANIMATION_TYPE_FIXED_RATE = 0x0,
+                ANIMATION_TYPE_FIT_LIFETIME = 0x1,
+                ANIMATION_TYPE_MANUAL_FRAMES = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleAttrBoxFlags_t : uint32_t {
+                PARTICLE_ATTR_BOX_FLAGS_NONE = 0x0,
+                PARTICLE_ATTR_BOX_FLAGS_WATER = 0x1
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleTopology_t : uint32_t {
+                PARTICLE_TOPOLOGY_POINTS = 0x0,
+                PARTICLE_TOPOLOGY_LINES = 0x1,
+                PARTICLE_TOPOLOGY_TRIS = 0x2,
+                PARTICLE_TOPOLOGY_QUADS = 0x3,
+                PARTICLE_TOPOLOGY_CUBES = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleLightBehaviorChoiceList_t : uint32_t {
+                PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0,
+                PARTICLE_LIGHT_BEHAVIOR_ROPE = 0x1,
+                PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ModelHitboxType_t : uint32_t {
+                MODEL_HITBOX_TYPE_STANDARD = 0x0,
+                MODEL_HITBOX_TYPE_RAW_BONES = 0x1,
+                MODEL_HITBOX_TYPE_RENDERBOUNDS = 0x2,
+                MODEL_HITBOX_TYPE_SNAPSHOT = 0x3
+            };
+            // Alignment: 4
+            // Member count: 9
+            enum class ParticleFloatMapType_t : uint32_t {
+                PF_MAP_TYPE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PF_MAP_TYPE_DIRECT = 0x0,
+                PF_MAP_TYPE_MULT = 0x1,
+                PF_MAP_TYPE_REMAP = 0x2,
+                PF_MAP_TYPE_REMAP_BIASED = 0x3,
+                PF_MAP_TYPE_CURVE = 0x4,
+                PF_MAP_TYPE_NOTCHED = 0x5,
+                PF_MAP_TYPE_ROUND = 0x6,
+                PF_MAP_TYPE_COUNT = 0x7
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleTraceSet_t : uint32_t {
+                PARTICLE_TRACE_SET_ALL = 0x0,
+                PARTICLE_TRACE_SET_STATIC = 0x1,
+                PARTICLE_TRACE_SET_STATIC_AND_KEYFRAMED = 0x2,
+                PARTICLE_TRACE_SET_DYNAMIC = 0x3
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class ParticleTextureLayerBlendType_t : uint32_t {
+                SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0,
+                SPRITECARD_TEXTURE_BLEND_MOD2X = 0x1,
+                SPRITECARD_TEXTURE_BLEND_REPLACE = 0x2,
+                SPRITECARD_TEXTURE_BLEND_ADD = 0x3,
+                SPRITECARD_TEXTURE_BLEND_SUBTRACT = 0x4,
+                SPRITECARD_TEXTURE_BLEND_AVERAGE = 0x5,
+                SPRITECARD_TEXTURE_BLEND_LUMINANCE = 0x6
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleSelection_t : uint32_t {
+                PARTICLE_SELECTION_FIRST = 0x0,
+                PARTICLE_SELECTION_LAST = 0x1,
+                PARTICLE_SELECTION_NUMBER = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleFloatInputMode_t : uint32_t {
+                PF_INPUT_MODE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PF_INPUT_MODE_CLAMPED = 0x0,
+                PF_INPUT_MODE_LOOPED = 0x1,
+                PF_INPUT_MODE_COUNT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class SnapshotIndexType_t : uint32_t {
+                SNAPSHOT_INDEX_INCREMENT = 0x0,
+                SNAPSHOT_INDEX_DIRECT = 0x1
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class ParticleOutputBlendMode_t : uint32_t {
+                PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0,
+                PARTICLE_OUTPUT_BLEND_MODE_ADD = 0x1,
+                PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD = 0x2,
+                PARTICLE_OUTPUT_BLEND_MODE_HALF_BLEND_ADD = 0x3,
+                PARTICLE_OUTPUT_BLEND_MODE_NEG_HALF_BLEND_ADD = 0x4,
+                PARTICLE_OUTPUT_BLEND_MODE_MOD2X = 0x5,
+                PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN = 0x6
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleLightnintBranchBehavior_t : uint32_t {
+                PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0,
+                PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class MaterialProxyType_t : uint32_t {
+                MATERIAL_PROXY_STATUS_EFFECT = 0x0,
+                MATERIAL_PROXY_TINT = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleDepthFeatheringMode_t : uint32_t {
+                PARTICLE_DEPTH_FEATHERING_OFF = 0x0,
+                PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL = 0x1,
+                PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleFloatRandomMode_t : uint32_t {
+                PF_RANDOM_MODE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PF_RANDOM_MODE_CONSTANT = 0x0,
+                PF_RANDOM_MODE_VARYING = 0x1,
+                PF_RANDOM_MODE_COUNT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PFNoiseModifier_t : uint32_t {
+                PF_NOISE_MODIFIER_NONE = 0x0,
+                PF_NOISE_MODIFIER_LINES = 0x1,
+                PF_NOISE_MODIFIER_CLUMPS = 0x2,
+                PF_NOISE_MODIFIER_RINGS = 0x3
+            };
+            // Alignment: 4
+            // Member count: 19
+            enum class ParticleVecType_t : uint32_t {
+                PVEC_TYPE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PVEC_TYPE_LITERAL = 0x0,
+                PVEC_TYPE_LITERAL_COLOR = 0x1,
+                PVEC_TYPE_NAMED_VALUE = 0x2,
+                PVEC_TYPE_PARTICLE_VECTOR = 0x3,
+                PVEC_TYPE_PARTICLE_VELOCITY = 0x4,
+                PVEC_TYPE_CP_VALUE = 0x5,
+                PVEC_TYPE_CP_RELATIVE_POSITION = 0x6,
+                PVEC_TYPE_CP_RELATIVE_DIR = 0x7,
+                PVEC_TYPE_CP_RELATIVE_RANDOM_DIR = 0x8,
+                PVEC_TYPE_FLOAT_COMPONENTS = 0x9,
+                PVEC_TYPE_FLOAT_INTERP_CLAMPED = 0xA,
+                PVEC_TYPE_FLOAT_INTERP_OPEN = 0xB,
+                PVEC_TYPE_FLOAT_INTERP_GRADIENT = 0xC,
+                PVEC_TYPE_RANDOM_UNIFORM = 0xD,
+                PVEC_TYPE_RANDOM_UNIFORM_OFFSET = 0xE,
+                PVEC_TYPE_CP_DELTA = 0xF,
+                PVEC_TYPE_CLOSEST_CAMERA_POSITION = 0x10,
+                PVEC_TYPE_COUNT = 0x11
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleLightUnitChoiceList_t : uint32_t {
+                PARTICLE_LIGHT_UNIT_CANDELAS = 0x0,
+                PARTICLE_LIGHT_UNIT_LUMENS = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleFalloffFunction_t : uint32_t {
+                PARTICLE_FALLOFF_CONSTANT = 0x0,
+                PARTICLE_FALLOFF_LINEAR = 0x1,
+                PARTICLE_FALLOFF_EXPONENTIAL = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleSequenceCropOverride_t : uint32_t {
+                PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = 0xFFFFFFFFFFFFFFFF,
+                PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF = 0x0,
+                PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleDetailLevel_t : uint32_t {
+                PARTICLEDETAIL_LOW = 0x0,
+                PARTICLEDETAIL_MEDIUM = 0x1,
+                PARTICLEDETAIL_HIGH = 0x2,
+                PARTICLEDETAIL_ULTRA = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class BBoxVolumeType_t : uint32_t {
+                BBOX_VOLUME = 0x0,
+                BBOX_DIMENSIONS = 0x1,
+                BBOX_MINS_MAXS = 0x2
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class SpriteCardTextureType_t : uint32_t {
+                SPRITECARD_TEXTURE_DIFFUSE = 0x0,
+                SPRITECARD_TEXTURE_ZOOM = 0x1,
+                SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 0x2,
+                SPRITECARD_TEXTURE_UVDISTORTION = 0x3,
+                SPRITECARD_TEXTURE_UVDISTORTION_ZOOM = 0x4,
+                SPRITECARD_TEXTURE_NORMALMAP = 0x5,
+                SPRITECARD_TEXTURE_ANIMMOTIONVEC = 0x6,
+                SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_A = 0x7,
+                SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_B = 0x8,
+                SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleAlphaReferenceType_t : uint32_t {
+                PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0,
+                PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA = 0x1,
+                PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE = 0x2,
+                PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE = 0x3
+            };
+            // Alignment: 4
+            // Member count: 15
+            enum class SpriteCardTextureChannel_t : uint32_t {
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA = 0x1,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_A = 0x2,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A = 0x3,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_ALPHAMASK = 0x4,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_RGBMASK = 0x5,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA_RGBALPHA = 0x6,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_A_RGBALPHA = 0x7,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A_RGBALPHA = 0x8,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_R = 0x9,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_G = 0xA,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_B = 0xB,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RALPHA = 0xC,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_GALPHA = 0xD,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xE
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleTransformType_t : uint32_t {
+                PT_TYPE_INVALID = 0x0,
+                PT_TYPE_NAMED_VALUE = 0x1,
+                PT_TYPE_CONTROL_POINT = 0x2,
+                PT_TYPE_CONTROL_POINT_RANGE = 0x3,
+                PT_TYPE_COUNT = 0x4
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class RenderModelSubModelFieldType_t : uint32_t {
+                SUBMODEL_AS_BODYGROUP_SUBMODEL = 0x0,
+                SUBMODEL_AS_MESHGROUP_INDEX = 0x1,
+                SUBMODEL_AS_MESHGROUP_MASK = 0x2,
+                SUBMODEL_IGNORED_USE_MODEL_DEFAULT_MESHGROUP_MASK = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleHitboxDataSelection_t : uint32_t {
+                PARTICLE_HITBOX_AVERAGE_SPEED = 0x0,
+                PARTICLE_HITBOX_COUNT = 0x1
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class ParticleOrientationChoiceList_t : uint32_t {
+                PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0,
+                PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED = 0x1,
+                PARTICLE_ORIENTATION_WORLD_Z_ALIGNED = 0x2,
+                PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL = 0x3,
+                PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL = 0x4,
+                PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class ParticleCollisionMode_t : uint32_t {
+                COLLISION_MODE_PER_PARTICLE_TRACE = 0x3,
+                COLLISION_MODE_USE_NEAREST_TRACE = 0x2,
+                COLLISION_MODE_PER_FRAME_PLANESET = 0x1,
+                COLLISION_MODE_INITIAL_TRACE_DOWN = 0x0,
+                COLLISION_MODE_DISABLED = 0xFFFFFFFFFFFFFFFF
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleSortingChoiceList_t : uint32_t {
+                PARTICLE_SORTING_NEAREST = 0x0,
+                PARTICLE_SORTING_CREATION_TIME = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleEndcapMode_t : uint32_t {
+                PARTICLE_ENDCAP_ALWAYS_ON = 0xFFFFFFFFFFFFFFFF,
+                PARTICLE_ENDCAP_ENDCAP_OFF = 0x0,
+                PARTICLE_ENDCAP_ENDCAP_ON = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ClosestPointTestType_t : uint32_t {
+                PARTICLE_CLOSEST_TYPE_BOX = 0x0,
+                PARTICLE_CLOSEST_TYPE_CAPSULE = 0x1,
+                PARTICLE_CLOSEST_TYPE_HYBRID = 0x2
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class ParticleImpulseType_t : uint32_t {
+                IMPULSE_TYPE_NONE = 0x0,
+                IMPULSE_TYPE_GENERIC = 0x1,
+                IMPULSE_TYPE_ROPE = 0x2,
+                IMPULSE_TYPE_EXPLOSION = 0x4,
+                IMPULSE_TYPE_EXPLOSION_UNDERWATER = 0x8,
+                IMPULSE_TYPE_PARTICLE_SYSTEM = 0x10
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class SpriteCardShaderType_t : uint32_t {
+                SPRITECARD_SHADER_BASE = 0x0,
+                SPRITECARD_SHADER_CUSTOM = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleOmni2LightTypeChoiceList_t : uint32_t {
+                PARTICLE_OMNI2_LIGHT_TYPE_POINT = 0x0,
+                PARTICLE_OMNI2_LIGHT_TYPE_SPHERE = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ParticleLightFogLightingMode_t : uint32_t {
+                PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0,
+                PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC = 0x2,
+                PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ParticleLightTypeChoiceList_t : uint32_t {
+                PARTICLE_LIGHT_TYPE_POINT = 0x0,
+                PARTICLE_LIGHT_TYPE_SPOT = 0x1,
+                PARTICLE_LIGHT_TYPE_FX = 0x2,
+                PARTICLE_LIGHT_TYPE_CAPSULE = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ParticleOrientationSetMode_t : uint32_t {
+                PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0,
+                PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class TextureRepetitionMode_t : uint32_t {
+                TEXTURE_REPETITION_PARTICLE = 0x0,
+                TEXTURE_REPETITION_PATH = 0x1
+            };
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapGravityToVector {
+                constexpr std::ptrdiff_t m_vInput1 = 0x1C0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x838; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x83C; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bNormalizedOutput = 0x840; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Decay {
+                constexpr std::ptrdiff_t m_bRopeDecay = 0x1C0; // bool
+                constexpr std::ptrdiff_t m_bForcePreserveParticleOrder = 0x1C1; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderDeferredLight {
+                constexpr std::ptrdiff_t m_bUseAlphaTestWindow = 0x210; // bool
+                constexpr std::ptrdiff_t m_bUseTexture = 0x211; // bool
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x214; // float32
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x218; // float32
+                constexpr std::ptrdiff_t m_nAlpha2Field = 0x21C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecColorScale = 0x220; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0x898; // ParticleColorBlendType_t
+                constexpr std::ptrdiff_t m_flLightDistance = 0x89C; // float32
+                constexpr std::ptrdiff_t m_flStartFalloff = 0x8A0; // float32
+                constexpr std::ptrdiff_t m_flDistanceFalloff = 0x8A4; // float32
+                constexpr std::ptrdiff_t m_flSpotFoV = 0x8A8; // float32
+                constexpr std::ptrdiff_t m_nAlphaTestPointField = 0x8AC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAlphaTestRangeField = 0x8B0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAlphaTestSharpnessField = 0x8B4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_hTexture = 0x8B8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_nHSVShiftControlPoint = 0x8C0; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapSpeedtoCP {
+                constexpr std::ptrdiff_t m_nInControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nField = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_bUseDeltaV = 0x1E4; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapTransformToVelocity {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CollisionGroupContext_t {
+                constexpr std::ptrdiff_t m_nCollisionGroupNumber = 0x0; // int32
+            }
+            // Parent: CParticleInput
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            // MParticleCustomFieldDefaultValue
+            namespace CParticleModelInput {
+                constexpr std::ptrdiff_t m_nType = 0x10; // ParticleModelType_t
+                constexpr std::ptrdiff_t m_NamedValue = 0x18; // CParticleNamedValueRef
+                constexpr std::ptrdiff_t m_nControlPoint = 0x58; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionPreEmission {
+                constexpr std::ptrdiff_t m_bRunOnce = 0x1C0; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_FadeOutSimple {
+                constexpr std::ptrdiff_t m_flFadeOutTime = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SpringToVectorConstraint {
+                constexpr std::ptrdiff_t m_flRestLength = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMinDistance = 0x320; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x480; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRestingLength = 0x5E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecAnchorVector = 0x740; // CPerParticleVecInput
+            }
+            // Parent: CBaseRendererSource2
+            // Field count: 30
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderRopes {
+                constexpr std::ptrdiff_t m_bEnableFadingAndClamping = 0x2AA8; // bool
+                constexpr std::ptrdiff_t m_flMinSize = 0x2AAC; // float32
+                constexpr std::ptrdiff_t m_flMaxSize = 0x2AB0; // float32
+                constexpr std::ptrdiff_t m_flStartFadeSize = 0x2AB4; // float32
+                constexpr std::ptrdiff_t m_flEndFadeSize = 0x2AB8; // float32
+                constexpr std::ptrdiff_t m_flStartFadeDot = 0x2ABC; // float32
+                constexpr std::ptrdiff_t m_flEndFadeDot = 0x2AC0; // float32
+                constexpr std::ptrdiff_t m_flRadiusTaper = 0x2AC4; // float32
+                constexpr std::ptrdiff_t m_nMinTesselation = 0x2AC8; // int32
+                constexpr std::ptrdiff_t m_nMaxTesselation = 0x2ACC; // int32
+                constexpr std::ptrdiff_t m_flTessScale = 0x2AD0; // float32
+                constexpr std::ptrdiff_t m_flTextureVWorldSize = 0x2AD8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flTextureVScrollRate = 0x2C38; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flTextureVOffset = 0x2D98; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nTextureVParamsCP = 0x2EF8; // int32
+                constexpr std::ptrdiff_t m_bClampV = 0x2EFC; // bool
+                constexpr std::ptrdiff_t m_nScaleCP1 = 0x2F00; // int32
+                constexpr std::ptrdiff_t m_nScaleCP2 = 0x2F04; // int32
+                constexpr std::ptrdiff_t m_flScaleVSizeByControlPointDistance = 0x2F08; // float32
+                constexpr std::ptrdiff_t m_flScaleVScrollByControlPointDistance = 0x2F0C; // float32
+                constexpr std::ptrdiff_t m_flScaleVOffsetByControlPointDistance = 0x2F10; // float32
+                constexpr std::ptrdiff_t m_bUseScalarForTextureCoordinate = 0x2F15; // bool
+                constexpr std::ptrdiff_t m_nScalarFieldForTextureCoordinate = 0x2F18; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScalarAttributeTextureCoordScale = 0x2F1C; // float32
+                constexpr std::ptrdiff_t m_bReverseOrder = 0x2F20; // bool
+                constexpr std::ptrdiff_t m_bClosedLoop = 0x2F21; // bool
+                constexpr std::ptrdiff_t m_nOrientationType = 0x2F24; // ParticleOrientationChoiceList_t
+                constexpr std::ptrdiff_t m_nVectorFieldForOrientation = 0x2F28; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bDrawAsOpaque = 0x2F2C; // bool
+                constexpr std::ptrdiff_t m_bGenerateNormals = 0x2F2D; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 19
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_StatusEffectCitadel {
+                constexpr std::ptrdiff_t m_flSFXColorWarpAmount = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flSFXNormalAmount = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flSFXMetalnessAmount = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flSFXRoughnessAmount = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flSFXSelfIllumAmount = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flSFXSScale = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flSFXSScrollX = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flSFXSScrollY = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flSFXSScrollZ = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_flSFXSOffsetX = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_flSFXSOffsetY = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_flSFXSOffsetZ = 0x1F4; // float32
+                constexpr std::ptrdiff_t m_nDetailCombo = 0x1F8; // DetailCombo_t
+                constexpr std::ptrdiff_t m_flSFXSDetailAmount = 0x1FC; // float32
+                constexpr std::ptrdiff_t m_flSFXSDetailScale = 0x200; // float32
+                constexpr std::ptrdiff_t m_flSFXSDetailScrollX = 0x204; // float32
+                constexpr std::ptrdiff_t m_flSFXSDetailScrollY = 0x208; // float32
+                constexpr std::ptrdiff_t m_flSFXSDetailScrollZ = 0x20C; // float32
+                constexpr std::ptrdiff_t m_flSFXSUseModelUVs = 0x210; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderSound {
+                constexpr std::ptrdiff_t m_flDurationScale = 0x210; // float32
+                constexpr std::ptrdiff_t m_flSndLvlScale = 0x214; // float32
+                constexpr std::ptrdiff_t m_flPitchScale = 0x218; // float32
+                constexpr std::ptrdiff_t m_flVolumeScale = 0x21C; // float32
+                constexpr std::ptrdiff_t m_nSndLvlField = 0x220; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nDurationField = 0x224; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nPitchField = 0x228; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVolumeField = 0x22C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nChannel = 0x230; // int32
+                constexpr std::ptrdiff_t m_nCPReference = 0x234; // int32
+                constexpr std::ptrdiff_t m_pszSoundName = 0x238; // char[256]
+                constexpr std::ptrdiff_t m_bSuppressStopSoundEvent = 0x338; // bool
+            }
+            // Parent: None
+            // Field count: 19
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleVisibilityInputs {
+                constexpr std::ptrdiff_t m_flCameraBias = 0x0; // float32
+                constexpr std::ptrdiff_t m_nCPin = 0x4; // int32
+                constexpr std::ptrdiff_t m_flProxyRadius = 0x8; // float32
+                constexpr std::ptrdiff_t m_flInputMin = 0xC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x10; // float32
+                constexpr std::ptrdiff_t m_flInputPixelVisFade = 0x14; // float32
+                constexpr std::ptrdiff_t m_flNoPixelVisibilityFallback = 0x18; // float32
+                constexpr std::ptrdiff_t m_flDistanceInputMin = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flDistanceInputMax = 0x20; // float32
+                constexpr std::ptrdiff_t m_flDotInputMin = 0x24; // float32
+                constexpr std::ptrdiff_t m_flDotInputMax = 0x28; // float32
+                constexpr std::ptrdiff_t m_bDotCPAngles = 0x2C; // bool
+                constexpr std::ptrdiff_t m_bDotCameraAngles = 0x2D; // bool
+                constexpr std::ptrdiff_t m_flAlphaScaleMin = 0x30; // float32
+                constexpr std::ptrdiff_t m_flAlphaScaleMax = 0x34; // float32
+                constexpr std::ptrdiff_t m_flRadiusScaleMin = 0x38; // float32
+                constexpr std::ptrdiff_t m_flRadiusScaleMax = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flRadiusScaleFOVBase = 0x40; // float32
+                constexpr std::ptrdiff_t m_bRightEye = 0x44; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointsToParticle {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bSetOrientation = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_nOrientationMode = 0x1D4; // ParticleOrientationSetMode_t
+                constexpr std::ptrdiff_t m_nSetParent = 0x1D8; // ParticleParentSetMode_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapSDFDistanceToVectorAttribute {
+                constexpr std::ptrdiff_t m_nVectorFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVectorFieldInput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flMinDistance = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vValueBelowMin = 0x488; // Vector
+                constexpr std::ptrdiff_t m_vValueAtMin = 0x494; // Vector
+                constexpr std::ptrdiff_t m_vValueAtMax = 0x4A0; // Vector
+                constexpr std::ptrdiff_t m_vValueAboveMax = 0x4AC; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapCPVelocityToVector {
+                constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_bNormalize = 0x1CC; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PointVectorAtNextParticle {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1C8; // CPerParticleFloatInput
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticlePreviewBodyGroup_t {
+                constexpr std::ptrdiff_t m_bodyGroupName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nValue = 0x8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_OscillateScalarSimple {
+                constexpr std::ptrdiff_t m_Rate = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_Frequency = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nField = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOscMult = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOscAdd = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 18
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_StatusEffect {
+                constexpr std::ptrdiff_t m_nDetail2Combo = 0x1C8; // Detail2Combo_t
+                constexpr std::ptrdiff_t m_flDetail2Rotation = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flDetail2Scale = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flDetail2BlendFactor = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flColorWarpIntensity = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flDiffuseWarpBlendToFull = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flEnvMapIntensity = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flAmbientScale = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_specularColor = 0x1E8; // Color
+                constexpr std::ptrdiff_t m_flSpecularScale = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_flSpecularExponent = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_flSpecularExponentBlendToFull = 0x1F4; // float32
+                constexpr std::ptrdiff_t m_flSpecularBlendToFull = 0x1F8; // float32
+                constexpr std::ptrdiff_t m_rimLightColor = 0x1FC; // Color
+                constexpr std::ptrdiff_t m_flRimLightScale = 0x200; // float32
+                constexpr std::ptrdiff_t m_flReflectionsTintByBaseBlendToNone = 0x204; // float32
+                constexpr std::ptrdiff_t m_flMetalnessBlendToFull = 0x208; // float32
+                constexpr std::ptrdiff_t m_flSelfIllumBlendToFull = 0x20C; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RtEnvCull {
+                constexpr std::ptrdiff_t m_vecTestDir = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_vecTestNormal = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_bUseVelocity = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_bCullOnMiss = 0x1E1; // bool
+                constexpr std::ptrdiff_t m_bLifeAdjust = 0x1E2; // bool
+                constexpr std::ptrdiff_t m_RtEnvName = 0x1E3; // char[128]
+                constexpr std::ptrdiff_t m_nRTEnvCP = 0x264; // int32
+                constexpr std::ptrdiff_t m_nComponent = 0x268; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ConstrainDistance {
+                constexpr std::ptrdiff_t m_fMinDistance = 0x1C0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_fMaxDistance = 0x320; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x480; // int32
+                constexpr std::ptrdiff_t m_CenterOffset = 0x484; // Vector
+                constexpr std::ptrdiff_t m_bGlobalCenter = 0x490; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomVector {
+                constexpr std::ptrdiff_t m_vecMin = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_vecMax = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1E0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_randomnessParameters = 0x1E4; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitialVelocityNoise {
+                constexpr std::ptrdiff_t m_vecAbsVal = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_vecAbsValInv = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1E0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flOffset = 0x858; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x9B8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x1030; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flNoiseScale = 0x16A8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flNoiseScaleLoc = 0x1808; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_TransformInput = 0x1968; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_bIgnoreDt = 0x19D0; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticleChildrenInfo_t {
+                constexpr std::ptrdiff_t m_ChildRef = 0x0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_flDelay = 0x8; // float32
+                constexpr std::ptrdiff_t m_bEndCap = 0xC; // bool
+                constexpr std::ptrdiff_t m_bDisableChild = 0xD; // bool
+                constexpr std::ptrdiff_t m_nDetailLevel = 0x10; // ParticleDetailLevel_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapScalarOnceTimed {
+                constexpr std::ptrdiff_t m_bProportional = 0x1C0; // bool
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flRemapTime = 0x1DC; // float32
+            }
+            // Parent: C_INIT_RandomNamedModelElement
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomNamedModelSequence {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PlaneCull {
+                constexpr std::ptrdiff_t m_nPlaneControlPoint = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_vecPlaneDirection = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_bLocalSpace = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_flPlaneOffset = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_VelocityRandom {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_fSpeedMin = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_fSpeedMax = 0x330; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMin = 0x490; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMax = 0xB08; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_bIgnoreDT = 0x1180; // bool
+                constexpr std::ptrdiff_t m_randomnessParameters = 0x1184; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ModelDampenMovement {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_bBoundBox = 0x1C4; // bool
+                constexpr std::ptrdiff_t m_bOutside = 0x1C5; // bool
+                constexpr std::ptrdiff_t m_bUseBones = 0x1C6; // bool
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x1C7; // char[128]
+                constexpr std::ptrdiff_t m_vecPosOffset = 0x248; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_fDrag = 0x8C0; // float32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_TwistAroundAxis {
+                constexpr std::ptrdiff_t m_fForceAmount = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_TwistAxis = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_bLocalSpace = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1E4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_TeleportBeam {
+                constexpr std::ptrdiff_t m_nCPPosition = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nCPVelocity = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nCPMisc = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPColor = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nCPInvalidColor = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nCPExtraArcData = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_vGravity = 0x1D8; // Vector
+                constexpr std::ptrdiff_t m_flArcMaxDuration = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flSegmentBreak = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_flArcSpeed = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_flAlpha = 0x1F0; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapExternalWindToCP {
+                constexpr std::ptrdiff_t m_nCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPOutput = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_vecScale = 0x1D0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_bSetMagnitude = 0x848; // bool
+                constexpr std::ptrdiff_t m_nOutVectorField = 0x84C; // int32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 64
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBaseRendererSource2 {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x210; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x370; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flRollScale = 0x4D0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nAlpha2Field = 0x630; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecColorScale = 0x638; // CParticleCollectionRendererVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0xCB0; // ParticleColorBlendType_t
+                constexpr std::ptrdiff_t m_nShaderType = 0xCB4; // SpriteCardShaderType_t
+                constexpr std::ptrdiff_t m_strShaderOverride = 0xCB8; // CUtlString
+                constexpr std::ptrdiff_t m_flCenterXOffset = 0xCC0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flCenterYOffset = 0xE20; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flBumpStrength = 0xF80; // float32
+                constexpr std::ptrdiff_t m_nCropTextureOverride = 0xF84; // ParticleSequenceCropOverride_t
+                constexpr std::ptrdiff_t m_vecTexturesInput = 0xF88; // CUtlVector<TextureGroup_t>
+                constexpr std::ptrdiff_t m_flAnimationRate = 0xFA0; // float32
+                constexpr std::ptrdiff_t m_nAnimationType = 0xFA4; // AnimationType_t
+                constexpr std::ptrdiff_t m_bAnimateInFPS = 0xFA8; // bool
+                constexpr std::ptrdiff_t m_flMotionVectorScaleU = 0xFB0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flMotionVectorScaleV = 0x1110; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flSelfIllumAmount = 0x1270; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flDiffuseAmount = 0x13D0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flDiffuseClamp = 0x1530; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nLightingControlPoint = 0x1690; // int32
+                constexpr std::ptrdiff_t m_nSelfIllumPerParticle = 0x1694; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nOutputBlendMode = 0x1698; // ParticleOutputBlendMode_t
+                constexpr std::ptrdiff_t m_bGammaCorrectVertexColors = 0x169C; // bool
+                constexpr std::ptrdiff_t m_bSaturateColorPreAlphaBlend = 0x169D; // bool
+                constexpr std::ptrdiff_t m_flAddSelfAmount = 0x16A0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flDesaturation = 0x1800; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flOverbrightFactor = 0x1960; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nHSVShiftControlPoint = 0x1AC0; // int32
+                constexpr std::ptrdiff_t m_nFogType = 0x1AC4; // ParticleFogType_t
+                constexpr std::ptrdiff_t m_flFogAmount = 0x1AC8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_bTintByFOW = 0x1C28; // bool
+                constexpr std::ptrdiff_t m_bTintByGlobalLight = 0x1C29; // bool
+                constexpr std::ptrdiff_t m_nPerParticleAlphaReference = 0x1C2C; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleAlphaRefWindow = 0x1C30; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nAlphaReferenceType = 0x1C34; // ParticleAlphaReferenceType_t
+                constexpr std::ptrdiff_t m_flAlphaReferenceSoftness = 0x1C38; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flSourceAlphaValueToMapToZero = 0x1D98; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flSourceAlphaValueToMapToOne = 0x1EF8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_bRefract = 0x2058; // bool
+                constexpr std::ptrdiff_t m_bRefractSolid = 0x2059; // bool
+                constexpr std::ptrdiff_t m_flRefractAmount = 0x2060; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nRefractBlurRadius = 0x21C0; // int32
+                constexpr std::ptrdiff_t m_nRefractBlurType = 0x21C4; // BlurFilterType_t
+                constexpr std::ptrdiff_t m_bOnlyRenderInEffectsBloomPass = 0x21C8; // bool
+                constexpr std::ptrdiff_t m_bOnlyRenderInEffectsWaterPass = 0x21C9; // bool
+                constexpr std::ptrdiff_t m_bUseMixedResolutionRendering = 0x21CA; // bool
+                constexpr std::ptrdiff_t m_bOnlyRenderInEffecsGameOverlay = 0x21CB; // bool
+                constexpr std::ptrdiff_t m_stencilTestID = 0x21CC; // char[128]
+                constexpr std::ptrdiff_t m_bStencilTestExclude = 0x224C; // bool
+                constexpr std::ptrdiff_t m_stencilWriteID = 0x224D; // char[128]
+                constexpr std::ptrdiff_t m_bWriteStencilOnDepthPass = 0x22CD; // bool
+                constexpr std::ptrdiff_t m_bWriteStencilOnDepthFail = 0x22CE; // bool
+                constexpr std::ptrdiff_t m_bReverseZBuffering = 0x22CF; // bool
+                constexpr std::ptrdiff_t m_bDisableZBuffering = 0x22D0; // bool
+                constexpr std::ptrdiff_t m_nFeatheringMode = 0x22D4; // ParticleDepthFeatheringMode_t
+                constexpr std::ptrdiff_t m_flFeatheringMinDist = 0x22D8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flFeatheringMaxDist = 0x2438; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flFeatheringFilter = 0x2598; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flDepthBias = 0x26F8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nSortMethod = 0x2858; // ParticleSortingChoiceList_t
+                constexpr std::ptrdiff_t m_bBlendFramesSeq0 = 0x285C; // bool
+                constexpr std::ptrdiff_t m_bMaxLuminanceBlendingSequence0 = 0x285D; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSpinUpdateBase {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_OrientTo2dDirection {
+                constexpr std::ptrdiff_t m_flRotOffset = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flSpinStrength = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDotProductToCP {
+                constexpr std::ptrdiff_t m_nInputCP1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nInputCP2 = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nOutputCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nOutVectorField = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x338; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x498; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5F8; // CParticleCollectionFloatInput
+            }
+            // Parent: C_INIT_RemapParticleCountToScalar
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapParticleCountToNamedModelElementScalar {
+                constexpr std::ptrdiff_t m_hModel = 0x1F8; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_outputMinName = 0x200; // CUtlString
+                constexpr std::ptrdiff_t m_outputMaxName = 0x208; // CUtlString
+                constexpr std::ptrdiff_t m_bModelFromRenderer = 0x210; // bool
+            }
+            // Parent: CBaseTrailRenderer
+            // Field count: 20
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderTrails {
+                constexpr std::ptrdiff_t m_bEnableFadingAndClamping = 0x2D80; // bool
+                constexpr std::ptrdiff_t m_flStartFadeDot = 0x2D84; // float32
+                constexpr std::ptrdiff_t m_flEndFadeDot = 0x2D88; // float32
+                constexpr std::ptrdiff_t m_nPrevPntSource = 0x2D8C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flMaxLength = 0x2D90; // float32
+                constexpr std::ptrdiff_t m_flMinLength = 0x2D94; // float32
+                constexpr std::ptrdiff_t m_bIgnoreDT = 0x2D98; // bool
+                constexpr std::ptrdiff_t m_flConstrainRadiusToLengthRatio = 0x2D9C; // float32
+                constexpr std::ptrdiff_t m_flLengthScale = 0x2DA0; // float32
+                constexpr std::ptrdiff_t m_flLengthFadeInTime = 0x2DA4; // float32
+                constexpr std::ptrdiff_t m_flRadiusHeadTaper = 0x2DA8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecHeadColorScale = 0x2F08; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flHeadAlphaScale = 0x3580; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRadiusTaper = 0x36E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecTailColorScale = 0x3840; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flTailAlphaScale = 0x3EB8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nHorizCropField = 0x4018; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVertCropField = 0x401C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flForwardShift = 0x4020; // float32
+                constexpr std::ptrdiff_t m_bFlipUVBasedOnPitchYaw = 0x4024; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointPositionToTimeOfDayValue {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_pszTimeOfDayParameter = 0x1CC; // char[128]
+                constexpr std::ptrdiff_t m_vecDefaultValue = 0x24C; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DecayMaintainCount {
+                constexpr std::ptrdiff_t m_nParticlesToMaintain = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_flDecayDelay = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_bLifespanDecay = 0x1CC; // bool
+                constexpr std::ptrdiff_t m_flScale = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bKillNewest = 0x330; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomModelSequence {
+                constexpr std::ptrdiff_t m_ActivityName = 0x1C8; // char[256]
+                constexpr std::ptrdiff_t m_SequenceName = 0x2C8; // char[256]
+                constexpr std::ptrdiff_t m_hModel = 0x3C8; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: CParticleVecInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CPerParticleVecInput {
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ExternalGameImpulseForce {
+                constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bRopes = 0x330; // bool
+                constexpr std::ptrdiff_t m_bRopesZOnly = 0x331; // bool
+                constexpr std::ptrdiff_t m_bExplosions = 0x332; // bool
+                constexpr std::ptrdiff_t m_bParticles = 0x333; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapAverageHitboxSpeedtoCP {
+                constexpr std::ptrdiff_t m_nInControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nField = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nHitboxDataType = 0x1D4; // ParticleHitboxDataSelection_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x338; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x498; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5F8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nHeightControlPointNumber = 0x758; // int32
+                constexpr std::ptrdiff_t m_vecComparisonVelocity = 0x760; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_HitboxSetName = 0xDD8; // char[128]
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomAlpha {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAlphaMin = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nAlphaMax = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flAlphaRandExponent = 0x1DC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_NormalizeVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x1C4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_FadeInSimple {
+                constexpr std::ptrdiff_t m_flFadeInTime = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RepeatedTriggerChildGroup {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flClusterRefireTime = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flClusterSize = 0x330; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flClusterCooldown = 0x490; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bLimitChildCount = 0x5F0; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderTonemapController {
+                constexpr std::ptrdiff_t m_flTonemapLevel = 0x210; // float32
+                constexpr std::ptrdiff_t m_flTonemapWeight = 0x214; // float32
+                constexpr std::ptrdiff_t m_nTonemapLevelField = 0x218; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nTonemapWeightField = 0x21C; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapVelocityToVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_bNormalize = 0x1C8; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SetHitboxToClosest {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nDesiredHitbox = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_vecHitBoxScale = 0x1D0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x848; // char[128]
+                constexpr std::ptrdiff_t m_bUseBones = 0x8C8; // bool
+                constexpr std::ptrdiff_t m_bUseClosestPointOnHitbox = 0x8C9; // bool
+                constexpr std::ptrdiff_t m_nTestType = 0x8CC; // ClosestPointTestType_t
+                constexpr std::ptrdiff_t m_flHybridRatio = 0x8D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bUpdatePosition = 0xA30; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RingWave {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flParticlesPerOrbit = 0x230; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInitialRadius = 0x390; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flThickness = 0x4F0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInitialSpeedMin = 0x650; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInitialSpeedMax = 0x7B0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRoll = 0x910; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flPitch = 0xA70; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flYaw = 0xBD0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bEvenDistribution = 0xD30; // bool
+                constexpr std::ptrdiff_t m_bXYVelocityOnly = 0xD31; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomTrailLength {
+                constexpr std::ptrdiff_t m_flMinLength = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMaxLength = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flLengthRandExponent = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapScalar {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_bOldCode = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DistanceBetweenTransforms {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_TransformStart = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_TransformEnd = 0x230; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flInputMin = 0x298; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x3F8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x558; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x6B8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x818; // float32
+                constexpr std::ptrdiff_t m_flLOSScale = 0x81C; // float32
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x820; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x8A0; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_bLOS = 0x8A4; // bool
+                constexpr std::ptrdiff_t m_nSetMethod = 0x8A8; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DecayOffscreen {
+                constexpr std::ptrdiff_t m_flOffscreenTime = 0x1C0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MParticleMaxVersion
+            // MParticleReplacementOp
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateSequentialPath {
+                constexpr std::ptrdiff_t m_fMaxDistance = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flNumToAssign = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bLoop = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_bCPPairs = 0x1D1; // bool
+                constexpr std::ptrdiff_t m_bSaveOffset = 0x1D2; // bool
+                constexpr std::ptrdiff_t m_PathParams = 0x1E0; // CPathParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_EndCapTimedDecay {
+                constexpr std::ptrdiff_t m_flDecayTime = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDistanceToLineSegmentBase {
+                constexpr std::ptrdiff_t m_nCP0 = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nCP1 = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_flMinInputValue = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMaxInputValue = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bInfiniteLine = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ContinuousEmitter {
+                constexpr std::ptrdiff_t m_flEmissionDuration = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flStartTime = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flEmitRate = 0x488; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flEmissionScale = 0x5E8; // float32
+                constexpr std::ptrdiff_t m_flScalePerParentParticle = 0x5EC; // float32
+                constexpr std::ptrdiff_t m_bInitFromKilledParentParticles = 0x5F0; // bool
+                constexpr std::ptrdiff_t m_nEventType = 0x5F4; // EventTypeSelection_t
+                constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x5F8; // int32
+                constexpr std::ptrdiff_t m_nLimitPerUpdate = 0x5FC; // int32
+                constexpr std::ptrdiff_t m_bForceEmitOnFirstUpdate = 0x600; // bool
+                constexpr std::ptrdiff_t m_bForceEmitOnLastUpdate = 0x601; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_OscillateVectorSimple {
+                constexpr std::ptrdiff_t m_Rate = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_Frequency = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_nField = 0x1D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOscMult = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOscAdd = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_bOffset = 0x1E4; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SequenceLifeTime {
+                constexpr std::ptrdiff_t m_flFramerate = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_MoveBetweenPoints {
+                constexpr std::ptrdiff_t m_flSpeedMin = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flSpeedMax = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flEndSpread = 0x488; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flStartOffset = 0x5E8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flEndOffset = 0x748; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nEndControlPointNumber = 0x8A8; // int32
+                constexpr std::ptrdiff_t m_bTrailBias = 0x8AC; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapScalar {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x1EC; // bool
+                constexpr std::ptrdiff_t m_flRemapBias = 0x1F0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetUserEvent {
+                constexpr std::ptrdiff_t m_flInput = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRisingEdge = 0x320; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nRisingEventType = 0x480; // EventTypeSelection_t
+                constexpr std::ptrdiff_t m_flFallingEdge = 0x488; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nFallingEventType = 0x5E8; // EventTypeSelection_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_QuantizeFloat {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x320; // ParticleAttributeIndex_t
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            // MPulseDomainOptInFeatureTag
+            namespace CParticleCollectionBindingInstance {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_BasicMovement {
+                constexpr std::ptrdiff_t m_Gravity = 0x1C0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_fDrag = 0x838; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_massControls = 0x998; // CParticleMassCalculationParameters
+                constexpr std::ptrdiff_t m_nMaxConstraintPasses = 0xDC0; // int32
+                constexpr std::ptrdiff_t m_bUseNewCode = 0xDC4; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomNamedModelElement {
+                constexpr std::ptrdiff_t m_hModel = 0x1C8; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_names = 0x1D0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_bShuffle = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bLinear = 0x1E9; // bool
+                constexpr std::ptrdiff_t m_bModelFromRenderer = 0x1EA; // bool
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1EC; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitFromParentKilled {
+                constexpr std::ptrdiff_t m_nAttributeToCopy = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nEventType = 0x1CC; // EventTypeSelection_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Callback {
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunction {
+                constexpr std::ptrdiff_t m_flOpStrength = 0x8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nOpEndCapState = 0x168; // ParticleEndcapMode_t
+                constexpr std::ptrdiff_t m_flOpStartFadeInTime = 0x16C; // float32
+                constexpr std::ptrdiff_t m_flOpEndFadeInTime = 0x170; // float32
+                constexpr std::ptrdiff_t m_flOpStartFadeOutTime = 0x174; // float32
+                constexpr std::ptrdiff_t m_flOpEndFadeOutTime = 0x178; // float32
+                constexpr std::ptrdiff_t m_flOpFadeOscillatePeriod = 0x17C; // float32
+                constexpr std::ptrdiff_t m_bNormalizeToStopTime = 0x180; // bool
+                constexpr std::ptrdiff_t m_flOpTimeOffsetMin = 0x184; // float32
+                constexpr std::ptrdiff_t m_flOpTimeOffsetMax = 0x188; // float32
+                constexpr std::ptrdiff_t m_nOpTimeOffsetSeed = 0x18C; // int32
+                constexpr std::ptrdiff_t m_nOpTimeScaleSeed = 0x190; // int32
+                constexpr std::ptrdiff_t m_flOpTimeScaleMin = 0x194; // float32
+                constexpr std::ptrdiff_t m_flOpTimeScaleMax = 0x198; // float32
+                constexpr std::ptrdiff_t m_bDisableOperator = 0x19E; // bool
+                constexpr std::ptrdiff_t m_Notes = 0x1A0; // CUtlString
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_GlobalLight {
+                constexpr std::ptrdiff_t m_flScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_bClampLowerRange = 0x1C4; // bool
+                constexpr std::ptrdiff_t m_bClampUpperRange = 0x1C5; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_OffsetVectorToVector {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x1DC; // Vector
+                constexpr std::ptrdiff_t m_randomnessParameters = 0x1E8; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetPerChildControlPointFromAttribute {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nParticleIncrement = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_bNumBasedOnParticleCount = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_nAttributeToRead = 0x1D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nCPField = 0x1DC; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetParentControlPointsToChildCP {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nChildControlPoint = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nNumControlPoints = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_bSetOrientation = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SDFForce {
+                constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_BoxConstraint {
+                constexpr std::ptrdiff_t m_vecMin = 0x1C0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vecMax = 0x838; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nCP = 0xEB0; // int32
+                constexpr std::ptrdiff_t m_bLocalSpace = 0xEB4; // bool
+                constexpr std::ptrdiff_t m_bAccountForRadius = 0xEB5; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreatePhyllotaxis {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nScaleCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nComponent = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_fRadCentCore = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_fRadPerPoint = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_fRadPerPointTo = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_fpointAngle = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_fsizeOverall = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_fRadBias = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_fMinRad = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_fDistBias = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_bUseLocalCoords = 0x1F4; // bool
+                constexpr std::ptrdiff_t m_bUseWithContEmit = 0x1F5; // bool
+                constexpr std::ptrdiff_t m_bUseOrigRadius = 0x1F6; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_AttractToControlPoint {
+                constexpr std::ptrdiff_t m_vecComponentScale = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_fForceAmount = 0x1E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_fFalloffPower = 0x340; // float32
+                constexpr std::ptrdiff_t m_TransformInput = 0x348; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_fForceAmountMin = 0x3B0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bApplyMinForce = 0x510; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomLifeTime {
+                constexpr std::ptrdiff_t m_fLifetimeMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_fLifetimeMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_fLifetimeRandExponent = 0x1D0; // float32
+            }
+            // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapParticleCountToNamedModelSequenceScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_VelocityRadialRandom {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_fSpeedMin = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_fSpeedMax = 0x330; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecLocalCoordinateSystemSpeedScale = 0x490; // Vector
+                constexpr std::ptrdiff_t m_bIgnoreDelta = 0x49D; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomRadius {
+                constexpr std::ptrdiff_t m_flRadiusMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flRadiusMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flRadiusRandExponent = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Orient2DRelToCP {
+                constexpr std::ptrdiff_t m_flRotOffset = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flSpinStrength = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace TextureControls_t {
+                constexpr std::ptrdiff_t m_flFinalTextureScaleU = 0x0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flFinalTextureScaleV = 0x160; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flFinalTextureOffsetU = 0x2C0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flFinalTextureOffsetV = 0x420; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flFinalTextureUVRotation = 0x580; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flZoomScale = 0x6E0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flDistortion = 0x840; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_bRandomizeOffsets = 0x9A0; // bool
+                constexpr std::ptrdiff_t m_bClampUVs = 0x9A1; // bool
+                constexpr std::ptrdiff_t m_nPerParticleBlend = 0x9A4; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleScale = 0x9A8; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleOffsetU = 0x9AC; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleOffsetV = 0x9B0; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleRotation = 0x9B4; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleZoom = 0x9B8; // SpriteCardPerParticleScale_t
+                constexpr std::ptrdiff_t m_nPerParticleDistortion = 0x9BC; // SpriteCardPerParticleScale_t
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ControlPointReference_t {
+                constexpr std::ptrdiff_t m_controlPointNameString = 0x0; // int32
+                constexpr std::ptrdiff_t m_vOffsetFromControlPoint = 0x4; // Vector
+                constexpr std::ptrdiff_t m_bOffsetInLocalSpace = 0x10; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToVectorExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C8; // VectorExpressionType_t
+                constexpr std::ptrdiff_t m_nOutputCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_vInput1 = 0x1D0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vInput2 = 0x848; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_bNormalizedOutput = 0xEC0; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LightningSnapshotGenerator {
+                constexpr std::ptrdiff_t m_nCPSnapshot = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPStartPnt = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nCPEndPnt = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flSegments = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOffset = 0x338; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOffsetDecay = 0x498; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flRecalcRate = 0x5F8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flUVScale = 0x758; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flUVOffset = 0x8B8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flSplitRate = 0xA18; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flBranchTwist = 0xB78; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nBranchBehavior = 0xCD8; // ParticleLightnintBranchBehavior_t
+                constexpr std::ptrdiff_t m_flRadiusStart = 0xCE0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flRadiusEnd = 0xE40; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flDedicatedPool = 0xFA0; // CParticleCollectionFloatInput
+            }
+            // Parent: C_OP_RemapNamedModelElementOnceTimed
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelMeshGroupOnceTimed {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleInput {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapSpeedToScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bPerParticle = 0x1EC; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapQAnglesToRotation {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PositionWarp {
+                constexpr std::ptrdiff_t m_vecWarpMin = 0x1C8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vecWarpMax = 0x840; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nScaleControlPointNumber = 0xEB8; // int32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0xEBC; // int32
+                constexpr std::ptrdiff_t m_nRadiusComponent = 0xEC0; // int32
+                constexpr std::ptrdiff_t m_flWarpTime = 0xEC4; // float32
+                constexpr std::ptrdiff_t m_flWarpStartTime = 0xEC8; // float32
+                constexpr std::ptrdiff_t m_flPrevPosScale = 0xECC; // float32
+                constexpr std::ptrdiff_t m_bInvertWarp = 0xED0; // bool
+                constexpr std::ptrdiff_t m_bUseCount = 0xED1; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SDFConstraint {
+                constexpr std::ptrdiff_t m_flMinDist = 0x1C0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMaxDist = 0x320; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nMaxIterations = 0x480; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointFieldToScalarExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C8; // ScalarExpressionType_t
+                constexpr std::ptrdiff_t m_flInput1 = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInput2 = 0x330; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputRemap = 0x490; // CParticleRemapFloatInput
+                constexpr std::ptrdiff_t m_nOutputCP = 0x5F0; // int32
+                constexpr std::ptrdiff_t m_nOutVectorField = 0x5F4; // int32
+            }
+            // Parent: CParticleFunction
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionForce {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomVectorComponent {
+                constexpr std::ptrdiff_t m_flMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nComponent = 0x1D4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MParticleMaxVersion
+            // MParticleReplacementOp
+            // MGetKV3ClassDefaults
+            namespace C_OP_InheritFromParentParticles {
+                constexpr std::ptrdiff_t m_flScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_bRandomDistribution = 0x1CC; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SetVectorAttributeToVectorExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C8; // VectorExpressionType_t
+                constexpr std::ptrdiff_t m_vInput1 = 0x1D0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vInput2 = 0x848; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nOutputField = 0xEC0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0xEC4; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bNormalizedOutput = 0xEC8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapTransformVisibilityToVector {
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1C0; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x234; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x238; // float32
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x23C; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x248; // Vector
+                constexpr std::ptrdiff_t m_flRadius = 0x254; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DirectionBetweenVecsToVec {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecPoint1 = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecPoint2 = 0x840; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementLoopInsideSphere {
+                constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_flDistance = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vecScale = 0x328; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nDistSqrAttr = 0x9A0; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderSimpleModelCollection {
+                constexpr std::ptrdiff_t m_bCenterOffset = 0x210; // bool
+                constexpr std::ptrdiff_t m_hModel = 0x218; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_modelInput = 0x220; // CParticleModelInput
+                constexpr std::ptrdiff_t m_fSizeCullScale = 0x280; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bDisableShadows = 0x3E0; // bool
+                constexpr std::ptrdiff_t m_bDisableMotionBlur = 0x3E1; // bool
+                constexpr std::ptrdiff_t m_bAcceptsDecals = 0x3E2; // bool
+                constexpr std::ptrdiff_t m_nAngularVelocityField = 0x3E4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_QuantizeCPComponent {
+                constexpr std::ptrdiff_t m_flInputValue = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nCPOutput = 0x328; // int32
+                constexpr std::ptrdiff_t m_nOutVectorField = 0x32C; // int32
+                constexpr std::ptrdiff_t m_flQuantizeValue = 0x330; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PlayEndCapWhenFinished {
+                constexpr std::ptrdiff_t m_bFireOnEmissionEnd = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bIncludeChildren = 0x1C9; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitFloatCollection {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x328; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPathParameters {
+                constexpr std::ptrdiff_t m_nStartControlPointNumber = 0x0; // int32
+                constexpr std::ptrdiff_t m_nEndControlPointNumber = 0x4; // int32
+                constexpr std::ptrdiff_t m_nBulgeControl = 0x8; // int32
+                constexpr std::ptrdiff_t m_flBulge = 0xC; // float32
+                constexpr std::ptrdiff_t m_flMidPoint = 0x10; // float32
+                constexpr std::ptrdiff_t m_vStartPointOffset = 0x14; // Vector
+                constexpr std::ptrdiff_t m_vMidPointOffset = 0x20; // Vector
+                constexpr std::ptrdiff_t m_vEndOffset = 0x2C; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapScalarEndCap {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateFromPlaneCache {
+                constexpr std::ptrdiff_t m_vecOffsetMin = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_vecOffsetMax = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_bUseNormal = 0x1E1; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ControlPointToRadialScreenSpace {
+                constexpr std::ptrdiff_t m_nCPIn = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_nCPOut = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_nCPOutField = 0x1DC; // int32
+                constexpr std::ptrdiff_t m_nCPSSPosOut = 0x1E0; // int32
+            }
+            // Parent: CSpinUpdateBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SpinUpdate {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_NormalOffset {
+                constexpr std::ptrdiff_t m_OffsetMin = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_OffsetMax = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1E0; // int32
+                constexpr std::ptrdiff_t m_bLocalCoords = 0x1E4; // bool
+                constexpr std::ptrdiff_t m_bNormalize = 0x1E5; // bool
+            }
+            // Parent: C_OP_RemapDistanceToLineSegmentBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDistanceToLineSegmentToVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vMinOutputValue = 0x1DC; // Vector
+                constexpr std::ptrdiff_t m_vMaxOutputValue = 0x1E8; // Vector
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderAsModels {
+                constexpr std::ptrdiff_t m_ModelList = 0x210; // CUtlVector<ModelReference_t>
+                constexpr std::ptrdiff_t m_flModelScale = 0x22C; // float32
+                constexpr std::ptrdiff_t m_bFitToModelSize = 0x230; // bool
+                constexpr std::ptrdiff_t m_bNonUniformScaling = 0x231; // bool
+                constexpr std::ptrdiff_t m_nXAxisScalingAttribute = 0x234; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nYAxisScalingAttribute = 0x238; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nZAxisScalingAttribute = 0x23C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSizeCullBloat = 0x240; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreationNoise {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bAbsVal = 0x1CC; // bool
+                constexpr std::ptrdiff_t m_bAbsValInv = 0x1CD; // bool
+                constexpr std::ptrdiff_t m_flOffset = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flNoiseScale = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flNoiseScaleLoc = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1E4; // Vector
+                constexpr std::ptrdiff_t m_flWorldTimeScale = 0x1F0; // float32
+            }
+            // Parent: CGeneralSpin
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Spin {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticleNamedValueConfiguration_t {
+                constexpr std::ptrdiff_t m_ConfigName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_ConfigValue = 0x8; // KeyValues3
+                constexpr std::ptrdiff_t m_iAttachType = 0x18; // ParticleAttachment_t
+                constexpr std::ptrdiff_t m_BoundEntityPath = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_strEntityScope = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_strAttachmentName = 0x30; // CUtlString
+            }
+            // Parent: CParticleInput
+            // Field count: 23
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MParticleCustomFieldDefaultValue
+            namespace CParticleVecInput {
+                constexpr std::ptrdiff_t m_nType = 0x10; // ParticleVecType_t
+                constexpr std::ptrdiff_t m_vLiteralValue = 0x14; // Vector
+                constexpr std::ptrdiff_t m_LiteralColor = 0x20; // Color
+                constexpr std::ptrdiff_t m_NamedValue = 0x28; // CParticleNamedValueRef
+                constexpr std::ptrdiff_t m_bFollowNamedValue = 0x68; // bool
+                constexpr std::ptrdiff_t m_nVectorAttribute = 0x6C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vVectorAttributeScale = 0x70; // Vector
+                constexpr std::ptrdiff_t m_nControlPoint = 0x7C; // int32
+                constexpr std::ptrdiff_t m_nDeltaControlPoint = 0x80; // int32
+                constexpr std::ptrdiff_t m_vCPValueScale = 0x84; // Vector
+                constexpr std::ptrdiff_t m_vCPRelativePosition = 0x90; // Vector
+                constexpr std::ptrdiff_t m_vCPRelativeDir = 0x9C; // Vector
+                constexpr std::ptrdiff_t m_FloatComponentX = 0xA8; // CParticleFloatInput
+                constexpr std::ptrdiff_t m_FloatComponentY = 0x208; // CParticleFloatInput
+                constexpr std::ptrdiff_t m_FloatComponentZ = 0x368; // CParticleFloatInput
+                constexpr std::ptrdiff_t m_FloatInterp = 0x4C8; // CParticleFloatInput
+                constexpr std::ptrdiff_t m_flInterpInput0 = 0x628; // float32
+                constexpr std::ptrdiff_t m_flInterpInput1 = 0x62C; // float32
+                constexpr std::ptrdiff_t m_vInterpOutput0 = 0x630; // Vector
+                constexpr std::ptrdiff_t m_vInterpOutput1 = 0x63C; // Vector
+                constexpr std::ptrdiff_t m_Gradient = 0x648; // CColorGradient
+                constexpr std::ptrdiff_t m_vRandomMin = 0x660; // Vector
+                constexpr std::ptrdiff_t m_vRandomMax = 0x66C; // Vector
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_InstantaneousEmitter {
+                constexpr std::ptrdiff_t m_nParticlesToEmit = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flStartTime = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInitFromKilledParentParticles = 0x488; // float32
+                constexpr std::ptrdiff_t m_nEventType = 0x48C; // EventTypeSelection_t
+                constexpr std::ptrdiff_t m_flParentParticleScale = 0x490; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nMaxEmittedPerFrame = 0x5F0; // int32
+                constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x5F4; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ConstrainLineLength {
+                constexpr std::ptrdiff_t m_flMinDistance = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x1C4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_LifespanFromVelocity {
+                constexpr std::ptrdiff_t m_vecComponentScale = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_flTraceOffset = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flTraceTolerance = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_nMaxPlanes = 0x1E0; // int32
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x1E8; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x268; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_bIncludeWater = 0x278; // bool
+            }
+            // Parent: CBaseRendererSource2
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBaseTrailRenderer {
+                constexpr std::ptrdiff_t m_nOrientationType = 0x2AA8; // ParticleOrientationChoiceList_t
+                constexpr std::ptrdiff_t m_nOrientationControlPoint = 0x2AAC; // int32
+                constexpr std::ptrdiff_t m_flMinSize = 0x2AB0; // float32
+                constexpr std::ptrdiff_t m_flMaxSize = 0x2AB4; // float32
+                constexpr std::ptrdiff_t m_flStartFadeSize = 0x2AB8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flEndFadeSize = 0x2C18; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_bClampV = 0x2D78; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_VelocityFromCP {
+                constexpr std::ptrdiff_t m_velocityInput = 0x1C8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_transformInput = 0x840; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flVelocityScale = 0x8A8; // float32
+                constexpr std::ptrdiff_t m_bDirectionOnly = 0x8AC; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointOrientation {
+                constexpr std::ptrdiff_t m_bUseWorldLocation = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bRandomize = 0x1CA; // bool
+                constexpr std::ptrdiff_t m_bSetOnce = 0x1CB; // bool
+                constexpr std::ptrdiff_t m_nCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nHeadLocation = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_vecRotation = 0x1D4; // QAngle
+                constexpr std::ptrdiff_t m_vecRotationB = 0x1E0; // QAngle
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1F0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementSkinnedPositionFromCPSnapshot {
+                constexpr std::ptrdiff_t m_nSnapshotControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_bRandom = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bSetNormal = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_bSetRadius = 0x1D1; // bool
+                constexpr std::ptrdiff_t m_nIndexType = 0x1D4; // SnapshotIndexType_t
+                constexpr std::ptrdiff_t m_flReadIndex = 0x1D8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flIncrement = 0x338; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nFullLoopIncrement = 0x498; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nSnapShotStartPoint = 0x5F8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInterpolation = 0x758; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_OscillateVector {
+                constexpr std::ptrdiff_t m_RateMin = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_RateMax = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_FrequencyMin = 0x1D8; // Vector
+                constexpr std::ptrdiff_t m_FrequencyMax = 0x1E4; // Vector
+                constexpr std::ptrdiff_t m_nField = 0x1F0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bProportional = 0x1F4; // bool
+                constexpr std::ptrdiff_t m_bProportionalOp = 0x1F5; // bool
+                constexpr std::ptrdiff_t m_bOffset = 0x1F6; // bool
+                constexpr std::ptrdiff_t m_flStartTime_min = 0x1F8; // float32
+                constexpr std::ptrdiff_t m_flStartTime_max = 0x1FC; // float32
+                constexpr std::ptrdiff_t m_flEndTime_min = 0x200; // float32
+                constexpr std::ptrdiff_t m_flEndTime_max = 0x204; // float32
+                constexpr std::ptrdiff_t m_flOscMult = 0x208; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOscAdd = 0x368; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRateScale = 0x4C8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PositionLock {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flStartTime_min = 0x228; // float32
+                constexpr std::ptrdiff_t m_flStartTime_max = 0x22C; // float32
+                constexpr std::ptrdiff_t m_flStartTime_exp = 0x230; // float32
+                constexpr std::ptrdiff_t m_flEndTime_min = 0x234; // float32
+                constexpr std::ptrdiff_t m_flEndTime_max = 0x238; // float32
+                constexpr std::ptrdiff_t m_flEndTime_exp = 0x23C; // float32
+                constexpr std::ptrdiff_t m_flRange = 0x240; // float32
+                constexpr std::ptrdiff_t m_flRangeBias = 0x248; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flJumpThreshold = 0x3A8; // float32
+                constexpr std::ptrdiff_t m_flPrevPosScale = 0x3AC; // float32
+                constexpr std::ptrdiff_t m_bLockRot = 0x3B0; // bool
+                constexpr std::ptrdiff_t m_vecScale = 0x3B8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0xA30; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutputPrev = 0xA34; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderVRHapticEvent {
+                constexpr std::ptrdiff_t m_nHand = 0x210; // ParticleVRHandChoiceList_t
+                constexpr std::ptrdiff_t m_nOutputHandCP = 0x214; // int32
+                constexpr std::ptrdiff_t m_nOutputField = 0x218; // int32
+                constexpr std::ptrdiff_t m_flAmplitude = 0x220; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToImpactPoint {
+                constexpr std::ptrdiff_t m_nCPOut = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPIn = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_flUpdateRate = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flTraceLength = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flStartOffset = 0x338; // float32
+                constexpr std::ptrdiff_t m_flOffset = 0x33C; // float32
+                constexpr std::ptrdiff_t m_vecTraceDir = 0x340; // Vector
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x34C; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x3CC; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_bSetToEndpoint = 0x3D0; // bool
+                constexpr std::ptrdiff_t m_bTraceToClosestSurface = 0x3D1; // bool
+                constexpr std::ptrdiff_t m_bIncludeWater = 0x3D2; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_InterpolateRadius {
+                constexpr std::ptrdiff_t m_flStartTime = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flStartScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flEndScale = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bEaseInAndOut = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_flBias = 0x1D4; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace ParticleAttributeIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ReinitializeScalarEndCap {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_TurbulenceForce {
+                constexpr std::ptrdiff_t m_flNoiseCoordScale0 = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flNoiseCoordScale1 = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flNoiseCoordScale2 = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flNoiseCoordScale3 = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_vecNoiseAmount0 = 0x1E0; // Vector
+                constexpr std::ptrdiff_t m_vecNoiseAmount1 = 0x1EC; // Vector
+                constexpr std::ptrdiff_t m_vecNoiseAmount2 = 0x1F8; // Vector
+                constexpr std::ptrdiff_t m_vecNoiseAmount3 = 0x204; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelElementOnceTimed {
+                constexpr std::ptrdiff_t m_hModel = 0x1C0; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_inNames = 0x1C8; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_outNames = 0x1E0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_fallbackNames = 0x1F8; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_bModelFromRenderer = 0x210; // bool
+                constexpr std::ptrdiff_t m_bProportional = 0x211; // bool
+                constexpr std::ptrdiff_t m_nFieldInput = 0x214; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x218; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flRemapTime = 0x21C; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToPlayer {
+                constexpr std::ptrdiff_t m_nCP1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_bOrientToEyes = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_EndCapTimedFreeze {
+                constexpr std::ptrdiff_t m_flFreezeTime = 0x1C0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderGpuImplicit {
+                constexpr std::ptrdiff_t m_bUsePerParticleRadius = 0x210; // bool
+                constexpr std::ptrdiff_t m_nVertexCountKb = 0x214; // uint32
+                constexpr std::ptrdiff_t m_nIndexCountKb = 0x218; // uint32
+                constexpr std::ptrdiff_t m_fGridSize = 0x220; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_fRadiusScale = 0x380; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_fIsosurfaceThreshold = 0x4E0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nScaleCP = 0x640; // int32
+                constexpr std::ptrdiff_t m_hMaterial = 0x648; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: IParticleEffect
+            // Field count: 32
+            namespace CNewParticleEffect {
+                constexpr std::ptrdiff_t m_pNext = 0x10; // CNewParticleEffect*
+                constexpr std::ptrdiff_t m_pPrev = 0x18; // CNewParticleEffect*
+                constexpr std::ptrdiff_t m_pParticles = 0x20; // IParticleCollection*
+                constexpr std::ptrdiff_t m_pDebugName = 0x28; // char*
+                constexpr std::ptrdiff_t m_bDontRemove = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bRemove = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNeedsBBoxUpdate = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bIsFirstFrame = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bAutoUpdateBBox = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bAllocated = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bSimulate = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bShouldPerformCullCheck = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bForceNoDraw = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bShouldSave = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bDisableAggregation = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bShouldSimulateDuringGamePaused = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bShouldCheckFoW = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_vSortOrigin = 0x40; // Vector
+                constexpr std::ptrdiff_t m_flScale = 0x4C; // float32
+                constexpr std::ptrdiff_t m_hOwner = 0x50; // PARTICLE_EHANDLE__*
+                constexpr std::ptrdiff_t m_pOwningParticleProperty = 0x58; // CParticleProperty*
+                constexpr std::ptrdiff_t m_flFreezeTransitionStart = 0x70; // float32
+                constexpr std::ptrdiff_t m_flFreezeTransitionDuration = 0x74; // float32
+                constexpr std::ptrdiff_t m_flFreezeTransitionOverride = 0x78; // float32
+                constexpr std::ptrdiff_t m_bFreezeTransitionActive = 0x7C; // bool
+                constexpr std::ptrdiff_t m_bFreezeTargetState = 0x7D; // bool
+                constexpr std::ptrdiff_t m_bCanFreeze = 0x7E; // bool
+                constexpr std::ptrdiff_t m_LastMin = 0x80; // Vector
+                constexpr std::ptrdiff_t m_LastMax = 0x8C; // Vector
+                constexpr std::ptrdiff_t m_nSplitScreenUser = 0x98; // CSplitScreenSlot
+                constexpr std::ptrdiff_t m_vecAggregationCenter = 0x9C; // Vector
+                constexpr std::ptrdiff_t m_RefCount = 0xC0; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetRandomControlPointPosition {
+                constexpr std::ptrdiff_t m_bUseWorldLocation = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bOrient = 0x1C9; // bool
+                constexpr std::ptrdiff_t m_nCP1 = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nHeadLocation = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flReRandomRate = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vecCPMinPos = 0x338; // Vector
+                constexpr std::ptrdiff_t m_vecCPMaxPos = 0x344; // Vector
+                constexpr std::ptrdiff_t m_flInterpolation = 0x350; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapTransformVisibilityToScalar {
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1C0; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x234; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x238; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x23C; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x240; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x244; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapControlPointDirectionToVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+            }
+            // Parent: CParticleFunction
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionOperator {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DragRelativeToPlane {
+                constexpr std::ptrdiff_t m_flDragAtPlane = 0x1C0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flFalloff = 0x320; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bDirectional = 0x480; // bool
+                constexpr std::ptrdiff_t m_vecPlaneNormal = 0x488; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0xB00; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetCPtoVector {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticleNamedValueSource_t {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_IsPublic = 0x8; // bool
+                constexpr std::ptrdiff_t m_ValueType = 0xC; // PulseValueType_t
+                constexpr std::ptrdiff_t m_DefaultConfig = 0x10; // ParticleNamedValueConfiguration_t
+                constexpr std::ptrdiff_t m_NamedConfigs = 0x48; // CUtlVector<ParticleNamedValueConfiguration_t>
+            }
+            // Parent: CGeneralRandomRotation
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomYaw {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SnapshotRigidSkinToBones {
+                constexpr std::ptrdiff_t m_bTransformNormals = 0x1C0; // bool
+                constexpr std::ptrdiff_t m_bTransformRadii = 0x1C1; // bool
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetSingleControlPointPosition {
+                constexpr std::ptrdiff_t m_bSetOnce = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_nCP1 = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_transformInput = 0x848; // CParticleTransformInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_DistanceToNeighborCull {
+                constexpr std::ptrdiff_t m_flDistance = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bIncludeRadii = 0x328; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapCPtoScalar {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nField = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flInterpRate = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E8; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunction
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionRenderer {
+                constexpr std::ptrdiff_t VisibilityInputs = 0x1C0; // CParticleVisibilityInputs
+                constexpr std::ptrdiff_t m_bCannotBeRefracted = 0x208; // bool
+                constexpr std::ptrdiff_t m_bSkipRenderingOnMobile = 0x209; // bool
+            }
+            // Parent: IParticleSystemDefinition
+            // Field count: 65
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleSystemDefinition {
+                constexpr std::ptrdiff_t m_nBehaviorVersion = 0x8; // int32
+                constexpr std::ptrdiff_t m_PreEmissionOperators = 0x10; // CUtlVector<CParticleFunctionPreEmission*>
+                constexpr std::ptrdiff_t m_Emitters = 0x28; // CUtlVector<CParticleFunctionEmitter*>
+                constexpr std::ptrdiff_t m_Initializers = 0x40; // CUtlVector<CParticleFunctionInitializer*>
+                constexpr std::ptrdiff_t m_Operators = 0x58; // CUtlVector<CParticleFunctionOperator*>
+                constexpr std::ptrdiff_t m_ForceGenerators = 0x70; // CUtlVector<CParticleFunctionForce*>
+                constexpr std::ptrdiff_t m_Constraints = 0x88; // CUtlVector<CParticleFunctionConstraint*>
+                constexpr std::ptrdiff_t m_Renderers = 0xA0; // CUtlVector<CParticleFunctionRenderer*>
+                constexpr std::ptrdiff_t m_Children = 0xB8; // CUtlVector<ParticleChildrenInfo_t>
+                constexpr std::ptrdiff_t m_nFirstMultipleOverride_BackwardCompat = 0x178; // int32
+                constexpr std::ptrdiff_t m_nInitialParticles = 0x210; // int32
+                constexpr std::ptrdiff_t m_nMaxParticles = 0x214; // int32
+                constexpr std::ptrdiff_t m_nGroupID = 0x218; // int32
+                constexpr std::ptrdiff_t m_BoundingBoxMin = 0x21C; // Vector
+                constexpr std::ptrdiff_t m_BoundingBoxMax = 0x228; // Vector
+                constexpr std::ptrdiff_t m_flDepthSortBias = 0x234; // float32
+                constexpr std::ptrdiff_t m_nSortOverridePositionCP = 0x238; // int32
+                constexpr std::ptrdiff_t m_bInfiniteBounds = 0x23C; // bool
+                constexpr std::ptrdiff_t m_bEnableNamedValues = 0x23D; // bool
+                constexpr std::ptrdiff_t m_NamedValueDomain = 0x240; // CUtlString
+                constexpr std::ptrdiff_t m_NamedValueLocals = 0x248; // CUtlVector<ParticleNamedValueSource_t*>
+                constexpr std::ptrdiff_t m_ConstantColor = 0x260; // Color
+                constexpr std::ptrdiff_t m_ConstantNormal = 0x264; // Vector
+                constexpr std::ptrdiff_t m_flConstantRadius = 0x270; // float32
+                constexpr std::ptrdiff_t m_flConstantRotation = 0x274; // float32
+                constexpr std::ptrdiff_t m_flConstantRotationSpeed = 0x278; // float32
+                constexpr std::ptrdiff_t m_flConstantLifespan = 0x27C; // float32
+                constexpr std::ptrdiff_t m_nConstantSequenceNumber = 0x280; // int32
+                constexpr std::ptrdiff_t m_nConstantSequenceNumber1 = 0x284; // int32
+                constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x288; // int32
+                constexpr std::ptrdiff_t m_hSnapshot = 0x290; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                constexpr std::ptrdiff_t m_pszCullReplacementName = 0x298; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_flCullRadius = 0x2A0; // float32
+                constexpr std::ptrdiff_t m_flCullFillCost = 0x2A4; // float32
+                constexpr std::ptrdiff_t m_nCullControlPoint = 0x2A8; // int32
+                constexpr std::ptrdiff_t m_hFallback = 0x2B0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_nFallbackMaxCount = 0x2B8; // int32
+                constexpr std::ptrdiff_t m_hLowViolenceDef = 0x2C0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_hReferenceReplacement = 0x2C8; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_flPreSimulationTime = 0x2D0; // float32
+                constexpr std::ptrdiff_t m_flStopSimulationAfterTime = 0x2D4; // float32
+                constexpr std::ptrdiff_t m_flMaximumTimeStep = 0x2D8; // float32
+                constexpr std::ptrdiff_t m_flMaximumSimTime = 0x2DC; // float32
+                constexpr std::ptrdiff_t m_flMinimumSimTime = 0x2E0; // float32
+                constexpr std::ptrdiff_t m_flMinimumTimeStep = 0x2E4; // float32
+                constexpr std::ptrdiff_t m_nMinimumFrames = 0x2E8; // int32
+                constexpr std::ptrdiff_t m_nMinCPULevel = 0x2EC; // int32
+                constexpr std::ptrdiff_t m_nMinGPULevel = 0x2F0; // int32
+                constexpr std::ptrdiff_t m_flNoDrawTimeToGoToSleep = 0x2F4; // float32
+                constexpr std::ptrdiff_t m_flMaxDrawDistance = 0x2F8; // float32
+                constexpr std::ptrdiff_t m_flStartFadeDistance = 0x2FC; // float32
+                constexpr std::ptrdiff_t m_flMaxCreationDistance = 0x300; // float32
+                constexpr std::ptrdiff_t m_nAggregationMinAvailableParticles = 0x304; // int32
+                constexpr std::ptrdiff_t m_flAggregateRadius = 0x308; // float32
+                constexpr std::ptrdiff_t m_bShouldBatch = 0x30C; // bool
+                constexpr std::ptrdiff_t m_bShouldHitboxesFallbackToRenderBounds = 0x30D; // bool
+                constexpr std::ptrdiff_t m_bShouldHitboxesFallbackToSnapshot = 0x30E; // bool
+                constexpr std::ptrdiff_t m_bShouldHitboxesFallbackToCollisionHulls = 0x30F; // bool
+                constexpr std::ptrdiff_t m_nViewModelEffect = 0x310; // InheritableBoolType_t
+                constexpr std::ptrdiff_t m_bScreenSpaceEffect = 0x314; // bool
+                constexpr std::ptrdiff_t m_pszTargetLayerID = 0x318; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nSkipRenderControlPoint = 0x320; // int32
+                constexpr std::ptrdiff_t m_nAllowRenderControlPoint = 0x324; // int32
+                constexpr std::ptrdiff_t m_bShouldSort = 0x328; // bool
+                constexpr std::ptrdiff_t m_controlPointConfigurations = 0x370; // CUtlVector<ParticleControlPointConfiguration_t>
+            }
+            // Parent: C_OP_RemapNamedModelElementEndCap
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelMeshGroupEndCap {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PercentageBetweenTransformsVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x1D8; // Vector
+                constexpr std::ptrdiff_t m_TransformStart = 0x1E8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_TransformEnd = 0x250; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nSetMethod = 0x2B8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x2BC; // bool
+                constexpr std::ptrdiff_t m_bRadialCheck = 0x2BD; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderScreenVelocityRotate {
+                constexpr std::ptrdiff_t m_flRotateRateDegrees = 0x210; // float32
+                constexpr std::ptrdiff_t m_flForwardDegrees = 0x214; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_UpdateLightSource {
+                constexpr std::ptrdiff_t m_vColorTint = 0x1C0; // Color
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMinimumLightingRadius = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flMaximumLightingRadius = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flPositionDampingConstant = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateWithinBox {
+                constexpr std::ptrdiff_t m_vecMin = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecMax = 0x840; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0xEB8; // int32
+                constexpr std::ptrdiff_t m_bLocalSpace = 0xEBC; // bool
+                constexpr std::ptrdiff_t m_randomnessParameters = 0xEC0; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ChooseRandomChildrenInGroup {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flNumberOfChildren = 0x1D0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 33
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ControlpointLight {
+                constexpr std::ptrdiff_t m_flScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nControlPoint1 = 0x650; // int32
+                constexpr std::ptrdiff_t m_nControlPoint2 = 0x654; // int32
+                constexpr std::ptrdiff_t m_nControlPoint3 = 0x658; // int32
+                constexpr std::ptrdiff_t m_nControlPoint4 = 0x65C; // int32
+                constexpr std::ptrdiff_t m_vecCPOffset1 = 0x660; // Vector
+                constexpr std::ptrdiff_t m_vecCPOffset2 = 0x66C; // Vector
+                constexpr std::ptrdiff_t m_vecCPOffset3 = 0x678; // Vector
+                constexpr std::ptrdiff_t m_vecCPOffset4 = 0x684; // Vector
+                constexpr std::ptrdiff_t m_LightFiftyDist1 = 0x690; // float32
+                constexpr std::ptrdiff_t m_LightZeroDist1 = 0x694; // float32
+                constexpr std::ptrdiff_t m_LightFiftyDist2 = 0x698; // float32
+                constexpr std::ptrdiff_t m_LightZeroDist2 = 0x69C; // float32
+                constexpr std::ptrdiff_t m_LightFiftyDist3 = 0x6A0; // float32
+                constexpr std::ptrdiff_t m_LightZeroDist3 = 0x6A4; // float32
+                constexpr std::ptrdiff_t m_LightFiftyDist4 = 0x6A8; // float32
+                constexpr std::ptrdiff_t m_LightZeroDist4 = 0x6AC; // float32
+                constexpr std::ptrdiff_t m_LightColor1 = 0x6B0; // Color
+                constexpr std::ptrdiff_t m_LightColor2 = 0x6B4; // Color
+                constexpr std::ptrdiff_t m_LightColor3 = 0x6B8; // Color
+                constexpr std::ptrdiff_t m_LightColor4 = 0x6BC; // Color
+                constexpr std::ptrdiff_t m_bLightType1 = 0x6C0; // bool
+                constexpr std::ptrdiff_t m_bLightType2 = 0x6C1; // bool
+                constexpr std::ptrdiff_t m_bLightType3 = 0x6C2; // bool
+                constexpr std::ptrdiff_t m_bLightType4 = 0x6C3; // bool
+                constexpr std::ptrdiff_t m_bLightDynamic1 = 0x6C4; // bool
+                constexpr std::ptrdiff_t m_bLightDynamic2 = 0x6C5; // bool
+                constexpr std::ptrdiff_t m_bLightDynamic3 = 0x6C6; // bool
+                constexpr std::ptrdiff_t m_bLightDynamic4 = 0x6C7; // bool
+                constexpr std::ptrdiff_t m_bUseNormal = 0x6C8; // bool
+                constexpr std::ptrdiff_t m_bUseHLambert = 0x6C9; // bool
+                constexpr std::ptrdiff_t m_bClampLowerRange = 0x6CE; // bool
+                constexpr std::ptrdiff_t m_bClampUpperRange = 0x6CF; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_VectorFieldSnapshot {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nAttributeToWrite = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecScale = 0x330; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flBoundaryDampening = 0x9A8; // float32
+                constexpr std::ptrdiff_t m_bSetVelocity = 0x9AC; // bool
+                constexpr std::ptrdiff_t m_bLockToSurface = 0x9AD; // bool
+                constexpr std::ptrdiff_t m_flGridSpacing = 0x9B0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CylindricalDistanceToTransform {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x488; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5E8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_TransformStart = 0x748; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_TransformEnd = 0x7B0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nSetMethod = 0x818; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x81C; // bool
+                constexpr std::ptrdiff_t m_bAdditive = 0x81D; // bool
+                constexpr std::ptrdiff_t m_bCapsule = 0x81E; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PositionPlaceOnGround {
+                constexpr std::ptrdiff_t m_flOffset = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x488; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x508; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_nTraceMissBehavior = 0x518; // ParticleTraceMissBehavior_t
+                constexpr std::ptrdiff_t m_bIncludeWater = 0x51C; // bool
+                constexpr std::ptrdiff_t m_bSetNormal = 0x51D; // bool
+                constexpr std::ptrdiff_t m_bSetPXYZOnly = 0x51E; // bool
+                constexpr std::ptrdiff_t m_bTraceAlongNormal = 0x51F; // bool
+                constexpr std::ptrdiff_t m_bOffsetonColOnly = 0x520; // bool
+                constexpr std::ptrdiff_t m_flOffsetByRadiusFactor = 0x524; // float32
+                constexpr std::ptrdiff_t m_nPreserveOffsetCP = 0x528; // int32
+                constexpr std::ptrdiff_t m_nIgnoreCP = 0x52C; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomScalar {
+                constexpr std::ptrdiff_t m_flMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flExponent = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderPostProcessing {
+                constexpr std::ptrdiff_t m_flPostProcessStrength = 0x210; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_hPostTexture = 0x370; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+                constexpr std::ptrdiff_t m_nPriority = 0x378; // ParticlePostProcessPriorityGroup_t
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 27
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_WorldTraceConstraint {
+                constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_vecCpOffset = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_nCollisionMode = 0x1D0; // ParticleCollisionMode_t
+                constexpr std::ptrdiff_t m_nCollisionModeMin = 0x1D4; // ParticleCollisionMode_t
+                constexpr std::ptrdiff_t m_nTraceSet = 0x1D8; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x1DC; // char[128]
+                constexpr std::ptrdiff_t m_bWorldOnly = 0x25C; // bool
+                constexpr std::ptrdiff_t m_bBrushOnly = 0x25D; // bool
+                constexpr std::ptrdiff_t m_bIncludeWater = 0x25E; // bool
+                constexpr std::ptrdiff_t m_nIgnoreCP = 0x260; // int32
+                constexpr std::ptrdiff_t m_flCpMovementTolerance = 0x264; // float32
+                constexpr std::ptrdiff_t m_flRetestRate = 0x268; // float32
+                constexpr std::ptrdiff_t m_flTraceTolerance = 0x26C; // float32
+                constexpr std::ptrdiff_t m_flCollisionConfirmationSpeed = 0x270; // float32
+                constexpr std::ptrdiff_t m_nMaxTracesPerFrame = 0x274; // float32
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x278; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flBounceAmount = 0x3D8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flSlideAmount = 0x538; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRandomDirScale = 0x698; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bDecayBounce = 0x7F8; // bool
+                constexpr std::ptrdiff_t m_bKillonContact = 0x7F9; // bool
+                constexpr std::ptrdiff_t m_flMinSpeed = 0x7FC; // float32
+                constexpr std::ptrdiff_t m_bSetNormal = 0x800; // bool
+                constexpr std::ptrdiff_t m_nStickOnCollisionField = 0x804; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flStopSpeed = 0x808; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nEntityStickDataField = 0x968; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nEntityStickNormalField = 0x96C; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleVecInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CParticleCollectionVecInput {
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderBlobs {
+                constexpr std::ptrdiff_t m_cubeWidth = 0x210; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_cutoffRadius = 0x370; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_renderRadius = 0x4D0; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nVertexCountKb = 0x630; // uint32
+                constexpr std::ptrdiff_t m_nIndexCountKb = 0x634; // uint32
+                constexpr std::ptrdiff_t m_nScaleCP = 0x638; // int32
+                constexpr std::ptrdiff_t m_MaterialVars = 0x640; // CUtlVector<MaterialVariable_t>
+                constexpr std::ptrdiff_t m_hMaterial = 0x670; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_OscillateScalar {
+                constexpr std::ptrdiff_t m_RateMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_RateMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_FrequencyMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_FrequencyMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_nField = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bProportional = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_bProportionalOp = 0x1D5; // bool
+                constexpr std::ptrdiff_t m_flStartTime_min = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flStartTime_max = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flEndTime_min = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flEndTime_max = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flOscMult = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_flOscAdd = 0x1EC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_FadeOut {
+                constexpr std::ptrdiff_t m_flFadeOutTimeMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flFadeOutTimeMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flFadeOutTimeExp = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flFadeBias = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bProportional = 0x200; // bool
+                constexpr std::ptrdiff_t m_bEaseInAndOut = 0x201; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomSequence {
+                constexpr std::ptrdiff_t m_nSequenceMin = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nSequenceMax = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bShuffle = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_bLinear = 0x1D1; // bool
+                constexpr std::ptrdiff_t m_WeightedList = 0x1D8; // CUtlVector<SequenceWeightedList_t>
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RampScalarSplineSimple {
+                constexpr std::ptrdiff_t m_Rate = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_nField = 0x1F0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bEaseOut = 0x1F4; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_DistanceCull {
+                constexpr std::ptrdiff_t m_nControlPoint = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flDistance = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bCullInside = 0x330; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CollideWithParentParticles {
+                constexpr std::ptrdiff_t m_flParentRadiusScale = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x320; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitFromVectorFieldSnapshot {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nWeightUpdateCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_bUseVerticalVelocity = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_vecScale = 0x1D8; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetVectorAttributeToVectorExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C0; // VectorExpressionType_t
+                constexpr std::ptrdiff_t m_vInput1 = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vInput2 = 0x840; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nOutputField = 0xEB8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0xEBC; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bNormalizedOutput = 0xEC0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_AddVectorToVector {
+                constexpr std::ptrdiff_t m_vecScale = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vOffsetMin = 0x1DC; // Vector
+                constexpr std::ptrdiff_t m_vOffsetMax = 0x1E8; // Vector
+                constexpr std::ptrdiff_t m_randomnessParameters = 0x1F4; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapInitialVisibilityScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1DC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapTransformOrientationToYaw {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x228; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flRotOffset = 0x22C; // float32
+                constexpr std::ptrdiff_t m_flSpinStrength = 0x230; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderStatusEffect {
+                constexpr std::ptrdiff_t m_pTextureColorWarp = 0x210; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureDetail2 = 0x218; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureDiffuseWarp = 0x220; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureFresnelColorWarp = 0x228; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureFresnelWarp = 0x230; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureSpecularWarp = 0x238; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureEnvMap = 0x240; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RandomForce {
+                constexpr std::ptrdiff_t m_MinForce = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_MaxForce = 0x1DC; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapParticleCountOnScalarEndCap {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nInputMin = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nInputMax = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_bBackwards = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1D8; // ParticleSetMethod_t
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticlePreviewState_t {
+                constexpr std::ptrdiff_t m_previewModel = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nModSpecificData = 0x8; // uint32
+                constexpr std::ptrdiff_t m_groundType = 0xC; // PetGroundType_t
+                constexpr std::ptrdiff_t m_sequenceName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_nFireParticleOnSequenceFrame = 0x18; // int32
+                constexpr std::ptrdiff_t m_hitboxSetName = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_materialGroupName = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_vecBodyGroups = 0x30; // CUtlVector<ParticlePreviewBodyGroup_t>
+                constexpr std::ptrdiff_t m_flPlaybackSpeed = 0x48; // float32
+                constexpr std::ptrdiff_t m_flParticleSimulationRate = 0x4C; // float32
+                constexpr std::ptrdiff_t m_bShouldDrawHitboxes = 0x50; // bool
+                constexpr std::ptrdiff_t m_bShouldDrawAttachments = 0x51; // bool
+                constexpr std::ptrdiff_t m_bShouldDrawAttachmentNames = 0x52; // bool
+                constexpr std::ptrdiff_t m_bShouldDrawControlPointAxes = 0x53; // bool
+                constexpr std::ptrdiff_t m_bAnimationNonLooping = 0x54; // bool
+                constexpr std::ptrdiff_t m_vecPreviewGravity = 0x58; // Vector
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LocalAccelerationForce {
+                constexpr std::ptrdiff_t m_nCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nScaleCP = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_vecAccel = 0x1D8; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ModelCull {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_bBoundBox = 0x1C4; // bool
+                constexpr std::ptrdiff_t m_bCullOutside = 0x1C5; // bool
+                constexpr std::ptrdiff_t m_bUseBones = 0x1C6; // bool
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x1C7; // char[128]
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetFloat {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x320; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x324; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_Lerp = 0x328; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapTransformToVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vInputMin = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_vInputMax = 0x1D8; // Vector
+                constexpr std::ptrdiff_t m_vOutputMin = 0x1E4; // Vector
+                constexpr std::ptrdiff_t m_vOutputMax = 0x1F0; // Vector
+                constexpr std::ptrdiff_t m_TransformInput = 0x200; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_LocalSpaceTransform = 0x268; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flStartTime = 0x2D0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x2D4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x2D8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bOffset = 0x2DC; // bool
+                constexpr std::ptrdiff_t m_bAccelerate = 0x2DD; // bool
+                constexpr std::ptrdiff_t m_flRemapBias = 0x2E0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SDFLighting {
+                constexpr std::ptrdiff_t m_vLightingDir = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_vTint_0 = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_vTint_1 = 0x1D8; // Vector
+            }
+            // Parent: C_OP_RemapDistanceToLineSegmentBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDistanceToLineSegmentToScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flMinOutputValue = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flMaxOutputValue = 0x1E0; // float32
+            }
+            // Parent: CParticleFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CParticleRemapFloatInput {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapVectortoCP {
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nParticleNumber = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetFromCPSnapshot {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nAttributeToRead = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAttributeToWrite = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bRandom = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_bReverse = 0x1D1; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nSnapShotStartPoint = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nSnapShotIncrement = 0x338; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInterpolation = 0x498; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bSubSample = 0x5F8; // bool
+                constexpr std::ptrdiff_t m_bPrev = 0x5F9; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DistanceBetweenCPsToCP {
+                constexpr std::ptrdiff_t m_nStartCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nEndCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nOutputCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nOutputCPField = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_bSetOnce = 0x1D8; // bool
+                constexpr std::ptrdiff_t m_flInputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_flLOSScale = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_bLOS = 0x1F4; // bool
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x1F5; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x278; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_nSetParent = 0x27C; // ParticleParentSetMode_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToHand {
+                constexpr std::ptrdiff_t m_nCP1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nHand = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_bOrientToHand = 0x1DC; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ConstrainDistanceToPath {
+                constexpr std::ptrdiff_t m_fMinDistance = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flMaxDistance0 = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flMaxDistanceMid = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMaxDistance1 = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_PathParameters = 0x1D0; // CPathParameters
+                constexpr std::ptrdiff_t m_flTravelTime = 0x210; // float32
+                constexpr std::ptrdiff_t m_nFieldScale = 0x214; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nManualTField = 0x218; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DistanceCull {
+                constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_vecPointOffset = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_flDistance = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_bCullInside = 0x1D4; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapSDFDistanceToScalarAttribute {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVectorFieldInput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flMinDistance = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flValueBelowMin = 0x488; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flValueAtMin = 0x5E8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flValueAtMax = 0x748; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flValueAboveMax = 0x8A8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateAlongPath {
+                constexpr std::ptrdiff_t m_fMaxDistance = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters
+                constexpr std::ptrdiff_t m_bUseRandomCPs = 0x210; // bool
+                constexpr std::ptrdiff_t m_vEndOffset = 0x214; // Vector
+                constexpr std::ptrdiff_t m_bSaveOffset = 0x220; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointsToModelParticles {
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x1C0; // char[128]
+                constexpr std::ptrdiff_t m_AttachmentName = 0x240; // char[128]
+                constexpr std::ptrdiff_t m_nFirstControlPoint = 0x2C0; // int32
+                constexpr std::ptrdiff_t m_nNumControlPoints = 0x2C4; // int32
+                constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x2C8; // int32
+                constexpr std::ptrdiff_t m_bSkin = 0x2CC; // bool
+                constexpr std::ptrdiff_t m_bAttachment = 0x2CD; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ColorInterpolateRandom {
+                constexpr std::ptrdiff_t m_ColorFadeMin = 0x1C0; // Color
+                constexpr std::ptrdiff_t m_ColorFadeMax = 0x1DC; // Color
+                constexpr std::ptrdiff_t m_flFadeStartTime = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_flFadeEndTime = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1F4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bEaseInOut = 0x1F8; // bool
+            }
+            // Parent: C_INIT_RemapNamedModelElementToScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapNamedModelSequenceToScalar {
+            }
+            // Parent: C_OP_RenderPoints
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderLights {
+                constexpr std::ptrdiff_t m_flAnimationRate = 0x218; // float32
+                constexpr std::ptrdiff_t m_nAnimationType = 0x21C; // AnimationType_t
+                constexpr std::ptrdiff_t m_bAnimateInFPS = 0x220; // bool
+                constexpr std::ptrdiff_t m_flMinSize = 0x224; // float32
+                constexpr std::ptrdiff_t m_flMaxSize = 0x228; // float32
+                constexpr std::ptrdiff_t m_flStartFadeSize = 0x22C; // float32
+                constexpr std::ptrdiff_t m_flEndFadeSize = 0x230; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DecayClampCount {
+                constexpr std::ptrdiff_t m_nCount = 0x1C0; // CParticleCollectionFloatInput
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRandomNumberGeneratorParameters {
+                constexpr std::ptrdiff_t m_bDistributeEvenly = 0x0; // bool
+                constexpr std::ptrdiff_t m_nSeed = 0x4; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_ColorLitPerParticle {
+                constexpr std::ptrdiff_t m_ColorMin = 0x1E0; // Color
+                constexpr std::ptrdiff_t m_ColorMax = 0x1E4; // Color
+                constexpr std::ptrdiff_t m_TintMin = 0x1E8; // Color
+                constexpr std::ptrdiff_t m_TintMax = 0x1EC; // Color
+                constexpr std::ptrdiff_t m_flTintPerc = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_nTintBlendMode = 0x1F4; // ParticleColorBlendMode_t
+                constexpr std::ptrdiff_t m_flLightAmplification = 0x1F8; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderPoints {
+                constexpr std::ptrdiff_t m_hMaterial = 0x210; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SetAttributeToScalarExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C8; // ScalarExpressionType_t
+                constexpr std::ptrdiff_t m_flInput1 = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInput2 = 0x330; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputRemap = 0x490; // CParticleRemapFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x5F0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x5F4; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateOnGrid {
+                constexpr std::ptrdiff_t m_nXCount = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nYCount = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nZCount = 0x488; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nXSpacing = 0x5E8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nYSpacing = 0x748; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nZSpacing = 0x8A8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0xA08; // int32
+                constexpr std::ptrdiff_t m_bLocalSpace = 0xA0C; // bool
+                constexpr std::ptrdiff_t m_bCenter = 0xA0D; // bool
+                constexpr std::ptrdiff_t m_bHollow = 0xA0E; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RampCPLinearRandom {
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_vecRateMin = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_vecRateMax = 0x1D8; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_VelocityMatchingForce {
+                constexpr std::ptrdiff_t m_flDirScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flSpdScale = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flNeighborDistance = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flFacingStrength = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bUseAABB = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_nCPBroadcast = 0x1D4; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomAlphaWindowThreshold {
+                constexpr std::ptrdiff_t m_flMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flExponent = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateOnModelAtHeight {
+                constexpr std::ptrdiff_t m_bUseBones = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bForceZ = 0x1C9; // bool
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nHeightCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_bUseWaterHeight = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_flDesiredHeight = 0x1D8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vecHitBoxScale = 0x338; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vecDirectionBias = 0x9B0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nBiasType = 0x1028; // ParticleHitboxBiasType_t
+                constexpr std::ptrdiff_t m_bLocalCoords = 0x102C; // bool
+                constexpr std::ptrdiff_t m_bPreferMovingBoxes = 0x102D; // bool
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x102E; // char[128]
+                constexpr std::ptrdiff_t m_flHitboxVelocityScale = 0x10B0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMaxBoneVelocity = 0x1210; // CParticleCollectionFloatInput
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CParticleVariableRef {
+                constexpr std::ptrdiff_t m_variableName = 0x0; // CKV3MemberNameWithStorage
+                constexpr std::ptrdiff_t m_variableType = 0x38; // PulseValueType_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RestartAfterDuration {
+                constexpr std::ptrdiff_t m_flDurationMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flDurationMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPField = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_bOnlyChildren = 0x1D4; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderClothForce {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapVisibilityScalar {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1D8; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MParticleMinVersion
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateSequentialPathV2 {
+                constexpr std::ptrdiff_t m_fMaxDistance = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flNumToAssign = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bLoop = 0x488; // bool
+                constexpr std::ptrdiff_t m_bCPPairs = 0x489; // bool
+                constexpr std::ptrdiff_t m_bSaveOffset = 0x48A; // bool
+                constexpr std::ptrdiff_t m_PathParams = 0x490; // CPathParameters
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VecInputMaterialVariable_t {
+                constexpr std::ptrdiff_t m_strVariable = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_vecInput = 0x8; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapInitialDirectionToTransformToVector {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x234; // float32
+                constexpr std::ptrdiff_t m_flOffsetRot = 0x238; // float32
+                constexpr std::ptrdiff_t m_vecOffsetAxis = 0x23C; // Vector
+                constexpr std::ptrdiff_t m_bNormalize = 0x248; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MParticleMinVersion
+            // MGetKV3ClassDefaults
+            namespace C_OP_LockToSavedSequentialPathV2 {
+                constexpr std::ptrdiff_t m_flFadeStart = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flFadeEnd = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_bCPPairs = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_NormalLock {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapTransformOrientationToRotations {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_vecRotation = 0x230; // Vector
+                constexpr std::ptrdiff_t m_bUseQuat = 0x23C; // bool
+                constexpr std::ptrdiff_t m_bWriteNormal = 0x23D; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Cull {
+                constexpr std::ptrdiff_t m_flCullPerc = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flCullStart = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flCullEnd = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flCullExp = 0x1CC; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomYawFlip {
+                constexpr std::ptrdiff_t m_flPercent = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapSDFGradientToVectorAttribute {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SequenceWeightedList_t {
+                constexpr std::ptrdiff_t m_nSequence = 0x0; // int32
+                constexpr std::ptrdiff_t m_flRelativeWeight = 0x4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ReadFromNeighboringParticle {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_DistanceCheck = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInterpolation = 0x330; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderText {
+                constexpr std::ptrdiff_t m_OutlineColor = 0x210; // Color
+                constexpr std::ptrdiff_t m_DefaultText = 0x218; // CUtlString
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LerpToInitialPosition {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nCacheField = 0x328; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x330; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vecScale = 0x490; // CParticleCollectionVecInput
+            }
+            // Parent: CGeneralRandomRotation
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomRotation {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LerpEndCapVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecOutput = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_flLerpTime = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_VelocityDecay {
+                constexpr std::ptrdiff_t m_flMinVelocity = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetCPOrientationToPointAtCP {
+                constexpr std::ptrdiff_t m_nInputCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOutputCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_b2DOrientation = 0x330; // bool
+                constexpr std::ptrdiff_t m_bAvoidSingularity = 0x331; // bool
+                constexpr std::ptrdiff_t m_bPointAway = 0x332; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LockToPointList {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_pointList = 0x1C8; // CUtlVector<PointDefinition_t>
+                constexpr std::ptrdiff_t m_bPlaceAlongPath = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_bClosedLoop = 0x1E1; // bool
+                constexpr std::ptrdiff_t m_nNumPointsAlongPath = 0x1E4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 17
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementPlaceOnGround {
+                constexpr std::ptrdiff_t m_flOffset = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x320; // float32
+                constexpr std::ptrdiff_t m_flTolerance = 0x324; // float32
+                constexpr std::ptrdiff_t m_flTraceOffset = 0x328; // float32
+                constexpr std::ptrdiff_t m_flLerpRate = 0x32C; // float32
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x330; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x3B0; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_nRefCP1 = 0x3B4; // int32
+                constexpr std::ptrdiff_t m_nRefCP2 = 0x3B8; // int32
+                constexpr std::ptrdiff_t m_nLerpCP = 0x3BC; // int32
+                constexpr std::ptrdiff_t m_nTraceMissBehavior = 0x3C8; // ParticleTraceMissBehavior_t
+                constexpr std::ptrdiff_t m_bIncludeShotHull = 0x3CC; // bool
+                constexpr std::ptrdiff_t m_bIncludeWater = 0x3CD; // bool
+                constexpr std::ptrdiff_t m_bSetNormal = 0x3D0; // bool
+                constexpr std::ptrdiff_t m_bScaleOffset = 0x3D1; // bool
+                constexpr std::ptrdiff_t m_nPreserveOffsetCP = 0x3D4; // int32
+                constexpr std::ptrdiff_t m_nIgnoreCP = 0x3D8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetCPOrientationToDirection {
+                constexpr std::ptrdiff_t m_nInputControlPoint = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nOutputControlPoint = 0x1C4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapCrossProductOfTwoVectorsToVector {
+                constexpr std::ptrdiff_t m_InputVec1 = 0x1C0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_InputVec2 = 0x838; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0xEB0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bNormalize = 0xEB4; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapTransformOrientationToRotations {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_vecRotation = 0x228; // Vector
+                constexpr std::ptrdiff_t m_bUseQuat = 0x234; // bool
+                constexpr std::ptrdiff_t m_bWriteNormal = 0x235; // bool
+            }
+            // Parent: CGeneralRandomRotation
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomRotationSpeed {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MParticleMinVersion
+            // MGetKV3ClassDefaults
+            namespace C_OP_InheritFromParentParticlesV2 {
+                constexpr std::ptrdiff_t m_flScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_bRandomDistribution = 0x1CC; // bool
+                constexpr std::ptrdiff_t m_nMissingParentBehavior = 0x1D0; // MissingParentInheritBehavior_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomSecondSequence {
+                constexpr std::ptrdiff_t m_nSequenceMin = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nSequenceMax = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetFloatCollection {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x320; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x324; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_Lerp = 0x328; // CParticleCollectionFloatInput
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PointDefinition_t {
+                constexpr std::ptrdiff_t m_nControlPoint = 0x0; // int32
+                constexpr std::ptrdiff_t m_bLocalCoords = 0x4; // bool
+                constexpr std::ptrdiff_t m_vOffset = 0x8; // Vector
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointPositionToRandomActiveCP {
+                constexpr std::ptrdiff_t m_nCP1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nHeadLocationMin = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nHeadLocationMax = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flResetRate = 0x1D8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Diffusion {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVoxelGridResolution = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_AgeNoise {
+                constexpr std::ptrdiff_t m_bAbsVal = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bAbsValInv = 0x1C9; // bool
+                constexpr std::ptrdiff_t m_flOffset = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flAgeMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flAgeMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flNoiseScale = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flNoiseScaleLoc = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1E0; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapVectorComponentToScalar {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nComponent = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CGeneralRandomRotation {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flDegrees = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flDegreesMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flDegreesMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flRotationRandExponent = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_bRandomlyFlipDirection = 0x1DC; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DistanceBetweenVecs {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecPoint1 = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecPoint2 = 0x840; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flInputMin = 0xEB8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x1018; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1178; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x12D8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1438; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bDeltaTime = 0x143C; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DampenToCP {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_flRange = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flScale = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CalculateVectorAttribute {
+                constexpr std::ptrdiff_t m_vStartValue = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_nFieldInput1 = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputScale1 = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_nFieldInput2 = 0x1D4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputScale2 = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_nControlPointInput1 = 0x1DC; // ControlPointReference_t
+                constexpr std::ptrdiff_t m_flControlPointScale1 = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_nControlPointInput2 = 0x1F4; // ControlPointReference_t
+                constexpr std::ptrdiff_t m_flControlPointScale2 = 0x208; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x20C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vFinalOutputScale = 0x210; // Vector
+            }
+            // Parent: CParticleInput
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            // MParticleCustomFieldDefaultValue
+            namespace CParticleTransformInput {
+                constexpr std::ptrdiff_t m_nType = 0x10; // ParticleTransformType_t
+                constexpr std::ptrdiff_t m_NamedValue = 0x18; // CParticleNamedValueRef
+                constexpr std::ptrdiff_t m_bFollowNamedValue = 0x58; // bool
+                constexpr std::ptrdiff_t m_bSupportsDisabled = 0x59; // bool
+                constexpr std::ptrdiff_t m_bUseOrientation = 0x5A; // bool
+                constexpr std::ptrdiff_t m_nControlPoint = 0x5C; // int32
+                constexpr std::ptrdiff_t m_nControlPointRangeMax = 0x60; // int32
+                constexpr std::ptrdiff_t m_flEndCPGrowthTime = 0x64; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LockToBone {
+                constexpr std::ptrdiff_t m_modelInput = 0x1C0; // CParticleModelInput
+                constexpr std::ptrdiff_t m_transformInput = 0x220; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flLifeTimeFadeStart = 0x288; // float32
+                constexpr std::ptrdiff_t m_flLifeTimeFadeEnd = 0x28C; // float32
+                constexpr std::ptrdiff_t m_flJumpThreshold = 0x290; // float32
+                constexpr std::ptrdiff_t m_flPrevPosScale = 0x294; // float32
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x298; // char[128]
+                constexpr std::ptrdiff_t m_bRigid = 0x318; // bool
+                constexpr std::ptrdiff_t m_bUseBones = 0x319; // bool
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x31C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutputPrev = 0x320; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nRotationSetType = 0x324; // ParticleRotationLockType_t
+                constexpr std::ptrdiff_t m_bRigidRotationLock = 0x328; // bool
+                constexpr std::ptrdiff_t m_vecRotation = 0x330; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flRotLerp = 0x9A8; // CPerParticleFloatInput
+            }
+            // Parent: C_OP_RemapNamedModelElementOnceTimed
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelBodyPartOnceTimed {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementMaintainOffset {
+                constexpr std::ptrdiff_t m_vecOffset = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_nCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bRadiusScale = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetVec {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x838; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x83C; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_Lerp = 0x840; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bNormalizedOutput = 0x9A0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateFromParentParticles {
+                constexpr std::ptrdiff_t m_flVelocityScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flIncrement = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bRandomDistribution = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_bSubFrame = 0x1D8; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            namespace IParticleEffect {
+            }
+            // Parent: C_INIT_RandomNamedModelElement
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomNamedModelBodyPart {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PARTICLE_EHANDLE__ {
+                constexpr std::ptrdiff_t unused = 0x0; // int32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderOmni2Light {
+                constexpr std::ptrdiff_t m_nLightType = 0x210; // ParticleOmni2LightTypeChoiceList_t
+                constexpr std::ptrdiff_t m_vColorBlend = 0x218; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0x890; // ParticleColorBlendType_t
+                constexpr std::ptrdiff_t m_nBrightnessUnit = 0x894; // ParticleLightUnitChoiceList_t
+                constexpr std::ptrdiff_t m_flBrightnessLumens = 0x898; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flBrightnessCandelas = 0x9F8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bCastShadows = 0xB58; // bool
+                constexpr std::ptrdiff_t m_bFog = 0xB59; // bool
+                constexpr std::ptrdiff_t m_flFogScale = 0xB60; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flLuminaireRadius = 0xCC0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flSkirt = 0xE20; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRange = 0xF80; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInnerConeAngle = 0x10E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOuterConeAngle = 0x1240; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_hLightCookie = 0x13A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_bSphericalCookie = 0x13A8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ConnectParentParticleToNearest {
+                constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nSecondControlPoint = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_bUseRadius = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flParentRadiusScale = 0x330; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CPerParticleFloatInput {
+            }
+            // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapParticleCountToNamedModelBodyPartScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 19
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitSkinnedPositionFromCPSnapshot {
+                constexpr std::ptrdiff_t m_nSnapshotControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bRandom = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_bRigid = 0x1D8; // bool
+                constexpr std::ptrdiff_t m_bSetNormal = 0x1D9; // bool
+                constexpr std::ptrdiff_t m_bIgnoreDt = 0x1DA; // bool
+                constexpr std::ptrdiff_t m_flMinNormalVelocity = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flMaxNormalVelocity = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_nIndexType = 0x1E4; // SnapshotIndexType_t
+                constexpr std::ptrdiff_t m_flReadIndex = 0x1E8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flIncrement = 0x348; // float32
+                constexpr std::ptrdiff_t m_nFullLoopIncrement = 0x34C; // int32
+                constexpr std::ptrdiff_t m_nSnapShotStartPoint = 0x350; // int32
+                constexpr std::ptrdiff_t m_flBoneVelocity = 0x354; // float32
+                constexpr std::ptrdiff_t m_flBoneVelocityMax = 0x358; // float32
+                constexpr std::ptrdiff_t m_bCopyColor = 0x35C; // bool
+                constexpr std::ptrdiff_t m_bCopyAlpha = 0x35D; // bool
+                constexpr std::ptrdiff_t m_bSetRadius = 0x35E; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LagCompensation {
+                constexpr std::ptrdiff_t m_nDesiredVelocityCP = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nLatencyCP = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nLatencyCPField = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nDesiredVelocityCPField = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CollideWithSelf {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMinimumSpeed = 0x320; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_Noise {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_fl4NoiseScale = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bAdditive = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_flNoiseAnimationTimeScale = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_FadeAndKillForTracers {
+                constexpr std::ptrdiff_t m_flStartFadeInTime = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flEndFadeInTime = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flStartFadeOutTime = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flEndFadeOutTime = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flStartAlpha = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flEndAlpha = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ColorAdjustHSL {
+                constexpr std::ptrdiff_t m_flHueAdjust = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flSaturationAdjust = 0x320; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flLightnessAdjust = 0x480; // CPerParticleFloatInput
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleMassCalculationParameters {
+                constexpr std::ptrdiff_t m_nMassMode = 0x0; // ParticleMassMode_t
+                constexpr std::ptrdiff_t m_flRadius = 0x8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flNominalRadius = 0x168; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flScale = 0x2C8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SequenceFromModel {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutputAnim = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1DC; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_AlphaDecay {
+                constexpr std::ptrdiff_t m_flMinAlpha = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDensityGradientToVectorAttribute {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitVec {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x840; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x844; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bNormalizedOutput = 0x848; // bool
+                constexpr std::ptrdiff_t m_bWritePreviousPosition = 0x849; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SetHitboxToModel {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nForceInModel = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bEvenDistribution = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_nDesiredHitbox = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_vecHitBoxScale = 0x1D8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vecDirectionBias = 0x850; // Vector
+                constexpr std::ptrdiff_t m_bMaintainHitbox = 0x85C; // bool
+                constexpr std::ptrdiff_t m_bUseBones = 0x85D; // bool
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x85E; // char[128]
+                constexpr std::ptrdiff_t m_flShellSize = 0x8E0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementMoveAlongSkinnedCPSnapshot {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nSnapshotControlPointNumber = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_bSetNormal = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bSetRadius = 0x1C9; // bool
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flTValue = 0x330; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LerpScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOutput = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flStartTime = 0x328; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x32C; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitialRepulsionVelocity {
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x1C8; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x248; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x24C; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x258; // Vector
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x264; // int32
+                constexpr std::ptrdiff_t m_bPerParticle = 0x268; // bool
+                constexpr std::ptrdiff_t m_bTranslate = 0x269; // bool
+                constexpr std::ptrdiff_t m_bProportional = 0x26A; // bool
+                constexpr std::ptrdiff_t m_flTraceLength = 0x26C; // float32
+                constexpr std::ptrdiff_t m_bPerParticleTR = 0x270; // bool
+                constexpr std::ptrdiff_t m_bInherit = 0x271; // bool
+                constexpr std::ptrdiff_t m_nChildCP = 0x274; // int32
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x278; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ClampScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x328; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToHMD {
+                constexpr std::ptrdiff_t m_nCP1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_bOrientToHMD = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DifferencePreviousParticle {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1D8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x1DC; // bool
+                constexpr std::ptrdiff_t m_bSetPreviousParticle = 0x1DD; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointFieldFromVectorExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C8; // VectorFloatExpressionType_t
+                constexpr std::ptrdiff_t m_vecInput1 = 0x1D0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vecInput2 = 0x848; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flOutputRemap = 0xEC0; // CParticleRemapFloatInput
+                constexpr std::ptrdiff_t m_nOutputCP = 0x1020; // int32
+                constexpr std::ptrdiff_t m_nOutVectorField = 0x1024; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PercentageBetweenTransforms {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_TransformStart = 0x1D8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_TransformEnd = 0x240; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nSetMethod = 0x2A8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x2AC; // bool
+                constexpr std::ptrdiff_t m_bRadialCheck = 0x2AD; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PlaneCull {
+                constexpr std::ptrdiff_t m_nControlPoint = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flDistance = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bCullInside = 0x330; // bool
+            }
+            // Parent: C_OP_RemapNamedModelElementEndCap
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelSequenceEndCap {
+            }
+            // Parent: CParticleCollectionFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CParticleCollectionRendererFloatInput {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitFromCPSnapshot {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nAttributeToRead = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAttributeToWrite = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_bRandom = 0x1D8; // bool
+                constexpr std::ptrdiff_t m_bReverse = 0x1D9; // bool
+                constexpr std::ptrdiff_t m_nSnapShotIncrement = 0x1E0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nManualSnapshotIndex = 0x340; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x4A0; // int32
+                constexpr std::ptrdiff_t m_bLocalSpaceAngles = 0x4A4; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 22
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderCables {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x210; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x370; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vecColorScale = 0x4D0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0xB48; // ParticleColorBlendType_t
+                constexpr std::ptrdiff_t m_hMaterial = 0xB50; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nTextureRepetitionMode = 0xB58; // TextureRepetitionMode_t
+                constexpr std::ptrdiff_t m_flTextureRepeatsPerSegment = 0xB60; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flTextureRepeatsCircumference = 0xCC0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flColorMapOffsetV = 0xE20; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flColorMapOffsetU = 0xF80; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flNormalMapOffsetV = 0x10E0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flNormalMapOffsetU = 0x1240; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bDrawCableCaps = 0x13A0; // bool
+                constexpr std::ptrdiff_t m_flCapRoundness = 0x13A4; // float32
+                constexpr std::ptrdiff_t m_flCapOffsetAmount = 0x13A8; // float32
+                constexpr std::ptrdiff_t m_flTessScale = 0x13AC; // float32
+                constexpr std::ptrdiff_t m_nMinTesselation = 0x13B0; // int32
+                constexpr std::ptrdiff_t m_nMaxTesselation = 0x13B4; // int32
+                constexpr std::ptrdiff_t m_nRoundness = 0x13B8; // int32
+                constexpr std::ptrdiff_t m_LightingTransform = 0x13C0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_MaterialFloatVars = 0x1428; // CUtlVector<FloatInputMaterialVariable_t>
+                constexpr std::ptrdiff_t m_MaterialVecVars = 0x1458; // CUtlVector<VecInputMaterialVariable_t>
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InheritVelocity {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flVelocityScale = 0x1CC; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToWaterSurface {
+                constexpr std::ptrdiff_t m_nSourceCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nDestCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nFlowCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nActiveCP = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nActiveCPField = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_flRetestRate = 0x1E0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bAdaptiveThreshold = 0x340; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PositionOffset {
+                constexpr std::ptrdiff_t m_OffsetMin = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_OffsetMax = 0x840; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_TransformInput = 0xEB8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_bLocalCoords = 0xF20; // bool
+                constexpr std::ptrdiff_t m_bProportional = 0xF21; // bool
+                constexpr std::ptrdiff_t m_randomnessParameters = 0xF24; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_NormalAlignToCP {
+                constexpr std::ptrdiff_t m_transformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nControlPointAxis = 0x230; // ParticleControlPointAxis_t
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ShapeMatchingConstraint {
+                constexpr std::ptrdiff_t m_flShapeRestorationTime = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetChildControlPoints {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bReverse = 0x330; // bool
+                constexpr std::ptrdiff_t m_bSetOrientation = 0x331; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ChladniWave {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x488; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5E8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecWaveLength = 0x748; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecHarmonics = 0xDC0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1438; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_nLocalSpaceControlPoint = 0x143C; // int32
+                constexpr std::ptrdiff_t m_b3D = 0x1440; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDirectionToCPToVector {
+                constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flOffsetRot = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_vecOffsetAxis = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_bNormalize = 0x1DC; // bool
+                constexpr std::ptrdiff_t m_nFieldStrength = 0x1E0; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DriveCPFromGlobalSoundFloat {
+                constexpr std::ptrdiff_t m_nOutputControlPoint = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOutputField = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_StackName = 0x1E0; // CUtlString
+                constexpr std::ptrdiff_t m_OperatorName = 0x1E8; // CUtlString
+                constexpr std::ptrdiff_t m_FieldName = 0x1F0; // CUtlString
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RtEnvCull {
+                constexpr std::ptrdiff_t m_vecTestDir = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_vecTestNormal = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_bCullOnMiss = 0x1D8; // bool
+                constexpr std::ptrdiff_t m_bStickInsteadOfCull = 0x1D9; // bool
+                constexpr std::ptrdiff_t m_RtEnvName = 0x1DA; // char[128]
+                constexpr std::ptrdiff_t m_nRTEnvCP = 0x25C; // int32
+                constexpr std::ptrdiff_t m_nComponent = 0x260; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PinParticleToCP {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_vecOffset = 0x1C8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_bOffsetLocal = 0x840; // bool
+                constexpr std::ptrdiff_t m_nParticleSelection = 0x844; // ParticleSelection_t
+                constexpr std::ptrdiff_t m_nParticleNumber = 0x848; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nPinBreakType = 0x9A8; // ParticlePinDistance_t
+                constexpr std::ptrdiff_t m_flBreakDistance = 0x9B0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flBreakSpeed = 0xB10; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flAge = 0xC70; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nBreakControlPointNumber = 0xDD0; // int32
+                constexpr std::ptrdiff_t m_nBreakControlPointNumber2 = 0xDD4; // int32
+                constexpr std::ptrdiff_t m_flBreakValue = 0xDD8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flInterpolation = 0xF38; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapCPtoVector {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_vInputMin = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_vInputMax = 0x1D8; // Vector
+                constexpr std::ptrdiff_t m_vOutputMin = 0x1E4; // Vector
+                constexpr std::ptrdiff_t m_vOutputMax = 0x1F0; // Vector
+                constexpr std::ptrdiff_t m_flStartTime = 0x1FC; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x200; // float32
+                constexpr std::ptrdiff_t m_flInterpRate = 0x204; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x208; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bOffset = 0x20C; // bool
+                constexpr std::ptrdiff_t m_bAccelerate = 0x20D; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateParticleImpulse {
+                constexpr std::ptrdiff_t m_InputRadius = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_InputMagnitude = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nFalloffFunction = 0x488; // ParticleFalloffFunction_t
+                constexpr std::ptrdiff_t m_InputFalloffExp = 0x490; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nImpulseType = 0x5F0; // ParticleImpulseType_t
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DensityForce {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flForceScale = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flTargetDensity = 0x1D8; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateInEpitrochoid {
+                constexpr std::ptrdiff_t m_nComponent1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nComponent2 = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_TransformInput = 0x1D0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flParticleDensity = 0x238; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOffset = 0x398; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRadius1 = 0x4F8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flRadius2 = 0x658; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bUseCount = 0x7B8; // bool
+                constexpr std::ptrdiff_t m_bUseLocalCoords = 0x7B9; // bool
+                constexpr std::ptrdiff_t m_bOffsetExistingPos = 0x7BA; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ConstrainDistanceToUserSpecifiedPath {
+                constexpr std::ptrdiff_t m_fMinDistance = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flTimeScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_bLoopedPath = 0x1CC; // bool
+                constexpr std::ptrdiff_t m_pointList = 0x1D0; // CUtlVector<PointDefinitionWithTimeValues_t>
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointPositions {
+                constexpr std::ptrdiff_t m_bUseWorldLocation = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bOrient = 0x1C9; // bool
+                constexpr std::ptrdiff_t m_bSetOnce = 0x1CA; // bool
+                constexpr std::ptrdiff_t m_nCP1 = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nCP2 = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nCP3 = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nCP4 = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1DC; // Vector
+                constexpr std::ptrdiff_t m_vecCP2Pos = 0x1E8; // Vector
+                constexpr std::ptrdiff_t m_vecCP3Pos = 0x1F4; // Vector
+                constexpr std::ptrdiff_t m_vecCP4Pos = 0x200; // Vector
+                constexpr std::ptrdiff_t m_nHeadLocation = 0x20C; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetFloatAttributeToVectorExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C0; // VectorFloatExpressionType_t
+                constexpr std::ptrdiff_t m_vInput1 = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vInput2 = 0x840; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flOutputRemap = 0xEB8; // CParticleRemapFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x1018; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x101C; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementRotateParticleAroundAxis {
+                constexpr std::ptrdiff_t m_vecRotAxis = 0x1C0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flRotRate = 0x838; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_TransformInput = 0x998; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_bLocalSpace = 0xA00; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_IntraParticleForce {
+                constexpr std::ptrdiff_t m_flAttractionMinDistance = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flAttractionMaxDistance = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flAttractionMaxStrength = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flRepulsionMinDistance = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flRepulsionMaxDistance = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flRepulsionMaxStrength = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_bUseAABB = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bThreadIt = 0x1E9; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitFloat {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x328; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x32C; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_InputStrength = 0x330; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateOnModel {
+                constexpr std::ptrdiff_t m_modelInput = 0x1C8; // CParticleModelInput
+                constexpr std::ptrdiff_t m_transformInput = 0x228; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nForceInModel = 0x290; // int32
+                constexpr std::ptrdiff_t m_bScaleToVolume = 0x294; // bool
+                constexpr std::ptrdiff_t m_bEvenDistribution = 0x295; // bool
+                constexpr std::ptrdiff_t m_nDesiredHitbox = 0x298; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nHitboxValueFromControlPointIndex = 0x3F8; // int32
+                constexpr std::ptrdiff_t m_vecHitBoxScale = 0x400; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flBoneVelocity = 0xA78; // float32
+                constexpr std::ptrdiff_t m_flMaxBoneVelocity = 0xA7C; // float32
+                constexpr std::ptrdiff_t m_vecDirectionBias = 0xA80; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x10F8; // char[128]
+                constexpr std::ptrdiff_t m_bLocalCoords = 0x1178; // bool
+                constexpr std::ptrdiff_t m_bUseBones = 0x1179; // bool
+                constexpr std::ptrdiff_t m_bUseMesh = 0x117A; // bool
+                constexpr std::ptrdiff_t m_flShellSize = 0x1180; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_InheritFromPeerSystem {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nGroupID = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PerParticleForce {
+                constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vForce = 0x330; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nCP = 0x9A8; // int32
+            }
+            // Parent: C_INIT_RandomNamedModelElement
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomNamedModelMeshGroup {
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 18
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderProjected {
+                constexpr std::ptrdiff_t m_bProjectCharacter = 0x210; // bool
+                constexpr std::ptrdiff_t m_bProjectWorld = 0x211; // bool
+                constexpr std::ptrdiff_t m_bProjectWater = 0x212; // bool
+                constexpr std::ptrdiff_t m_bFlipHorizontal = 0x213; // bool
+                constexpr std::ptrdiff_t m_bEnableProjectedDepthControls = 0x214; // bool
+                constexpr std::ptrdiff_t m_flMinProjectionDepth = 0x218; // float32
+                constexpr std::ptrdiff_t m_flMaxProjectionDepth = 0x21C; // float32
+                constexpr std::ptrdiff_t m_vecProjectedMaterials = 0x220; // CUtlVector<RenderProjectedMaterial_t>
+                constexpr std::ptrdiff_t m_flMaterialSelection = 0x238; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flAnimationTimeScale = 0x398; // float32
+                constexpr std::ptrdiff_t m_bOrientToNormal = 0x39C; // bool
+                constexpr std::ptrdiff_t m_MaterialVars = 0x3A0; // CUtlVector<MaterialVariable_t>
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x3B8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x518; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flRollScale = 0x678; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nAlpha2Field = 0x7D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecColorScale = 0x7E0; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0xE58; // ParticleColorBlendType_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MaxVelocity {
+                constexpr std::ptrdiff_t m_flMaxVelocity = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flMinVelocity = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_nOverrideCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOverrideCPField = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_VelocityFromNormal {
+                constexpr std::ptrdiff_t m_fSpeedMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_fSpeedMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bIgnoreDt = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MaintainEmitter {
+                constexpr std::ptrdiff_t m_nParticlesToMaintain = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flStartTime = 0x328; // float32
+                constexpr std::ptrdiff_t m_flEmissionDuration = 0x330; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flEmissionRate = 0x490; // float32
+                constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x494; // int32
+                constexpr std::ptrdiff_t m_bEmitInstantaneously = 0x498; // bool
+                constexpr std::ptrdiff_t m_bFinalEmitOnStop = 0x499; // bool
+                constexpr std::ptrdiff_t m_flScale = 0x4A0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PositionOffsetToCP {
+                constexpr std::ptrdiff_t m_nControlPointNumberStart = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nControlPointNumberEnd = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bLocalCoords = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapInitialTransformDirectionToRotation {
+                constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x230; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOffsetRot = 0x234; // float32
+                constexpr std::ptrdiff_t m_nComponent = 0x238; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_FadeAndKill {
+                constexpr std::ptrdiff_t m_flStartFadeInTime = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flEndFadeInTime = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flStartFadeOutTime = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flEndFadeOutTime = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flStartAlpha = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flEndAlpha = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_bForcePreserveParticleOrder = 0x1D8; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PARTICLE_WORLD_HANDLE__ {
+                constexpr std::ptrdiff_t unused = 0x0; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ColorInterpolate {
+                constexpr std::ptrdiff_t m_ColorFade = 0x1C0; // Color
+                constexpr std::ptrdiff_t m_flFadeStartTime = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flFadeEndTime = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bEaseInOut = 0x1DC; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RampScalarSpline {
+                constexpr std::ptrdiff_t m_RateMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_RateMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flStartTime_min = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flStartTime_max = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flEndTime_min = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flEndTime_max = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flBias = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_nField = 0x200; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bProportionalOp = 0x204; // bool
+                constexpr std::ptrdiff_t m_bEaseOut = 0x205; // bool
+            }
+            // Parent: C_OP_RemapNamedModelElementOnceTimed
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelSequenceOnceTimed {
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointFromObjectScale {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPOutput = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MaintainSequentialPath {
+                constexpr std::ptrdiff_t m_fMaxDistance = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flNumToAssign = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flCohesionStrength = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flTolerance = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bLoop = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_bUseParticleCount = 0x1D1; // bool
+                constexpr std::ptrdiff_t m_PathParams = 0x1E0; // CPathParameters
+            }
+            // Parent: C_OP_RemapNamedModelElementEndCap
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelBodyPartEndCap {
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_StopAfterCPDuration {
+                constexpr std::ptrdiff_t m_flDuration = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bDestroyImmediately = 0x328; // bool
+                constexpr std::ptrdiff_t m_bPlayEndCap = 0x329; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CGeneralSpin {
+                constexpr std::ptrdiff_t m_nSpinRateDegrees = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nSpinRateMinDegrees = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_fSpinRateStopTime = 0x1CC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MParticleMaxVersion
+            // MParticleReplacementOp
+            // MGetKV3ClassDefaults
+            namespace C_OP_LockToSavedSequentialPath {
+                constexpr std::ptrdiff_t m_flFadeStart = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flFadeEnd = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_bCPPairs = 0x1CC; // bool
+                constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapNamedModelElementToScalar {
+                constexpr std::ptrdiff_t m_hModel = 0x1C8; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_names = 0x1D0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_values = 0x1E8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nFieldInput = 0x200; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x204; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x208; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bModelFromRenderer = 0x20C; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ClampVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x1C8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x840; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderStatusEffectCitadel {
+                constexpr std::ptrdiff_t m_pTextureColorWarp = 0x210; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureNormal = 0x218; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureMetalness = 0x220; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureRoughness = 0x228; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureSelfIllum = 0x230; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_pTextureDetail = 0x238; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapCPtoScalar {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nField = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1EC; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_flRemapBias = 0x1F0; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace IParticleSystemDefinition {
+            }
+            // Parent: CParticleFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CParticleCollectionFloatInput {
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_WindForce {
+                constexpr std::ptrdiff_t m_vForce = 0x1D0; // Vector
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetVariable {
+                constexpr std::ptrdiff_t m_variableReference = 0x1C8; // CParticleVariableRef
+                constexpr std::ptrdiff_t m_transformInput = 0x208; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_positionOffset = 0x270; // Vector
+                constexpr std::ptrdiff_t m_rotationOffset = 0x27C; // QAngle
+                constexpr std::ptrdiff_t m_vecInput = 0x288; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_floatInput = 0x900; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 29
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderStandardLight {
+                constexpr std::ptrdiff_t m_nLightType = 0x210; // ParticleLightTypeChoiceList_t
+                constexpr std::ptrdiff_t m_vecColorScale = 0x218; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0x890; // ParticleColorBlendType_t
+                constexpr std::ptrdiff_t m_flIntensity = 0x898; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bCastShadows = 0x9F8; // bool
+                constexpr std::ptrdiff_t m_flTheta = 0xA00; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flPhi = 0xB60; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flRadiusMultiplier = 0xCC0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nAttenuationStyle = 0xE20; // StandardLightingAttenuationStyle_t
+                constexpr std::ptrdiff_t m_flFalloffLinearity = 0xE28; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flFiftyPercentFalloff = 0xF88; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flZeroPercentFalloff = 0x10E8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bRenderDiffuse = 0x1248; // bool
+                constexpr std::ptrdiff_t m_bRenderSpecular = 0x1249; // bool
+                constexpr std::ptrdiff_t m_lightCookie = 0x1250; // CUtlString
+                constexpr std::ptrdiff_t m_nPriority = 0x1258; // int32
+                constexpr std::ptrdiff_t m_nFogLightingMode = 0x125C; // ParticleLightFogLightingMode_t
+                constexpr std::ptrdiff_t m_flFogContribution = 0x1260; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nCapsuleLightBehavior = 0x13C0; // ParticleLightBehaviorChoiceList_t
+                constexpr std::ptrdiff_t m_flCapsuleLength = 0x13C4; // float32
+                constexpr std::ptrdiff_t m_bReverseOrder = 0x13C8; // bool
+                constexpr std::ptrdiff_t m_bClosedLoop = 0x13C9; // bool
+                constexpr std::ptrdiff_t m_nPrevPntSource = 0x13CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flMaxLength = 0x13D0; // float32
+                constexpr std::ptrdiff_t m_flMinLength = 0x13D4; // float32
+                constexpr std::ptrdiff_t m_bIgnoreDT = 0x13D8; // bool
+                constexpr std::ptrdiff_t m_flConstrainRadiusToLengthRatio = 0x13DC; // float32
+                constexpr std::ptrdiff_t m_flLengthScale = 0x13E0; // float32
+                constexpr std::ptrdiff_t m_flLengthFadeInTime = 0x13E4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_DistanceToTransform {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x488; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5E8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_TransformStart = 0x748; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_bLOS = 0x7B0; // bool
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x7B1; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x834; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x838; // float32
+                constexpr std::ptrdiff_t m_flLOSScale = 0x83C; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x840; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x844; // bool
+                constexpr std::ptrdiff_t m_bAdditive = 0x845; // bool
+                constexpr std::ptrdiff_t m_vecComponentScale = 0x848; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapControlPointOrientationToRotation {
+                constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOffsetRot = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_nComponent = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToCenter {
+                constexpr std::ptrdiff_t m_nCP1 = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_vecCP1Pos = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_bUseAvgParticlePos = 0x1D8; // bool
+                constexpr std::ptrdiff_t m_nSetParent = 0x1DC; // ParticleParentSetMode_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapAverageScalarValuetoCP {
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOutVectorField = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nField = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDotProductToScalar {
+                constexpr std::ptrdiff_t m_nInputCP1 = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nInputCP2 = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_bUseParticleVelocity = 0x1DC; // bool
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E0; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x1E4; // bool
+                constexpr std::ptrdiff_t m_bUseParticleNormal = 0x1E5; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapCPtoCP {
+                constexpr std::ptrdiff_t m_nInputControlPoint = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOutputControlPoint = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nInputField = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nOutputField = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_bDerivative = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_flInterpRate = 0x1EC; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointRotation {
+                constexpr std::ptrdiff_t m_vecRotAxis = 0x1C8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flRotRate = 0x840; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nCP = 0x9A0; // int32
+                constexpr std::ptrdiff_t m_nLocalCP = 0x9A4; // int32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CurlNoiseForce {
+                constexpr std::ptrdiff_t m_nNoiseType = 0x1D0; // ParticleDirectionNoiseType_t
+                constexpr std::ptrdiff_t m_vecNoiseFreq = 0x1D8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecNoiseScale = 0x850; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecOffset = 0xEC8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecOffsetRate = 0x1540; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_flWorleySeed = 0x1BB8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flWorleyJitter = 0x1D18; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_Orient2DRelToCP {
+                constexpr std::ptrdiff_t m_nCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flRotOffset = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetSimulationRate {
+                constexpr std::ptrdiff_t m_flSimulationScale = 0x1C8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_FadeIn {
+                constexpr std::ptrdiff_t m_flFadeInTimeMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flFadeInTimeMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flFadeInTimeExp = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_bProportional = 0x1CC; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderScreenShake {
+                constexpr std::ptrdiff_t m_flDurationScale = 0x210; // float32
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x214; // float32
+                constexpr std::ptrdiff_t m_flFrequencyScale = 0x218; // float32
+                constexpr std::ptrdiff_t m_flAmplitudeScale = 0x21C; // float32
+                constexpr std::ptrdiff_t m_nRadiusField = 0x220; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nDurationField = 0x224; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFrequencyField = 0x228; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAmplitudeField = 0x22C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFilterCP = 0x230; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapBoundingVolumetoCP {
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_HSVShiftToCP {
+                constexpr std::ptrdiff_t m_nColorCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nColorGemEnableCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nOutputCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_DefaultHSVColor = 0x1D4; // Color
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_GlobalScale {
+                constexpr std::ptrdiff_t m_flScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_nScaleControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_bScaleRadius = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_bScalePosition = 0x1D5; // bool
+                constexpr std::ptrdiff_t m_bScaleVelocity = 0x1D6; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RadiusFromCPObject {
+                constexpr std::ptrdiff_t m_nControlPoint = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitialVelocityFromHitbox {
+                constexpr std::ptrdiff_t m_flVelocityMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flVelocityMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x1D4; // char[128]
+                constexpr std::ptrdiff_t m_bUseBones = 0x254; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LerpVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecOutput = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_flStartTime = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1D8; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointFieldToWater {
+                constexpr std::ptrdiff_t m_nSourceCP = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nDestCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nCPField = 0x1D0; // int32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace TextureGroup_t {
+                constexpr std::ptrdiff_t m_bEnabled = 0x0; // bool
+                constexpr std::ptrdiff_t m_bReplaceTextureWithGradient = 0x1; // bool
+                constexpr std::ptrdiff_t m_hTexture = 0x8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Gradient = 0x10; // CColorGradient
+                constexpr std::ptrdiff_t m_nTextureType = 0x28; // SpriteCardTextureType_t
+                constexpr std::ptrdiff_t m_nTextureChannels = 0x2C; // SpriteCardTextureChannel_t
+                constexpr std::ptrdiff_t m_nTextureBlendMode = 0x30; // ParticleTextureLayerBlendType_t
+                constexpr std::ptrdiff_t m_flTextureBlend = 0x38; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_TextureControls = 0x198; // TextureControls_t
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_TimeVaryingForce {
+                constexpr std::ptrdiff_t m_flStartLerpTime = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_StartingForce = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_flEndLerpTime = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_EndingForce = 0x1E4; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetCPOrientationToGroundNormal {
+                constexpr std::ptrdiff_t m_flInterpRate = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flTolerance = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flTraceOffset = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x1D0; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x250; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_nInputCP = 0x254; // int32
+                constexpr std::ptrdiff_t m_nOutputCP = 0x258; // int32
+                constexpr std::ptrdiff_t m_bIncludeWater = 0x268; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SnapshotSkinToBones {
+                constexpr std::ptrdiff_t m_bTransformNormals = 0x1C0; // bool
+                constexpr std::ptrdiff_t m_bTransformRadii = 0x1C1; // bool
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_flLifeTimeFadeStart = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flLifeTimeFadeEnd = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flJumpThreshold = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flPrevPosScale = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateWithinSphereTransform {
+                constexpr std::ptrdiff_t m_fRadiusMin = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_fRadiusMax = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecDistanceBias = 0x488; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecDistanceBiasAbs = 0xB00; // Vector
+                constexpr std::ptrdiff_t m_TransformInput = 0xB10; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_fSpeedMin = 0xB78; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_fSpeedMax = 0xCD8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_fSpeedRandExp = 0xE38; // float32
+                constexpr std::ptrdiff_t m_bLocalCoords = 0xE3C; // bool
+                constexpr std::ptrdiff_t m_flEndCPGrowthTime = 0xE40; // float32
+                constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMin = 0xE48; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMax = 0x14C0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1B38; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldVelocity = 0x1B3C; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RadiusDecay {
+                constexpr std::ptrdiff_t m_flMinRadius = 0x1C0; // float32
+            }
+            // Parent: C_INIT_RemapNamedModelElementToScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapNamedModelBodyPartToScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapScalarToVector {
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x1D8; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x1E4; // Vector
+                constexpr std::ptrdiff_t m_flStartTime = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1F4; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1F8; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1FC; // int32
+                constexpr std::ptrdiff_t m_bLocalCoords = 0x200; // bool
+                constexpr std::ptrdiff_t m_flRemapBias = 0x204; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitialSequenceFromModel {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutputAnim = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E4; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_NoiseEmitter {
+                constexpr std::ptrdiff_t m_flEmissionDuration = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flEmissionScale = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_nScaleControlPoint = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nScaleControlPointField = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_nWorldNoisePoint = 0x1DC; // int32
+                constexpr std::ptrdiff_t m_bAbsVal = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_bAbsValInv = 0x1E1; // bool
+                constexpr std::ptrdiff_t m_flOffset = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1EC; // float32
+                constexpr std::ptrdiff_t m_flNoiseScale = 0x1F0; // float32
+                constexpr std::ptrdiff_t m_flWorldNoiseScale = 0x1F4; // float32
+                constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1F8; // Vector
+                constexpr std::ptrdiff_t m_flWorldTimeScale = 0x204; // float32
+            }
+            // Parent: CParticleFunction
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionInitializer {
+                constexpr std::ptrdiff_t m_nAssociatedEmitterIndex = 0x1C0; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SelectivelyEnableChildren {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nFirstChild = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nNumChildrenToEnable = 0x488; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bPlayEndcapOnStop = 0x5E8; // bool
+                constexpr std::ptrdiff_t m_bDestroyImmediately = 0x5E9; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ModelReference_t {
+                constexpr std::ptrdiff_t m_model = 0x0; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_flRelativeProbabilityOfSpawn = 0x8; // float32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PlanarConstraint {
+                constexpr std::ptrdiff_t m_PointOnPlane = 0x1C0; // Vector
+                constexpr std::ptrdiff_t m_PlaneNormal = 0x1CC; // Vector
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_bGlobalOrigin = 0x1DC; // bool
+                constexpr std::ptrdiff_t m_bGlobalNormal = 0x1DD; // bool
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMaximumDistanceToCP = 0x340; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bUseOldCode = 0x4A0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateFromCPs {
+                constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nMinCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nMaxCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nDynamicCPCount = 0x1D8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LockPoints {
+                constexpr std::ptrdiff_t m_nMinCol = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nMaxCol = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nMinRow = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nMaxRow = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nControlPoint = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flBlendValue = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_CreateSpiralSphere {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nOverrideCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nDensity = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flInitialRadius = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flInitialSpeedMin = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flInitialSpeedMax = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_bUseParticleCount = 0x1E0; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CPVelocityForce {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_flScale = 0x1D8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapNamedModelElementEndCap {
+                constexpr std::ptrdiff_t m_hModel = 0x1C0; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_inNames = 0x1C8; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_outNames = 0x1E0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_fallbackNames = 0x1F8; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_bModelFromRenderer = 0x210; // bool
+                constexpr std::ptrdiff_t m_nFieldInput = 0x214; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x218; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_ScaleVelocity {
+                constexpr std::ptrdiff_t m_vecScale = 0x1C8; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MoveToHitbox {
+                constexpr std::ptrdiff_t m_modelInput = 0x1C0; // CParticleModelInput
+                constexpr std::ptrdiff_t m_transformInput = 0x220; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_flLifeTimeLerpStart = 0x28C; // float32
+                constexpr std::ptrdiff_t m_flLifeTimeLerpEnd = 0x290; // float32
+                constexpr std::ptrdiff_t m_flPrevPosScale = 0x294; // float32
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x298; // char[128]
+                constexpr std::ptrdiff_t m_bUseBones = 0x318; // bool
+                constexpr std::ptrdiff_t m_nLerpType = 0x31C; // HitboxLerpType_t
+                constexpr std::ptrdiff_t m_flInterpolation = 0x320; // CPerParticleFloatInput
+            }
+            // Parent: CParticleInput
+            // Field count: 47
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MParticleCustomFieldDefaultValue
+            namespace CParticleFloatInput {
+                constexpr std::ptrdiff_t m_nType = 0x10; // ParticleFloatType_t
+                constexpr std::ptrdiff_t m_nMapType = 0x14; // ParticleFloatMapType_t
+                constexpr std::ptrdiff_t m_flLiteralValue = 0x18; // float32
+                constexpr std::ptrdiff_t m_NamedValue = 0x20; // CParticleNamedValueRef
+                constexpr std::ptrdiff_t m_nControlPoint = 0x60; // int32
+                constexpr std::ptrdiff_t m_nScalarAttribute = 0x64; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVectorAttribute = 0x68; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nVectorComponent = 0x6C; // int32
+                constexpr std::ptrdiff_t m_flRandomMin = 0x70; // float32
+                constexpr std::ptrdiff_t m_flRandomMax = 0x74; // float32
+                constexpr std::ptrdiff_t m_bHasRandomSignFlip = 0x78; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x7C; // int32
+                constexpr std::ptrdiff_t m_nRandomMode = 0x80; // ParticleFloatRandomMode_t
+                constexpr std::ptrdiff_t m_flLOD0 = 0x88; // float32
+                constexpr std::ptrdiff_t m_flLOD1 = 0x8C; // float32
+                constexpr std::ptrdiff_t m_flLOD2 = 0x90; // float32
+                constexpr std::ptrdiff_t m_flLOD3 = 0x94; // float32
+                constexpr std::ptrdiff_t m_nNoiseInputVectorAttribute = 0x98; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flNoiseOutputMin = 0x9C; // float32
+                constexpr std::ptrdiff_t m_flNoiseOutputMax = 0xA0; // float32
+                constexpr std::ptrdiff_t m_flNoiseScale = 0xA4; // float32
+                constexpr std::ptrdiff_t m_vecNoiseOffsetRate = 0xA8; // Vector
+                constexpr std::ptrdiff_t m_flNoiseOffset = 0xB4; // float32
+                constexpr std::ptrdiff_t m_nNoiseOctaves = 0xB8; // int32
+                constexpr std::ptrdiff_t m_nNoiseTurbulence = 0xBC; // PFNoiseTurbulence_t
+                constexpr std::ptrdiff_t m_nNoiseType = 0xC0; // PFNoiseType_t
+                constexpr std::ptrdiff_t m_nNoiseModifier = 0xC4; // PFNoiseModifier_t
+                constexpr std::ptrdiff_t m_flNoiseTurbulenceScale = 0xC8; // float32
+                constexpr std::ptrdiff_t m_flNoiseTurbulenceMix = 0xCC; // float32
+                constexpr std::ptrdiff_t m_flNoiseImgPreviewScale = 0xD0; // float32
+                constexpr std::ptrdiff_t m_bNoiseImgPreviewLive = 0xD4; // bool
+                constexpr std::ptrdiff_t m_flNoCameraFallback = 0xE0; // float32
+                constexpr std::ptrdiff_t m_bUseBoundsCenter = 0xE4; // bool
+                constexpr std::ptrdiff_t m_nInputMode = 0xE8; // ParticleFloatInputMode_t
+                constexpr std::ptrdiff_t m_flMultFactor = 0xEC; // float32
+                constexpr std::ptrdiff_t m_flInput0 = 0xF0; // float32
+                constexpr std::ptrdiff_t m_flInput1 = 0xF4; // float32
+                constexpr std::ptrdiff_t m_flOutput0 = 0xF8; // float32
+                constexpr std::ptrdiff_t m_flOutput1 = 0xFC; // float32
+                constexpr std::ptrdiff_t m_flNotchedRangeMin = 0x100; // float32
+                constexpr std::ptrdiff_t m_flNotchedRangeMax = 0x104; // float32
+                constexpr std::ptrdiff_t m_flNotchedOutputOutside = 0x108; // float32
+                constexpr std::ptrdiff_t m_flNotchedOutputInside = 0x10C; // float32
+                constexpr std::ptrdiff_t m_nRoundType = 0x110; // ParticleFloatRoundType_t
+                constexpr std::ptrdiff_t m_nBiasType = 0x114; // ParticleFloatBiasType_t
+                constexpr std::ptrdiff_t m_flBiasParameter = 0x118; // float32
+                constexpr std::ptrdiff_t m_Curve = 0x120; // CPiecewiseCurve
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PointList {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_pointList = 0x1D0; // CUtlVector<PointDefinition_t>
+                constexpr std::ptrdiff_t m_bPlaceAlongPath = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bClosedLoop = 0x1E9; // bool
+                constexpr std::ptrdiff_t m_nNumPointsAlongPath = 0x1EC; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LerpToOtherAttribute {
+                constexpr std::ptrdiff_t m_flInterpolation = 0x1C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nFieldInputFrom = 0x320; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldInput = 0x324; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x328; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RandomColor {
+                constexpr std::ptrdiff_t m_ColorMin = 0x1E4; // Color
+                constexpr std::ptrdiff_t m_ColorMax = 0x1E8; // Color
+                constexpr std::ptrdiff_t m_TintMin = 0x1EC; // Color
+                constexpr std::ptrdiff_t m_TintMax = 0x1F0; // Color
+                constexpr std::ptrdiff_t m_flTintPerc = 0x1F4; // float32
+                constexpr std::ptrdiff_t m_flUpdateThreshold = 0x1F8; // float32
+                constexpr std::ptrdiff_t m_nTintCP = 0x1FC; // int32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x200; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nTintBlendMode = 0x204; // ParticleColorBlendMode_t
+                constexpr std::ptrdiff_t m_flLightAmplification = 0x208; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetGravityToCP {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPOutput = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_flScale = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bSetOrientation = 0x330; // bool
+                constexpr std::ptrdiff_t m_bSetZDown = 0x331; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapParticleCountToScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nInputMin = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nInputMax = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nScaleControlPoint = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nScaleControlPointField = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E4; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bInvert = 0x1E9; // bool
+                constexpr std::ptrdiff_t m_bWrap = 0x1EA; // bool
+                constexpr std::ptrdiff_t m_flRemapBias = 0x1EC; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InheritFromParentParticles {
+                constexpr std::ptrdiff_t m_flScale = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nIncrement = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_bRandomDistribution = 0x1D4; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0x1D8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RampScalarLinearSimple {
+                constexpr std::ptrdiff_t m_Rate = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_nField = 0x1F0; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_ChaoticAttractor {
+                constexpr std::ptrdiff_t m_flAParm = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flBParm = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flCParm = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flDParm = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_flScale = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flSpeedMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flSpeedMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_nBaseCP = 0x1E4; // int32
+                constexpr std::ptrdiff_t m_bUniformSpeed = 0x1E8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_MovementRigidAttachToCP {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nScaleControlPoint = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nScaleCPField = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bOffsetLocal = 0x1D4; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderFlattenGrass {
+                constexpr std::ptrdiff_t m_flFlattenStrength = 0x210; // float32
+                constexpr std::ptrdiff_t m_nStrengthFieldOverride = 0x214; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x218; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderLightBeam {
+                constexpr std::ptrdiff_t m_vColorBlend = 0x210; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0x888; // ParticleColorBlendType_t
+                constexpr std::ptrdiff_t m_flBrightnessLumensPerMeter = 0x890; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bCastShadows = 0x9F0; // bool
+                constexpr std::ptrdiff_t m_flSkirt = 0x9F8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flRange = 0xB58; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flThickness = 0xCB8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_EnableChildrenFromParentParticleCount {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFirstChild = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nNumChildrenToEnable = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bDisableChildren = 0x330; // bool
+                constexpr std::ptrdiff_t m_bPlayEndcapOnStop = 0x331; // bool
+                constexpr std::ptrdiff_t m_bDestroyImmediately = 0x332; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_DistanceToCPInit {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1D0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInputMax = 0x330; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x490; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5F0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nStartCP = 0x750; // int32
+                constexpr std::ptrdiff_t m_bLOS = 0x754; // bool
+                constexpr std::ptrdiff_t m_CollisionGroupName = 0x755; // char[128]
+                constexpr std::ptrdiff_t m_nTraceSet = 0x7D8; // ParticleTraceSet_t
+                constexpr std::ptrdiff_t m_flMaxTraceLength = 0x7E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flLOSScale = 0x940; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x944; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x948; // bool
+                constexpr std::ptrdiff_t m_vecDistanceScale = 0x94C; // Vector
+                constexpr std::ptrdiff_t m_flRemapBias = 0x958; // float32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CReplicationParameters {
+                constexpr std::ptrdiff_t m_nReplicationMode = 0x0; // ParticleReplicationMode_t
+                constexpr std::ptrdiff_t m_bScaleChildParticleRadii = 0x4; // bool
+                constexpr std::ptrdiff_t m_flMinRandomRadiusScale = 0x8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMaxRandomRadiusScale = 0x168; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vMinRandomDisplacement = 0x2C8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_vMaxRandomDisplacement = 0x940; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flModellingScale = 0xFB8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_EndCapDecay {
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ForceBasedOnDistanceToPlane {
+                constexpr std::ptrdiff_t m_flMinDist = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_vecForceAtMinDist = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_flMaxDist = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_vecForceAtMaxDist = 0x1E4; // Vector
+                constexpr std::ptrdiff_t m_vecPlaneNormal = 0x1F0; // Vector
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1FC; // int32
+                constexpr std::ptrdiff_t m_flExponent = 0x200; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapDensityToVector {
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flDensityMin = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flDensityMax = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x1DC; // Vector
+                constexpr std::ptrdiff_t m_bUseParentDensity = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_nVoxelGridResolution = 0x1EC; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticleControlPointConfiguration_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_drivers = 0x8; // CUtlVector<ParticleControlPointDriver_t>
+                constexpr std::ptrdiff_t m_previewState = 0x20; // ParticlePreviewState_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SetRigidAttachment {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nFieldInput = 0x1CC; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bLocalSpace = 0x1D4; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialVariable_t {
+                constexpr std::ptrdiff_t m_strVariable = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nVariableField = 0x8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flScale = 0xC; // float32
+            }
+            // Parent: CParticleFunction
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionConstraint {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapSpeed {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1D4; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bIgnoreDelta = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 54
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderModels {
+                constexpr std::ptrdiff_t m_bOnlyRenderInEffectsBloomPass = 0x210; // bool
+                constexpr std::ptrdiff_t m_bOnlyRenderInEffectsWaterPass = 0x211; // bool
+                constexpr std::ptrdiff_t m_bUseMixedResolutionRendering = 0x212; // bool
+                constexpr std::ptrdiff_t m_bOnlyRenderInEffecsGameOverlay = 0x213; // bool
+                constexpr std::ptrdiff_t m_ModelList = 0x218; // CUtlVector<ModelReference_t>
+                constexpr std::ptrdiff_t m_nBodyGroupField = 0x230; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSubModelField = 0x234; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bIgnoreNormal = 0x238; // bool
+                constexpr std::ptrdiff_t m_bOrientZ = 0x239; // bool
+                constexpr std::ptrdiff_t m_bCenterOffset = 0x23A; // bool
+                constexpr std::ptrdiff_t m_vecLocalOffset = 0x240; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecLocalRotation = 0x8B8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_bIgnoreRadius = 0xF30; // bool
+                constexpr std::ptrdiff_t m_nModelScaleCP = 0xF34; // int32
+                constexpr std::ptrdiff_t m_vecComponentScale = 0xF38; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_bLocalScale = 0x15B0; // bool
+                constexpr std::ptrdiff_t m_nSizeCullBloat = 0x15B4; // int32
+                constexpr std::ptrdiff_t m_bAnimated = 0x15B8; // bool
+                constexpr std::ptrdiff_t m_flAnimationRate = 0x15C0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_bScaleAnimationRate = 0x1720; // bool
+                constexpr std::ptrdiff_t m_bForceLoopingAnimation = 0x1721; // bool
+                constexpr std::ptrdiff_t m_bResetAnimOnStop = 0x1722; // bool
+                constexpr std::ptrdiff_t m_bManualAnimFrame = 0x1723; // bool
+                constexpr std::ptrdiff_t m_nAnimationScaleField = 0x1724; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nAnimationField = 0x1728; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nManualFrameField = 0x172C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_ActivityName = 0x1730; // char[256]
+                constexpr std::ptrdiff_t m_SequenceName = 0x1830; // char[256]
+                constexpr std::ptrdiff_t m_bEnableClothSimulation = 0x1930; // bool
+                constexpr std::ptrdiff_t m_ClothEffectName = 0x1931; // char[64]
+                constexpr std::ptrdiff_t m_hOverrideMaterial = 0x1978; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_bOverrideTranslucentMaterials = 0x1980; // bool
+                constexpr std::ptrdiff_t m_nSkin = 0x1988; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_MaterialVars = 0x1AE8; // CUtlVector<MaterialVariable_t>
+                constexpr std::ptrdiff_t m_flManualModelSelection = 0x1B00; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_modelInput = 0x1C60; // CParticleModelInput
+                constexpr std::ptrdiff_t m_nLOD = 0x1CC0; // int32
+                constexpr std::ptrdiff_t m_EconSlotName = 0x1CC4; // char[256]
+                constexpr std::ptrdiff_t m_bOriginalModel = 0x1DC4; // bool
+                constexpr std::ptrdiff_t m_bSuppressTint = 0x1DC5; // bool
+                constexpr std::ptrdiff_t m_nSubModelFieldType = 0x1DC8; // RenderModelSubModelFieldType_t
+                constexpr std::ptrdiff_t m_bDisableShadows = 0x1DCC; // bool
+                constexpr std::ptrdiff_t m_bDisableDepthPrepass = 0x1DCD; // bool
+                constexpr std::ptrdiff_t m_bAcceptsDecals = 0x1DCE; // bool
+                constexpr std::ptrdiff_t m_bForceDrawInterlevedWithSiblings = 0x1DCF; // bool
+                constexpr std::ptrdiff_t m_bDoNotDrawInParticlePass = 0x1DD0; // bool
+                constexpr std::ptrdiff_t m_bAllowApproximateTransforms = 0x1DD1; // bool
+                constexpr std::ptrdiff_t m_szRenderAttribute = 0x1DD2; // char[260]
+                constexpr std::ptrdiff_t m_flRadiusScale = 0x1ED8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x2038; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flRollScale = 0x2198; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nAlpha2Field = 0x22F8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecColorScale = 0x2300; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0x2978; // ParticleColorBlendType_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderClientPhysicsImpulse {
+                constexpr std::ptrdiff_t m_flRadius = 0x210; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flMagnitude = 0x370; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nSimIdFilter = 0x4D0; // int32
+            }
+            // Parent: CParticleFunction
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CParticleFunctionEmitter {
+                constexpr std::ptrdiff_t m_nEmitterIndex = 0x1C0; // int32
+            }
+            // Parent: C_INIT_RemapNamedModelElementToScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapNamedModelMeshGroupToScalar {
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointOrientationToCPVelocity {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPOutput = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RopeSpringConstraint {
+                constexpr std::ptrdiff_t m_flRestLength = 0x1C0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMinDistance = 0x320; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flMaxDistance = 0x480; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flAdjustmentScale = 0x5E0; // float32
+                constexpr std::ptrdiff_t m_flInitialRestingLength = 0x5E8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_PositionWarpScalar {
+                constexpr std::ptrdiff_t m_vecWarpMin = 0x1C8; // Vector
+                constexpr std::ptrdiff_t m_vecWarpMax = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_InputValue = 0x1E0; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flPrevPosScale = 0x340; // float32
+                constexpr std::ptrdiff_t m_nScaleControlPointNumber = 0x344; // int32
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x348; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ForceControlPointStub {
+                constexpr std::ptrdiff_t m_ControlPoint = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_VectorNoise {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecOutputMin = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_vecOutputMax = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_fl4NoiseScale = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_bAdditive = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_bOffset = 0x1E1; // bool
+                constexpr std::ptrdiff_t m_flNoiseAnimationTimeScale = 0x1E4; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            namespace IParticleCollection {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapParticleCountToScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nInputMin = 0x1C8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nInputMax = 0x328; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputMin = 0x488; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flOutputMax = 0x5E8; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bActiveRange = 0x748; // bool
+                constexpr std::ptrdiff_t m_nSetMethod = 0x74C; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_QuantizeFloat {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x328; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RemapModelVolumetoCP {
+                constexpr std::ptrdiff_t m_nBBoxType = 0x1C8; // BBoxVolumeType_t
+                constexpr std::ptrdiff_t m_nInControlPointNumber = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nOutControlPointMaxNumber = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nField = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_flInputMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_flOutputMin = 0x1E4; // float32
+                constexpr std::ptrdiff_t m_flOutputMax = 0x1E8; // float32
+                constexpr std::ptrdiff_t m_bBBoxOnly = 0x1EC; // bool
+                constexpr std::ptrdiff_t m_bCubeRoot = 0x1ED; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetToCP {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_vecOffset = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_bOffsetLocal = 0x1D0; // bool
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ParticleControlPointDriver_t {
+                constexpr std::ptrdiff_t m_iControlPoint = 0x0; // int32
+                constexpr std::ptrdiff_t m_iAttachType = 0x4; // ParticleAttachment_t
+                constexpr std::ptrdiff_t m_attachmentName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_vecOffset = 0x10; // Vector
+                constexpr std::ptrdiff_t m_angOffset = 0x1C; // QAngle
+                constexpr std::ptrdiff_t m_entityName = 0x28; // CUtlString
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ParentVortices {
+                constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_vecTwistAxis = 0x1D4; // Vector
+                constexpr std::ptrdiff_t m_bFlipBasedOnYaw = 0x1E0; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetControlPointToCPVelocity {
+                constexpr std::ptrdiff_t m_nCPInput = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nCPOutputVel = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_bNormalize = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_nCPOutputMag = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nCPField = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_vecComparisonVelocity = 0x1E0; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ClientPhysics {
+                constexpr std::ptrdiff_t m_strPhysicsType = 0x210; // CUtlString
+                constexpr std::ptrdiff_t m_bStartAsleep = 0x218; // bool
+                constexpr std::ptrdiff_t m_flPlayerWakeRadius = 0x220; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_flVehicleWakeRadius = 0x380; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bUseHighQualitySimulation = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_nMaxParticleCount = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_bRespectExclusionVolumes = 0x4E8; // bool
+                constexpr std::ptrdiff_t m_bKillParticles = 0x4E9; // bool
+                constexpr std::ptrdiff_t m_bDeleteSim = 0x4EA; // bool
+                constexpr std::ptrdiff_t m_nControlPoint = 0x4EC; // int32
+                constexpr std::ptrdiff_t m_nColorBlendType = 0x4F0; // ParticleColorBlendType_t
+            }
+            // Parent: CGeneralSpin
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SpinYaw {
+            }
+            // Parent: PointDefinition_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PointDefinitionWithTimeValues_t {
+                constexpr std::ptrdiff_t m_flTimeDuration = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RenderProjectedMaterial_t {
+                constexpr std::ptrdiff_t m_hMaterial = 0x0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_ExternalWindForce {
+                constexpr std::ptrdiff_t m_vecSamplePosition = 0x1D0; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_vecScale = 0x848; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_bSampleWind = 0xEC0; // bool
+                constexpr std::ptrdiff_t m_bSampleWater = 0xEC1; // bool
+                constexpr std::ptrdiff_t m_bDampenNearWaterPlane = 0xEC2; // bool
+                constexpr std::ptrdiff_t m_bSampleGravity = 0xEC3; // bool
+                constexpr std::ptrdiff_t m_vecGravityForce = 0xEC8; // CPerParticleVecInput
+                constexpr std::ptrdiff_t m_bUseBasicMovementGravity = 0x1540; // bool
+                constexpr std::ptrdiff_t m_flLocalGravityScale = 0x1548; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flLocalBuoyancyScale = 0x16A8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_vecBuoyancyForce = 0x1808; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_ModelCull {
+                constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_bBoundBox = 0x1CC; // bool
+                constexpr std::ptrdiff_t m_bCullOutside = 0x1CD; // bool
+                constexpr std::ptrdiff_t m_bUseBones = 0x1CE; // bool
+                constexpr std::ptrdiff_t m_HitboxSetName = 0x1CF; // char[128]
+            }
+            // Parent: CBaseRendererSource2
+            // Field count: 28
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderSprites {
+                constexpr std::ptrdiff_t m_nSequenceOverride = 0x2AA8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_nOrientationType = 0x2C08; // ParticleOrientationChoiceList_t
+                constexpr std::ptrdiff_t m_nOrientationControlPoint = 0x2C0C; // int32
+                constexpr std::ptrdiff_t m_bUseYawWithNormalAligned = 0x2C10; // bool
+                constexpr std::ptrdiff_t m_flMinSize = 0x2C18; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flMaxSize = 0x2D78; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flAlphaAdjustWithSizeAdjust = 0x2ED8; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flStartFadeSize = 0x3038; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flEndFadeSize = 0x3198; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flStartFadeDot = 0x32F8; // float32
+                constexpr std::ptrdiff_t m_flEndFadeDot = 0x32FC; // float32
+                constexpr std::ptrdiff_t m_bDistanceAlpha = 0x3300; // bool
+                constexpr std::ptrdiff_t m_bSoftEdges = 0x3301; // bool
+                constexpr std::ptrdiff_t m_flEdgeSoftnessStart = 0x3304; // float32
+                constexpr std::ptrdiff_t m_flEdgeSoftnessEnd = 0x3308; // float32
+                constexpr std::ptrdiff_t m_bOutline = 0x330C; // bool
+                constexpr std::ptrdiff_t m_OutlineColor = 0x330D; // Color
+                constexpr std::ptrdiff_t m_nOutlineAlpha = 0x3314; // int32
+                constexpr std::ptrdiff_t m_flOutlineStart0 = 0x3318; // float32
+                constexpr std::ptrdiff_t m_flOutlineStart1 = 0x331C; // float32
+                constexpr std::ptrdiff_t m_flOutlineEnd0 = 0x3320; // float32
+                constexpr std::ptrdiff_t m_flOutlineEnd1 = 0x3324; // float32
+                constexpr std::ptrdiff_t m_nLightingMode = 0x3328; // ParticleLightingQuality_t
+                constexpr std::ptrdiff_t m_flLightingTessellation = 0x3330; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_flLightingDirectionality = 0x3490; // CParticleCollectionRendererFloatInput
+                constexpr std::ptrdiff_t m_bParticleShadows = 0x35F0; // bool
+                constexpr std::ptrdiff_t m_flShadowDensity = 0x35F4; // float32
+                constexpr std::ptrdiff_t m_replicationParameters = 0x35F8; // CReplicationParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_PercentageBetweenTransformLerpCPs {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_TransformStart = 0x1D0; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_TransformEnd = 0x238; // CParticleTransformInput
+                constexpr std::ptrdiff_t m_nOutputStartCP = 0x2A0; // int32
+                constexpr std::ptrdiff_t m_nOutputStartField = 0x2A4; // int32
+                constexpr std::ptrdiff_t m_nOutputEndCP = 0x2A8; // int32
+                constexpr std::ptrdiff_t m_nOutputEndField = 0x2AC; // int32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x2B0; // ParticleSetMethod_t
+                constexpr std::ptrdiff_t m_bActiveRange = 0x2B4; // bool
+                constexpr std::ptrdiff_t m_bRadialCheck = 0x2B5; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetPerChildControlPoint {
+                constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32
+                constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32
+                constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32
+                constexpr std::ptrdiff_t m_nParticleIncrement = 0x1D0; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x330; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_bSetOrientation = 0x490; // bool
+                constexpr std::ptrdiff_t m_nOrientationField = 0x494; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bNumBasedOnParticleCount = 0x498; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderTreeShake {
+                constexpr std::ptrdiff_t m_flPeakStrength = 0x210; // float32
+                constexpr std::ptrdiff_t m_nPeakStrengthFieldOverride = 0x214; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flRadius = 0x218; // float32
+                constexpr std::ptrdiff_t m_nRadiusFieldOverride = 0x21C; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flShakeDuration = 0x220; // float32
+                constexpr std::ptrdiff_t m_flTransitionTime = 0x224; // float32
+                constexpr std::ptrdiff_t m_flTwistAmount = 0x228; // float32
+                constexpr std::ptrdiff_t m_flRadialAmount = 0x22C; // float32
+                constexpr std::ptrdiff_t m_flControlPointOrientationAmount = 0x230; // float32
+                constexpr std::ptrdiff_t m_nControlPointForLinearDirection = 0x234; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_WorldCollideConstraint {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_SetAttributeToScalarExpression {
+                constexpr std::ptrdiff_t m_nExpression = 0x1C0; // ScalarExpressionType_t
+                constexpr std::ptrdiff_t m_flInput1 = 0x1C8; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flInput2 = 0x328; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_flOutputRemap = 0x488; // CParticleRemapFloatInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x5E8; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_nSetMethod = 0x5EC; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CycleScalar {
+                constexpr std::ptrdiff_t m_nDestField = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flStartValue = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flEndValue = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flCycleTime = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_bDoNotRepeatCycle = 0x1D0; // bool
+                constexpr std::ptrdiff_t m_bSynchronizeParticles = 0x1D1; // bool
+                constexpr std::ptrdiff_t m_nCPScale = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nCPFieldMin = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_nCPFieldMax = 0x1DC; // int32
+                constexpr std::ptrdiff_t m_nSetMethod = 0x1E0; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RenderMaterialProxy {
+                constexpr std::ptrdiff_t m_nMaterialControlPoint = 0x210; // int32
+                constexpr std::ptrdiff_t m_nProxyType = 0x214; // MaterialProxyType_t
+                constexpr std::ptrdiff_t m_MaterialVars = 0x218; // CUtlVector<MaterialVariable_t>
+                constexpr std::ptrdiff_t m_hOverrideMaterial = 0x230; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_flMaterialOverrideEnabled = 0x238; // CParticleCollectionFloatInput
+                constexpr std::ptrdiff_t m_vecColorScale = 0x398; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_flAlpha = 0xA10; // CPerParticleFloatInput
+                constexpr std::ptrdiff_t m_nColorBlendType = 0xB70; // ParticleColorBlendType_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FloatInputMaterialVariable_t {
+                constexpr std::ptrdiff_t m_strVariable = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_flInput = 0x8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleCollectionVecInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            namespace CParticleCollectionRendererVecInput {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RampScalarLinear {
+                constexpr std::ptrdiff_t m_RateMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_RateMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flStartTime_min = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_flStartTime_max = 0x1CC; // float32
+                constexpr std::ptrdiff_t m_flEndTime_min = 0x1D0; // float32
+                constexpr std::ptrdiff_t m_flEndTime_max = 0x1D4; // float32
+                constexpr std::ptrdiff_t m_nField = 0x200; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_bProportionalOp = 0x204; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_RotateVector {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_vecRotAxisMin = 0x1C4; // Vector
+                constexpr std::ptrdiff_t m_vecRotAxisMax = 0x1D0; // Vector
+                constexpr std::ptrdiff_t m_flRotRateMin = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_flRotRateMax = 0x1E0; // float32
+                constexpr std::ptrdiff_t m_bNormalize = 0x1E4; // bool
+                constexpr std::ptrdiff_t m_flScale = 0x1E8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_InitVecCollection {
+                constexpr std::ptrdiff_t m_InputValue = 0x1C8; // CParticleCollectionVecInput
+                constexpr std::ptrdiff_t m_nOutputField = 0x840; // ParticleAttributeIndex_t
+            }
+            // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_RemapParticleCountToNamedModelMeshGroupScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_INIT_SequenceFromCP {
+                constexpr std::ptrdiff_t m_bKillUnused = 0x1C8; // bool
+                constexpr std::ptrdiff_t m_bRadiusScale = 0x1C9; // bool
+                constexpr std::ptrdiff_t m_nCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_vecOffset = 0x1D0; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_CPOffsetToPercentageBetweenCPs {
+                constexpr std::ptrdiff_t m_flInputMin = 0x1C0; // float32
+                constexpr std::ptrdiff_t m_flInputMax = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flInputBias = 0x1C8; // float32
+                constexpr std::ptrdiff_t m_nStartCP = 0x1CC; // int32
+                constexpr std::ptrdiff_t m_nEndCP = 0x1D0; // int32
+                constexpr std::ptrdiff_t m_nOffsetCP = 0x1D4; // int32
+                constexpr std::ptrdiff_t m_nOuputCP = 0x1D8; // int32
+                constexpr std::ptrdiff_t m_nInputCP = 0x1DC; // int32
+                constexpr std::ptrdiff_t m_bRadialCheck = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_bScaleOffset = 0x1E1; // bool
+                constexpr std::ptrdiff_t m_vecOffset = 0x1E4; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace C_OP_LerpEndCapScalar {
+                constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t
+                constexpr std::ptrdiff_t m_flOutput = 0x1C4; // float32
+                constexpr std::ptrdiff_t m_flLerpTime = 0x1C8; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            namespace CParticleProperty {
+            }
+        }
+    }
+}
diff --git a/output/particles_dll.json b/output/particles_dll.json
new file mode 100644
index 0000000..51dcd02
--- /dev/null
+++ b/output/particles_dll.json
@@ -0,0 +1,8612 @@
+{
+  "particles.dll": {
+    "classes": {
+      "CBaseRendererSource2": {
+        "fields": {
+          "m_bAnimateInFPS": 4008,
+          "m_bBlendFramesSeq0": 10332,
+          "m_bDisableZBuffering": 8912,
+          "m_bGammaCorrectVertexColors": 5788,
+          "m_bMaxLuminanceBlendingSequence0": 10333,
+          "m_bOnlyRenderInEffecsGameOverlay": 8651,
+          "m_bOnlyRenderInEffectsBloomPass": 8648,
+          "m_bOnlyRenderInEffectsWaterPass": 8649,
+          "m_bRefract": 8280,
+          "m_bRefractSolid": 8281,
+          "m_bReverseZBuffering": 8911,
+          "m_bSaturateColorPreAlphaBlend": 5789,
+          "m_bStencilTestExclude": 8780,
+          "m_bTintByFOW": 7208,
+          "m_bTintByGlobalLight": 7209,
+          "m_bUseMixedResolutionRendering": 8650,
+          "m_bWriteStencilOnDepthFail": 8910,
+          "m_bWriteStencilOnDepthPass": 8909,
+          "m_flAddSelfAmount": 5792,
+          "m_flAlphaReferenceSoftness": 7224,
+          "m_flAlphaScale": 880,
+          "m_flAnimationRate": 4000,
+          "m_flBumpStrength": 3968,
+          "m_flCenterXOffset": 3264,
+          "m_flCenterYOffset": 3616,
+          "m_flDepthBias": 9976,
+          "m_flDesaturation": 6144,
+          "m_flDiffuseAmount": 5072,
+          "m_flDiffuseClamp": 5424,
+          "m_flFeatheringFilter": 9624,
+          "m_flFeatheringMaxDist": 9272,
+          "m_flFeatheringMinDist": 8920,
+          "m_flFogAmount": 6856,
+          "m_flMotionVectorScaleU": 4016,
+          "m_flMotionVectorScaleV": 4368,
+          "m_flOverbrightFactor": 6496,
+          "m_flRadiusScale": 528,
+          "m_flRefractAmount": 8288,
+          "m_flRollScale": 1232,
+          "m_flSelfIllumAmount": 4720,
+          "m_flSourceAlphaValueToMapToOne": 7928,
+          "m_flSourceAlphaValueToMapToZero": 7576,
+          "m_nAlpha2Field": 1584,
+          "m_nAlphaReferenceType": 7220,
+          "m_nAnimationType": 4004,
+          "m_nColorBlendType": 3248,
+          "m_nCropTextureOverride": 3972,
+          "m_nFeatheringMode": 8916,
+          "m_nFogType": 6852,
+          "m_nHSVShiftControlPoint": 6848,
+          "m_nLightingControlPoint": 5776,
+          "m_nOutputBlendMode": 5784,
+          "m_nPerParticleAlphaRefWindow": 7216,
+          "m_nPerParticleAlphaReference": 7212,
+          "m_nRefractBlurRadius": 8640,
+          "m_nRefractBlurType": 8644,
+          "m_nSelfIllumPerParticle": 5780,
+          "m_nShaderType": 3252,
+          "m_nSortMethod": 10328,
+          "m_stencilTestID": 8652,
+          "m_stencilWriteID": 8781,
+          "m_strShaderOverride": 3256,
+          "m_vecColorScale": 1592,
+          "m_vecTexturesInput": 3976
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "CBaseTrailRenderer": {
+        "fields": {
+          "m_bClampV": 11640,
+          "m_flEndFadeSize": 11288,
+          "m_flMaxSize": 10932,
+          "m_flMinSize": 10928,
+          "m_flStartFadeSize": 10936,
+          "m_nOrientationControlPoint": 10924,
+          "m_nOrientationType": 10920
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseRendererSource2"
+      },
+      "CGeneralRandomRotation": {
+        "fields": {
+          "m_bRandomlyFlipDirection": 476,
+          "m_flDegrees": 460,
+          "m_flDegreesMax": 468,
+          "m_flDegreesMin": 464,
+          "m_flRotationRandExponent": 472,
+          "m_nFieldOutput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "CGeneralSpin": {
+        "fields": {
+          "m_fSpinRateStopTime": 460,
+          "m_nSpinRateDegrees": 448,
+          "m_nSpinRateMinDegrees": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "CNewParticleEffect": {
+        "fields": {
+          "m_LastMax": 140,
+          "m_LastMin": 128,
+          "m_RefCount": 192,
+          "m_bAllocated": 0,
+          "m_bAutoUpdateBBox": 0,
+          "m_bCanFreeze": 126,
+          "m_bDisableAggregation": 0,
+          "m_bDontRemove": 0,
+          "m_bForceNoDraw": 0,
+          "m_bFreezeTargetState": 125,
+          "m_bFreezeTransitionActive": 124,
+          "m_bIsFirstFrame": 0,
+          "m_bNeedsBBoxUpdate": 0,
+          "m_bRemove": 0,
+          "m_bShouldCheckFoW": 0,
+          "m_bShouldPerformCullCheck": 0,
+          "m_bShouldSave": 0,
+          "m_bShouldSimulateDuringGamePaused": 0,
+          "m_bSimulate": 0,
+          "m_flFreezeTransitionDuration": 116,
+          "m_flFreezeTransitionOverride": 120,
+          "m_flFreezeTransitionStart": 112,
+          "m_flScale": 76,
+          "m_hOwner": 80,
+          "m_nSplitScreenUser": 152,
+          "m_pDebugName": 40,
+          "m_pNext": 16,
+          "m_pOwningParticleProperty": 88,
+          "m_pParticles": 32,
+          "m_pPrev": 24,
+          "m_vSortOrigin": 64,
+          "m_vecAggregationCenter": 156
+        },
+        "metadata": [],
+        "parent": "IParticleEffect"
+      },
+      "CParticleCollectionBindingInstance": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePulseGraphInstance"
+      },
+      "CParticleCollectionFloatInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFloatInput"
+      },
+      "CParticleCollectionRendererFloatInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleCollectionFloatInput"
+      },
+      "CParticleCollectionRendererVecInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleCollectionVecInput"
+      },
+      "CParticleCollectionVecInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleVecInput"
+      },
+      "CParticleFloatInput": {
+        "fields": {
+          "m_Curve": 288,
+          "m_NamedValue": 32,
+          "m_bHasRandomSignFlip": 120,
+          "m_bNoiseImgPreviewLive": 212,
+          "m_bUseBoundsCenter": 228,
+          "m_flBiasParameter": 280,
+          "m_flInput0": 240,
+          "m_flInput1": 244,
+          "m_flLOD0": 136,
+          "m_flLOD1": 140,
+          "m_flLOD2": 144,
+          "m_flLOD3": 148,
+          "m_flLiteralValue": 24,
+          "m_flMultFactor": 236,
+          "m_flNoCameraFallback": 224,
+          "m_flNoiseImgPreviewScale": 208,
+          "m_flNoiseOffset": 180,
+          "m_flNoiseOutputMax": 160,
+          "m_flNoiseOutputMin": 156,
+          "m_flNoiseScale": 164,
+          "m_flNoiseTurbulenceMix": 204,
+          "m_flNoiseTurbulenceScale": 200,
+          "m_flNotchedOutputInside": 268,
+          "m_flNotchedOutputOutside": 264,
+          "m_flNotchedRangeMax": 260,
+          "m_flNotchedRangeMin": 256,
+          "m_flOutput0": 248,
+          "m_flOutput1": 252,
+          "m_flRandomMax": 116,
+          "m_flRandomMin": 112,
+          "m_nBiasType": 276,
+          "m_nControlPoint": 96,
+          "m_nInputMode": 232,
+          "m_nMapType": 20,
+          "m_nNoiseInputVectorAttribute": 152,
+          "m_nNoiseModifier": 196,
+          "m_nNoiseOctaves": 184,
+          "m_nNoiseTurbulence": 188,
+          "m_nNoiseType": 192,
+          "m_nRandomMode": 128,
+          "m_nRandomSeed": 124,
+          "m_nRoundType": 272,
+          "m_nScalarAttribute": 100,
+          "m_nType": 16,
+          "m_nVectorAttribute": 104,
+          "m_nVectorComponent": 108,
+          "m_vecNoiseOffsetRate": 168
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleCustomFieldDefaultValue",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleInput"
+      },
+      "CParticleFunction": {
+        "fields": {
+          "m_Notes": 416,
+          "m_bDisableOperator": 414,
+          "m_bNormalizeToStopTime": 384,
+          "m_flOpEndFadeInTime": 368,
+          "m_flOpEndFadeOutTime": 376,
+          "m_flOpFadeOscillatePeriod": 380,
+          "m_flOpStartFadeInTime": 364,
+          "m_flOpStartFadeOutTime": 372,
+          "m_flOpStrength": 8,
+          "m_flOpTimeOffsetMax": 392,
+          "m_flOpTimeOffsetMin": 388,
+          "m_flOpTimeScaleMax": 408,
+          "m_flOpTimeScaleMin": 404,
+          "m_nOpEndCapState": 360,
+          "m_nOpTimeOffsetSeed": 396,
+          "m_nOpTimeScaleSeed": 400
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CParticleFunctionConstraint": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunction"
+      },
+      "CParticleFunctionEmitter": {
+        "fields": {
+          "m_nEmitterIndex": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunction"
+      },
+      "CParticleFunctionForce": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunction"
+      },
+      "CParticleFunctionInitializer": {
+        "fields": {
+          "m_nAssociatedEmitterIndex": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunction"
+      },
+      "CParticleFunctionOperator": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunction"
+      },
+      "CParticleFunctionPreEmission": {
+        "fields": {
+          "m_bRunOnce": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "CParticleFunctionRenderer": {
+        "fields": {
+          "VisibilityInputs": 448,
+          "m_bCannotBeRefracted": 520,
+          "m_bSkipRenderingOnMobile": 521
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunction"
+      },
+      "CParticleInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CParticleMassCalculationParameters": {
+        "fields": {
+          "m_flNominalRadius": 360,
+          "m_flRadius": 8,
+          "m_flScale": 712,
+          "m_nMassMode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CParticleModelInput": {
+        "fields": {
+          "m_NamedValue": 24,
+          "m_nControlPoint": 88,
+          "m_nType": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleCustomFieldDefaultValue",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleInput"
+      },
+      "CParticleProperty": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "CParticleRemapFloatInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFloatInput"
+      },
+      "CParticleSystemDefinition": {
+        "fields": {
+          "m_BoundingBoxMax": 552,
+          "m_BoundingBoxMin": 540,
+          "m_Children": 184,
+          "m_ConstantColor": 608,
+          "m_ConstantNormal": 612,
+          "m_Constraints": 136,
+          "m_Emitters": 40,
+          "m_ForceGenerators": 112,
+          "m_Initializers": 64,
+          "m_NamedValueDomain": 576,
+          "m_NamedValueLocals": 584,
+          "m_Operators": 88,
+          "m_PreEmissionOperators": 16,
+          "m_Renderers": 160,
+          "m_bEnableNamedValues": 573,
+          "m_bInfiniteBounds": 572,
+          "m_bScreenSpaceEffect": 788,
+          "m_bShouldBatch": 780,
+          "m_bShouldHitboxesFallbackToCollisionHulls": 783,
+          "m_bShouldHitboxesFallbackToRenderBounds": 781,
+          "m_bShouldHitboxesFallbackToSnapshot": 782,
+          "m_bShouldSort": 808,
+          "m_controlPointConfigurations": 880,
+          "m_flAggregateRadius": 776,
+          "m_flConstantLifespan": 636,
+          "m_flConstantRadius": 624,
+          "m_flConstantRotation": 628,
+          "m_flConstantRotationSpeed": 632,
+          "m_flCullFillCost": 676,
+          "m_flCullRadius": 672,
+          "m_flDepthSortBias": 564,
+          "m_flMaxCreationDistance": 768,
+          "m_flMaxDrawDistance": 760,
+          "m_flMaximumSimTime": 732,
+          "m_flMaximumTimeStep": 728,
+          "m_flMinimumSimTime": 736,
+          "m_flMinimumTimeStep": 740,
+          "m_flNoDrawTimeToGoToSleep": 756,
+          "m_flPreSimulationTime": 720,
+          "m_flStartFadeDistance": 764,
+          "m_flStopSimulationAfterTime": 724,
+          "m_hFallback": 688,
+          "m_hLowViolenceDef": 704,
+          "m_hReferenceReplacement": 712,
+          "m_hSnapshot": 656,
+          "m_nAggregationMinAvailableParticles": 772,
+          "m_nAllowRenderControlPoint": 804,
+          "m_nBehaviorVersion": 8,
+          "m_nConstantSequenceNumber": 640,
+          "m_nConstantSequenceNumber1": 644,
+          "m_nCullControlPoint": 680,
+          "m_nFallbackMaxCount": 696,
+          "m_nFirstMultipleOverride_BackwardCompat": 376,
+          "m_nGroupID": 536,
+          "m_nInitialParticles": 528,
+          "m_nMaxParticles": 532,
+          "m_nMinCPULevel": 748,
+          "m_nMinGPULevel": 752,
+          "m_nMinimumFrames": 744,
+          "m_nSkipRenderControlPoint": 800,
+          "m_nSnapshotControlPoint": 648,
+          "m_nSortOverridePositionCP": 568,
+          "m_nViewModelEffect": 784,
+          "m_pszCullReplacementName": 664,
+          "m_pszTargetLayerID": 792
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "IParticleSystemDefinition"
+      },
+      "CParticleTransformInput": {
+        "fields": {
+          "m_NamedValue": 24,
+          "m_bFollowNamedValue": 88,
+          "m_bSupportsDisabled": 89,
+          "m_bUseOrientation": 90,
+          "m_flEndCPGrowthTime": 100,
+          "m_nControlPoint": 92,
+          "m_nControlPointRangeMax": 96,
+          "m_nType": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleCustomFieldDefaultValue",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleInput"
+      },
+      "CParticleVariableRef": {
+        "fields": {
+          "m_variableName": 0,
+          "m_variableType": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CParticleVecInput": {
+        "fields": {
+          "m_FloatComponentX": 168,
+          "m_FloatComponentY": 520,
+          "m_FloatComponentZ": 872,
+          "m_FloatInterp": 1224,
+          "m_Gradient": 1608,
+          "m_LiteralColor": 32,
+          "m_NamedValue": 40,
+          "m_bFollowNamedValue": 104,
+          "m_flInterpInput0": 1576,
+          "m_flInterpInput1": 1580,
+          "m_nControlPoint": 124,
+          "m_nDeltaControlPoint": 128,
+          "m_nType": 16,
+          "m_nVectorAttribute": 108,
+          "m_vCPRelativeDir": 156,
+          "m_vCPRelativePosition": 144,
+          "m_vCPValueScale": 132,
+          "m_vInterpOutput0": 1584,
+          "m_vInterpOutput1": 1596,
+          "m_vLiteralValue": 20,
+          "m_vRandomMax": 1644,
+          "m_vRandomMin": 1632,
+          "m_vVectorAttributeScale": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleCustomFieldDefaultValue",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleInput"
+      },
+      "CParticleVisibilityInputs": {
+        "fields": {
+          "m_bDotCPAngles": 44,
+          "m_bDotCameraAngles": 45,
+          "m_bRightEye": 68,
+          "m_flAlphaScaleMax": 52,
+          "m_flAlphaScaleMin": 48,
+          "m_flCameraBias": 0,
+          "m_flDistanceInputMax": 32,
+          "m_flDistanceInputMin": 28,
+          "m_flDotInputMax": 40,
+          "m_flDotInputMin": 36,
+          "m_flInputMax": 16,
+          "m_flInputMin": 12,
+          "m_flInputPixelVisFade": 20,
+          "m_flNoPixelVisibilityFallback": 24,
+          "m_flProxyRadius": 8,
+          "m_flRadiusScaleFOVBase": 64,
+          "m_flRadiusScaleMax": 60,
+          "m_flRadiusScaleMin": 56,
+          "m_nCPin": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPathParameters": {
+        "fields": {
+          "m_flBulge": 12,
+          "m_flMidPoint": 16,
+          "m_nBulgeControl": 8,
+          "m_nEndControlPointNumber": 4,
+          "m_nStartControlPointNumber": 0,
+          "m_vEndOffset": 44,
+          "m_vMidPointOffset": 32,
+          "m_vStartPointOffset": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPerParticleFloatInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFloatInput"
+      },
+      "CPerParticleVecInput": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyCustomEditor",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleVecInput"
+      },
+      "CRandomNumberGeneratorParameters": {
+        "fields": {
+          "m_bDistributeEvenly": 0,
+          "m_nSeed": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CReplicationParameters": {
+        "fields": {
+          "m_bScaleChildParticleRadii": 4,
+          "m_flMaxRandomRadiusScale": 360,
+          "m_flMinRandomRadiusScale": 8,
+          "m_flModellingScale": 4024,
+          "m_nReplicationMode": 0,
+          "m_vMaxRandomDisplacement": 2368,
+          "m_vMinRandomDisplacement": 712
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSpinUpdateBase": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_INIT_AddVectorToVector": {
+        "fields": {
+          "m_nFieldInput": 472,
+          "m_nFieldOutput": 468,
+          "m_randomnessParameters": 500,
+          "m_vOffsetMax": 488,
+          "m_vOffsetMin": 476,
+          "m_vecScale": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_AgeNoise": {
+        "fields": {
+          "m_bAbsVal": 456,
+          "m_bAbsValInv": 457,
+          "m_flAgeMax": 468,
+          "m_flAgeMin": 464,
+          "m_flNoiseScale": 472,
+          "m_flNoiseScaleLoc": 476,
+          "m_flOffset": 460,
+          "m_vecOffsetLoc": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_ChaoticAttractor": {
+        "fields": {
+          "m_bUniformSpeed": 488,
+          "m_flAParm": 456,
+          "m_flBParm": 460,
+          "m_flCParm": 464,
+          "m_flDParm": 468,
+          "m_flScale": 472,
+          "m_flSpeedMax": 480,
+          "m_flSpeedMin": 476,
+          "m_nBaseCP": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_ColorLitPerParticle": {
+        "fields": {
+          "m_ColorMax": 484,
+          "m_ColorMin": 480,
+          "m_TintMax": 492,
+          "m_TintMin": 488,
+          "m_flLightAmplification": 504,
+          "m_flTintPerc": 496,
+          "m_nTintBlendMode": 500
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateAlongPath": {
+        "fields": {
+          "m_PathParams": 464,
+          "m_bSaveOffset": 544,
+          "m_bUseRandomCPs": 528,
+          "m_fMaxDistance": 456,
+          "m_vEndOffset": 532
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateFromCPs": {
+        "fields": {
+          "m_nDynamicCPCount": 472,
+          "m_nIncrement": 456,
+          "m_nMaxCP": 464,
+          "m_nMinCP": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateFromParentParticles": {
+        "fields": {
+          "m_bRandomDistribution": 464,
+          "m_bSubFrame": 472,
+          "m_flIncrement": 460,
+          "m_flVelocityScale": 456,
+          "m_nRandomSeed": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateFromPlaneCache": {
+        "fields": {
+          "m_bUseNormal": 481,
+          "m_vecOffsetMax": 468,
+          "m_vecOffsetMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateInEpitrochoid": {
+        "fields": {
+          "m_TransformInput": 464,
+          "m_bOffsetExistingPos": 1978,
+          "m_bUseCount": 1976,
+          "m_bUseLocalCoords": 1977,
+          "m_flOffset": 920,
+          "m_flParticleDensity": 568,
+          "m_flRadius1": 1272,
+          "m_flRadius2": 1624,
+          "m_nComponent1": 456,
+          "m_nComponent2": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateOnGrid": {
+        "fields": {
+          "m_bCenter": 2573,
+          "m_bHollow": 2574,
+          "m_bLocalSpace": 2572,
+          "m_nControlPointNumber": 2568,
+          "m_nXCount": 456,
+          "m_nXSpacing": 1512,
+          "m_nYCount": 808,
+          "m_nYSpacing": 1864,
+          "m_nZCount": 1160,
+          "m_nZSpacing": 2216
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateOnModel": {
+        "fields": {
+          "m_HitboxSetName": 4344,
+          "m_bEvenDistribution": 661,
+          "m_bLocalCoords": 4472,
+          "m_bScaleToVolume": 660,
+          "m_bUseBones": 4473,
+          "m_bUseMesh": 4474,
+          "m_flBoneVelocity": 2680,
+          "m_flMaxBoneVelocity": 2684,
+          "m_flShellSize": 4480,
+          "m_modelInput": 456,
+          "m_nDesiredHitbox": 664,
+          "m_nForceInModel": 656,
+          "m_nHitboxValueFromControlPointIndex": 1016,
+          "m_transformInput": 552,
+          "m_vecDirectionBias": 2688,
+          "m_vecHitBoxScale": 1024
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateOnModelAtHeight": {
+        "fields": {
+          "m_HitboxSetName": 4142,
+          "m_bForceZ": 457,
+          "m_bLocalCoords": 4140,
+          "m_bPreferMovingBoxes": 4141,
+          "m_bUseBones": 456,
+          "m_bUseWaterHeight": 468,
+          "m_flDesiredHeight": 472,
+          "m_flHitboxVelocityScale": 4272,
+          "m_flMaxBoneVelocity": 4624,
+          "m_nBiasType": 4136,
+          "m_nControlPointNumber": 460,
+          "m_nHeightCP": 464,
+          "m_vecDirectionBias": 2480,
+          "m_vecHitBoxScale": 824
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateParticleImpulse": {
+        "fields": {
+          "m_InputFalloffExp": 1168,
+          "m_InputMagnitude": 808,
+          "m_InputRadius": 456,
+          "m_nFalloffFunction": 1160,
+          "m_nImpulseType": 1520
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreatePhyllotaxis": {
+        "fields": {
+          "m_bUseLocalCoords": 500,
+          "m_bUseOrigRadius": 502,
+          "m_bUseWithContEmit": 501,
+          "m_fDistBias": 496,
+          "m_fMinRad": 492,
+          "m_fRadBias": 488,
+          "m_fRadCentCore": 468,
+          "m_fRadPerPoint": 472,
+          "m_fRadPerPointTo": 476,
+          "m_fpointAngle": 480,
+          "m_fsizeOverall": 484,
+          "m_nComponent": 464,
+          "m_nControlPointNumber": 456,
+          "m_nScaleCP": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateSequentialPath": {
+        "fields": {
+          "m_PathParams": 480,
+          "m_bCPPairs": 465,
+          "m_bLoop": 464,
+          "m_bSaveOffset": 466,
+          "m_fMaxDistance": 456,
+          "m_flNumToAssign": 460
+        },
+        "metadata": [
+          {
+            "name": "MParticleMaxVersion",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleReplacementOp",
+            "type": "Unknown"
+          },
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateSequentialPathV2": {
+        "fields": {
+          "m_PathParams": 1168,
+          "m_bCPPairs": 1161,
+          "m_bLoop": 1160,
+          "m_bSaveOffset": 1162,
+          "m_fMaxDistance": 456,
+          "m_flNumToAssign": 808
+        },
+        "metadata": [
+          {
+            "name": "MParticleMinVersion",
+            "type": "Unknown"
+          },
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateSpiralSphere": {
+        "fields": {
+          "m_bUseParticleCount": 480,
+          "m_flInitialRadius": 468,
+          "m_flInitialSpeedMax": 476,
+          "m_flInitialSpeedMin": 472,
+          "m_nControlPointNumber": 456,
+          "m_nDensity": 464,
+          "m_nOverrideCP": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateWithinBox": {
+        "fields": {
+          "m_bLocalSpace": 3772,
+          "m_nControlPointNumber": 3768,
+          "m_randomnessParameters": 3776,
+          "m_vecMax": 2112,
+          "m_vecMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreateWithinSphereTransform": {
+        "fields": {
+          "m_LocalCoordinateSystemSpeedMax": 5312,
+          "m_LocalCoordinateSystemSpeedMin": 3656,
+          "m_TransformInput": 2832,
+          "m_bLocalCoords": 3644,
+          "m_fRadiusMax": 808,
+          "m_fRadiusMin": 456,
+          "m_fSpeedMax": 3288,
+          "m_fSpeedMin": 2936,
+          "m_fSpeedRandExp": 3640,
+          "m_flEndCPGrowthTime": 3648,
+          "m_nFieldOutput": 6968,
+          "m_nFieldVelocity": 6972,
+          "m_vecDistanceBias": 1160,
+          "m_vecDistanceBiasAbs": 2816
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_CreationNoise": {
+        "fields": {
+          "m_bAbsVal": 460,
+          "m_bAbsValInv": 461,
+          "m_flNoiseScale": 476,
+          "m_flNoiseScaleLoc": 480,
+          "m_flOffset": 464,
+          "m_flOutputMax": 472,
+          "m_flOutputMin": 468,
+          "m_flWorldTimeScale": 496,
+          "m_nFieldOutput": 456,
+          "m_vecOffsetLoc": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_DistanceCull": {
+        "fields": {
+          "m_bCullInside": 816,
+          "m_flDistance": 464,
+          "m_nControlPoint": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_DistanceToCPInit": {
+        "fields": {
+          "m_CollisionGroupName": 1877,
+          "m_bActiveRange": 2376,
+          "m_bLOS": 1876,
+          "m_flInputMax": 816,
+          "m_flInputMin": 464,
+          "m_flLOSScale": 2368,
+          "m_flMaxTraceLength": 2016,
+          "m_flOutputMax": 1520,
+          "m_flOutputMin": 1168,
+          "m_flRemapBias": 2392,
+          "m_nFieldOutput": 456,
+          "m_nSetMethod": 2372,
+          "m_nStartCP": 1872,
+          "m_nTraceSet": 2008,
+          "m_vecDistanceScale": 2380
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_DistanceToNeighborCull": {
+        "fields": {
+          "m_bIncludeRadii": 808,
+          "m_flDistance": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_GlobalScale": {
+        "fields": {
+          "m_bScalePosition": 469,
+          "m_bScaleRadius": 468,
+          "m_bScaleVelocity": 470,
+          "m_flScale": 456,
+          "m_nControlPointNumber": 464,
+          "m_nScaleControlPointNumber": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InheritFromParentParticles": {
+        "fields": {
+          "m_bRandomDistribution": 468,
+          "m_flScale": 456,
+          "m_nFieldOutput": 460,
+          "m_nIncrement": 464,
+          "m_nRandomSeed": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InheritVelocity": {
+        "fields": {
+          "m_flVelocityScale": 460,
+          "m_nControlPointNumber": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitFloat": {
+        "fields": {
+          "m_InputStrength": 816,
+          "m_InputValue": 456,
+          "m_nOutputField": 808,
+          "m_nSetMethod": 812
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitFloatCollection": {
+        "fields": {
+          "m_InputValue": 456,
+          "m_nOutputField": 808
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitFromCPSnapshot": {
+        "fields": {
+          "m_bLocalSpaceAngles": 1188,
+          "m_bRandom": 472,
+          "m_bReverse": 473,
+          "m_nAttributeToRead": 460,
+          "m_nAttributeToWrite": 464,
+          "m_nControlPointNumber": 456,
+          "m_nLocalSpaceCP": 468,
+          "m_nManualSnapshotIndex": 832,
+          "m_nRandomSeed": 1184,
+          "m_nSnapShotIncrement": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitFromParentKilled": {
+        "fields": {
+          "m_nAttributeToCopy": 456,
+          "m_nEventType": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitFromVectorFieldSnapshot": {
+        "fields": {
+          "m_bUseVerticalVelocity": 468,
+          "m_nControlPointNumber": 456,
+          "m_nLocalSpaceCP": 460,
+          "m_nWeightUpdateCP": 464,
+          "m_vecScale": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitSkinnedPositionFromCPSnapshot": {
+        "fields": {
+          "m_bCopyAlpha": 861,
+          "m_bCopyColor": 860,
+          "m_bIgnoreDt": 474,
+          "m_bRandom": 464,
+          "m_bRigid": 472,
+          "m_bSetNormal": 473,
+          "m_bSetRadius": 862,
+          "m_flBoneVelocity": 852,
+          "m_flBoneVelocityMax": 856,
+          "m_flIncrement": 840,
+          "m_flMaxNormalVelocity": 480,
+          "m_flMinNormalVelocity": 476,
+          "m_flReadIndex": 488,
+          "m_nControlPointNumber": 460,
+          "m_nFullLoopIncrement": 844,
+          "m_nIndexType": 484,
+          "m_nRandomSeed": 468,
+          "m_nSnapShotStartPoint": 848,
+          "m_nSnapshotControlPointNumber": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitVec": {
+        "fields": {
+          "m_InputValue": 456,
+          "m_bNormalizedOutput": 2120,
+          "m_bWritePreviousPosition": 2121,
+          "m_nOutputField": 2112,
+          "m_nSetMethod": 2116
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitVecCollection": {
+        "fields": {
+          "m_InputValue": 456,
+          "m_nOutputField": 2112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitialRepulsionVelocity": {
+        "fields": {
+          "m_CollisionGroupName": 456,
+          "m_bInherit": 625,
+          "m_bPerParticle": 616,
+          "m_bPerParticleTR": 624,
+          "m_bProportional": 618,
+          "m_bTranslate": 617,
+          "m_flTraceLength": 620,
+          "m_nChildCP": 628,
+          "m_nChildGroupID": 632,
+          "m_nControlPointNumber": 612,
+          "m_nTraceSet": 584,
+          "m_vecOutputMax": 600,
+          "m_vecOutputMin": 588
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitialSequenceFromModel": {
+        "fields": {
+          "m_flInputMax": 472,
+          "m_flInputMin": 468,
+          "m_flOutputMax": 480,
+          "m_flOutputMin": 476,
+          "m_nControlPointNumber": 456,
+          "m_nFieldOutput": 460,
+          "m_nFieldOutputAnim": 464,
+          "m_nSetMethod": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitialVelocityFromHitbox": {
+        "fields": {
+          "m_HitboxSetName": 468,
+          "m_bUseBones": 596,
+          "m_flVelocityMax": 460,
+          "m_flVelocityMin": 456,
+          "m_nControlPointNumber": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_InitialVelocityNoise": {
+        "fields": {
+          "m_TransformInput": 6504,
+          "m_bIgnoreDt": 6608,
+          "m_flNoiseScale": 5800,
+          "m_flNoiseScaleLoc": 6152,
+          "m_flOffset": 2136,
+          "m_vecAbsVal": 456,
+          "m_vecAbsValInv": 468,
+          "m_vecOffsetLoc": 480,
+          "m_vecOutputMax": 4144,
+          "m_vecOutputMin": 2488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_LifespanFromVelocity": {
+        "fields": {
+          "m_CollisionGroupName": 488,
+          "m_bIncludeWater": 632,
+          "m_flMaxTraceLength": 472,
+          "m_flTraceOffset": 468,
+          "m_flTraceTolerance": 476,
+          "m_nMaxPlanes": 480,
+          "m_nTraceSet": 616,
+          "m_vecComponentScale": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_ModelCull": {
+        "fields": {
+          "m_HitboxSetName": 463,
+          "m_bBoundBox": 460,
+          "m_bCullOutside": 461,
+          "m_bUseBones": 462,
+          "m_nControlPointNumber": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_MoveBetweenPoints": {
+        "fields": {
+          "m_bTrailBias": 2220,
+          "m_flEndOffset": 1864,
+          "m_flEndSpread": 1160,
+          "m_flSpeedMax": 808,
+          "m_flSpeedMin": 456,
+          "m_flStartOffset": 1512,
+          "m_nEndControlPointNumber": 2216
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_NormalAlignToCP": {
+        "fields": {
+          "m_nControlPointAxis": 560,
+          "m_transformInput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_NormalOffset": {
+        "fields": {
+          "m_OffsetMax": 468,
+          "m_OffsetMin": 456,
+          "m_bLocalCoords": 484,
+          "m_bNormalize": 485,
+          "m_nControlPointNumber": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_OffsetVectorToVector": {
+        "fields": {
+          "m_nFieldInput": 456,
+          "m_nFieldOutput": 460,
+          "m_randomnessParameters": 488,
+          "m_vecOutputMax": 476,
+          "m_vecOutputMin": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_Orient2DRelToCP": {
+        "fields": {
+          "m_flRotOffset": 464,
+          "m_nCP": 456,
+          "m_nFieldOutput": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PlaneCull": {
+        "fields": {
+          "m_bCullInside": 816,
+          "m_flDistance": 464,
+          "m_nControlPoint": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PointList": {
+        "fields": {
+          "m_bClosedLoop": 489,
+          "m_bPlaceAlongPath": 488,
+          "m_nFieldOutput": 456,
+          "m_nNumPointsAlongPath": 492,
+          "m_pointList": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PositionOffset": {
+        "fields": {
+          "m_OffsetMax": 2112,
+          "m_OffsetMin": 456,
+          "m_TransformInput": 3768,
+          "m_bLocalCoords": 3872,
+          "m_bProportional": 3873,
+          "m_randomnessParameters": 3876
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PositionOffsetToCP": {
+        "fields": {
+          "m_bLocalCoords": 464,
+          "m_nControlPointNumberEnd": 460,
+          "m_nControlPointNumberStart": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PositionPlaceOnGround": {
+        "fields": {
+          "m_CollisionGroupName": 1160,
+          "m_bIncludeWater": 1308,
+          "m_bOffsetonColOnly": 1312,
+          "m_bSetNormal": 1309,
+          "m_bSetPXYZOnly": 1310,
+          "m_bTraceAlongNormal": 1311,
+          "m_flMaxTraceLength": 808,
+          "m_flOffset": 456,
+          "m_flOffsetByRadiusFactor": 1316,
+          "m_nIgnoreCP": 1324,
+          "m_nPreserveOffsetCP": 1320,
+          "m_nTraceMissBehavior": 1304,
+          "m_nTraceSet": 1288
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PositionWarp": {
+        "fields": {
+          "m_bInvertWarp": 3792,
+          "m_bUseCount": 3793,
+          "m_flPrevPosScale": 3788,
+          "m_flWarpStartTime": 3784,
+          "m_flWarpTime": 3780,
+          "m_nControlPointNumber": 3772,
+          "m_nRadiusComponent": 3776,
+          "m_nScaleControlPointNumber": 3768,
+          "m_vecWarpMax": 2112,
+          "m_vecWarpMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_PositionWarpScalar": {
+        "fields": {
+          "m_InputValue": 480,
+          "m_flPrevPosScale": 832,
+          "m_nControlPointNumber": 840,
+          "m_nScaleControlPointNumber": 836,
+          "m_vecWarpMax": 468,
+          "m_vecWarpMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_QuantizeFloat": {
+        "fields": {
+          "m_InputValue": 456,
+          "m_nOutputField": 808
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RadiusFromCPObject": {
+        "fields": {
+          "m_nControlPoint": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomAlpha": {
+        "fields": {
+          "m_flAlphaRandExponent": 476,
+          "m_nAlphaMax": 464,
+          "m_nAlphaMin": 460,
+          "m_nFieldOutput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomAlphaWindowThreshold": {
+        "fields": {
+          "m_flExponent": 464,
+          "m_flMax": 460,
+          "m_flMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomColor": {
+        "fields": {
+          "m_ColorMax": 488,
+          "m_ColorMin": 484,
+          "m_TintMax": 496,
+          "m_TintMin": 492,
+          "m_flLightAmplification": 520,
+          "m_flTintPerc": 500,
+          "m_flUpdateThreshold": 504,
+          "m_nFieldOutput": 512,
+          "m_nTintBlendMode": 516,
+          "m_nTintCP": 508
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomLifeTime": {
+        "fields": {
+          "m_fLifetimeMax": 460,
+          "m_fLifetimeMin": 456,
+          "m_fLifetimeRandExponent": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomModelSequence": {
+        "fields": {
+          "m_ActivityName": 456,
+          "m_SequenceName": 712,
+          "m_hModel": 968
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomNamedModelBodyPart": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RandomNamedModelElement"
+      },
+      "C_INIT_RandomNamedModelElement": {
+        "fields": {
+          "m_bLinear": 489,
+          "m_bModelFromRenderer": 490,
+          "m_bShuffle": 488,
+          "m_hModel": 456,
+          "m_nFieldOutput": 492,
+          "m_names": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomNamedModelMeshGroup": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RandomNamedModelElement"
+      },
+      "C_INIT_RandomNamedModelSequence": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RandomNamedModelElement"
+      },
+      "C_INIT_RandomRadius": {
+        "fields": {
+          "m_flRadiusMax": 460,
+          "m_flRadiusMin": 456,
+          "m_flRadiusRandExponent": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomRotation": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CGeneralRandomRotation"
+      },
+      "C_INIT_RandomRotationSpeed": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CGeneralRandomRotation"
+      },
+      "C_INIT_RandomScalar": {
+        "fields": {
+          "m_flExponent": 464,
+          "m_flMax": 460,
+          "m_flMin": 456,
+          "m_nFieldOutput": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomSecondSequence": {
+        "fields": {
+          "m_nSequenceMax": 460,
+          "m_nSequenceMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomSequence": {
+        "fields": {
+          "m_WeightedList": 472,
+          "m_bLinear": 465,
+          "m_bShuffle": 464,
+          "m_nSequenceMax": 460,
+          "m_nSequenceMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomTrailLength": {
+        "fields": {
+          "m_flLengthRandExponent": 464,
+          "m_flMaxLength": 460,
+          "m_flMinLength": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomVector": {
+        "fields": {
+          "m_nFieldOutput": 480,
+          "m_randomnessParameters": 484,
+          "m_vecMax": 468,
+          "m_vecMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomVectorComponent": {
+        "fields": {
+          "m_flMax": 460,
+          "m_flMin": 456,
+          "m_nComponent": 468,
+          "m_nFieldOutput": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RandomYaw": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CGeneralRandomRotation"
+      },
+      "C_INIT_RandomYawFlip": {
+        "fields": {
+          "m_flPercent": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapCPtoScalar": {
+        "fields": {
+          "m_flEndTime": 488,
+          "m_flInputMax": 472,
+          "m_flInputMin": 468,
+          "m_flOutputMax": 480,
+          "m_flOutputMin": 476,
+          "m_flRemapBias": 496,
+          "m_flStartTime": 484,
+          "m_nCPInput": 456,
+          "m_nField": 464,
+          "m_nFieldOutput": 460,
+          "m_nSetMethod": 492
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapInitialDirectionToTransformToVector": {
+        "fields": {
+          "m_TransformInput": 456,
+          "m_bNormalize": 584,
+          "m_flOffsetRot": 568,
+          "m_flScale": 564,
+          "m_nFieldOutput": 560,
+          "m_vecOffsetAxis": 572
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapInitialTransformDirectionToRotation": {
+        "fields": {
+          "m_TransformInput": 456,
+          "m_flOffsetRot": 564,
+          "m_nComponent": 568,
+          "m_nFieldOutput": 560
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapInitialVisibilityScalar": {
+        "fields": {
+          "m_flInputMax": 468,
+          "m_flInputMin": 464,
+          "m_flOutputMax": 476,
+          "m_flOutputMin": 472,
+          "m_nFieldOutput": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapNamedModelBodyPartToScalar": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapNamedModelElementToScalar"
+      },
+      "C_INIT_RemapNamedModelElementToScalar": {
+        "fields": {
+          "m_bModelFromRenderer": 524,
+          "m_hModel": 456,
+          "m_nFieldInput": 512,
+          "m_nFieldOutput": 516,
+          "m_nSetMethod": 520,
+          "m_names": 464,
+          "m_values": 488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapNamedModelMeshGroupToScalar": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapNamedModelElementToScalar"
+      },
+      "C_INIT_RemapNamedModelSequenceToScalar": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapNamedModelElementToScalar"
+      },
+      "C_INIT_RemapParticleCountToNamedModelBodyPartScalar": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapParticleCountToNamedModelElementScalar"
+      },
+      "C_INIT_RemapParticleCountToNamedModelElementScalar": {
+        "fields": {
+          "m_bModelFromRenderer": 528,
+          "m_hModel": 504,
+          "m_outputMaxName": 520,
+          "m_outputMinName": 512
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapParticleCountToScalar"
+      },
+      "C_INIT_RemapParticleCountToNamedModelMeshGroupScalar": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapParticleCountToNamedModelElementScalar"
+      },
+      "C_INIT_RemapParticleCountToNamedModelSequenceScalar": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_INIT_RemapParticleCountToNamedModelElementScalar"
+      },
+      "C_INIT_RemapParticleCountToScalar": {
+        "fields": {
+          "m_bActiveRange": 488,
+          "m_bInvert": 489,
+          "m_bWrap": 490,
+          "m_flOutputMax": 480,
+          "m_flOutputMin": 476,
+          "m_flRemapBias": 492,
+          "m_nFieldOutput": 456,
+          "m_nInputMax": 464,
+          "m_nInputMin": 460,
+          "m_nScaleControlPoint": 468,
+          "m_nScaleControlPointField": 472,
+          "m_nSetMethod": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapQAnglesToRotation": {
+        "fields": {
+          "m_TransformInput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapScalar": {
+        "fields": {
+          "m_bActiveRange": 492,
+          "m_flEndTime": 484,
+          "m_flInputMax": 468,
+          "m_flInputMin": 464,
+          "m_flOutputMax": 476,
+          "m_flOutputMin": 472,
+          "m_flRemapBias": 496,
+          "m_flStartTime": 480,
+          "m_nFieldInput": 456,
+          "m_nFieldOutput": 460,
+          "m_nSetMethod": 488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapScalarToVector": {
+        "fields": {
+          "m_bLocalCoords": 512,
+          "m_flEndTime": 500,
+          "m_flInputMax": 468,
+          "m_flInputMin": 464,
+          "m_flRemapBias": 516,
+          "m_flStartTime": 496,
+          "m_nControlPointNumber": 508,
+          "m_nFieldInput": 456,
+          "m_nFieldOutput": 460,
+          "m_nSetMethod": 504,
+          "m_vecOutputMax": 484,
+          "m_vecOutputMin": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapSpeedToScalar": {
+        "fields": {
+          "m_bPerParticle": 492,
+          "m_flEndTime": 468,
+          "m_flInputMax": 476,
+          "m_flInputMin": 472,
+          "m_flOutputMax": 484,
+          "m_flOutputMin": 480,
+          "m_flStartTime": 464,
+          "m_nControlPointNumber": 460,
+          "m_nFieldOutput": 456,
+          "m_nSetMethod": 488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapTransformOrientationToRotations": {
+        "fields": {
+          "m_TransformInput": 456,
+          "m_bUseQuat": 572,
+          "m_bWriteNormal": 573,
+          "m_vecRotation": 560
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RemapTransformToVector": {
+        "fields": {
+          "m_LocalSpaceTransform": 616,
+          "m_TransformInput": 512,
+          "m_bAccelerate": 733,
+          "m_bOffset": 732,
+          "m_flEndTime": 724,
+          "m_flRemapBias": 736,
+          "m_flStartTime": 720,
+          "m_nFieldOutput": 456,
+          "m_nSetMethod": 728,
+          "m_vInputMax": 472,
+          "m_vInputMin": 460,
+          "m_vOutputMax": 496,
+          "m_vOutputMin": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RingWave": {
+        "fields": {
+          "m_TransformInput": 456,
+          "m_bEvenDistribution": 3376,
+          "m_bXYVelocityOnly": 3377,
+          "m_flInitialRadius": 912,
+          "m_flInitialSpeedMax": 1968,
+          "m_flInitialSpeedMin": 1616,
+          "m_flParticlesPerOrbit": 560,
+          "m_flPitch": 2672,
+          "m_flRoll": 2320,
+          "m_flThickness": 1264,
+          "m_flYaw": 3024
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_RtEnvCull": {
+        "fields": {
+          "m_RtEnvName": 483,
+          "m_bCullOnMiss": 481,
+          "m_bLifeAdjust": 482,
+          "m_bUseVelocity": 480,
+          "m_nComponent": 616,
+          "m_nRTEnvCP": 612,
+          "m_vecTestDir": 456,
+          "m_vecTestNormal": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_ScaleVelocity": {
+        "fields": {
+          "m_vecScale": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SequenceFromCP": {
+        "fields": {
+          "m_bKillUnused": 456,
+          "m_bRadiusScale": 457,
+          "m_nCP": 460,
+          "m_vecOffset": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SequenceLifeTime": {
+        "fields": {
+          "m_flFramerate": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SetAttributeToScalarExpression": {
+        "fields": {
+          "m_flInput1": 464,
+          "m_flInput2": 816,
+          "m_flOutputRemap": 1168,
+          "m_nExpression": 456,
+          "m_nOutputField": 1520,
+          "m_nSetMethod": 1524
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SetHitboxToClosest": {
+        "fields": {
+          "m_HitboxSetName": 2120,
+          "m_bUpdatePosition": 2608,
+          "m_bUseBones": 2248,
+          "m_bUseClosestPointOnHitbox": 2249,
+          "m_flHybridRatio": 2256,
+          "m_nControlPointNumber": 456,
+          "m_nDesiredHitbox": 460,
+          "m_nTestType": 2252,
+          "m_vecHitBoxScale": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SetHitboxToModel": {
+        "fields": {
+          "m_HitboxSetName": 2142,
+          "m_bEvenDistribution": 464,
+          "m_bMaintainHitbox": 2140,
+          "m_bUseBones": 2141,
+          "m_flShellSize": 2272,
+          "m_nControlPointNumber": 456,
+          "m_nDesiredHitbox": 468,
+          "m_nForceInModel": 460,
+          "m_vecDirectionBias": 2128,
+          "m_vecHitBoxScale": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SetRigidAttachment": {
+        "fields": {
+          "m_bLocalSpace": 468,
+          "m_nControlPointNumber": 456,
+          "m_nFieldInput": 460,
+          "m_nFieldOutput": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_SetVectorAttributeToVectorExpression": {
+        "fields": {
+          "m_bNormalizedOutput": 3784,
+          "m_nExpression": 456,
+          "m_nOutputField": 3776,
+          "m_nSetMethod": 3780,
+          "m_vInput1": 464,
+          "m_vInput2": 2120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_StatusEffect": {
+        "fields": {
+          "m_flAmbientScale": 484,
+          "m_flColorWarpIntensity": 472,
+          "m_flDetail2BlendFactor": 468,
+          "m_flDetail2Rotation": 460,
+          "m_flDetail2Scale": 464,
+          "m_flDiffuseWarpBlendToFull": 476,
+          "m_flEnvMapIntensity": 480,
+          "m_flMetalnessBlendToFull": 520,
+          "m_flReflectionsTintByBaseBlendToNone": 516,
+          "m_flRimLightScale": 512,
+          "m_flSelfIllumBlendToFull": 524,
+          "m_flSpecularBlendToFull": 504,
+          "m_flSpecularExponent": 496,
+          "m_flSpecularExponentBlendToFull": 500,
+          "m_flSpecularScale": 492,
+          "m_nDetail2Combo": 456,
+          "m_rimLightColor": 508,
+          "m_specularColor": 488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_StatusEffectCitadel": {
+        "fields": {
+          "m_flSFXColorWarpAmount": 456,
+          "m_flSFXMetalnessAmount": 464,
+          "m_flSFXNormalAmount": 460,
+          "m_flSFXRoughnessAmount": 468,
+          "m_flSFXSDetailAmount": 508,
+          "m_flSFXSDetailScale": 512,
+          "m_flSFXSDetailScrollX": 516,
+          "m_flSFXSDetailScrollY": 520,
+          "m_flSFXSDetailScrollZ": 524,
+          "m_flSFXSOffsetX": 492,
+          "m_flSFXSOffsetY": 496,
+          "m_flSFXSOffsetZ": 500,
+          "m_flSFXSScale": 476,
+          "m_flSFXSScrollX": 480,
+          "m_flSFXSScrollY": 484,
+          "m_flSFXSScrollZ": 488,
+          "m_flSFXSUseModelUVs": 528,
+          "m_flSFXSelfIllumAmount": 472,
+          "m_nDetailCombo": 504
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_VelocityFromCP": {
+        "fields": {
+          "m_bDirectionOnly": 2220,
+          "m_flVelocityScale": 2216,
+          "m_transformInput": 2112,
+          "m_velocityInput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_VelocityFromNormal": {
+        "fields": {
+          "m_bIgnoreDt": 464,
+          "m_fSpeedMax": 460,
+          "m_fSpeedMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_VelocityRadialRandom": {
+        "fields": {
+          "m_bIgnoreDelta": 1181,
+          "m_fSpeedMax": 816,
+          "m_fSpeedMin": 464,
+          "m_nControlPointNumber": 456,
+          "m_vecLocalCoordinateSystemSpeedScale": 1168
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_INIT_VelocityRandom": {
+        "fields": {
+          "m_LocalCoordinateSystemSpeedMax": 2824,
+          "m_LocalCoordinateSystemSpeedMin": 1168,
+          "m_bIgnoreDT": 4480,
+          "m_fSpeedMax": 816,
+          "m_fSpeedMin": 464,
+          "m_nControlPointNumber": 456,
+          "m_randomnessParameters": 4484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionInitializer"
+      },
+      "C_OP_AlphaDecay": {
+        "fields": {
+          "m_flMinAlpha": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_AttractToControlPoint": {
+        "fields": {
+          "m_TransformInput": 840,
+          "m_bApplyMinForce": 1296,
+          "m_fFalloffPower": 832,
+          "m_fForceAmount": 480,
+          "m_fForceAmountMin": 944,
+          "m_vecComponentScale": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_BasicMovement": {
+        "fields": {
+          "m_Gravity": 448,
+          "m_bUseNewCode": 3524,
+          "m_fDrag": 2104,
+          "m_massControls": 2456,
+          "m_nMaxConstraintPasses": 3520
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_BoxConstraint": {
+        "fields": {
+          "m_bAccountForRadius": 3765,
+          "m_bLocalSpace": 3764,
+          "m_nCP": 3760,
+          "m_vecMax": 2104,
+          "m_vecMin": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_CPOffsetToPercentageBetweenCPs": {
+        "fields": {
+          "m_bRadialCheck": 480,
+          "m_bScaleOffset": 481,
+          "m_flInputBias": 456,
+          "m_flInputMax": 452,
+          "m_flInputMin": 448,
+          "m_nEndCP": 464,
+          "m_nInputCP": 476,
+          "m_nOffsetCP": 468,
+          "m_nOuputCP": 472,
+          "m_nStartCP": 460,
+          "m_vecOffset": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_CPVelocityForce": {
+        "fields": {
+          "m_flScale": 472,
+          "m_nControlPointNumber": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_CalculateVectorAttribute": {
+        "fields": {
+          "m_flControlPointScale1": 496,
+          "m_flControlPointScale2": 520,
+          "m_flInputScale1": 464,
+          "m_flInputScale2": 472,
+          "m_nControlPointInput1": 476,
+          "m_nControlPointInput2": 500,
+          "m_nFieldInput1": 460,
+          "m_nFieldInput2": 468,
+          "m_nFieldOutput": 524,
+          "m_vFinalOutputScale": 528,
+          "m_vStartValue": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Callback": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_ChladniWave": {
+        "fields": {
+          "m_b3D": 5184,
+          "m_flInputMax": 808,
+          "m_flInputMin": 456,
+          "m_flOutputMax": 1512,
+          "m_flOutputMin": 1160,
+          "m_nFieldOutput": 448,
+          "m_nLocalSpaceControlPoint": 5180,
+          "m_nSetMethod": 5176,
+          "m_vecHarmonics": 3520,
+          "m_vecWaveLength": 1864
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ChooseRandomChildrenInGroup": {
+        "fields": {
+          "m_flNumberOfChildren": 464,
+          "m_nChildGroupID": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_ClampScalar": {
+        "fields": {
+          "m_flOutputMax": 808,
+          "m_flOutputMin": 456,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ClampVector": {
+        "fields": {
+          "m_nFieldOutput": 448,
+          "m_vecOutputMax": 2112,
+          "m_vecOutputMin": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ClientPhysics": {
+        "fields": {
+          "m_bDeleteSim": 1258,
+          "m_bKillParticles": 1257,
+          "m_bRespectExclusionVolumes": 1256,
+          "m_bStartAsleep": 536,
+          "m_bUseHighQualitySimulation": 1248,
+          "m_flPlayerWakeRadius": 544,
+          "m_flVehicleWakeRadius": 896,
+          "m_nColorBlendType": 1264,
+          "m_nControlPoint": 1260,
+          "m_nMaxParticleCount": 1252,
+          "m_strPhysicsType": 528
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_CollideWithParentParticles": {
+        "fields": {
+          "m_flParentRadiusScale": 448,
+          "m_flRadiusScale": 800
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_CollideWithSelf": {
+        "fields": {
+          "m_flMinimumSpeed": 800,
+          "m_flRadiusScale": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_ColorAdjustHSL": {
+        "fields": {
+          "m_flHueAdjust": 448,
+          "m_flLightnessAdjust": 1152,
+          "m_flSaturationAdjust": 800
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ColorInterpolate": {
+        "fields": {
+          "m_ColorFade": 448,
+          "m_bEaseInOut": 476,
+          "m_flFadeEndTime": 468,
+          "m_flFadeStartTime": 464,
+          "m_nFieldOutput": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ColorInterpolateRandom": {
+        "fields": {
+          "m_ColorFadeMax": 476,
+          "m_ColorFadeMin": 448,
+          "m_bEaseInOut": 504,
+          "m_flFadeEndTime": 496,
+          "m_flFadeStartTime": 492,
+          "m_nFieldOutput": 500
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ConnectParentParticleToNearest": {
+        "fields": {
+          "m_bUseRadius": 456,
+          "m_flParentRadiusScale": 816,
+          "m_flRadiusScale": 464,
+          "m_nFirstControlPoint": 448,
+          "m_nSecondControlPoint": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ConstrainDistance": {
+        "fields": {
+          "m_CenterOffset": 1156,
+          "m_bGlobalCenter": 1168,
+          "m_fMaxDistance": 800,
+          "m_fMinDistance": 448,
+          "m_nControlPointNumber": 1152
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_ConstrainDistanceToPath": {
+        "fields": {
+          "m_PathParameters": 464,
+          "m_fMinDistance": 448,
+          "m_flMaxDistance0": 452,
+          "m_flMaxDistance1": 460,
+          "m_flMaxDistanceMid": 456,
+          "m_flTravelTime": 528,
+          "m_nFieldScale": 532,
+          "m_nManualTField": 536
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_ConstrainDistanceToUserSpecifiedPath": {
+        "fields": {
+          "m_bLoopedPath": 460,
+          "m_fMinDistance": 448,
+          "m_flMaxDistance": 452,
+          "m_flTimeScale": 456,
+          "m_pointList": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_ConstrainLineLength": {
+        "fields": {
+          "m_flMaxDistance": 452,
+          "m_flMinDistance": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_ContinuousEmitter": {
+        "fields": {
+          "m_bForceEmitOnFirstUpdate": 1536,
+          "m_bForceEmitOnLastUpdate": 1537,
+          "m_bInitFromKilledParentParticles": 1520,
+          "m_flEmissionDuration": 456,
+          "m_flEmissionScale": 1512,
+          "m_flEmitRate": 1160,
+          "m_flScalePerParentParticle": 1516,
+          "m_flStartTime": 808,
+          "m_nEventType": 1524,
+          "m_nLimitPerUpdate": 1532,
+          "m_nSnapshotControlPoint": 1528
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionEmitter"
+      },
+      "C_OP_ControlPointToRadialScreenSpace": {
+        "fields": {
+          "m_nCPIn": 456,
+          "m_nCPOut": 472,
+          "m_nCPOutField": 476,
+          "m_nCPSSPosOut": 480,
+          "m_vecCP1Pos": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_ControlpointLight": {
+        "fields": {
+          "m_LightColor1": 1712,
+          "m_LightColor2": 1716,
+          "m_LightColor3": 1720,
+          "m_LightColor4": 1724,
+          "m_LightFiftyDist1": 1680,
+          "m_LightFiftyDist2": 1688,
+          "m_LightFiftyDist3": 1696,
+          "m_LightFiftyDist4": 1704,
+          "m_LightZeroDist1": 1684,
+          "m_LightZeroDist2": 1692,
+          "m_LightZeroDist3": 1700,
+          "m_LightZeroDist4": 1708,
+          "m_bClampLowerRange": 1742,
+          "m_bClampUpperRange": 1743,
+          "m_bLightDynamic1": 1732,
+          "m_bLightDynamic2": 1733,
+          "m_bLightDynamic3": 1734,
+          "m_bLightDynamic4": 1735,
+          "m_bLightType1": 1728,
+          "m_bLightType2": 1729,
+          "m_bLightType3": 1730,
+          "m_bLightType4": 1731,
+          "m_bUseHLambert": 1737,
+          "m_bUseNormal": 1736,
+          "m_flScale": 448,
+          "m_nControlPoint1": 1616,
+          "m_nControlPoint2": 1620,
+          "m_nControlPoint3": 1624,
+          "m_nControlPoint4": 1628,
+          "m_vecCPOffset1": 1632,
+          "m_vecCPOffset2": 1644,
+          "m_vecCPOffset3": 1656,
+          "m_vecCPOffset4": 1668
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Cull": {
+        "fields": {
+          "m_flCullEnd": 456,
+          "m_flCullExp": 460,
+          "m_flCullPerc": 448,
+          "m_flCullStart": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_CurlNoiseForce": {
+        "fields": {
+          "m_flWorleyJitter": 7448,
+          "m_flWorleySeed": 7096,
+          "m_nNoiseType": 464,
+          "m_vecNoiseFreq": 472,
+          "m_vecNoiseScale": 2128,
+          "m_vecOffset": 3784,
+          "m_vecOffsetRate": 5440
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_CycleScalar": {
+        "fields": {
+          "m_bDoNotRepeatCycle": 464,
+          "m_bSynchronizeParticles": 465,
+          "m_flCycleTime": 460,
+          "m_flEndValue": 456,
+          "m_flStartValue": 452,
+          "m_nCPFieldMax": 476,
+          "m_nCPFieldMin": 472,
+          "m_nCPScale": 468,
+          "m_nDestField": 448,
+          "m_nSetMethod": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_CylindricalDistanceToTransform": {
+        "fields": {
+          "m_TransformEnd": 1968,
+          "m_TransformStart": 1864,
+          "m_bActiveRange": 2076,
+          "m_bAdditive": 2077,
+          "m_bCapsule": 2078,
+          "m_flInputMax": 808,
+          "m_flInputMin": 456,
+          "m_flOutputMax": 1512,
+          "m_flOutputMin": 1160,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 2072
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DampenToCP": {
+        "fields": {
+          "m_flRange": 452,
+          "m_flScale": 456,
+          "m_nControlPointNumber": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Decay": {
+        "fields": {
+          "m_bForcePreserveParticleOrder": 449,
+          "m_bRopeDecay": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DecayClampCount": {
+        "fields": {
+          "m_nCount": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DecayMaintainCount": {
+        "fields": {
+          "m_bKillNewest": 816,
+          "m_bLifespanDecay": 460,
+          "m_flDecayDelay": 452,
+          "m_flScale": 464,
+          "m_nParticlesToMaintain": 448,
+          "m_nSnapshotControlPoint": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DecayOffscreen": {
+        "fields": {
+          "m_flOffscreenTime": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DensityForce": {
+        "fields": {
+          "m_flForceScale": 468,
+          "m_flRadiusScale": 464,
+          "m_flTargetDensity": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_DifferencePreviousParticle": {
+        "fields": {
+          "m_bActiveRange": 476,
+          "m_bSetPreviousParticle": 477,
+          "m_flInputMax": 460,
+          "m_flInputMin": 456,
+          "m_flOutputMax": 468,
+          "m_flOutputMin": 464,
+          "m_nFieldInput": 448,
+          "m_nFieldOutput": 452,
+          "m_nSetMethod": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Diffusion": {
+        "fields": {
+          "m_flRadiusScale": 448,
+          "m_nFieldOutput": 452,
+          "m_nVoxelGridResolution": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DirectionBetweenVecsToVec": {
+        "fields": {
+          "m_nFieldOutput": 448,
+          "m_vecPoint1": 456,
+          "m_vecPoint2": 2112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DistanceBetweenCPsToCP": {
+        "fields": {
+          "m_CollisionGroupName": 501,
+          "m_bLOS": 500,
+          "m_bSetOnce": 472,
+          "m_flInputMax": 480,
+          "m_flInputMin": 476,
+          "m_flLOSScale": 496,
+          "m_flMaxTraceLength": 492,
+          "m_flOutputMax": 488,
+          "m_flOutputMin": 484,
+          "m_nEndCP": 460,
+          "m_nOutputCP": 464,
+          "m_nOutputCPField": 468,
+          "m_nSetParent": 636,
+          "m_nStartCP": 456,
+          "m_nTraceSet": 632
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_DistanceBetweenTransforms": {
+        "fields": {
+          "m_CollisionGroupName": 2080,
+          "m_TransformEnd": 560,
+          "m_TransformStart": 456,
+          "m_bLOS": 2212,
+          "m_flInputMax": 1016,
+          "m_flInputMin": 664,
+          "m_flLOSScale": 2076,
+          "m_flMaxTraceLength": 2072,
+          "m_flOutputMax": 1720,
+          "m_flOutputMin": 1368,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 2216,
+          "m_nTraceSet": 2208
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DistanceBetweenVecs": {
+        "fields": {
+          "m_bDeltaTime": 5180,
+          "m_flInputMax": 4120,
+          "m_flInputMin": 3768,
+          "m_flOutputMax": 4824,
+          "m_flOutputMin": 4472,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 5176,
+          "m_vecPoint1": 456,
+          "m_vecPoint2": 2112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DistanceCull": {
+        "fields": {
+          "m_bCullInside": 468,
+          "m_flDistance": 464,
+          "m_nControlPoint": 448,
+          "m_vecPointOffset": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DistanceToTransform": {
+        "fields": {
+          "m_CollisionGroupName": 1969,
+          "m_TransformStart": 1864,
+          "m_bActiveRange": 2116,
+          "m_bAdditive": 2117,
+          "m_bLOS": 1968,
+          "m_flInputMax": 808,
+          "m_flInputMin": 456,
+          "m_flLOSScale": 2108,
+          "m_flMaxTraceLength": 2104,
+          "m_flOutputMax": 1512,
+          "m_flOutputMin": 1160,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 2112,
+          "m_nTraceSet": 2100,
+          "m_vecComponentScale": 2120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DragRelativeToPlane": {
+        "fields": {
+          "m_bDirectional": 1152,
+          "m_flDragAtPlane": 448,
+          "m_flFalloff": 800,
+          "m_nControlPointNumber": 2816,
+          "m_vecPlaneNormal": 1160
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_DriveCPFromGlobalSoundFloat": {
+        "fields": {
+          "m_FieldName": 496,
+          "m_OperatorName": 488,
+          "m_StackName": 480,
+          "m_flInputMax": 468,
+          "m_flInputMin": 464,
+          "m_flOutputMax": 476,
+          "m_flOutputMin": 472,
+          "m_nOutputControlPoint": 456,
+          "m_nOutputField": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_EnableChildrenFromParentParticleCount": {
+        "fields": {
+          "m_bDestroyImmediately": 818,
+          "m_bDisableChildren": 816,
+          "m_bPlayEndcapOnStop": 817,
+          "m_nChildGroupID": 456,
+          "m_nFirstChild": 460,
+          "m_nNumChildrenToEnable": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_EndCapDecay": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_EndCapTimedDecay": {
+        "fields": {
+          "m_flDecayTime": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_EndCapTimedFreeze": {
+        "fields": {
+          "m_flFreezeTime": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ExternalGameImpulseForce": {
+        "fields": {
+          "m_bExplosions": 818,
+          "m_bParticles": 819,
+          "m_bRopes": 816,
+          "m_bRopesZOnly": 817,
+          "m_flForceScale": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_ExternalWindForce": {
+        "fields": {
+          "m_bDampenNearWaterPlane": 3778,
+          "m_bSampleGravity": 3779,
+          "m_bSampleWater": 3777,
+          "m_bSampleWind": 3776,
+          "m_bUseBasicMovementGravity": 5440,
+          "m_flLocalBuoyancyScale": 5800,
+          "m_flLocalGravityScale": 5448,
+          "m_vecBuoyancyForce": 6152,
+          "m_vecGravityForce": 3784,
+          "m_vecSamplePosition": 464,
+          "m_vecScale": 2120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_FadeAndKill": {
+        "fields": {
+          "m_bForcePreserveParticleOrder": 472,
+          "m_flEndAlpha": 468,
+          "m_flEndFadeInTime": 452,
+          "m_flEndFadeOutTime": 460,
+          "m_flStartAlpha": 464,
+          "m_flStartFadeInTime": 448,
+          "m_flStartFadeOutTime": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_FadeAndKillForTracers": {
+        "fields": {
+          "m_flEndAlpha": 468,
+          "m_flEndFadeInTime": 452,
+          "m_flEndFadeOutTime": 460,
+          "m_flStartAlpha": 464,
+          "m_flStartFadeInTime": 448,
+          "m_flStartFadeOutTime": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_FadeIn": {
+        "fields": {
+          "m_bProportional": 460,
+          "m_flFadeInTimeExp": 456,
+          "m_flFadeInTimeMax": 452,
+          "m_flFadeInTimeMin": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_FadeInSimple": {
+        "fields": {
+          "m_flFadeInTime": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_FadeOut": {
+        "fields": {
+          "m_bEaseInAndOut": 513,
+          "m_bProportional": 512,
+          "m_flFadeBias": 460,
+          "m_flFadeOutTimeExp": 456,
+          "m_flFadeOutTimeMax": 452,
+          "m_flFadeOutTimeMin": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_FadeOutSimple": {
+        "fields": {
+          "m_flFadeOutTime": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ForceBasedOnDistanceToPlane": {
+        "fields": {
+          "m_flExponent": 512,
+          "m_flMaxDist": 480,
+          "m_flMinDist": 464,
+          "m_nControlPointNumber": 508,
+          "m_vecForceAtMaxDist": 484,
+          "m_vecForceAtMinDist": 468,
+          "m_vecPlaneNormal": 496
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_ForceControlPointStub": {
+        "fields": {
+          "m_ControlPoint": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_GlobalLight": {
+        "fields": {
+          "m_bClampLowerRange": 452,
+          "m_bClampUpperRange": 453,
+          "m_flScale": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_HSVShiftToCP": {
+        "fields": {
+          "m_DefaultHSVColor": 468,
+          "m_nColorCP": 456,
+          "m_nColorGemEnableCP": 460,
+          "m_nOutputCP": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_InheritFromParentParticles": {
+        "fields": {
+          "m_bRandomDistribution": 460,
+          "m_flScale": 448,
+          "m_nFieldOutput": 452,
+          "m_nIncrement": 456
+        },
+        "metadata": [
+          {
+            "name": "MParticleMaxVersion",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleReplacementOp",
+            "type": "Unknown"
+          },
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_InheritFromParentParticlesV2": {
+        "fields": {
+          "m_bRandomDistribution": 460,
+          "m_flScale": 448,
+          "m_nFieldOutput": 452,
+          "m_nIncrement": 456,
+          "m_nMissingParentBehavior": 464
+        },
+        "metadata": [
+          {
+            "name": "MParticleMinVersion",
+            "type": "Unknown"
+          },
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_InheritFromPeerSystem": {
+        "fields": {
+          "m_nFieldInput": 452,
+          "m_nFieldOutput": 448,
+          "m_nGroupID": 460,
+          "m_nIncrement": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_InstantaneousEmitter": {
+        "fields": {
+          "m_flInitFromKilledParentParticles": 1160,
+          "m_flParentParticleScale": 1168,
+          "m_flStartTime": 808,
+          "m_nEventType": 1164,
+          "m_nMaxEmittedPerFrame": 1520,
+          "m_nParticlesToEmit": 456,
+          "m_nSnapshotControlPoint": 1524
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionEmitter"
+      },
+      "C_OP_InterpolateRadius": {
+        "fields": {
+          "m_bEaseInAndOut": 464,
+          "m_flBias": 468,
+          "m_flEndScale": 460,
+          "m_flEndTime": 452,
+          "m_flStartScale": 456,
+          "m_flStartTime": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_IntraParticleForce": {
+        "fields": {
+          "m_bThreadIt": 489,
+          "m_bUseAABB": 488,
+          "m_flAttractionMaxDistance": 468,
+          "m_flAttractionMaxStrength": 472,
+          "m_flAttractionMinDistance": 464,
+          "m_flRepulsionMaxDistance": 480,
+          "m_flRepulsionMaxStrength": 484,
+          "m_flRepulsionMinDistance": 476
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_LagCompensation": {
+        "fields": {
+          "m_nDesiredVelocityCP": 448,
+          "m_nDesiredVelocityCPField": 460,
+          "m_nLatencyCP": 452,
+          "m_nLatencyCPField": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LerpEndCapScalar": {
+        "fields": {
+          "m_flLerpTime": 456,
+          "m_flOutput": 452,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LerpEndCapVector": {
+        "fields": {
+          "m_flLerpTime": 464,
+          "m_nFieldOutput": 448,
+          "m_vecOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LerpScalar": {
+        "fields": {
+          "m_flEndTime": 812,
+          "m_flOutput": 456,
+          "m_flStartTime": 808,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LerpToInitialPosition": {
+        "fields": {
+          "m_flInterpolation": 456,
+          "m_flScale": 816,
+          "m_nCacheField": 808,
+          "m_nControlPointNumber": 448,
+          "m_vecScale": 1168
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LerpToOtherAttribute": {
+        "fields": {
+          "m_flInterpolation": 448,
+          "m_nFieldInput": 804,
+          "m_nFieldInputFrom": 800,
+          "m_nFieldOutput": 808
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LerpVector": {
+        "fields": {
+          "m_flEndTime": 468,
+          "m_flStartTime": 464,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 472,
+          "m_vecOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LightningSnapshotGenerator": {
+        "fields": {
+          "m_flBranchTwist": 2936,
+          "m_flDedicatedPool": 4000,
+          "m_flOffset": 824,
+          "m_flOffsetDecay": 1176,
+          "m_flRadiusEnd": 3648,
+          "m_flRadiusStart": 3296,
+          "m_flRecalcRate": 1528,
+          "m_flSegments": 472,
+          "m_flSplitRate": 2584,
+          "m_flUVOffset": 2232,
+          "m_flUVScale": 1880,
+          "m_nBranchBehavior": 3288,
+          "m_nCPEndPnt": 464,
+          "m_nCPSnapshot": 456,
+          "m_nCPStartPnt": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_LocalAccelerationForce": {
+        "fields": {
+          "m_nCP": 464,
+          "m_nScaleCP": 468,
+          "m_vecAccel": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_LockPoints": {
+        "fields": {
+          "m_flBlendValue": 468,
+          "m_nControlPoint": 464,
+          "m_nMaxCol": 452,
+          "m_nMaxRow": 460,
+          "m_nMinCol": 448,
+          "m_nMinRow": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LockToBone": {
+        "fields": {
+          "m_HitboxSetName": 664,
+          "m_bRigid": 792,
+          "m_bRigidRotationLock": 808,
+          "m_bUseBones": 793,
+          "m_flJumpThreshold": 656,
+          "m_flLifeTimeFadeEnd": 652,
+          "m_flLifeTimeFadeStart": 648,
+          "m_flPrevPosScale": 660,
+          "m_flRotLerp": 2472,
+          "m_modelInput": 448,
+          "m_nFieldOutput": 796,
+          "m_nFieldOutputPrev": 800,
+          "m_nRotationSetType": 804,
+          "m_transformInput": 544,
+          "m_vecRotation": 816
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LockToPointList": {
+        "fields": {
+          "m_bClosedLoop": 481,
+          "m_bPlaceAlongPath": 480,
+          "m_nFieldOutput": 448,
+          "m_nNumPointsAlongPath": 484,
+          "m_pointList": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LockToSavedSequentialPath": {
+        "fields": {
+          "m_PathParams": 464,
+          "m_bCPPairs": 460,
+          "m_flFadeEnd": 456,
+          "m_flFadeStart": 452
+        },
+        "metadata": [
+          {
+            "name": "MParticleMaxVersion",
+            "type": "Unknown"
+          },
+          {
+            "name": "MParticleReplacementOp",
+            "type": "Unknown"
+          },
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_LockToSavedSequentialPathV2": {
+        "fields": {
+          "m_PathParams": 464,
+          "m_bCPPairs": 456,
+          "m_flFadeEnd": 452,
+          "m_flFadeStart": 448
+        },
+        "metadata": [
+          {
+            "name": "MParticleMinVersion",
+            "type": "Unknown"
+          },
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MaintainEmitter": {
+        "fields": {
+          "m_bEmitInstantaneously": 1176,
+          "m_bFinalEmitOnStop": 1177,
+          "m_flEmissionDuration": 816,
+          "m_flEmissionRate": 1168,
+          "m_flScale": 1184,
+          "m_flStartTime": 808,
+          "m_nParticlesToMaintain": 456,
+          "m_nSnapshotControlPoint": 1172
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionEmitter"
+      },
+      "C_OP_MaintainSequentialPath": {
+        "fields": {
+          "m_PathParams": 480,
+          "m_bLoop": 464,
+          "m_bUseParticleCount": 465,
+          "m_fMaxDistance": 448,
+          "m_flCohesionStrength": 456,
+          "m_flNumToAssign": 452,
+          "m_flTolerance": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MaxVelocity": {
+        "fields": {
+          "m_flMaxVelocity": 448,
+          "m_flMinVelocity": 452,
+          "m_nOverrideCP": 456,
+          "m_nOverrideCPField": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ModelCull": {
+        "fields": {
+          "m_HitboxSetName": 455,
+          "m_bBoundBox": 452,
+          "m_bCullOutside": 453,
+          "m_bUseBones": 454,
+          "m_nControlPointNumber": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ModelDampenMovement": {
+        "fields": {
+          "m_HitboxSetName": 455,
+          "m_bBoundBox": 452,
+          "m_bOutside": 453,
+          "m_bUseBones": 454,
+          "m_fDrag": 2240,
+          "m_nControlPointNumber": 448,
+          "m_vecPosOffset": 584
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MoveToHitbox": {
+        "fields": {
+          "m_HitboxSetName": 664,
+          "m_bUseBones": 792,
+          "m_flInterpolation": 800,
+          "m_flLifeTimeLerpEnd": 656,
+          "m_flLifeTimeLerpStart": 652,
+          "m_flPrevPosScale": 660,
+          "m_modelInput": 448,
+          "m_nLerpType": 796,
+          "m_transformInput": 544
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementLoopInsideSphere": {
+        "fields": {
+          "m_flDistance": 456,
+          "m_nCP": 448,
+          "m_nDistSqrAttr": 2464,
+          "m_vecScale": 808
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementMaintainOffset": {
+        "fields": {
+          "m_bRadiusScale": 464,
+          "m_nCP": 460,
+          "m_vecOffset": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementMoveAlongSkinnedCPSnapshot": {
+        "fields": {
+          "m_bSetNormal": 456,
+          "m_bSetRadius": 457,
+          "m_flInterpolation": 464,
+          "m_flTValue": 816,
+          "m_nControlPointNumber": 448,
+          "m_nSnapshotControlPointNumber": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementPlaceOnGround": {
+        "fields": {
+          "m_CollisionGroupName": 816,
+          "m_bIncludeShotHull": 972,
+          "m_bIncludeWater": 973,
+          "m_bScaleOffset": 977,
+          "m_bSetNormal": 976,
+          "m_flLerpRate": 812,
+          "m_flMaxTraceLength": 800,
+          "m_flOffset": 448,
+          "m_flTolerance": 804,
+          "m_flTraceOffset": 808,
+          "m_nIgnoreCP": 984,
+          "m_nLerpCP": 956,
+          "m_nPreserveOffsetCP": 980,
+          "m_nRefCP1": 948,
+          "m_nRefCP2": 952,
+          "m_nTraceMissBehavior": 968,
+          "m_nTraceSet": 944
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementRigidAttachToCP": {
+        "fields": {
+          "m_bOffsetLocal": 468,
+          "m_nControlPointNumber": 448,
+          "m_nFieldInput": 460,
+          "m_nFieldOutput": 464,
+          "m_nScaleCPField": 456,
+          "m_nScaleControlPoint": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementRotateParticleAroundAxis": {
+        "fields": {
+          "m_TransformInput": 2456,
+          "m_bLocalSpace": 2560,
+          "m_flRotRate": 2104,
+          "m_vecRotAxis": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_MovementSkinnedPositionFromCPSnapshot": {
+        "fields": {
+          "m_bRandom": 456,
+          "m_bSetNormal": 464,
+          "m_bSetRadius": 465,
+          "m_flIncrement": 824,
+          "m_flInterpolation": 1880,
+          "m_flReadIndex": 472,
+          "m_nControlPointNumber": 452,
+          "m_nFullLoopIncrement": 1176,
+          "m_nIndexType": 468,
+          "m_nRandomSeed": 460,
+          "m_nSnapShotStartPoint": 1528,
+          "m_nSnapshotControlPointNumber": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Noise": {
+        "fields": {
+          "m_bAdditive": 464,
+          "m_fl4NoiseScale": 460,
+          "m_flNoiseAnimationTimeScale": 468,
+          "m_flOutputMax": 456,
+          "m_flOutputMin": 452,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_NoiseEmitter": {
+        "fields": {
+          "m_bAbsVal": 480,
+          "m_bAbsValInv": 481,
+          "m_flEmissionDuration": 456,
+          "m_flEmissionScale": 464,
+          "m_flNoiseScale": 496,
+          "m_flOffset": 484,
+          "m_flOutputMax": 492,
+          "m_flOutputMin": 488,
+          "m_flStartTime": 460,
+          "m_flWorldNoiseScale": 500,
+          "m_flWorldTimeScale": 516,
+          "m_nScaleControlPoint": 468,
+          "m_nScaleControlPointField": 472,
+          "m_nWorldNoisePoint": 476,
+          "m_vecOffsetLoc": 504
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionEmitter"
+      },
+      "C_OP_NormalLock": {
+        "fields": {
+          "m_nControlPointNumber": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_NormalizeVector": {
+        "fields": {
+          "m_flScale": 452,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Orient2DRelToCP": {
+        "fields": {
+          "m_flRotOffset": 448,
+          "m_flSpinStrength": 452,
+          "m_nCP": 456,
+          "m_nFieldOutput": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_OrientTo2dDirection": {
+        "fields": {
+          "m_flRotOffset": 448,
+          "m_flSpinStrength": 452,
+          "m_nFieldOutput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_OscillateScalar": {
+        "fields": {
+          "m_FrequencyMax": 460,
+          "m_FrequencyMin": 456,
+          "m_RateMax": 452,
+          "m_RateMin": 448,
+          "m_bProportional": 468,
+          "m_bProportionalOp": 469,
+          "m_flEndTime_max": 484,
+          "m_flEndTime_min": 480,
+          "m_flOscAdd": 492,
+          "m_flOscMult": 488,
+          "m_flStartTime_max": 476,
+          "m_flStartTime_min": 472,
+          "m_nField": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_OscillateScalarSimple": {
+        "fields": {
+          "m_Frequency": 452,
+          "m_Rate": 448,
+          "m_flOscAdd": 464,
+          "m_flOscMult": 460,
+          "m_nField": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_OscillateVector": {
+        "fields": {
+          "m_FrequencyMax": 484,
+          "m_FrequencyMin": 472,
+          "m_RateMax": 460,
+          "m_RateMin": 448,
+          "m_bOffset": 502,
+          "m_bProportional": 500,
+          "m_bProportionalOp": 501,
+          "m_flEndTime_max": 516,
+          "m_flEndTime_min": 512,
+          "m_flOscAdd": 872,
+          "m_flOscMult": 520,
+          "m_flRateScale": 1224,
+          "m_flStartTime_max": 508,
+          "m_flStartTime_min": 504,
+          "m_nField": 496
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_OscillateVectorSimple": {
+        "fields": {
+          "m_Frequency": 460,
+          "m_Rate": 448,
+          "m_bOffset": 484,
+          "m_flOscAdd": 480,
+          "m_flOscMult": 476,
+          "m_nField": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ParentVortices": {
+        "fields": {
+          "m_bFlipBasedOnYaw": 480,
+          "m_flForceScale": 464,
+          "m_vecTwistAxis": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_PerParticleForce": {
+        "fields": {
+          "m_flForceScale": 464,
+          "m_nCP": 2472,
+          "m_vForce": 816
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_PercentageBetweenTransformLerpCPs": {
+        "fields": {
+          "m_TransformEnd": 568,
+          "m_TransformStart": 464,
+          "m_bActiveRange": 692,
+          "m_bRadialCheck": 693,
+          "m_flInputMax": 456,
+          "m_flInputMin": 452,
+          "m_nFieldOutput": 448,
+          "m_nOutputEndCP": 680,
+          "m_nOutputEndField": 684,
+          "m_nOutputStartCP": 672,
+          "m_nOutputStartField": 676,
+          "m_nSetMethod": 688
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_PercentageBetweenTransforms": {
+        "fields": {
+          "m_TransformEnd": 576,
+          "m_TransformStart": 472,
+          "m_bActiveRange": 684,
+          "m_bRadialCheck": 685,
+          "m_flInputMax": 456,
+          "m_flInputMin": 452,
+          "m_flOutputMax": 464,
+          "m_flOutputMin": 460,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 680
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_PercentageBetweenTransformsVector": {
+        "fields": {
+          "m_TransformEnd": 592,
+          "m_TransformStart": 488,
+          "m_bActiveRange": 700,
+          "m_bRadialCheck": 701,
+          "m_flInputMax": 456,
+          "m_flInputMin": 452,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 696,
+          "m_vecOutputMax": 472,
+          "m_vecOutputMin": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_PinParticleToCP": {
+        "fields": {
+          "m_bOffsetLocal": 2112,
+          "m_flAge": 3184,
+          "m_flBreakDistance": 2480,
+          "m_flBreakSpeed": 2832,
+          "m_flBreakValue": 3544,
+          "m_flInterpolation": 3896,
+          "m_nBreakControlPointNumber": 3536,
+          "m_nBreakControlPointNumber2": 3540,
+          "m_nControlPointNumber": 448,
+          "m_nParticleNumber": 2120,
+          "m_nParticleSelection": 2116,
+          "m_nPinBreakType": 2472,
+          "m_vecOffset": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_PlanarConstraint": {
+        "fields": {
+          "m_PlaneNormal": 460,
+          "m_PointOnPlane": 448,
+          "m_bGlobalNormal": 477,
+          "m_bGlobalOrigin": 476,
+          "m_bUseOldCode": 1184,
+          "m_flMaximumDistanceToCP": 832,
+          "m_flRadiusScale": 480,
+          "m_nControlPointNumber": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_PlaneCull": {
+        "fields": {
+          "m_bLocalSpace": 464,
+          "m_flPlaneOffset": 468,
+          "m_nPlaneControlPoint": 448,
+          "m_vecPlaneDirection": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_PlayEndCapWhenFinished": {
+        "fields": {
+          "m_bFireOnEmissionEnd": 456,
+          "m_bIncludeChildren": 457
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_PointVectorAtNextParticle": {
+        "fields": {
+          "m_flInterpolation": 456,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_PositionLock": {
+        "fields": {
+          "m_TransformInput": 448,
+          "m_bLockRot": 944,
+          "m_flEndTime_exp": 572,
+          "m_flEndTime_max": 568,
+          "m_flEndTime_min": 564,
+          "m_flJumpThreshold": 936,
+          "m_flPrevPosScale": 940,
+          "m_flRange": 576,
+          "m_flRangeBias": 584,
+          "m_flStartTime_exp": 560,
+          "m_flStartTime_max": 556,
+          "m_flStartTime_min": 552,
+          "m_nFieldOutput": 2608,
+          "m_nFieldOutputPrev": 2612,
+          "m_vecScale": 952
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_QuantizeCPComponent": {
+        "fields": {
+          "m_flInputValue": 456,
+          "m_flQuantizeValue": 816,
+          "m_nCPOutput": 808,
+          "m_nOutVectorField": 812
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_QuantizeFloat": {
+        "fields": {
+          "m_InputValue": 448,
+          "m_nOutputField": 800
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RadiusDecay": {
+        "fields": {
+          "m_flMinRadius": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RampCPLinearRandom": {
+        "fields": {
+          "m_nOutControlPointNumber": 456,
+          "m_vecRateMax": 472,
+          "m_vecRateMin": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RampScalarLinear": {
+        "fields": {
+          "m_RateMax": 452,
+          "m_RateMin": 448,
+          "m_bProportionalOp": 516,
+          "m_flEndTime_max": 468,
+          "m_flEndTime_min": 464,
+          "m_flStartTime_max": 460,
+          "m_flStartTime_min": 456,
+          "m_nField": 512
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RampScalarLinearSimple": {
+        "fields": {
+          "m_Rate": 448,
+          "m_flEndTime": 456,
+          "m_flStartTime": 452,
+          "m_nField": 496
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RampScalarSpline": {
+        "fields": {
+          "m_RateMax": 452,
+          "m_RateMin": 448,
+          "m_bEaseOut": 517,
+          "m_bProportionalOp": 516,
+          "m_flBias": 472,
+          "m_flEndTime_max": 468,
+          "m_flEndTime_min": 464,
+          "m_flStartTime_max": 460,
+          "m_flStartTime_min": 456,
+          "m_nField": 512
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RampScalarSplineSimple": {
+        "fields": {
+          "m_Rate": 448,
+          "m_bEaseOut": 500,
+          "m_flEndTime": 456,
+          "m_flStartTime": 452,
+          "m_nField": 496
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RandomForce": {
+        "fields": {
+          "m_MaxForce": 476,
+          "m_MinForce": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_ReadFromNeighboringParticle": {
+        "fields": {
+          "m_DistanceCheck": 464,
+          "m_flInterpolation": 816,
+          "m_nFieldInput": 448,
+          "m_nFieldOutput": 452,
+          "m_nIncrement": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ReinitializeScalarEndCap": {
+        "fields": {
+          "m_flOutputMax": 456,
+          "m_flOutputMin": 452,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapAverageHitboxSpeedtoCP": {
+        "fields": {
+          "m_HitboxSetName": 3544,
+          "m_flInputMax": 824,
+          "m_flInputMin": 472,
+          "m_flOutputMax": 1528,
+          "m_flOutputMin": 1176,
+          "m_nField": 464,
+          "m_nHeightControlPointNumber": 1880,
+          "m_nHitboxDataType": 468,
+          "m_nInControlPointNumber": 456,
+          "m_nOutControlPointNumber": 460,
+          "m_vecComparisonVelocity": 1888
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapAverageScalarValuetoCP": {
+        "fields": {
+          "m_flInputMax": 472,
+          "m_flInputMin": 468,
+          "m_flOutputMax": 480,
+          "m_flOutputMin": 476,
+          "m_nField": 464,
+          "m_nOutControlPointNumber": 456,
+          "m_nOutVectorField": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapBoundingVolumetoCP": {
+        "fields": {
+          "m_flInputMax": 464,
+          "m_flInputMin": 460,
+          "m_flOutputMax": 472,
+          "m_flOutputMin": 468,
+          "m_nOutControlPointNumber": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapCPVelocityToVector": {
+        "fields": {
+          "m_bNormalize": 460,
+          "m_flScale": 456,
+          "m_nControlPoint": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapCPtoCP": {
+        "fields": {
+          "m_bDerivative": 488,
+          "m_flInputMax": 476,
+          "m_flInputMin": 472,
+          "m_flInterpRate": 492,
+          "m_flOutputMax": 484,
+          "m_flOutputMin": 480,
+          "m_nInputControlPoint": 456,
+          "m_nInputField": 464,
+          "m_nOutputControlPoint": 460,
+          "m_nOutputField": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapCPtoScalar": {
+        "fields": {
+          "m_flEndTime": 480,
+          "m_flInputMax": 464,
+          "m_flInputMin": 460,
+          "m_flInterpRate": 484,
+          "m_flOutputMax": 472,
+          "m_flOutputMin": 468,
+          "m_flStartTime": 476,
+          "m_nCPInput": 448,
+          "m_nField": 456,
+          "m_nFieldOutput": 452,
+          "m_nSetMethod": 488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapCPtoVector": {
+        "fields": {
+          "m_bAccelerate": 525,
+          "m_bOffset": 524,
+          "m_flEndTime": 512,
+          "m_flInterpRate": 516,
+          "m_flStartTime": 508,
+          "m_nCPInput": 448,
+          "m_nFieldOutput": 452,
+          "m_nLocalSpaceCP": 456,
+          "m_nSetMethod": 520,
+          "m_vInputMax": 472,
+          "m_vInputMin": 460,
+          "m_vOutputMax": 496,
+          "m_vOutputMin": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapControlPointDirectionToVector": {
+        "fields": {
+          "m_flScale": 452,
+          "m_nControlPointNumber": 456,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapControlPointOrientationToRotation": {
+        "fields": {
+          "m_flOffsetRot": 456,
+          "m_nCP": 448,
+          "m_nComponent": 460,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapCrossProductOfTwoVectorsToVector": {
+        "fields": {
+          "m_InputVec1": 448,
+          "m_InputVec2": 2104,
+          "m_bNormalize": 3764,
+          "m_nFieldOutput": 3760
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapDensityGradientToVectorAttribute": {
+        "fields": {
+          "m_flRadiusScale": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapDensityToVector": {
+        "fields": {
+          "m_bUseParentDensity": 488,
+          "m_flDensityMax": 460,
+          "m_flDensityMin": 456,
+          "m_flRadiusScale": 448,
+          "m_nFieldOutput": 452,
+          "m_nVoxelGridResolution": 492,
+          "m_vecOutputMax": 476,
+          "m_vecOutputMin": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapDirectionToCPToVector": {
+        "fields": {
+          "m_bNormalize": 476,
+          "m_flOffsetRot": 460,
+          "m_flScale": 456,
+          "m_nCP": 448,
+          "m_nFieldOutput": 452,
+          "m_nFieldStrength": 480,
+          "m_vecOffsetAxis": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapDistanceToLineSegmentBase": {
+        "fields": {
+          "m_bInfiniteLine": 464,
+          "m_flMaxInputValue": 460,
+          "m_flMinInputValue": 456,
+          "m_nCP0": 448,
+          "m_nCP1": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapDistanceToLineSegmentToScalar": {
+        "fields": {
+          "m_flMaxOutputValue": 480,
+          "m_flMinOutputValue": 476,
+          "m_nFieldOutput": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapDistanceToLineSegmentBase"
+      },
+      "C_OP_RemapDistanceToLineSegmentToVector": {
+        "fields": {
+          "m_nFieldOutput": 472,
+          "m_vMaxOutputValue": 488,
+          "m_vMinOutputValue": 476
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapDistanceToLineSegmentBase"
+      },
+      "C_OP_RemapDotProductToCP": {
+        "fields": {
+          "m_flInputMax": 824,
+          "m_flInputMin": 472,
+          "m_flOutputMax": 1528,
+          "m_flOutputMin": 1176,
+          "m_nInputCP1": 456,
+          "m_nInputCP2": 460,
+          "m_nOutVectorField": 468,
+          "m_nOutputCP": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapDotProductToScalar": {
+        "fields": {
+          "m_bActiveRange": 484,
+          "m_bUseParticleNormal": 485,
+          "m_bUseParticleVelocity": 476,
+          "m_flInputMax": 464,
+          "m_flInputMin": 460,
+          "m_flOutputMax": 472,
+          "m_flOutputMin": 468,
+          "m_nFieldOutput": 456,
+          "m_nInputCP1": 448,
+          "m_nInputCP2": 452,
+          "m_nSetMethod": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapExternalWindToCP": {
+        "fields": {
+          "m_bSetMagnitude": 2120,
+          "m_nCP": 456,
+          "m_nCPOutput": 460,
+          "m_nOutVectorField": 2124,
+          "m_vecScale": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapGravityToVector": {
+        "fields": {
+          "m_bNormalizedOutput": 2112,
+          "m_nOutputField": 2104,
+          "m_nSetMethod": 2108,
+          "m_vInput1": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapModelVolumetoCP": {
+        "fields": {
+          "m_bBBoxOnly": 492,
+          "m_bCubeRoot": 493,
+          "m_flInputMax": 480,
+          "m_flInputMin": 476,
+          "m_flOutputMax": 488,
+          "m_flOutputMin": 484,
+          "m_nBBoxType": 456,
+          "m_nField": 472,
+          "m_nInControlPointNumber": 460,
+          "m_nOutControlPointMaxNumber": 468,
+          "m_nOutControlPointNumber": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapNamedModelBodyPartEndCap": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapNamedModelElementEndCap"
+      },
+      "C_OP_RemapNamedModelBodyPartOnceTimed": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapNamedModelElementOnceTimed"
+      },
+      "C_OP_RemapNamedModelElementEndCap": {
+        "fields": {
+          "m_bModelFromRenderer": 528,
+          "m_fallbackNames": 504,
+          "m_hModel": 448,
+          "m_inNames": 456,
+          "m_nFieldInput": 532,
+          "m_nFieldOutput": 536,
+          "m_outNames": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapNamedModelElementOnceTimed": {
+        "fields": {
+          "m_bModelFromRenderer": 528,
+          "m_bProportional": 529,
+          "m_fallbackNames": 504,
+          "m_flRemapTime": 540,
+          "m_hModel": 448,
+          "m_inNames": 456,
+          "m_nFieldInput": 532,
+          "m_nFieldOutput": 536,
+          "m_outNames": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapNamedModelMeshGroupEndCap": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapNamedModelElementEndCap"
+      },
+      "C_OP_RemapNamedModelMeshGroupOnceTimed": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapNamedModelElementOnceTimed"
+      },
+      "C_OP_RemapNamedModelSequenceEndCap": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapNamedModelElementEndCap"
+      },
+      "C_OP_RemapNamedModelSequenceOnceTimed": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RemapNamedModelElementOnceTimed"
+      },
+      "C_OP_RemapParticleCountOnScalarEndCap": {
+        "fields": {
+          "m_bBackwards": 468,
+          "m_flOutputMax": 464,
+          "m_flOutputMin": 460,
+          "m_nFieldOutput": 448,
+          "m_nInputMax": 456,
+          "m_nInputMin": 452,
+          "m_nSetMethod": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapParticleCountToScalar": {
+        "fields": {
+          "m_bActiveRange": 1864,
+          "m_flOutputMax": 1512,
+          "m_flOutputMin": 1160,
+          "m_nFieldOutput": 448,
+          "m_nInputMax": 808,
+          "m_nInputMin": 456,
+          "m_nSetMethod": 1868
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapSDFDistanceToScalarAttribute": {
+        "fields": {
+          "m_flMaxDistance": 808,
+          "m_flMinDistance": 456,
+          "m_flValueAboveMax": 2216,
+          "m_flValueAtMax": 1864,
+          "m_flValueAtMin": 1512,
+          "m_flValueBelowMin": 1160,
+          "m_nFieldOutput": 448,
+          "m_nVectorFieldInput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapSDFDistanceToVectorAttribute": {
+        "fields": {
+          "m_flMaxDistance": 808,
+          "m_flMinDistance": 456,
+          "m_nVectorFieldInput": 452,
+          "m_nVectorFieldOutput": 448,
+          "m_vValueAboveMax": 1196,
+          "m_vValueAtMax": 1184,
+          "m_vValueAtMin": 1172,
+          "m_vValueBelowMin": 1160
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapSDFGradientToVectorAttribute": {
+        "fields": {
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapScalar": {
+        "fields": {
+          "m_bOldCode": 472,
+          "m_flInputMax": 460,
+          "m_flInputMin": 456,
+          "m_flOutputMax": 468,
+          "m_flOutputMin": 464,
+          "m_nFieldInput": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapScalarEndCap": {
+        "fields": {
+          "m_flInputMax": 460,
+          "m_flInputMin": 456,
+          "m_flOutputMax": 468,
+          "m_flOutputMin": 464,
+          "m_nFieldInput": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapScalarOnceTimed": {
+        "fields": {
+          "m_bProportional": 448,
+          "m_flInputMax": 464,
+          "m_flInputMin": 460,
+          "m_flOutputMax": 472,
+          "m_flOutputMin": 468,
+          "m_flRemapTime": 476,
+          "m_nFieldInput": 452,
+          "m_nFieldOutput": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapSpeed": {
+        "fields": {
+          "m_bIgnoreDelta": 472,
+          "m_flInputMax": 456,
+          "m_flInputMin": 452,
+          "m_flOutputMax": 464,
+          "m_flOutputMin": 460,
+          "m_nFieldOutput": 448,
+          "m_nSetMethod": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapSpeedtoCP": {
+        "fields": {
+          "m_bUseDeltaV": 484,
+          "m_flInputMax": 472,
+          "m_flInputMin": 468,
+          "m_flOutputMax": 480,
+          "m_flOutputMin": 476,
+          "m_nField": 464,
+          "m_nInControlPointNumber": 456,
+          "m_nOutControlPointNumber": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RemapTransformOrientationToRotations": {
+        "fields": {
+          "m_TransformInput": 448,
+          "m_bUseQuat": 564,
+          "m_bWriteNormal": 565,
+          "m_vecRotation": 552
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapTransformOrientationToYaw": {
+        "fields": {
+          "m_TransformInput": 448,
+          "m_flRotOffset": 556,
+          "m_flSpinStrength": 560,
+          "m_nFieldOutput": 552
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapTransformToVelocity": {
+        "fields": {
+          "m_TransformInput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapTransformVisibilityToScalar": {
+        "fields": {
+          "m_TransformInput": 456,
+          "m_flInputMax": 568,
+          "m_flInputMin": 564,
+          "m_flOutputMax": 576,
+          "m_flOutputMin": 572,
+          "m_flRadius": 580,
+          "m_nFieldOutput": 560,
+          "m_nSetMethod": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapTransformVisibilityToVector": {
+        "fields": {
+          "m_TransformInput": 456,
+          "m_flInputMax": 568,
+          "m_flInputMin": 564,
+          "m_flRadius": 596,
+          "m_nFieldOutput": 560,
+          "m_nSetMethod": 448,
+          "m_vecOutputMax": 584,
+          "m_vecOutputMin": 572
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapVectorComponentToScalar": {
+        "fields": {
+          "m_nComponent": 456,
+          "m_nFieldInput": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapVectortoCP": {
+        "fields": {
+          "m_nFieldInput": 452,
+          "m_nOutControlPointNumber": 448,
+          "m_nParticleNumber": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapVelocityToVector": {
+        "fields": {
+          "m_bNormalize": 456,
+          "m_flScale": 452,
+          "m_nFieldOutput": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RemapVisibilityScalar": {
+        "fields": {
+          "m_flInputMax": 460,
+          "m_flInputMin": 456,
+          "m_flOutputMax": 468,
+          "m_flOutputMin": 464,
+          "m_flRadiusScale": 472,
+          "m_nFieldInput": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RenderAsModels": {
+        "fields": {
+          "m_ModelList": 528,
+          "m_bFitToModelSize": 560,
+          "m_bNonUniformScaling": 561,
+          "m_flModelScale": 556,
+          "m_nSizeCullBloat": 576,
+          "m_nXAxisScalingAttribute": 564,
+          "m_nYAxisScalingAttribute": 568,
+          "m_nZAxisScalingAttribute": 572
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderBlobs": {
+        "fields": {
+          "m_MaterialVars": 1600,
+          "m_cubeWidth": 528,
+          "m_cutoffRadius": 880,
+          "m_hMaterial": 1648,
+          "m_nIndexCountKb": 1588,
+          "m_nScaleCP": 1592,
+          "m_nVertexCountKb": 1584,
+          "m_renderRadius": 1232
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderCables": {
+        "fields": {
+          "m_LightingTransform": 5056,
+          "m_MaterialFloatVars": 5160,
+          "m_MaterialVecVars": 5208,
+          "m_bDrawCableCaps": 5024,
+          "m_flAlphaScale": 880,
+          "m_flCapOffsetAmount": 5032,
+          "m_flCapRoundness": 5028,
+          "m_flColorMapOffsetU": 3968,
+          "m_flColorMapOffsetV": 3616,
+          "m_flNormalMapOffsetU": 4672,
+          "m_flNormalMapOffsetV": 4320,
+          "m_flRadiusScale": 528,
+          "m_flTessScale": 5036,
+          "m_flTextureRepeatsCircumference": 3264,
+          "m_flTextureRepeatsPerSegment": 2912,
+          "m_hMaterial": 2896,
+          "m_nColorBlendType": 2888,
+          "m_nMaxTesselation": 5044,
+          "m_nMinTesselation": 5040,
+          "m_nRoundness": 5048,
+          "m_nTextureRepetitionMode": 2904,
+          "m_vecColorScale": 1232
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderClientPhysicsImpulse": {
+        "fields": {
+          "m_flMagnitude": 880,
+          "m_flRadius": 528,
+          "m_nSimIdFilter": 1232
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderClothForce": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderDeferredLight": {
+        "fields": {
+          "m_bUseAlphaTestWindow": 528,
+          "m_bUseTexture": 529,
+          "m_flAlphaScale": 536,
+          "m_flDistanceFalloff": 2212,
+          "m_flLightDistance": 2204,
+          "m_flRadiusScale": 532,
+          "m_flSpotFoV": 2216,
+          "m_flStartFalloff": 2208,
+          "m_hTexture": 2232,
+          "m_nAlpha2Field": 540,
+          "m_nAlphaTestPointField": 2220,
+          "m_nAlphaTestRangeField": 2224,
+          "m_nAlphaTestSharpnessField": 2228,
+          "m_nColorBlendType": 2200,
+          "m_nHSVShiftControlPoint": 2240,
+          "m_vecColorScale": 544
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderFlattenGrass": {
+        "fields": {
+          "m_flFlattenStrength": 528,
+          "m_flRadiusScale": 536,
+          "m_nStrengthFieldOverride": 532
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderGpuImplicit": {
+        "fields": {
+          "m_bUsePerParticleRadius": 528,
+          "m_fGridSize": 544,
+          "m_fIsosurfaceThreshold": 1248,
+          "m_fRadiusScale": 896,
+          "m_hMaterial": 1608,
+          "m_nIndexCountKb": 536,
+          "m_nScaleCP": 1600,
+          "m_nVertexCountKb": 532
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderLightBeam": {
+        "fields": {
+          "m_bCastShadows": 2544,
+          "m_flBrightnessLumensPerMeter": 2192,
+          "m_flRange": 2904,
+          "m_flSkirt": 2552,
+          "m_flThickness": 3256,
+          "m_nColorBlendType": 2184,
+          "m_vColorBlend": 528
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderLights": {
+        "fields": {
+          "m_bAnimateInFPS": 544,
+          "m_flAnimationRate": 536,
+          "m_flEndFadeSize": 560,
+          "m_flMaxSize": 552,
+          "m_flMinSize": 548,
+          "m_flStartFadeSize": 556,
+          "m_nAnimationType": 540
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "C_OP_RenderPoints"
+      },
+      "C_OP_RenderMaterialProxy": {
+        "fields": {
+          "m_MaterialVars": 536,
+          "m_flAlpha": 2576,
+          "m_flMaterialOverrideEnabled": 568,
+          "m_hOverrideMaterial": 560,
+          "m_nColorBlendType": 2928,
+          "m_nMaterialControlPoint": 528,
+          "m_nProxyType": 532,
+          "m_vecColorScale": 920
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderModels": {
+        "fields": {
+          "m_ActivityName": 5936,
+          "m_ClothEffectName": 6449,
+          "m_EconSlotName": 7364,
+          "m_MaterialVars": 6888,
+          "m_ModelList": 536,
+          "m_SequenceName": 6192,
+          "m_bAcceptsDecals": 7630,
+          "m_bAllowApproximateTransforms": 7633,
+          "m_bAnimated": 5560,
+          "m_bCenterOffset": 570,
+          "m_bDisableDepthPrepass": 7629,
+          "m_bDisableShadows": 7628,
+          "m_bDoNotDrawInParticlePass": 7632,
+          "m_bEnableClothSimulation": 6448,
+          "m_bForceDrawInterlevedWithSiblings": 7631,
+          "m_bForceLoopingAnimation": 5921,
+          "m_bIgnoreNormal": 568,
+          "m_bIgnoreRadius": 3888,
+          "m_bLocalScale": 5552,
+          "m_bManualAnimFrame": 5923,
+          "m_bOnlyRenderInEffecsGameOverlay": 531,
+          "m_bOnlyRenderInEffectsBloomPass": 528,
+          "m_bOnlyRenderInEffectsWaterPass": 529,
+          "m_bOrientZ": 569,
+          "m_bOriginalModel": 7620,
+          "m_bOverrideTranslucentMaterials": 6528,
+          "m_bResetAnimOnStop": 5922,
+          "m_bScaleAnimationRate": 5920,
+          "m_bSuppressTint": 7621,
+          "m_bUseMixedResolutionRendering": 530,
+          "m_flAlphaScale": 8248,
+          "m_flAnimationRate": 5568,
+          "m_flManualModelSelection": 6912,
+          "m_flRadiusScale": 7896,
+          "m_flRollScale": 8600,
+          "m_hOverrideMaterial": 6520,
+          "m_modelInput": 7264,
+          "m_nAlpha2Field": 8952,
+          "m_nAnimationField": 5928,
+          "m_nAnimationScaleField": 5924,
+          "m_nBodyGroupField": 560,
+          "m_nColorBlendType": 10616,
+          "m_nLOD": 7360,
+          "m_nManualFrameField": 5932,
+          "m_nModelScaleCP": 3892,
+          "m_nSizeCullBloat": 5556,
+          "m_nSkin": 6536,
+          "m_nSubModelField": 564,
+          "m_nSubModelFieldType": 7624,
+          "m_szRenderAttribute": 7634,
+          "m_vecColorScale": 8960,
+          "m_vecComponentScale": 3896,
+          "m_vecLocalOffset": 576,
+          "m_vecLocalRotation": 2232
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderOmni2Light": {
+        "fields": {
+          "m_bCastShadows": 2904,
+          "m_bFog": 2905,
+          "m_bSphericalCookie": 5032,
+          "m_flBrightnessCandelas": 2552,
+          "m_flBrightnessLumens": 2200,
+          "m_flFogScale": 2912,
+          "m_flInnerConeAngle": 4320,
+          "m_flLuminaireRadius": 3264,
+          "m_flOuterConeAngle": 4672,
+          "m_flRange": 3968,
+          "m_flSkirt": 3616,
+          "m_hLightCookie": 5024,
+          "m_nBrightnessUnit": 2196,
+          "m_nColorBlendType": 2192,
+          "m_nLightType": 528,
+          "m_vColorBlend": 536
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderPoints": {
+        "fields": {
+          "m_hMaterial": 528
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderPostProcessing": {
+        "fields": {
+          "m_flPostProcessStrength": 528,
+          "m_hPostTexture": 880,
+          "m_nPriority": 888
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderProjected": {
+        "fields": {
+          "m_MaterialVars": 928,
+          "m_bEnableProjectedDepthControls": 532,
+          "m_bFlipHorizontal": 531,
+          "m_bOrientToNormal": 924,
+          "m_bProjectCharacter": 528,
+          "m_bProjectWater": 530,
+          "m_bProjectWorld": 529,
+          "m_flAlphaScale": 1304,
+          "m_flAnimationTimeScale": 920,
+          "m_flMaterialSelection": 568,
+          "m_flMaxProjectionDepth": 540,
+          "m_flMinProjectionDepth": 536,
+          "m_flRadiusScale": 952,
+          "m_flRollScale": 1656,
+          "m_nAlpha2Field": 2008,
+          "m_nColorBlendType": 3672,
+          "m_vecColorScale": 2016,
+          "m_vecProjectedMaterials": 544
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderRopes": {
+        "fields": {
+          "m_bClampV": 12028,
+          "m_bClosedLoop": 12065,
+          "m_bDrawAsOpaque": 12076,
+          "m_bEnableFadingAndClamping": 10920,
+          "m_bGenerateNormals": 12077,
+          "m_bReverseOrder": 12064,
+          "m_bUseScalarForTextureCoordinate": 12053,
+          "m_flEndFadeDot": 10944,
+          "m_flEndFadeSize": 10936,
+          "m_flMaxSize": 10928,
+          "m_flMinSize": 10924,
+          "m_flRadiusTaper": 10948,
+          "m_flScalarAttributeTextureCoordScale": 12060,
+          "m_flScaleVOffsetByControlPointDistance": 12048,
+          "m_flScaleVScrollByControlPointDistance": 12044,
+          "m_flScaleVSizeByControlPointDistance": 12040,
+          "m_flStartFadeDot": 10940,
+          "m_flStartFadeSize": 10932,
+          "m_flTessScale": 10960,
+          "m_flTextureVOffset": 11672,
+          "m_flTextureVScrollRate": 11320,
+          "m_flTextureVWorldSize": 10968,
+          "m_nMaxTesselation": 10956,
+          "m_nMinTesselation": 10952,
+          "m_nOrientationType": 12068,
+          "m_nScalarFieldForTextureCoordinate": 12056,
+          "m_nScaleCP1": 12032,
+          "m_nScaleCP2": 12036,
+          "m_nTextureVParamsCP": 12024,
+          "m_nVectorFieldForOrientation": 12072
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseRendererSource2"
+      },
+      "C_OP_RenderScreenShake": {
+        "fields": {
+          "m_flAmplitudeScale": 540,
+          "m_flDurationScale": 528,
+          "m_flFrequencyScale": 536,
+          "m_flRadiusScale": 532,
+          "m_nAmplitudeField": 556,
+          "m_nDurationField": 548,
+          "m_nFilterCP": 560,
+          "m_nFrequencyField": 552,
+          "m_nRadiusField": 544
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderScreenVelocityRotate": {
+        "fields": {
+          "m_flForwardDegrees": 532,
+          "m_flRotateRateDegrees": 528
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderSimpleModelCollection": {
+        "fields": {
+          "m_bAcceptsDecals": 994,
+          "m_bCenterOffset": 528,
+          "m_bDisableMotionBlur": 993,
+          "m_bDisableShadows": 992,
+          "m_fSizeCullScale": 640,
+          "m_hModel": 536,
+          "m_modelInput": 544,
+          "m_nAngularVelocityField": 996
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderSound": {
+        "fields": {
+          "m_bSuppressStopSoundEvent": 824,
+          "m_flDurationScale": 528,
+          "m_flPitchScale": 536,
+          "m_flSndLvlScale": 532,
+          "m_flVolumeScale": 540,
+          "m_nCPReference": 564,
+          "m_nChannel": 560,
+          "m_nDurationField": 548,
+          "m_nPitchField": 552,
+          "m_nSndLvlField": 544,
+          "m_nVolumeField": 556,
+          "m_pszSoundName": 568
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderSprites": {
+        "fields": {
+          "m_OutlineColor": 13069,
+          "m_bDistanceAlpha": 13056,
+          "m_bOutline": 13068,
+          "m_bParticleShadows": 13808,
+          "m_bSoftEdges": 13057,
+          "m_bUseYawWithNormalAligned": 11280,
+          "m_flAlphaAdjustWithSizeAdjust": 11992,
+          "m_flEdgeSoftnessEnd": 13064,
+          "m_flEdgeSoftnessStart": 13060,
+          "m_flEndFadeDot": 13052,
+          "m_flEndFadeSize": 12696,
+          "m_flLightingDirectionality": 13456,
+          "m_flLightingTessellation": 13104,
+          "m_flMaxSize": 11640,
+          "m_flMinSize": 11288,
+          "m_flOutlineEnd0": 13088,
+          "m_flOutlineEnd1": 13092,
+          "m_flOutlineStart0": 13080,
+          "m_flOutlineStart1": 13084,
+          "m_flShadowDensity": 13812,
+          "m_flStartFadeDot": 13048,
+          "m_flStartFadeSize": 12344,
+          "m_nLightingMode": 13096,
+          "m_nOrientationControlPoint": 11276,
+          "m_nOrientationType": 11272,
+          "m_nOutlineAlpha": 13076,
+          "m_nSequenceOverride": 10920,
+          "m_replicationParameters": 13816
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseRendererSource2"
+      },
+      "C_OP_RenderStandardLight": {
+        "fields": {
+          "m_bCastShadows": 2552,
+          "m_bClosedLoop": 5065,
+          "m_bIgnoreDT": 5080,
+          "m_bRenderDiffuse": 4680,
+          "m_bRenderSpecular": 4681,
+          "m_bReverseOrder": 5064,
+          "m_flCapsuleLength": 5060,
+          "m_flConstrainRadiusToLengthRatio": 5084,
+          "m_flFalloffLinearity": 3624,
+          "m_flFiftyPercentFalloff": 3976,
+          "m_flFogContribution": 4704,
+          "m_flIntensity": 2200,
+          "m_flLengthFadeInTime": 5092,
+          "m_flLengthScale": 5088,
+          "m_flMaxLength": 5072,
+          "m_flMinLength": 5076,
+          "m_flPhi": 2912,
+          "m_flRadiusMultiplier": 3264,
+          "m_flTheta": 2560,
+          "m_flZeroPercentFalloff": 4328,
+          "m_lightCookie": 4688,
+          "m_nAttenuationStyle": 3616,
+          "m_nCapsuleLightBehavior": 5056,
+          "m_nColorBlendType": 2192,
+          "m_nFogLightingMode": 4700,
+          "m_nLightType": 528,
+          "m_nPrevPntSource": 5068,
+          "m_nPriority": 4696,
+          "m_vecColorScale": 536
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderStatusEffect": {
+        "fields": {
+          "m_pTextureColorWarp": 528,
+          "m_pTextureDetail2": 536,
+          "m_pTextureDiffuseWarp": 544,
+          "m_pTextureEnvMap": 576,
+          "m_pTextureFresnelColorWarp": 552,
+          "m_pTextureFresnelWarp": 560,
+          "m_pTextureSpecularWarp": 568
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderStatusEffectCitadel": {
+        "fields": {
+          "m_pTextureColorWarp": 528,
+          "m_pTextureDetail": 568,
+          "m_pTextureMetalness": 544,
+          "m_pTextureNormal": 536,
+          "m_pTextureRoughness": 552,
+          "m_pTextureSelfIllum": 560
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderText": {
+        "fields": {
+          "m_DefaultText": 536,
+          "m_OutlineColor": 528
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderTonemapController": {
+        "fields": {
+          "m_flTonemapLevel": 528,
+          "m_flTonemapWeight": 532,
+          "m_nTonemapLevelField": 536,
+          "m_nTonemapWeightField": 540
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderTrails": {
+        "fields": {
+          "m_bEnableFadingAndClamping": 11648,
+          "m_bFlipUVBasedOnPitchYaw": 16420,
+          "m_bIgnoreDT": 11672,
+          "m_flConstrainRadiusToLengthRatio": 11676,
+          "m_flEndFadeDot": 11656,
+          "m_flForwardShift": 16416,
+          "m_flHeadAlphaScale": 13696,
+          "m_flLengthFadeInTime": 11684,
+          "m_flLengthScale": 11680,
+          "m_flMaxLength": 11664,
+          "m_flMinLength": 11668,
+          "m_flRadiusHeadTaper": 11688,
+          "m_flRadiusTaper": 14048,
+          "m_flStartFadeDot": 11652,
+          "m_flTailAlphaScale": 16056,
+          "m_nHorizCropField": 16408,
+          "m_nPrevPntSource": 11660,
+          "m_nVertCropField": 16412,
+          "m_vecHeadColorScale": 12040,
+          "m_vecTailColorScale": 14400
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseTrailRenderer"
+      },
+      "C_OP_RenderTreeShake": {
+        "fields": {
+          "m_flControlPointOrientationAmount": 560,
+          "m_flPeakStrength": 528,
+          "m_flRadialAmount": 556,
+          "m_flRadius": 536,
+          "m_flShakeDuration": 544,
+          "m_flTransitionTime": 548,
+          "m_flTwistAmount": 552,
+          "m_nControlPointForLinearDirection": 564,
+          "m_nPeakStrengthFieldOverride": 532,
+          "m_nRadiusFieldOverride": 540
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RenderVRHapticEvent": {
+        "fields": {
+          "m_flAmplitude": 544,
+          "m_nHand": 528,
+          "m_nOutputField": 536,
+          "m_nOutputHandCP": 532
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionRenderer"
+      },
+      "C_OP_RepeatedTriggerChildGroup": {
+        "fields": {
+          "m_bLimitChildCount": 1520,
+          "m_flClusterCooldown": 1168,
+          "m_flClusterRefireTime": 464,
+          "m_flClusterSize": 816,
+          "m_nChildGroupID": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_RestartAfterDuration": {
+        "fields": {
+          "m_bOnlyChildren": 468,
+          "m_flDurationMax": 452,
+          "m_flDurationMin": 448,
+          "m_nCP": 456,
+          "m_nCPField": 460,
+          "m_nChildGroupID": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RopeSpringConstraint": {
+        "fields": {
+          "m_flAdjustmentScale": 1504,
+          "m_flInitialRestingLength": 1512,
+          "m_flMaxDistance": 1152,
+          "m_flMinDistance": 800,
+          "m_flRestLength": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_RotateVector": {
+        "fields": {
+          "m_bNormalize": 484,
+          "m_flRotRateMax": 480,
+          "m_flRotRateMin": 476,
+          "m_flScale": 488,
+          "m_nFieldOutput": 448,
+          "m_vecRotAxisMax": 464,
+          "m_vecRotAxisMin": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_RtEnvCull": {
+        "fields": {
+          "m_RtEnvName": 474,
+          "m_bCullOnMiss": 472,
+          "m_bStickInsteadOfCull": 473,
+          "m_nComponent": 608,
+          "m_nRTEnvCP": 604,
+          "m_vecTestDir": 448,
+          "m_vecTestNormal": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SDFConstraint": {
+        "fields": {
+          "m_flMaxDist": 800,
+          "m_flMinDist": 448,
+          "m_nMaxIterations": 1152
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_SDFForce": {
+        "fields": {
+          "m_flForceScale": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_SDFLighting": {
+        "fields": {
+          "m_vLightingDir": 448,
+          "m_vTint_0": 460,
+          "m_vTint_1": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SelectivelyEnableChildren": {
+        "fields": {
+          "m_bDestroyImmediately": 1513,
+          "m_bPlayEndcapOnStop": 1512,
+          "m_nChildGroupID": 456,
+          "m_nFirstChild": 808,
+          "m_nNumChildrenToEnable": 1160
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SequenceFromModel": {
+        "fields": {
+          "m_flInputMax": 464,
+          "m_flInputMin": 460,
+          "m_flOutputMax": 472,
+          "m_flOutputMin": 468,
+          "m_nControlPointNumber": 448,
+          "m_nFieldOutput": 452,
+          "m_nFieldOutputAnim": 456,
+          "m_nSetMethod": 476
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetAttributeToScalarExpression": {
+        "fields": {
+          "m_flInput1": 456,
+          "m_flInput2": 808,
+          "m_flOutputRemap": 1160,
+          "m_nExpression": 448,
+          "m_nOutputField": 1512,
+          "m_nSetMethod": 1516
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetCPOrientationToDirection": {
+        "fields": {
+          "m_nInputControlPoint": 448,
+          "m_nOutputControlPoint": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetCPOrientationToGroundNormal": {
+        "fields": {
+          "m_CollisionGroupName": 464,
+          "m_bIncludeWater": 616,
+          "m_flInterpRate": 448,
+          "m_flMaxTraceLength": 452,
+          "m_flTolerance": 456,
+          "m_flTraceOffset": 460,
+          "m_nInputCP": 596,
+          "m_nOutputCP": 600,
+          "m_nTraceSet": 592
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetCPOrientationToPointAtCP": {
+        "fields": {
+          "m_b2DOrientation": 816,
+          "m_bAvoidSingularity": 817,
+          "m_bPointAway": 818,
+          "m_flInterpolation": 464,
+          "m_nInputCP": 456,
+          "m_nOutputCP": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetCPtoVector": {
+        "fields": {
+          "m_nCPInput": 448,
+          "m_nFieldOutput": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetChildControlPoints": {
+        "fields": {
+          "m_bReverse": 816,
+          "m_bSetOrientation": 817,
+          "m_nChildGroupID": 448,
+          "m_nFirstControlPoint": 452,
+          "m_nFirstSourcePoint": 464,
+          "m_nNumControlPoints": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetControlPointFieldFromVectorExpression": {
+        "fields": {
+          "m_flOutputRemap": 3776,
+          "m_nExpression": 456,
+          "m_nOutVectorField": 4132,
+          "m_nOutputCP": 4128,
+          "m_vecInput1": 464,
+          "m_vecInput2": 2120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointFieldToScalarExpression": {
+        "fields": {
+          "m_flInput1": 464,
+          "m_flInput2": 816,
+          "m_flOutputRemap": 1168,
+          "m_nExpression": 456,
+          "m_nOutVectorField": 1524,
+          "m_nOutputCP": 1520
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointFieldToWater": {
+        "fields": {
+          "m_nCPField": 464,
+          "m_nDestCP": 460,
+          "m_nSourceCP": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointFromObjectScale": {
+        "fields": {
+          "m_nCPInput": 456,
+          "m_nCPOutput": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointOrientation": {
+        "fields": {
+          "m_bRandomize": 458,
+          "m_bSetOnce": 459,
+          "m_bUseWorldLocation": 456,
+          "m_flInterpolation": 496,
+          "m_nCP": 460,
+          "m_nHeadLocation": 464,
+          "m_vecRotation": 468,
+          "m_vecRotationB": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointOrientationToCPVelocity": {
+        "fields": {
+          "m_nCPInput": 456,
+          "m_nCPOutput": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointPositionToRandomActiveCP": {
+        "fields": {
+          "m_flResetRate": 472,
+          "m_nCP1": 456,
+          "m_nHeadLocationMax": 464,
+          "m_nHeadLocationMin": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointPositionToTimeOfDayValue": {
+        "fields": {
+          "m_nControlPointNumber": 456,
+          "m_pszTimeOfDayParameter": 460,
+          "m_vecDefaultValue": 588
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointPositions": {
+        "fields": {
+          "m_bOrient": 457,
+          "m_bSetOnce": 458,
+          "m_bUseWorldLocation": 456,
+          "m_nCP1": 460,
+          "m_nCP2": 464,
+          "m_nCP3": 468,
+          "m_nCP4": 472,
+          "m_nHeadLocation": 524,
+          "m_vecCP1Pos": 476,
+          "m_vecCP2Pos": 488,
+          "m_vecCP3Pos": 500,
+          "m_vecCP4Pos": 512
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointRotation": {
+        "fields": {
+          "m_flRotRate": 2112,
+          "m_nCP": 2464,
+          "m_nLocalCP": 2468,
+          "m_vecRotAxis": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToCPVelocity": {
+        "fields": {
+          "m_bNormalize": 464,
+          "m_nCPField": 472,
+          "m_nCPInput": 456,
+          "m_nCPOutputMag": 468,
+          "m_nCPOutputVel": 460,
+          "m_vecComparisonVelocity": 480
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToCenter": {
+        "fields": {
+          "m_bUseAvgParticlePos": 472,
+          "m_nCP1": 456,
+          "m_nSetParent": 476,
+          "m_vecCP1Pos": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToHMD": {
+        "fields": {
+          "m_bOrientToHMD": 472,
+          "m_nCP1": 456,
+          "m_vecCP1Pos": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToHand": {
+        "fields": {
+          "m_bOrientToHand": 476,
+          "m_nCP1": 456,
+          "m_nHand": 460,
+          "m_vecCP1Pos": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToImpactPoint": {
+        "fields": {
+          "m_CollisionGroupName": 844,
+          "m_bIncludeWater": 978,
+          "m_bSetToEndpoint": 976,
+          "m_bTraceToClosestSurface": 977,
+          "m_flOffset": 828,
+          "m_flStartOffset": 824,
+          "m_flTraceLength": 472,
+          "m_flUpdateRate": 464,
+          "m_nCPIn": 460,
+          "m_nCPOut": 456,
+          "m_nTraceSet": 972,
+          "m_vecTraceDir": 832
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToPlayer": {
+        "fields": {
+          "m_bOrientToEyes": 472,
+          "m_nCP1": 456,
+          "m_vecCP1Pos": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToVectorExpression": {
+        "fields": {
+          "m_bNormalizedOutput": 3776,
+          "m_nExpression": 456,
+          "m_nOutputCP": 460,
+          "m_vInput1": 464,
+          "m_vInput2": 2120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointToWaterSurface": {
+        "fields": {
+          "m_bAdaptiveThreshold": 832,
+          "m_flRetestRate": 480,
+          "m_nActiveCP": 468,
+          "m_nActiveCPField": 472,
+          "m_nDestCP": 460,
+          "m_nFlowCP": 464,
+          "m_nSourceCP": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetControlPointsToModelParticles": {
+        "fields": {
+          "m_AttachmentName": 576,
+          "m_HitboxSetName": 448,
+          "m_bAttachment": 717,
+          "m_bSkin": 716,
+          "m_nFirstControlPoint": 704,
+          "m_nFirstSourcePoint": 712,
+          "m_nNumControlPoints": 708
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetControlPointsToParticle": {
+        "fields": {
+          "m_bSetOrientation": 464,
+          "m_nChildGroupID": 448,
+          "m_nFirstControlPoint": 452,
+          "m_nFirstSourcePoint": 460,
+          "m_nNumControlPoints": 456,
+          "m_nOrientationMode": 468,
+          "m_nSetParent": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetFloat": {
+        "fields": {
+          "m_InputValue": 448,
+          "m_Lerp": 808,
+          "m_nOutputField": 800,
+          "m_nSetMethod": 804
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetFloatAttributeToVectorExpression": {
+        "fields": {
+          "m_flOutputRemap": 3768,
+          "m_nExpression": 448,
+          "m_nOutputField": 4120,
+          "m_nSetMethod": 4124,
+          "m_vInput1": 456,
+          "m_vInput2": 2112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetFloatCollection": {
+        "fields": {
+          "m_InputValue": 448,
+          "m_Lerp": 808,
+          "m_nOutputField": 800,
+          "m_nSetMethod": 804
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetFromCPSnapshot": {
+        "fields": {
+          "m_bPrev": 1529,
+          "m_bRandom": 464,
+          "m_bReverse": 465,
+          "m_bSubSample": 1528,
+          "m_flInterpolation": 1176,
+          "m_nAttributeToRead": 452,
+          "m_nAttributeToWrite": 456,
+          "m_nControlPointNumber": 448,
+          "m_nLocalSpaceCP": 460,
+          "m_nRandomSeed": 468,
+          "m_nSnapShotIncrement": 824,
+          "m_nSnapShotStartPoint": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetGravityToCP": {
+        "fields": {
+          "m_bSetOrientation": 816,
+          "m_bSetZDown": 817,
+          "m_flScale": 464,
+          "m_nCPInput": 456,
+          "m_nCPOutput": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetParentControlPointsToChildCP": {
+        "fields": {
+          "m_bSetOrientation": 472,
+          "m_nChildControlPoint": 460,
+          "m_nChildGroupID": 456,
+          "m_nFirstSourcePoint": 468,
+          "m_nNumControlPoints": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetPerChildControlPoint": {
+        "fields": {
+          "m_bNumBasedOnParticleCount": 1176,
+          "m_bSetOrientation": 1168,
+          "m_nChildGroupID": 448,
+          "m_nFirstControlPoint": 452,
+          "m_nFirstSourcePoint": 816,
+          "m_nNumControlPoints": 456,
+          "m_nOrientationField": 1172,
+          "m_nParticleIncrement": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetPerChildControlPointFromAttribute": {
+        "fields": {
+          "m_bNumBasedOnParticleCount": 468,
+          "m_nAttributeToRead": 472,
+          "m_nCPField": 476,
+          "m_nChildGroupID": 448,
+          "m_nFirstControlPoint": 452,
+          "m_nFirstSourcePoint": 464,
+          "m_nNumControlPoints": 456,
+          "m_nParticleIncrement": 460
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetRandomControlPointPosition": {
+        "fields": {
+          "m_bOrient": 457,
+          "m_bUseWorldLocation": 456,
+          "m_flInterpolation": 848,
+          "m_flReRandomRate": 472,
+          "m_nCP1": 460,
+          "m_nHeadLocation": 464,
+          "m_vecCPMaxPos": 836,
+          "m_vecCPMinPos": 824
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetSimulationRate": {
+        "fields": {
+          "m_flSimulationScale": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetSingleControlPointPosition": {
+        "fields": {
+          "m_bSetOnce": 456,
+          "m_nCP1": 460,
+          "m_transformInput": 2120,
+          "m_vecCP1Pos": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetToCP": {
+        "fields": {
+          "m_bOffsetLocal": 464,
+          "m_nControlPointNumber": 448,
+          "m_vecOffset": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetUserEvent": {
+        "fields": {
+          "m_flFallingEdge": 1160,
+          "m_flInput": 448,
+          "m_flRisingEdge": 800,
+          "m_nFallingEventType": 1512,
+          "m_nRisingEventType": 1152
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetVariable": {
+        "fields": {
+          "m_floatInput": 2304,
+          "m_positionOffset": 624,
+          "m_rotationOffset": 636,
+          "m_transformInput": 520,
+          "m_variableReference": 456,
+          "m_vecInput": 648
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_SetVec": {
+        "fields": {
+          "m_InputValue": 448,
+          "m_Lerp": 2112,
+          "m_bNormalizedOutput": 2464,
+          "m_nOutputField": 2104,
+          "m_nSetMethod": 2108
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SetVectorAttributeToVectorExpression": {
+        "fields": {
+          "m_bNormalizedOutput": 3776,
+          "m_nExpression": 448,
+          "m_nOutputField": 3768,
+          "m_nSetMethod": 3772,
+          "m_vInput1": 456,
+          "m_vInput2": 2112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_ShapeMatchingConstraint": {
+        "fields": {
+          "m_flShapeRestorationTime": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_SnapshotRigidSkinToBones": {
+        "fields": {
+          "m_bTransformNormals": 448,
+          "m_bTransformRadii": 449,
+          "m_nControlPointNumber": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_SnapshotSkinToBones": {
+        "fields": {
+          "m_bTransformNormals": 448,
+          "m_bTransformRadii": 449,
+          "m_flJumpThreshold": 464,
+          "m_flLifeTimeFadeEnd": 460,
+          "m_flLifeTimeFadeStart": 456,
+          "m_flPrevPosScale": 468,
+          "m_nControlPointNumber": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_Spin": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CGeneralSpin"
+      },
+      "C_OP_SpinUpdate": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSpinUpdateBase"
+      },
+      "C_OP_SpinYaw": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CGeneralSpin"
+      },
+      "C_OP_SpringToVectorConstraint": {
+        "fields": {
+          "m_flMaxDistance": 1152,
+          "m_flMinDistance": 800,
+          "m_flRestLength": 448,
+          "m_flRestingLength": 1504,
+          "m_vecAnchorVector": 1856
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_StopAfterCPDuration": {
+        "fields": {
+          "m_bDestroyImmediately": 808,
+          "m_bPlayEndCap": 809,
+          "m_flDuration": 456
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionPreEmission"
+      },
+      "C_OP_TeleportBeam": {
+        "fields": {
+          "m_flAlpha": 496,
+          "m_flArcMaxDuration": 484,
+          "m_flArcSpeed": 492,
+          "m_flSegmentBreak": 488,
+          "m_nCPColor": 460,
+          "m_nCPExtraArcData": 468,
+          "m_nCPInvalidColor": 464,
+          "m_nCPMisc": 456,
+          "m_nCPPosition": 448,
+          "m_nCPVelocity": 452,
+          "m_vGravity": 472
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_TimeVaryingForce": {
+        "fields": {
+          "m_EndingForce": 484,
+          "m_StartingForce": 468,
+          "m_flEndLerpTime": 480,
+          "m_flStartLerpTime": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_TurbulenceForce": {
+        "fields": {
+          "m_flNoiseCoordScale0": 464,
+          "m_flNoiseCoordScale1": 468,
+          "m_flNoiseCoordScale2": 472,
+          "m_flNoiseCoordScale3": 476,
+          "m_vecNoiseAmount0": 480,
+          "m_vecNoiseAmount1": 492,
+          "m_vecNoiseAmount2": 504,
+          "m_vecNoiseAmount3": 516
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_TwistAroundAxis": {
+        "fields": {
+          "m_TwistAxis": 468,
+          "m_bLocalSpace": 480,
+          "m_fForceAmount": 464,
+          "m_nControlPointNumber": 484
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_UpdateLightSource": {
+        "fields": {
+          "m_flBrightnessScale": 452,
+          "m_flMaximumLightingRadius": 464,
+          "m_flMinimumLightingRadius": 460,
+          "m_flPositionDampingConstant": 468,
+          "m_flRadiusScale": 456,
+          "m_vColorTint": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_VectorFieldSnapshot": {
+        "fields": {
+          "m_bLockToSurface": 2477,
+          "m_bSetVelocity": 2476,
+          "m_flBoundaryDampening": 2472,
+          "m_flGridSpacing": 2480,
+          "m_flInterpolation": 464,
+          "m_nAttributeToWrite": 452,
+          "m_nControlPointNumber": 448,
+          "m_nLocalSpaceCP": 456,
+          "m_vecScale": 816
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_VectorNoise": {
+        "fields": {
+          "m_bAdditive": 480,
+          "m_bOffset": 481,
+          "m_fl4NoiseScale": 476,
+          "m_flNoiseAnimationTimeScale": 484,
+          "m_nFieldOutput": 448,
+          "m_vecOutputMax": 464,
+          "m_vecOutputMin": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_VelocityDecay": {
+        "fields": {
+          "m_flMinVelocity": 448
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_VelocityMatchingForce": {
+        "fields": {
+          "m_bUseAABB": 464,
+          "m_flDirScale": 448,
+          "m_flFacingStrength": 460,
+          "m_flNeighborDistance": 456,
+          "m_flSpdScale": 452,
+          "m_nCPBroadcast": 468
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionOperator"
+      },
+      "C_OP_WindForce": {
+        "fields": {
+          "m_vForce": 464
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionForce"
+      },
+      "C_OP_WorldCollideConstraint": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "C_OP_WorldTraceConstraint": {
+        "fields": {
+          "m_CollisionGroupName": 476,
+          "m_bBrushOnly": 605,
+          "m_bDecayBounce": 2040,
+          "m_bIncludeWater": 606,
+          "m_bKillonContact": 2041,
+          "m_bSetNormal": 2048,
+          "m_bWorldOnly": 604,
+          "m_flBounceAmount": 984,
+          "m_flCollisionConfirmationSpeed": 624,
+          "m_flCpMovementTolerance": 612,
+          "m_flMinSpeed": 2044,
+          "m_flRadiusScale": 632,
+          "m_flRandomDirScale": 1688,
+          "m_flRetestRate": 616,
+          "m_flSlideAmount": 1336,
+          "m_flStopSpeed": 2056,
+          "m_flTraceTolerance": 620,
+          "m_nCP": 448,
+          "m_nCollisionMode": 464,
+          "m_nCollisionModeMin": 468,
+          "m_nEntityStickDataField": 2408,
+          "m_nEntityStickNormalField": 2412,
+          "m_nIgnoreCP": 608,
+          "m_nMaxTracesPerFrame": 628,
+          "m_nStickOnCollisionField": 2052,
+          "m_nTraceSet": 472,
+          "m_vecCpOffset": 452
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CParticleFunctionConstraint"
+      },
+      "CollisionGroupContext_t": {
+        "fields": {
+          "m_nCollisionGroupNumber": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ControlPointReference_t": {
+        "fields": {
+          "m_bOffsetInLocalSpace": 16,
+          "m_controlPointNameString": 0,
+          "m_vOffsetFromControlPoint": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FloatInputMaterialVariable_t": {
+        "fields": {
+          "m_flInput": 8,
+          "m_strVariable": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "IParticleCollection": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "IParticleEffect": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "IParticleSystemDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MaterialVariable_t": {
+        "fields": {
+          "m_flScale": 12,
+          "m_nVariableField": 8,
+          "m_strVariable": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ModelReference_t": {
+        "fields": {
+          "m_flRelativeProbabilityOfSpawn": 8,
+          "m_model": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PARTICLE_EHANDLE__": {
+        "fields": {
+          "unused": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PARTICLE_WORLD_HANDLE__": {
+        "fields": {
+          "unused": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "ParticleAttributeIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "ParticleChildrenInfo_t": {
+        "fields": {
+          "m_ChildRef": 0,
+          "m_bDisableChild": 13,
+          "m_bEndCap": 12,
+          "m_flDelay": 8,
+          "m_nDetailLevel": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParticleControlPointConfiguration_t": {
+        "fields": {
+          "m_drivers": 8,
+          "m_name": 0,
+          "m_previewState": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParticleControlPointDriver_t": {
+        "fields": {
+          "m_angOffset": 28,
+          "m_attachmentName": 8,
+          "m_entityName": 40,
+          "m_iAttachType": 4,
+          "m_iControlPoint": 0,
+          "m_vecOffset": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParticleNamedValueConfiguration_t": {
+        "fields": {
+          "m_BoundEntityPath": 32,
+          "m_ConfigName": 0,
+          "m_ConfigValue": 8,
+          "m_iAttachType": 24,
+          "m_strAttachmentName": 48,
+          "m_strEntityScope": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParticleNamedValueSource_t": {
+        "fields": {
+          "m_DefaultConfig": 16,
+          "m_IsPublic": 8,
+          "m_Name": 0,
+          "m_NamedConfigs": 72,
+          "m_ValueType": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParticlePreviewBodyGroup_t": {
+        "fields": {
+          "m_bodyGroupName": 0,
+          "m_nValue": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ParticlePreviewState_t": {
+        "fields": {
+          "m_bAnimationNonLooping": 84,
+          "m_bShouldDrawAttachmentNames": 82,
+          "m_bShouldDrawAttachments": 81,
+          "m_bShouldDrawControlPointAxes": 83,
+          "m_bShouldDrawHitboxes": 80,
+          "m_flParticleSimulationRate": 76,
+          "m_flPlaybackSpeed": 72,
+          "m_groundType": 12,
+          "m_hitboxSetName": 32,
+          "m_materialGroupName": 40,
+          "m_nFireParticleOnSequenceFrame": 24,
+          "m_nModSpecificData": 8,
+          "m_previewModel": 0,
+          "m_sequenceName": 16,
+          "m_vecBodyGroups": 48,
+          "m_vecPreviewGravity": 88
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PointDefinitionWithTimeValues_t": {
+        "fields": {
+          "m_flTimeDuration": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "PointDefinition_t"
+      },
+      "PointDefinition_t": {
+        "fields": {
+          "m_bLocalCoords": 4,
+          "m_nControlPoint": 0,
+          "m_vOffset": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RenderProjectedMaterial_t": {
+        "fields": {
+          "m_hMaterial": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SequenceWeightedList_t": {
+        "fields": {
+          "m_flRelativeWeight": 4,
+          "m_nSequence": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "TextureControls_t": {
+        "fields": {
+          "m_bClampUVs": 2465,
+          "m_bRandomizeOffsets": 2464,
+          "m_flDistortion": 2112,
+          "m_flFinalTextureOffsetU": 704,
+          "m_flFinalTextureOffsetV": 1056,
+          "m_flFinalTextureScaleU": 0,
+          "m_flFinalTextureScaleV": 352,
+          "m_flFinalTextureUVRotation": 1408,
+          "m_flZoomScale": 1760,
+          "m_nPerParticleBlend": 2468,
+          "m_nPerParticleDistortion": 2492,
+          "m_nPerParticleOffsetU": 2476,
+          "m_nPerParticleOffsetV": 2480,
+          "m_nPerParticleRotation": 2484,
+          "m_nPerParticleScale": 2472,
+          "m_nPerParticleZoom": 2488
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "TextureGroup_t": {
+        "fields": {
+          "m_Gradient": 16,
+          "m_TextureControls": 408,
+          "m_bEnabled": 0,
+          "m_bReplaceTextureWithGradient": 1,
+          "m_flTextureBlend": 56,
+          "m_hTexture": 8,
+          "m_nTextureBlendMode": 48,
+          "m_nTextureChannels": 44,
+          "m_nTextureType": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VecInputMaterialVariable_t": {
+        "fields": {
+          "m_strVariable": 0,
+          "m_vecInput": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "AnimationType_t": {
+        "alignment": 4,
+        "members": {
+          "ANIMATION_TYPE_FIT_LIFETIME": 1,
+          "ANIMATION_TYPE_FIXED_RATE": 0,
+          "ANIMATION_TYPE_MANUAL_FRAMES": 2
+        },
+        "type": "uint32"
+      },
+      "BBoxVolumeType_t": {
+        "alignment": 4,
+        "members": {
+          "BBOX_DIMENSIONS": 1,
+          "BBOX_MINS_MAXS": 2,
+          "BBOX_VOLUME": 0
+        },
+        "type": "uint32"
+      },
+      "BlurFilterType_t": {
+        "alignment": 4,
+        "members": {
+          "BLURFILTER_BOX": 1,
+          "BLURFILTER_GAUSSIAN": 0
+        },
+        "type": "uint32"
+      },
+      "ClosestPointTestType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_CLOSEST_TYPE_BOX": 0,
+          "PARTICLE_CLOSEST_TYPE_CAPSULE": 1,
+          "PARTICLE_CLOSEST_TYPE_HYBRID": 2
+        },
+        "type": "uint32"
+      },
+      "Detail2Combo_t": {
+        "alignment": 4,
+        "members": {
+          "DETAIL_2_COMBO_ADD": 1,
+          "DETAIL_2_COMBO_ADD_SELF_ILLUM": 2,
+          "DETAIL_2_COMBO_CROSSFADE": 5,
+          "DETAIL_2_COMBO_MOD2X": 3,
+          "DETAIL_2_COMBO_MUL": 4,
+          "DETAIL_2_COMBO_OFF": 0,
+          "DETAIL_2_COMBO_UNINITIALIZED": -1
+        },
+        "type": "uint32"
+      },
+      "DetailCombo_t": {
+        "alignment": 4,
+        "members": {
+          "DETAIL_COMBO_ADD": 1,
+          "DETAIL_COMBO_ADD_SELF_ILLUM": 2,
+          "DETAIL_COMBO_MOD2X": 3,
+          "DETAIL_COMBO_OFF": 0
+        },
+        "type": "uint32"
+      },
+      "EventTypeSelection_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_EVENT_TYPE_MASK_COLLISION": 4,
+          "PARTICLE_EVENT_TYPE_MASK_COLLISION_STOPPED": 16,
+          "PARTICLE_EVENT_TYPE_MASK_FIRST_COLLISION": 8,
+          "PARTICLE_EVENT_TYPE_MASK_KILLED": 2,
+          "PARTICLE_EVENT_TYPE_MASK_KILLED_ON_COLLISION": 32,
+          "PARTICLE_EVENT_TYPE_MASK_NONE": 0,
+          "PARTICLE_EVENT_TYPE_MASK_SPAWNED": 1,
+          "PARTICLE_EVENT_TYPE_MASK_USER_1": 64,
+          "PARTICLE_EVENT_TYPE_MASK_USER_2": 128,
+          "PARTICLE_EVENT_TYPE_MASK_USER_3": 256,
+          "PARTICLE_EVENT_TYPE_MASK_USER_4": 512
+        },
+        "type": "uint32"
+      },
+      "HitboxLerpType_t": {
+        "alignment": 4,
+        "members": {
+          "HITBOX_LERP_CONSTANT": 1,
+          "HITBOX_LERP_LIFETIME": 0
+        },
+        "type": "uint32"
+      },
+      "InheritableBoolType_t": {
+        "alignment": 4,
+        "members": {
+          "INHERITABLE_BOOL_FALSE": 1,
+          "INHERITABLE_BOOL_INHERIT": 0,
+          "INHERITABLE_BOOL_TRUE": 2
+        },
+        "type": "uint32"
+      },
+      "MaterialProxyType_t": {
+        "alignment": 4,
+        "members": {
+          "MATERIAL_PROXY_STATUS_EFFECT": 0,
+          "MATERIAL_PROXY_TINT": 1
+        },
+        "type": "uint32"
+      },
+      "MissingParentInheritBehavior_t": {
+        "alignment": 4,
+        "members": {
+          "MISSING_PARENT_DO_NOTHING": -1,
+          "MISSING_PARENT_FIND_NEW": 1,
+          "MISSING_PARENT_KILL": 0,
+          "MISSING_PARENT_SAME_INDEX": 2
+        },
+        "type": "uint32"
+      },
+      "ModelHitboxType_t": {
+        "alignment": 4,
+        "members": {
+          "MODEL_HITBOX_TYPE_RAW_BONES": 1,
+          "MODEL_HITBOX_TYPE_RENDERBOUNDS": 2,
+          "MODEL_HITBOX_TYPE_SNAPSHOT": 3,
+          "MODEL_HITBOX_TYPE_STANDARD": 0
+        },
+        "type": "uint32"
+      },
+      "PFNoiseModifier_t": {
+        "alignment": 4,
+        "members": {
+          "PF_NOISE_MODIFIER_CLUMPS": 2,
+          "PF_NOISE_MODIFIER_LINES": 1,
+          "PF_NOISE_MODIFIER_NONE": 0,
+          "PF_NOISE_MODIFIER_RINGS": 3
+        },
+        "type": "uint32"
+      },
+      "PFNoiseTurbulence_t": {
+        "alignment": 4,
+        "members": {
+          "PF_NOISE_TURB_ALTERNATE": 5,
+          "PF_NOISE_TURB_CONTRAST": 4,
+          "PF_NOISE_TURB_FEEDBACK": 2,
+          "PF_NOISE_TURB_HIGHLIGHT": 1,
+          "PF_NOISE_TURB_LOOPY": 3,
+          "PF_NOISE_TURB_NONE": 0
+        },
+        "type": "uint32"
+      },
+      "PFNoiseType_t": {
+        "alignment": 4,
+        "members": {
+          "PF_NOISE_TYPE_CURL": 3,
+          "PF_NOISE_TYPE_PERLIN": 0,
+          "PF_NOISE_TYPE_SIMPLEX": 1,
+          "PF_NOISE_TYPE_WORLEY": 2
+        },
+        "type": "uint32"
+      },
+      "PFuncVisualizationType_t": {
+        "alignment": 4,
+        "members": {
+          "PFUNC_VISUALIZATION_BOX": 2,
+          "PFUNC_VISUALIZATION_CYLINDER": 6,
+          "PFUNC_VISUALIZATION_LINE": 5,
+          "PFUNC_VISUALIZATION_PLANE": 4,
+          "PFUNC_VISUALIZATION_RING": 3,
+          "PFUNC_VISUALIZATION_SPHERE_SOLID": 1,
+          "PFUNC_VISUALIZATION_SPHERE_WIREFRAME": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleAlphaReferenceType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA": 0,
+          "PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE": 2,
+          "PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA": 1,
+          "PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE": 3
+        },
+        "type": "uint32"
+      },
+      "ParticleAttrBoxFlags_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_ATTR_BOX_FLAGS_NONE": 0,
+          "PARTICLE_ATTR_BOX_FLAGS_WATER": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleCollisionMode_t": {
+        "alignment": 4,
+        "members": {
+          "COLLISION_MODE_DISABLED": -1,
+          "COLLISION_MODE_INITIAL_TRACE_DOWN": 0,
+          "COLLISION_MODE_PER_FRAME_PLANESET": 1,
+          "COLLISION_MODE_PER_PARTICLE_TRACE": 3,
+          "COLLISION_MODE_USE_NEAREST_TRACE": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleColorBlendMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLEBLEND_DARKEN": 2,
+          "PARTICLEBLEND_DEFAULT": 0,
+          "PARTICLEBLEND_LIGHTEN": 3,
+          "PARTICLEBLEND_MULTIPLY": 4,
+          "PARTICLEBLEND_OVERLAY": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleColorBlendType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_COLOR_BLEND_ADD": 3,
+          "PARTICLE_COLOR_BLEND_AVERAGE": 10,
+          "PARTICLE_COLOR_BLEND_DIVIDE": 2,
+          "PARTICLE_COLOR_BLEND_LUMINANCE": 12,
+          "PARTICLE_COLOR_BLEND_MAX": 7,
+          "PARTICLE_COLOR_BLEND_MIN": 8,
+          "PARTICLE_COLOR_BLEND_MOD2X": 5,
+          "PARTICLE_COLOR_BLEND_MULTIPLY": 0,
+          "PARTICLE_COLOR_BLEND_MULTIPLY2X": 1,
+          "PARTICLE_COLOR_BLEND_NEGATE": 11,
+          "PARTICLE_COLOR_BLEND_REPLACE": 9,
+          "PARTICLE_COLOR_BLEND_SCREEN": 6,
+          "PARTICLE_COLOR_BLEND_SUBTRACT": 4
+        },
+        "type": "uint32"
+      },
+      "ParticleControlPointAxis_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_CP_AXIS_NEGATIVE_X": 3,
+          "PARTICLE_CP_AXIS_NEGATIVE_Y": 4,
+          "PARTICLE_CP_AXIS_NEGATIVE_Z": 5,
+          "PARTICLE_CP_AXIS_X": 0,
+          "PARTICLE_CP_AXIS_Y": 1,
+          "PARTICLE_CP_AXIS_Z": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleDepthFeatheringMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_DEPTH_FEATHERING_OFF": 0,
+          "PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL": 1,
+          "PARTICLE_DEPTH_FEATHERING_ON_REQUIRED": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleDetailLevel_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLEDETAIL_HIGH": 2,
+          "PARTICLEDETAIL_LOW": 0,
+          "PARTICLEDETAIL_MEDIUM": 1,
+          "PARTICLEDETAIL_ULTRA": 3
+        },
+        "type": "uint32"
+      },
+      "ParticleDirectionNoiseType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_DIR_NOISE_CURL": 1,
+          "PARTICLE_DIR_NOISE_PERLIN": 0,
+          "PARTICLE_DIR_NOISE_WORLEY_BASIC": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleEndcapMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_ENDCAP_ALWAYS_ON": -1,
+          "PARTICLE_ENDCAP_ENDCAP_OFF": 0,
+          "PARTICLE_ENDCAP_ENDCAP_ON": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleFalloffFunction_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_FALLOFF_CONSTANT": 0,
+          "PARTICLE_FALLOFF_EXPONENTIAL": 2,
+          "PARTICLE_FALLOFF_LINEAR": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleFloatBiasType_t": {
+        "alignment": 4,
+        "members": {
+          "PF_BIAS_TYPE_COUNT": 3,
+          "PF_BIAS_TYPE_EXPONENTIAL": 2,
+          "PF_BIAS_TYPE_GAIN": 1,
+          "PF_BIAS_TYPE_INVALID": -1,
+          "PF_BIAS_TYPE_STANDARD": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleFloatInputMode_t": {
+        "alignment": 4,
+        "members": {
+          "PF_INPUT_MODE_CLAMPED": 0,
+          "PF_INPUT_MODE_COUNT": 2,
+          "PF_INPUT_MODE_INVALID": -1,
+          "PF_INPUT_MODE_LOOPED": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleFloatMapType_t": {
+        "alignment": 4,
+        "members": {
+          "PF_MAP_TYPE_COUNT": 7,
+          "PF_MAP_TYPE_CURVE": 4,
+          "PF_MAP_TYPE_DIRECT": 0,
+          "PF_MAP_TYPE_INVALID": -1,
+          "PF_MAP_TYPE_MULT": 1,
+          "PF_MAP_TYPE_NOTCHED": 5,
+          "PF_MAP_TYPE_REMAP": 2,
+          "PF_MAP_TYPE_REMAP_BIASED": 3,
+          "PF_MAP_TYPE_ROUND": 6
+        },
+        "type": "uint32"
+      },
+      "ParticleFloatRandomMode_t": {
+        "alignment": 4,
+        "members": {
+          "PF_RANDOM_MODE_CONSTANT": 0,
+          "PF_RANDOM_MODE_COUNT": 2,
+          "PF_RANDOM_MODE_INVALID": -1,
+          "PF_RANDOM_MODE_VARYING": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleFloatRoundType_t": {
+        "alignment": 4,
+        "members": {
+          "PF_ROUND_TYPE_CEIL": 2,
+          "PF_ROUND_TYPE_COUNT": 3,
+          "PF_ROUND_TYPE_FLOOR": 1,
+          "PF_ROUND_TYPE_INVALID": -1,
+          "PF_ROUND_TYPE_NEAREST": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleFloatType_t": {
+        "alignment": 4,
+        "members": {
+          "PF_TYPE_CLOSEST_CAMERA_DISTANCE": 11,
+          "PF_TYPE_COLLECTION_AGE": 4,
+          "PF_TYPE_CONCURRENT_DEF_COUNT": 10,
+          "PF_TYPE_CONTROL_POINT_CHANGE_AGE": 7,
+          "PF_TYPE_CONTROL_POINT_COMPONENT": 6,
+          "PF_TYPE_CONTROL_POINT_SPEED": 8,
+          "PF_TYPE_COUNT": 22,
+          "PF_TYPE_ENDCAP_AGE": 5,
+          "PF_TYPE_INVALID": -1,
+          "PF_TYPE_LITERAL": 0,
+          "PF_TYPE_NAMED_VALUE": 1,
+          "PF_TYPE_PARTICLE_AGE": 15,
+          "PF_TYPE_PARTICLE_AGE_NORMALIZED": 16,
+          "PF_TYPE_PARTICLE_DETAIL_LEVEL": 9,
+          "PF_TYPE_PARTICLE_FLOAT": 17,
+          "PF_TYPE_PARTICLE_NOISE": 14,
+          "PF_TYPE_PARTICLE_NUMBER": 20,
+          "PF_TYPE_PARTICLE_NUMBER_NORMALIZED": 21,
+          "PF_TYPE_PARTICLE_SPEED": 19,
+          "PF_TYPE_PARTICLE_VECTOR_COMPONENT": 18,
+          "PF_TYPE_RANDOM_BIASED": 3,
+          "PF_TYPE_RANDOM_UNIFORM": 2,
+          "PF_TYPE_RENDERER_CAMERA_DISTANCE": 12,
+          "PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT": 13
+        },
+        "type": "uint32"
+      },
+      "ParticleFogType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_FOG_DISABLED": 2,
+          "PARTICLE_FOG_ENABLED": 1,
+          "PARTICLE_FOG_GAME_DEFAULT": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleHitboxBiasType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_HITBOX_BIAS_ENTITY": 0,
+          "PARTICLE_HITBOX_BIAS_HITBOX": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleHitboxDataSelection_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_HITBOX_AVERAGE_SPEED": 0,
+          "PARTICLE_HITBOX_COUNT": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleImpulseType_t": {
+        "alignment": 4,
+        "members": {
+          "IMPULSE_TYPE_EXPLOSION": 4,
+          "IMPULSE_TYPE_EXPLOSION_UNDERWATER": 8,
+          "IMPULSE_TYPE_GENERIC": 1,
+          "IMPULSE_TYPE_NONE": 0,
+          "IMPULSE_TYPE_PARTICLE_SYSTEM": 16,
+          "IMPULSE_TYPE_ROPE": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleLightBehaviorChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION": 0,
+          "PARTICLE_LIGHT_BEHAVIOR_ROPE": 1,
+          "PARTICLE_LIGHT_BEHAVIOR_TRAILS": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleLightFogLightingMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC": 2,
+          "PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS": 4,
+          "PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleLightTypeChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_LIGHT_TYPE_CAPSULE": 3,
+          "PARTICLE_LIGHT_TYPE_FX": 2,
+          "PARTICLE_LIGHT_TYPE_POINT": 0,
+          "PARTICLE_LIGHT_TYPE_SPOT": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleLightUnitChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_LIGHT_UNIT_CANDELAS": 0,
+          "PARTICLE_LIGHT_UNIT_LUMENS": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleLightingQuality_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_LIGHTING_PER_PARTICLE": 0,
+          "PARTICLE_LIGHTING_PER_PIXEL": -1,
+          "PARTICLE_LIGHTING_PER_VERTEX": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleLightnintBranchBehavior_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR": 0,
+          "PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleMassMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_MASSMODE_RADIUS_CUBED": 0,
+          "PARTICLE_MASSMODE_RADIUS_SQUARED": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleModelType_t": {
+        "alignment": 4,
+        "members": {
+          "PM_TYPE_CONTROL_POINT": 3,
+          "PM_TYPE_COUNT": 4,
+          "PM_TYPE_INVALID": 0,
+          "PM_TYPE_NAMED_VALUE_EHANDLE": 2,
+          "PM_TYPE_NAMED_VALUE_MODEL": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleOmni2LightTypeChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_OMNI2_LIGHT_TYPE_POINT": 0,
+          "PARTICLE_OMNI2_LIGHT_TYPE_SPHERE": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleOrientationChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL": 3,
+          "PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION": 5,
+          "PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL": 4,
+          "PARTICLE_ORIENTATION_SCREEN_ALIGNED": 0,
+          "PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED": 1,
+          "PARTICLE_ORIENTATION_WORLD_Z_ALIGNED": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleOrientationSetMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_ORIENTATION_SET_FROM_ROTATIONS": 1,
+          "PARTICLE_ORIENTATION_SET_FROM_VELOCITY": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleOutputBlendMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_OUTPUT_BLEND_MODE_ADD": 1,
+          "PARTICLE_OUTPUT_BLEND_MODE_ALPHA": 0,
+          "PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD": 2,
+          "PARTICLE_OUTPUT_BLEND_MODE_HALF_BLEND_ADD": 3,
+          "PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN": 6,
+          "PARTICLE_OUTPUT_BLEND_MODE_MOD2X": 5,
+          "PARTICLE_OUTPUT_BLEND_MODE_NEG_HALF_BLEND_ADD": 4
+        },
+        "type": "uint32"
+      },
+      "ParticleParentSetMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_SET_PARENT_IMMEDIATE": 1,
+          "PARTICLE_SET_PARENT_NO": 0,
+          "PARTICLE_SET_PARENT_ROOT": 1
+        },
+        "type": "uint32"
+      },
+      "ParticlePinDistance_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_PIN_COLLECTION_AGE": 10,
+          "PARTICLE_PIN_DISTANCE_CENTER": 5,
+          "PARTICLE_PIN_DISTANCE_CP": 6,
+          "PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH": 8,
+          "PARTICLE_PIN_DISTANCE_CP_PAIR_EITHER": 7,
+          "PARTICLE_PIN_DISTANCE_FARTHEST": 1,
+          "PARTICLE_PIN_DISTANCE_FIRST": 2,
+          "PARTICLE_PIN_DISTANCE_LAST": 3,
+          "PARTICLE_PIN_DISTANCE_NEIGHBOR": 0,
+          "PARTICLE_PIN_DISTANCE_NONE": -1,
+          "PARTICLE_PIN_FLOAT_VALUE": 11,
+          "PARTICLE_PIN_SPEED": 9
+        },
+        "type": "uint32"
+      },
+      "ParticlePostProcessPriorityGroup_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT": 2,
+          "PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_HIGH": 4,
+          "PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_LOW": 3,
+          "PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI": 5,
+          "PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE": 1,
+          "PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleReplicationMode_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_REPLICATIONMODE_NONE": 0,
+          "PARTICLE_REPLICATIONMODE_REPLICATE_FOR_EACH_PARENT_PARTICLE": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleRotationLockType_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_ROTATION_LOCK_NONE": 0,
+          "PARTICLE_ROTATION_LOCK_NORMAL": 2,
+          "PARTICLE_ROTATION_LOCK_ROTATIONS": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleSelection_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_SELECTION_FIRST": 0,
+          "PARTICLE_SELECTION_LAST": 1,
+          "PARTICLE_SELECTION_NUMBER": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleSequenceCropOverride_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT": -1,
+          "PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF": 0,
+          "PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleSetMethod_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_SET_ADD_TO_CURRENT_VALUE": 5,
+          "PARTICLE_SET_ADD_TO_INITIAL_VALUE": 2,
+          "PARTICLE_SET_RAMP_CURRENT_VALUE": 3,
+          "PARTICLE_SET_REPLACE_VALUE": 0,
+          "PARTICLE_SET_SCALE_CURRENT_VALUE": 4,
+          "PARTICLE_SET_SCALE_INITIAL_VALUE": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleSortingChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_SORTING_CREATION_TIME": 1,
+          "PARTICLE_SORTING_NEAREST": 0
+        },
+        "type": "uint32"
+      },
+      "ParticleTextureLayerBlendType_t": {
+        "alignment": 4,
+        "members": {
+          "SPRITECARD_TEXTURE_BLEND_ADD": 3,
+          "SPRITECARD_TEXTURE_BLEND_AVERAGE": 5,
+          "SPRITECARD_TEXTURE_BLEND_LUMINANCE": 6,
+          "SPRITECARD_TEXTURE_BLEND_MOD2X": 1,
+          "SPRITECARD_TEXTURE_BLEND_MULTIPLY": 0,
+          "SPRITECARD_TEXTURE_BLEND_REPLACE": 2,
+          "SPRITECARD_TEXTURE_BLEND_SUBTRACT": 4
+        },
+        "type": "uint32"
+      },
+      "ParticleTopology_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_TOPOLOGY_CUBES": 4,
+          "PARTICLE_TOPOLOGY_LINES": 1,
+          "PARTICLE_TOPOLOGY_POINTS": 0,
+          "PARTICLE_TOPOLOGY_QUADS": 3,
+          "PARTICLE_TOPOLOGY_TRIS": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleTraceMissBehavior_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_TRACE_MISS_BEHAVIOR_KILL": 1,
+          "PARTICLE_TRACE_MISS_BEHAVIOR_NONE": 0,
+          "PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleTraceSet_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_TRACE_SET_ALL": 0,
+          "PARTICLE_TRACE_SET_DYNAMIC": 3,
+          "PARTICLE_TRACE_SET_STATIC": 1,
+          "PARTICLE_TRACE_SET_STATIC_AND_KEYFRAMED": 2
+        },
+        "type": "uint32"
+      },
+      "ParticleTransformType_t": {
+        "alignment": 4,
+        "members": {
+          "PT_TYPE_CONTROL_POINT": 2,
+          "PT_TYPE_CONTROL_POINT_RANGE": 3,
+          "PT_TYPE_COUNT": 4,
+          "PT_TYPE_INVALID": 0,
+          "PT_TYPE_NAMED_VALUE": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleVRHandChoiceList_t": {
+        "alignment": 4,
+        "members": {
+          "PARTICLE_VRHAND_CP": 2,
+          "PARTICLE_VRHAND_CP_OBJECT": 3,
+          "PARTICLE_VRHAND_LEFT": 0,
+          "PARTICLE_VRHAND_RIGHT": 1
+        },
+        "type": "uint32"
+      },
+      "ParticleVecType_t": {
+        "alignment": 4,
+        "members": {
+          "PVEC_TYPE_CLOSEST_CAMERA_POSITION": 16,
+          "PVEC_TYPE_COUNT": 17,
+          "PVEC_TYPE_CP_DELTA": 15,
+          "PVEC_TYPE_CP_RELATIVE_DIR": 7,
+          "PVEC_TYPE_CP_RELATIVE_POSITION": 6,
+          "PVEC_TYPE_CP_RELATIVE_RANDOM_DIR": 8,
+          "PVEC_TYPE_CP_VALUE": 5,
+          "PVEC_TYPE_FLOAT_COMPONENTS": 9,
+          "PVEC_TYPE_FLOAT_INTERP_CLAMPED": 10,
+          "PVEC_TYPE_FLOAT_INTERP_GRADIENT": 12,
+          "PVEC_TYPE_FLOAT_INTERP_OPEN": 11,
+          "PVEC_TYPE_INVALID": -1,
+          "PVEC_TYPE_LITERAL": 0,
+          "PVEC_TYPE_LITERAL_COLOR": 1,
+          "PVEC_TYPE_NAMED_VALUE": 2,
+          "PVEC_TYPE_PARTICLE_VECTOR": 3,
+          "PVEC_TYPE_PARTICLE_VELOCITY": 4,
+          "PVEC_TYPE_RANDOM_UNIFORM": 13,
+          "PVEC_TYPE_RANDOM_UNIFORM_OFFSET": 14
+        },
+        "type": "uint32"
+      },
+      "PetGroundType_t": {
+        "alignment": 4,
+        "members": {
+          "PET_GROUND_GRID": 1,
+          "PET_GROUND_NONE": 0,
+          "PET_GROUND_PLANE": 2
+        },
+        "type": "uint32"
+      },
+      "RenderModelSubModelFieldType_t": {
+        "alignment": 4,
+        "members": {
+          "SUBMODEL_AS_BODYGROUP_SUBMODEL": 0,
+          "SUBMODEL_AS_MESHGROUP_INDEX": 1,
+          "SUBMODEL_AS_MESHGROUP_MASK": 2,
+          "SUBMODEL_IGNORED_USE_MODEL_DEFAULT_MESHGROUP_MASK": 3
+        },
+        "type": "uint32"
+      },
+      "ScalarExpressionType_t": {
+        "alignment": 4,
+        "members": {
+          "SCALAR_EXPRESSION_ADD": 0,
+          "SCALAR_EXPRESSION_DIVIDE": 3,
+          "SCALAR_EXPRESSION_INPUT_1": 4,
+          "SCALAR_EXPRESSION_MAX": 6,
+          "SCALAR_EXPRESSION_MIN": 5,
+          "SCALAR_EXPRESSION_MOD": 7,
+          "SCALAR_EXPRESSION_MUL": 2,
+          "SCALAR_EXPRESSION_SUBTRACT": 1,
+          "SCALAR_EXPRESSION_UNINITIALIZED": -1
+        },
+        "type": "uint32"
+      },
+      "SnapshotIndexType_t": {
+        "alignment": 4,
+        "members": {
+          "SNAPSHOT_INDEX_DIRECT": 1,
+          "SNAPSHOT_INDEX_INCREMENT": 0
+        },
+        "type": "uint32"
+      },
+      "SpriteCardPerParticleScale_t": {
+        "alignment": 4,
+        "members": {
+          "SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME": 2,
+          "SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM": 11,
+          "SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME": 13,
+          "SPRITECARD_TEXTURE_PP_SCALE_NONE": 0,
+          "SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE": 1,
+          "SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_ALPHA": 5,
+          "SPRITECARD_TEXTURE_PP_SCALE_PITCH": 9,
+          "SPRITECARD_TEXTURE_PP_SCALE_RANDOM": 10,
+          "SPRITECARD_TEXTURE_PP_SCALE_RANDOM_TIME": 12,
+          "SPRITECARD_TEXTURE_PP_SCALE_ROLL": 7,
+          "SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA1": 3,
+          "SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA2": 4,
+          "SPRITECARD_TEXTURE_PP_SCALE_SHADER_RADIUS": 6,
+          "SPRITECARD_TEXTURE_PP_SCALE_YAW": 8
+        },
+        "type": "uint32"
+      },
+      "SpriteCardShaderType_t": {
+        "alignment": 4,
+        "members": {
+          "SPRITECARD_SHADER_BASE": 0,
+          "SPRITECARD_SHADER_CUSTOM": 1
+        },
+        "type": "uint32"
+      },
+      "SpriteCardTextureChannel_t": {
+        "alignment": 4,
+        "members": {
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_A": 2,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_A_RGBALPHA": 7,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_B": 11,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA": 14,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_G": 10,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_GALPHA": 13,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_R": 9,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RALPHA": 12,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGB": 0,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA": 1,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA_RGBALPHA": 6,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A": 3,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_ALPHAMASK": 4,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A_RGBALPHA": 8,
+          "SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_RGBMASK": 5
+        },
+        "type": "uint32"
+      },
+      "SpriteCardTextureType_t": {
+        "alignment": 4,
+        "members": {
+          "SPRITECARD_TEXTURE_1D_COLOR_LOOKUP": 2,
+          "SPRITECARD_TEXTURE_ANIMMOTIONVEC": 6,
+          "SPRITECARD_TEXTURE_DIFFUSE": 0,
+          "SPRITECARD_TEXTURE_NORMALMAP": 5,
+          "SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_A": 7,
+          "SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_B": 8,
+          "SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C": 9,
+          "SPRITECARD_TEXTURE_UVDISTORTION": 3,
+          "SPRITECARD_TEXTURE_UVDISTORTION_ZOOM": 4,
+          "SPRITECARD_TEXTURE_ZOOM": 1
+        },
+        "type": "uint32"
+      },
+      "StandardLightingAttenuationStyle_t": {
+        "alignment": 4,
+        "members": {
+          "LIGHT_STYLE_NEW": 1,
+          "LIGHT_STYLE_OLD": 0
+        },
+        "type": "uint32"
+      },
+      "TextureRepetitionMode_t": {
+        "alignment": 4,
+        "members": {
+          "TEXTURE_REPETITION_PARTICLE": 0,
+          "TEXTURE_REPETITION_PATH": 1
+        },
+        "type": "uint32"
+      },
+      "VectorExpressionType_t": {
+        "alignment": 4,
+        "members": {
+          "VECTOR_EXPRESSION_ADD": 0,
+          "VECTOR_EXPRESSION_CROSSPRODUCT": 7,
+          "VECTOR_EXPRESSION_DIVIDE": 3,
+          "VECTOR_EXPRESSION_INPUT_1": 4,
+          "VECTOR_EXPRESSION_MAX": 6,
+          "VECTOR_EXPRESSION_MIN": 5,
+          "VECTOR_EXPRESSION_MUL": 2,
+          "VECTOR_EXPRESSION_SUBTRACT": 1,
+          "VECTOR_EXPRESSION_UNINITIALIZED": -1
+        },
+        "type": "uint32"
+      },
+      "VectorFloatExpressionType_t": {
+        "alignment": 4,
+        "members": {
+          "VECTOR_FLOAT_EXPRESSION_DISTANCE": 1,
+          "VECTOR_FLOAT_EXPRESSION_DISTANCESQR": 2,
+          "VECTOR_FLOAT_EXPRESSION_DOTPRODUCT": 0,
+          "VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTH": 3,
+          "VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTHSQR": 4,
+          "VECTOR_FLOAT_EXPRESSION_INPUT1_NOISE": 5,
+          "VECTOR_FLOAT_EXPRESSION_UNINITIALIZED": -1
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/particles_dll.rs b/output/particles_dll.rs
new file mode 100644
index 0000000..f5760e0
--- /dev/null
+++ b/output/particles_dll.rs
@@ -0,0 +1,6731 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: particles.dll
+        // Class count: 446
+        // Enum count: 77
+        pub mod particles_dll {
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ParticleSetMethod_t {
+                PARTICLE_SET_REPLACE_VALUE = 0x0,
+                PARTICLE_SET_SCALE_INITIAL_VALUE = 0x1,
+                PARTICLE_SET_ADD_TO_INITIAL_VALUE = 0x2,
+                PARTICLE_SET_RAMP_CURRENT_VALUE = 0x3,
+                PARTICLE_SET_SCALE_CURRENT_VALUE = 0x4,
+                PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum Detail2Combo_t {
+                DETAIL_2_COMBO_UNINITIALIZED = u32::MAX,
+                DETAIL_2_COMBO_OFF = 0x0,
+                DETAIL_2_COMBO_ADD = 0x1,
+                DETAIL_2_COMBO_ADD_SELF_ILLUM = 0x2,
+                DETAIL_2_COMBO_MOD2X = 0x3,
+                DETAIL_2_COMBO_MUL = 0x4,
+                DETAIL_2_COMBO_CROSSFADE = 0x5
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum MissingParentInheritBehavior_t {
+                MISSING_PARENT_DO_NOTHING = u32::MAX,
+                MISSING_PARENT_KILL = 0x0,
+                MISSING_PARENT_FIND_NEW = 0x1,
+                MISSING_PARENT_SAME_INDEX = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleFloatBiasType_t {
+                PF_BIAS_TYPE_INVALID = u32::MAX,
+                PF_BIAS_TYPE_STANDARD = 0x0,
+                PF_BIAS_TYPE_GAIN = 0x1,
+                PF_BIAS_TYPE_EXPONENTIAL = 0x2,
+                PF_BIAS_TYPE_COUNT = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleTraceMissBehavior_t {
+                PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0,
+                PARTICLE_TRACE_MISS_BEHAVIOR_KILL = 0x1,
+                PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum PFuncVisualizationType_t {
+                PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0,
+                PFUNC_VISUALIZATION_SPHERE_SOLID = 0x1,
+                PFUNC_VISUALIZATION_BOX = 0x2,
+                PFUNC_VISUALIZATION_RING = 0x3,
+                PFUNC_VISUALIZATION_PLANE = 0x4,
+                PFUNC_VISUALIZATION_LINE = 0x5,
+                PFUNC_VISUALIZATION_CYLINDER = 0x6
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleVRHandChoiceList_t {
+                PARTICLE_VRHAND_LEFT = 0x0,
+                PARTICLE_VRHAND_RIGHT = 0x1,
+                PARTICLE_VRHAND_CP = 0x2,
+                PARTICLE_VRHAND_CP_OBJECT = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleReplicationMode_t {
+                PARTICLE_REPLICATIONMODE_NONE = 0x0,
+                PARTICLE_REPLICATIONMODE_REPLICATE_FOR_EACH_PARENT_PARTICLE = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum PetGroundType_t {
+                PET_GROUND_NONE = 0x0,
+                PET_GROUND_GRID = 0x1,
+                PET_GROUND_PLANE = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum InheritableBoolType_t {
+                INHERITABLE_BOOL_INHERIT = 0x0,
+                INHERITABLE_BOOL_FALSE = 0x1,
+                INHERITABLE_BOOL_TRUE = 0x2
+            }
+            // Alignment: 4
+            // Member count: 24
+            #[repr(u32)]
+            pub enum ParticleFloatType_t {
+                PF_TYPE_INVALID = u32::MAX,
+                PF_TYPE_LITERAL = 0x0,
+                PF_TYPE_NAMED_VALUE = 0x1,
+                PF_TYPE_RANDOM_UNIFORM = 0x2,
+                PF_TYPE_RANDOM_BIASED = 0x3,
+                PF_TYPE_COLLECTION_AGE = 0x4,
+                PF_TYPE_ENDCAP_AGE = 0x5,
+                PF_TYPE_CONTROL_POINT_COMPONENT = 0x6,
+                PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7,
+                PF_TYPE_CONTROL_POINT_SPEED = 0x8,
+                PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9,
+                PF_TYPE_CONCURRENT_DEF_COUNT = 0xA,
+                PF_TYPE_CLOSEST_CAMERA_DISTANCE = 0xB,
+                PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xC,
+                PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xD,
+                PF_TYPE_PARTICLE_NOISE = 0xE,
+                PF_TYPE_PARTICLE_AGE = 0xF,
+                PF_TYPE_PARTICLE_AGE_NORMALIZED = 0x10,
+                PF_TYPE_PARTICLE_FLOAT = 0x11,
+                PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x12,
+                PF_TYPE_PARTICLE_SPEED = 0x13,
+                PF_TYPE_PARTICLE_NUMBER = 0x14,
+                PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x15,
+                PF_TYPE_COUNT = 0x16
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ParticlePostProcessPriorityGroup_t {
+                PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0,
+                PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE = 0x1,
+                PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT = 0x2,
+                PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_LOW = 0x3,
+                PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_HIGH = 0x4,
+                PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI = 0x5
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum PFNoiseTurbulence_t {
+                PF_NOISE_TURB_NONE = 0x0,
+                PF_NOISE_TURB_HIGHLIGHT = 0x1,
+                PF_NOISE_TURB_FEEDBACK = 0x2,
+                PF_NOISE_TURB_LOOPY = 0x3,
+                PF_NOISE_TURB_CONTRAST = 0x4,
+                PF_NOISE_TURB_ALTERNATE = 0x5
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleColorBlendMode_t {
+                PARTICLEBLEND_DEFAULT = 0x0,
+                PARTICLEBLEND_OVERLAY = 0x1,
+                PARTICLEBLEND_DARKEN = 0x2,
+                PARTICLEBLEND_LIGHTEN = 0x3,
+                PARTICLEBLEND_MULTIPLY = 0x4
+            }
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum ParticleColorBlendType_t {
+                PARTICLE_COLOR_BLEND_MULTIPLY = 0x0,
+                PARTICLE_COLOR_BLEND_MULTIPLY2X = 0x1,
+                PARTICLE_COLOR_BLEND_DIVIDE = 0x2,
+                PARTICLE_COLOR_BLEND_ADD = 0x3,
+                PARTICLE_COLOR_BLEND_SUBTRACT = 0x4,
+                PARTICLE_COLOR_BLEND_MOD2X = 0x5,
+                PARTICLE_COLOR_BLEND_SCREEN = 0x6,
+                PARTICLE_COLOR_BLEND_MAX = 0x7,
+                PARTICLE_COLOR_BLEND_MIN = 0x8,
+                PARTICLE_COLOR_BLEND_REPLACE = 0x9,
+                PARTICLE_COLOR_BLEND_AVERAGE = 0xA,
+                PARTICLE_COLOR_BLEND_NEGATE = 0xB,
+                PARTICLE_COLOR_BLEND_LUMINANCE = 0xC
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum DetailCombo_t {
+                DETAIL_COMBO_OFF = 0x0,
+                DETAIL_COMBO_ADD = 0x1,
+                DETAIL_COMBO_ADD_SELF_ILLUM = 0x2,
+                DETAIL_COMBO_MOD2X = 0x3
+            }
+            // Alignment: 4
+            // Member count: 9
+            #[repr(u32)]
+            pub enum ScalarExpressionType_t {
+                SCALAR_EXPRESSION_UNINITIALIZED = u32::MAX,
+                SCALAR_EXPRESSION_ADD = 0x0,
+                SCALAR_EXPRESSION_SUBTRACT = 0x1,
+                SCALAR_EXPRESSION_MUL = 0x2,
+                SCALAR_EXPRESSION_DIVIDE = 0x3,
+                SCALAR_EXPRESSION_INPUT_1 = 0x4,
+                SCALAR_EXPRESSION_MIN = 0x5,
+                SCALAR_EXPRESSION_MAX = 0x6,
+                SCALAR_EXPRESSION_MOD = 0x7
+            }
+            // Alignment: 4
+            // Member count: 14
+            #[repr(u32)]
+            pub enum SpriteCardPerParticleScale_t {
+                SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0,
+                SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE = 0x1,
+                SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME = 0x2,
+                SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA1 = 0x3,
+                SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA2 = 0x4,
+                SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_ALPHA = 0x5,
+                SPRITECARD_TEXTURE_PP_SCALE_SHADER_RADIUS = 0x6,
+                SPRITECARD_TEXTURE_PP_SCALE_ROLL = 0x7,
+                SPRITECARD_TEXTURE_PP_SCALE_YAW = 0x8,
+                SPRITECARD_TEXTURE_PP_SCALE_PITCH = 0x9,
+                SPRITECARD_TEXTURE_PP_SCALE_RANDOM = 0xA,
+                SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM = 0xB,
+                SPRITECARD_TEXTURE_PP_SCALE_RANDOM_TIME = 0xC,
+                SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME = 0xD
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum BlurFilterType_t {
+                BLURFILTER_GAUSSIAN = 0x0,
+                BLURFILTER_BOX = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum StandardLightingAttenuationStyle_t {
+                LIGHT_STYLE_OLD = 0x0,
+                LIGHT_STYLE_NEW = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleParentSetMode_t {
+                PARTICLE_SET_PARENT_NO = 0x0,
+                PARTICLE_SET_PARENT_IMMEDIATE = 0x1
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleModelType_t {
+                PM_TYPE_INVALID = 0x0,
+                PM_TYPE_NAMED_VALUE_MODEL = 0x1,
+                PM_TYPE_NAMED_VALUE_EHANDLE = 0x2,
+                PM_TYPE_CONTROL_POINT = 0x3,
+                PM_TYPE_COUNT = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleLightingQuality_t {
+                PARTICLE_LIGHTING_PER_PARTICLE = 0x0,
+                PARTICLE_LIGHTING_PER_VERTEX = 0x1,
+                PARTICLE_LIGHTING_PER_PIXEL = u32::MAX
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleFloatRoundType_t {
+                PF_ROUND_TYPE_INVALID = u32::MAX,
+                PF_ROUND_TYPE_NEAREST = 0x0,
+                PF_ROUND_TYPE_FLOOR = 0x1,
+                PF_ROUND_TYPE_CEIL = 0x2,
+                PF_ROUND_TYPE_COUNT = 0x3
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PFNoiseType_t {
+                PF_NOISE_TYPE_PERLIN = 0x0,
+                PF_NOISE_TYPE_SIMPLEX = 0x1,
+                PF_NOISE_TYPE_WORLEY = 0x2,
+                PF_NOISE_TYPE_CURL = 0x3
+            }
+            // Alignment: 4
+            // Member count: 11
+            #[repr(u32)]
+            pub enum EventTypeSelection_t {
+                PARTICLE_EVENT_TYPE_MASK_NONE = 0x0,
+                PARTICLE_EVENT_TYPE_MASK_SPAWNED = 0x1,
+                PARTICLE_EVENT_TYPE_MASK_KILLED = 0x2,
+                PARTICLE_EVENT_TYPE_MASK_COLLISION = 0x4,
+                PARTICLE_EVENT_TYPE_MASK_FIRST_COLLISION = 0x8,
+                PARTICLE_EVENT_TYPE_MASK_COLLISION_STOPPED = 0x10,
+                PARTICLE_EVENT_TYPE_MASK_KILLED_ON_COLLISION = 0x20,
+                PARTICLE_EVENT_TYPE_MASK_USER_1 = 0x40,
+                PARTICLE_EVENT_TYPE_MASK_USER_2 = 0x80,
+                PARTICLE_EVENT_TYPE_MASK_USER_3 = 0x100,
+                PARTICLE_EVENT_TYPE_MASK_USER_4 = 0x200
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleMassMode_t {
+                PARTICLE_MASSMODE_RADIUS_CUBED = 0x0,
+                PARTICLE_MASSMODE_RADIUS_SQUARED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleDirectionNoiseType_t {
+                PARTICLE_DIR_NOISE_PERLIN = 0x0,
+                PARTICLE_DIR_NOISE_CURL = 0x1,
+                PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleHitboxBiasType_t {
+                PARTICLE_HITBOX_BIAS_ENTITY = 0x0,
+                PARTICLE_HITBOX_BIAS_HITBOX = 0x1
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ParticleControlPointAxis_t {
+                PARTICLE_CP_AXIS_X = 0x0,
+                PARTICLE_CP_AXIS_Y = 0x1,
+                PARTICLE_CP_AXIS_Z = 0x2,
+                PARTICLE_CP_AXIS_NEGATIVE_X = 0x3,
+                PARTICLE_CP_AXIS_NEGATIVE_Y = 0x4,
+                PARTICLE_CP_AXIS_NEGATIVE_Z = 0x5
+            }
+            // Alignment: 4
+            // Member count: 12
+            #[repr(u32)]
+            pub enum ParticlePinDistance_t {
+                PARTICLE_PIN_DISTANCE_NONE = u32::MAX,
+                PARTICLE_PIN_DISTANCE_NEIGHBOR = 0x0,
+                PARTICLE_PIN_DISTANCE_FARTHEST = 0x1,
+                PARTICLE_PIN_DISTANCE_FIRST = 0x2,
+                PARTICLE_PIN_DISTANCE_LAST = 0x3,
+                PARTICLE_PIN_DISTANCE_CENTER = 0x5,
+                PARTICLE_PIN_DISTANCE_CP = 0x6,
+                PARTICLE_PIN_DISTANCE_CP_PAIR_EITHER = 0x7,
+                PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH = 0x8,
+                PARTICLE_PIN_SPEED = 0x9,
+                PARTICLE_PIN_COLLECTION_AGE = 0xA,
+                PARTICLE_PIN_FLOAT_VALUE = 0xB
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum VectorFloatExpressionType_t {
+                VECTOR_FLOAT_EXPRESSION_UNINITIALIZED = u32::MAX,
+                VECTOR_FLOAT_EXPRESSION_DOTPRODUCT = 0x0,
+                VECTOR_FLOAT_EXPRESSION_DISTANCE = 0x1,
+                VECTOR_FLOAT_EXPRESSION_DISTANCESQR = 0x2,
+                VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTH = 0x3,
+                VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTHSQR = 0x4,
+                VECTOR_FLOAT_EXPRESSION_INPUT1_NOISE = 0x5
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleFogType_t {
+                PARTICLE_FOG_GAME_DEFAULT = 0x0,
+                PARTICLE_FOG_ENABLED = 0x1,
+                PARTICLE_FOG_DISABLED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 9
+            #[repr(u32)]
+            pub enum VectorExpressionType_t {
+                VECTOR_EXPRESSION_UNINITIALIZED = u32::MAX,
+                VECTOR_EXPRESSION_ADD = 0x0,
+                VECTOR_EXPRESSION_SUBTRACT = 0x1,
+                VECTOR_EXPRESSION_MUL = 0x2,
+                VECTOR_EXPRESSION_DIVIDE = 0x3,
+                VECTOR_EXPRESSION_INPUT_1 = 0x4,
+                VECTOR_EXPRESSION_MIN = 0x5,
+                VECTOR_EXPRESSION_MAX = 0x6,
+                VECTOR_EXPRESSION_CROSSPRODUCT = 0x7
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleRotationLockType_t {
+                PARTICLE_ROTATION_LOCK_NONE = 0x0,
+                PARTICLE_ROTATION_LOCK_ROTATIONS = 0x1,
+                PARTICLE_ROTATION_LOCK_NORMAL = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum HitboxLerpType_t {
+                HITBOX_LERP_LIFETIME = 0x0,
+                HITBOX_LERP_CONSTANT = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum AnimationType_t {
+                ANIMATION_TYPE_FIXED_RATE = 0x0,
+                ANIMATION_TYPE_FIT_LIFETIME = 0x1,
+                ANIMATION_TYPE_MANUAL_FRAMES = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleAttrBoxFlags_t {
+                PARTICLE_ATTR_BOX_FLAGS_NONE = 0x0,
+                PARTICLE_ATTR_BOX_FLAGS_WATER = 0x1
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleTopology_t {
+                PARTICLE_TOPOLOGY_POINTS = 0x0,
+                PARTICLE_TOPOLOGY_LINES = 0x1,
+                PARTICLE_TOPOLOGY_TRIS = 0x2,
+                PARTICLE_TOPOLOGY_QUADS = 0x3,
+                PARTICLE_TOPOLOGY_CUBES = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleLightBehaviorChoiceList_t {
+                PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0,
+                PARTICLE_LIGHT_BEHAVIOR_ROPE = 0x1,
+                PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ModelHitboxType_t {
+                MODEL_HITBOX_TYPE_STANDARD = 0x0,
+                MODEL_HITBOX_TYPE_RAW_BONES = 0x1,
+                MODEL_HITBOX_TYPE_RENDERBOUNDS = 0x2,
+                MODEL_HITBOX_TYPE_SNAPSHOT = 0x3
+            }
+            // Alignment: 4
+            // Member count: 9
+            #[repr(u32)]
+            pub enum ParticleFloatMapType_t {
+                PF_MAP_TYPE_INVALID = u32::MAX,
+                PF_MAP_TYPE_DIRECT = 0x0,
+                PF_MAP_TYPE_MULT = 0x1,
+                PF_MAP_TYPE_REMAP = 0x2,
+                PF_MAP_TYPE_REMAP_BIASED = 0x3,
+                PF_MAP_TYPE_CURVE = 0x4,
+                PF_MAP_TYPE_NOTCHED = 0x5,
+                PF_MAP_TYPE_ROUND = 0x6,
+                PF_MAP_TYPE_COUNT = 0x7
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleTraceSet_t {
+                PARTICLE_TRACE_SET_ALL = 0x0,
+                PARTICLE_TRACE_SET_STATIC = 0x1,
+                PARTICLE_TRACE_SET_STATIC_AND_KEYFRAMED = 0x2,
+                PARTICLE_TRACE_SET_DYNAMIC = 0x3
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum ParticleTextureLayerBlendType_t {
+                SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0,
+                SPRITECARD_TEXTURE_BLEND_MOD2X = 0x1,
+                SPRITECARD_TEXTURE_BLEND_REPLACE = 0x2,
+                SPRITECARD_TEXTURE_BLEND_ADD = 0x3,
+                SPRITECARD_TEXTURE_BLEND_SUBTRACT = 0x4,
+                SPRITECARD_TEXTURE_BLEND_AVERAGE = 0x5,
+                SPRITECARD_TEXTURE_BLEND_LUMINANCE = 0x6
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleSelection_t {
+                PARTICLE_SELECTION_FIRST = 0x0,
+                PARTICLE_SELECTION_LAST = 0x1,
+                PARTICLE_SELECTION_NUMBER = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleFloatInputMode_t {
+                PF_INPUT_MODE_INVALID = u32::MAX,
+                PF_INPUT_MODE_CLAMPED = 0x0,
+                PF_INPUT_MODE_LOOPED = 0x1,
+                PF_INPUT_MODE_COUNT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum SnapshotIndexType_t {
+                SNAPSHOT_INDEX_INCREMENT = 0x0,
+                SNAPSHOT_INDEX_DIRECT = 0x1
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum ParticleOutputBlendMode_t {
+                PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0,
+                PARTICLE_OUTPUT_BLEND_MODE_ADD = 0x1,
+                PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD = 0x2,
+                PARTICLE_OUTPUT_BLEND_MODE_HALF_BLEND_ADD = 0x3,
+                PARTICLE_OUTPUT_BLEND_MODE_NEG_HALF_BLEND_ADD = 0x4,
+                PARTICLE_OUTPUT_BLEND_MODE_MOD2X = 0x5,
+                PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN = 0x6
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleLightnintBranchBehavior_t {
+                PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0,
+                PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum MaterialProxyType_t {
+                MATERIAL_PROXY_STATUS_EFFECT = 0x0,
+                MATERIAL_PROXY_TINT = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleDepthFeatheringMode_t {
+                PARTICLE_DEPTH_FEATHERING_OFF = 0x0,
+                PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL = 0x1,
+                PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleFloatRandomMode_t {
+                PF_RANDOM_MODE_INVALID = u32::MAX,
+                PF_RANDOM_MODE_CONSTANT = 0x0,
+                PF_RANDOM_MODE_VARYING = 0x1,
+                PF_RANDOM_MODE_COUNT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PFNoiseModifier_t {
+                PF_NOISE_MODIFIER_NONE = 0x0,
+                PF_NOISE_MODIFIER_LINES = 0x1,
+                PF_NOISE_MODIFIER_CLUMPS = 0x2,
+                PF_NOISE_MODIFIER_RINGS = 0x3
+            }
+            // Alignment: 4
+            // Member count: 19
+            #[repr(u32)]
+            pub enum ParticleVecType_t {
+                PVEC_TYPE_INVALID = u32::MAX,
+                PVEC_TYPE_LITERAL = 0x0,
+                PVEC_TYPE_LITERAL_COLOR = 0x1,
+                PVEC_TYPE_NAMED_VALUE = 0x2,
+                PVEC_TYPE_PARTICLE_VECTOR = 0x3,
+                PVEC_TYPE_PARTICLE_VELOCITY = 0x4,
+                PVEC_TYPE_CP_VALUE = 0x5,
+                PVEC_TYPE_CP_RELATIVE_POSITION = 0x6,
+                PVEC_TYPE_CP_RELATIVE_DIR = 0x7,
+                PVEC_TYPE_CP_RELATIVE_RANDOM_DIR = 0x8,
+                PVEC_TYPE_FLOAT_COMPONENTS = 0x9,
+                PVEC_TYPE_FLOAT_INTERP_CLAMPED = 0xA,
+                PVEC_TYPE_FLOAT_INTERP_OPEN = 0xB,
+                PVEC_TYPE_FLOAT_INTERP_GRADIENT = 0xC,
+                PVEC_TYPE_RANDOM_UNIFORM = 0xD,
+                PVEC_TYPE_RANDOM_UNIFORM_OFFSET = 0xE,
+                PVEC_TYPE_CP_DELTA = 0xF,
+                PVEC_TYPE_CLOSEST_CAMERA_POSITION = 0x10,
+                PVEC_TYPE_COUNT = 0x11
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleLightUnitChoiceList_t {
+                PARTICLE_LIGHT_UNIT_CANDELAS = 0x0,
+                PARTICLE_LIGHT_UNIT_LUMENS = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleFalloffFunction_t {
+                PARTICLE_FALLOFF_CONSTANT = 0x0,
+                PARTICLE_FALLOFF_LINEAR = 0x1,
+                PARTICLE_FALLOFF_EXPONENTIAL = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleSequenceCropOverride_t {
+                PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = u32::MAX,
+                PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF = 0x0,
+                PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleDetailLevel_t {
+                PARTICLEDETAIL_LOW = 0x0,
+                PARTICLEDETAIL_MEDIUM = 0x1,
+                PARTICLEDETAIL_HIGH = 0x2,
+                PARTICLEDETAIL_ULTRA = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum BBoxVolumeType_t {
+                BBOX_VOLUME = 0x0,
+                BBOX_DIMENSIONS = 0x1,
+                BBOX_MINS_MAXS = 0x2
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum SpriteCardTextureType_t {
+                SPRITECARD_TEXTURE_DIFFUSE = 0x0,
+                SPRITECARD_TEXTURE_ZOOM = 0x1,
+                SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 0x2,
+                SPRITECARD_TEXTURE_UVDISTORTION = 0x3,
+                SPRITECARD_TEXTURE_UVDISTORTION_ZOOM = 0x4,
+                SPRITECARD_TEXTURE_NORMALMAP = 0x5,
+                SPRITECARD_TEXTURE_ANIMMOTIONVEC = 0x6,
+                SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_A = 0x7,
+                SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_B = 0x8,
+                SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleAlphaReferenceType_t {
+                PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0,
+                PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA = 0x1,
+                PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE = 0x2,
+                PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE = 0x3
+            }
+            // Alignment: 4
+            // Member count: 15
+            #[repr(u32)]
+            pub enum SpriteCardTextureChannel_t {
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA = 0x1,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_A = 0x2,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A = 0x3,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_ALPHAMASK = 0x4,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_RGBMASK = 0x5,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA_RGBALPHA = 0x6,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_A_RGBALPHA = 0x7,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A_RGBALPHA = 0x8,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_R = 0x9,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_G = 0xA,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_B = 0xB,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_RALPHA = 0xC,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_GALPHA = 0xD,
+                SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xE
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleTransformType_t {
+                PT_TYPE_INVALID = 0x0,
+                PT_TYPE_NAMED_VALUE = 0x1,
+                PT_TYPE_CONTROL_POINT = 0x2,
+                PT_TYPE_CONTROL_POINT_RANGE = 0x3,
+                PT_TYPE_COUNT = 0x4
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum RenderModelSubModelFieldType_t {
+                SUBMODEL_AS_BODYGROUP_SUBMODEL = 0x0,
+                SUBMODEL_AS_MESHGROUP_INDEX = 0x1,
+                SUBMODEL_AS_MESHGROUP_MASK = 0x2,
+                SUBMODEL_IGNORED_USE_MODEL_DEFAULT_MESHGROUP_MASK = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleHitboxDataSelection_t {
+                PARTICLE_HITBOX_AVERAGE_SPEED = 0x0,
+                PARTICLE_HITBOX_COUNT = 0x1
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ParticleOrientationChoiceList_t {
+                PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0,
+                PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED = 0x1,
+                PARTICLE_ORIENTATION_WORLD_Z_ALIGNED = 0x2,
+                PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL = 0x3,
+                PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL = 0x4,
+                PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum ParticleCollisionMode_t {
+                COLLISION_MODE_PER_PARTICLE_TRACE = 0x3,
+                COLLISION_MODE_USE_NEAREST_TRACE = 0x2,
+                COLLISION_MODE_PER_FRAME_PLANESET = 0x1,
+                COLLISION_MODE_INITIAL_TRACE_DOWN = 0x0,
+                COLLISION_MODE_DISABLED = u32::MAX
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleSortingChoiceList_t {
+                PARTICLE_SORTING_NEAREST = 0x0,
+                PARTICLE_SORTING_CREATION_TIME = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleEndcapMode_t {
+                PARTICLE_ENDCAP_ALWAYS_ON = u32::MAX,
+                PARTICLE_ENDCAP_ENDCAP_OFF = 0x0,
+                PARTICLE_ENDCAP_ENDCAP_ON = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ClosestPointTestType_t {
+                PARTICLE_CLOSEST_TYPE_BOX = 0x0,
+                PARTICLE_CLOSEST_TYPE_CAPSULE = 0x1,
+                PARTICLE_CLOSEST_TYPE_HYBRID = 0x2
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ParticleImpulseType_t {
+                IMPULSE_TYPE_NONE = 0x0,
+                IMPULSE_TYPE_GENERIC = 0x1,
+                IMPULSE_TYPE_ROPE = 0x2,
+                IMPULSE_TYPE_EXPLOSION = 0x4,
+                IMPULSE_TYPE_EXPLOSION_UNDERWATER = 0x8,
+                IMPULSE_TYPE_PARTICLE_SYSTEM = 0x10
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum SpriteCardShaderType_t {
+                SPRITECARD_SHADER_BASE = 0x0,
+                SPRITECARD_SHADER_CUSTOM = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleOmni2LightTypeChoiceList_t {
+                PARTICLE_OMNI2_LIGHT_TYPE_POINT = 0x0,
+                PARTICLE_OMNI2_LIGHT_TYPE_SPHERE = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ParticleLightFogLightingMode_t {
+                PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0,
+                PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC = 0x2,
+                PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ParticleLightTypeChoiceList_t {
+                PARTICLE_LIGHT_TYPE_POINT = 0x0,
+                PARTICLE_LIGHT_TYPE_SPOT = 0x1,
+                PARTICLE_LIGHT_TYPE_FX = 0x2,
+                PARTICLE_LIGHT_TYPE_CAPSULE = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ParticleOrientationSetMode_t {
+                PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0,
+                PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum TextureRepetitionMode_t {
+                TEXTURE_REPETITION_PARTICLE = 0x0,
+                TEXTURE_REPETITION_PATH = 0x1
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapGravityToVector {
+                pub const m_vInput1: usize = 0x1C0; // CPerParticleVecInput
+                pub const m_nOutputField: usize = 0x838; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x83C; // ParticleSetMethod_t
+                pub const m_bNormalizedOutput: usize = 0x840; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Decay {
+                pub const m_bRopeDecay: usize = 0x1C0; // bool
+                pub const m_bForcePreserveParticleOrder: usize = 0x1C1; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderDeferredLight {
+                pub const m_bUseAlphaTestWindow: usize = 0x210; // bool
+                pub const m_bUseTexture: usize = 0x211; // bool
+                pub const m_flRadiusScale: usize = 0x214; // float32
+                pub const m_flAlphaScale: usize = 0x218; // float32
+                pub const m_nAlpha2Field: usize = 0x21C; // ParticleAttributeIndex_t
+                pub const m_vecColorScale: usize = 0x220; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0x898; // ParticleColorBlendType_t
+                pub const m_flLightDistance: usize = 0x89C; // float32
+                pub const m_flStartFalloff: usize = 0x8A0; // float32
+                pub const m_flDistanceFalloff: usize = 0x8A4; // float32
+                pub const m_flSpotFoV: usize = 0x8A8; // float32
+                pub const m_nAlphaTestPointField: usize = 0x8AC; // ParticleAttributeIndex_t
+                pub const m_nAlphaTestRangeField: usize = 0x8B0; // ParticleAttributeIndex_t
+                pub const m_nAlphaTestSharpnessField: usize = 0x8B4; // ParticleAttributeIndex_t
+                pub const m_hTexture: usize = 0x8B8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_nHSVShiftControlPoint: usize = 0x8C0; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapSpeedtoCP {
+                pub const m_nInControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nOutControlPointNumber: usize = 0x1CC; // int32
+                pub const m_nField: usize = 0x1D0; // int32
+                pub const m_flInputMin: usize = 0x1D4; // float32
+                pub const m_flInputMax: usize = 0x1D8; // float32
+                pub const m_flOutputMin: usize = 0x1DC; // float32
+                pub const m_flOutputMax: usize = 0x1E0; // float32
+                pub const m_bUseDeltaV: usize = 0x1E4; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapTransformToVelocity {
+                pub const m_TransformInput: usize = 0x1C0; // CParticleTransformInput
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CollisionGroupContext_t {
+                pub const m_nCollisionGroupNumber: usize = 0x0; // int32
+            }
+            // Parent: CParticleInput
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            // MParticleCustomFieldDefaultValue
+            pub mod CParticleModelInput {
+                pub const m_nType: usize = 0x10; // ParticleModelType_t
+                pub const m_NamedValue: usize = 0x18; // CParticleNamedValueRef
+                pub const m_nControlPoint: usize = 0x58; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionPreEmission {
+                pub const m_bRunOnce: usize = 0x1C0; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_FadeOutSimple {
+                pub const m_flFadeOutTime: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SpringToVectorConstraint {
+                pub const m_flRestLength: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_flMinDistance: usize = 0x320; // CPerParticleFloatInput
+                pub const m_flMaxDistance: usize = 0x480; // CPerParticleFloatInput
+                pub const m_flRestingLength: usize = 0x5E0; // CPerParticleFloatInput
+                pub const m_vecAnchorVector: usize = 0x740; // CPerParticleVecInput
+            }
+            // Parent: CBaseRendererSource2
+            // Field count: 30
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderRopes {
+                pub const m_bEnableFadingAndClamping: usize = 0x2AA8; // bool
+                pub const m_flMinSize: usize = 0x2AAC; // float32
+                pub const m_flMaxSize: usize = 0x2AB0; // float32
+                pub const m_flStartFadeSize: usize = 0x2AB4; // float32
+                pub const m_flEndFadeSize: usize = 0x2AB8; // float32
+                pub const m_flStartFadeDot: usize = 0x2ABC; // float32
+                pub const m_flEndFadeDot: usize = 0x2AC0; // float32
+                pub const m_flRadiusTaper: usize = 0x2AC4; // float32
+                pub const m_nMinTesselation: usize = 0x2AC8; // int32
+                pub const m_nMaxTesselation: usize = 0x2ACC; // int32
+                pub const m_flTessScale: usize = 0x2AD0; // float32
+                pub const m_flTextureVWorldSize: usize = 0x2AD8; // CParticleCollectionRendererFloatInput
+                pub const m_flTextureVScrollRate: usize = 0x2C38; // CParticleCollectionRendererFloatInput
+                pub const m_flTextureVOffset: usize = 0x2D98; // CParticleCollectionRendererFloatInput
+                pub const m_nTextureVParamsCP: usize = 0x2EF8; // int32
+                pub const m_bClampV: usize = 0x2EFC; // bool
+                pub const m_nScaleCP1: usize = 0x2F00; // int32
+                pub const m_nScaleCP2: usize = 0x2F04; // int32
+                pub const m_flScaleVSizeByControlPointDistance: usize = 0x2F08; // float32
+                pub const m_flScaleVScrollByControlPointDistance: usize = 0x2F0C; // float32
+                pub const m_flScaleVOffsetByControlPointDistance: usize = 0x2F10; // float32
+                pub const m_bUseScalarForTextureCoordinate: usize = 0x2F15; // bool
+                pub const m_nScalarFieldForTextureCoordinate: usize = 0x2F18; // ParticleAttributeIndex_t
+                pub const m_flScalarAttributeTextureCoordScale: usize = 0x2F1C; // float32
+                pub const m_bReverseOrder: usize = 0x2F20; // bool
+                pub const m_bClosedLoop: usize = 0x2F21; // bool
+                pub const m_nOrientationType: usize = 0x2F24; // ParticleOrientationChoiceList_t
+                pub const m_nVectorFieldForOrientation: usize = 0x2F28; // ParticleAttributeIndex_t
+                pub const m_bDrawAsOpaque: usize = 0x2F2C; // bool
+                pub const m_bGenerateNormals: usize = 0x2F2D; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 19
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_StatusEffectCitadel {
+                pub const m_flSFXColorWarpAmount: usize = 0x1C8; // float32
+                pub const m_flSFXNormalAmount: usize = 0x1CC; // float32
+                pub const m_flSFXMetalnessAmount: usize = 0x1D0; // float32
+                pub const m_flSFXRoughnessAmount: usize = 0x1D4; // float32
+                pub const m_flSFXSelfIllumAmount: usize = 0x1D8; // float32
+                pub const m_flSFXSScale: usize = 0x1DC; // float32
+                pub const m_flSFXSScrollX: usize = 0x1E0; // float32
+                pub const m_flSFXSScrollY: usize = 0x1E4; // float32
+                pub const m_flSFXSScrollZ: usize = 0x1E8; // float32
+                pub const m_flSFXSOffsetX: usize = 0x1EC; // float32
+                pub const m_flSFXSOffsetY: usize = 0x1F0; // float32
+                pub const m_flSFXSOffsetZ: usize = 0x1F4; // float32
+                pub const m_nDetailCombo: usize = 0x1F8; // DetailCombo_t
+                pub const m_flSFXSDetailAmount: usize = 0x1FC; // float32
+                pub const m_flSFXSDetailScale: usize = 0x200; // float32
+                pub const m_flSFXSDetailScrollX: usize = 0x204; // float32
+                pub const m_flSFXSDetailScrollY: usize = 0x208; // float32
+                pub const m_flSFXSDetailScrollZ: usize = 0x20C; // float32
+                pub const m_flSFXSUseModelUVs: usize = 0x210; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderSound {
+                pub const m_flDurationScale: usize = 0x210; // float32
+                pub const m_flSndLvlScale: usize = 0x214; // float32
+                pub const m_flPitchScale: usize = 0x218; // float32
+                pub const m_flVolumeScale: usize = 0x21C; // float32
+                pub const m_nSndLvlField: usize = 0x220; // ParticleAttributeIndex_t
+                pub const m_nDurationField: usize = 0x224; // ParticleAttributeIndex_t
+                pub const m_nPitchField: usize = 0x228; // ParticleAttributeIndex_t
+                pub const m_nVolumeField: usize = 0x22C; // ParticleAttributeIndex_t
+                pub const m_nChannel: usize = 0x230; // int32
+                pub const m_nCPReference: usize = 0x234; // int32
+                pub const m_pszSoundName: usize = 0x238; // char[256]
+                pub const m_bSuppressStopSoundEvent: usize = 0x338; // bool
+            }
+            // Parent: None
+            // Field count: 19
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleVisibilityInputs {
+                pub const m_flCameraBias: usize = 0x0; // float32
+                pub const m_nCPin: usize = 0x4; // int32
+                pub const m_flProxyRadius: usize = 0x8; // float32
+                pub const m_flInputMin: usize = 0xC; // float32
+                pub const m_flInputMax: usize = 0x10; // float32
+                pub const m_flInputPixelVisFade: usize = 0x14; // float32
+                pub const m_flNoPixelVisibilityFallback: usize = 0x18; // float32
+                pub const m_flDistanceInputMin: usize = 0x1C; // float32
+                pub const m_flDistanceInputMax: usize = 0x20; // float32
+                pub const m_flDotInputMin: usize = 0x24; // float32
+                pub const m_flDotInputMax: usize = 0x28; // float32
+                pub const m_bDotCPAngles: usize = 0x2C; // bool
+                pub const m_bDotCameraAngles: usize = 0x2D; // bool
+                pub const m_flAlphaScaleMin: usize = 0x30; // float32
+                pub const m_flAlphaScaleMax: usize = 0x34; // float32
+                pub const m_flRadiusScaleMin: usize = 0x38; // float32
+                pub const m_flRadiusScaleMax: usize = 0x3C; // float32
+                pub const m_flRadiusScaleFOVBase: usize = 0x40; // float32
+                pub const m_bRightEye: usize = 0x44; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointsToParticle {
+                pub const m_nChildGroupID: usize = 0x1C0; // int32
+                pub const m_nFirstControlPoint: usize = 0x1C4; // int32
+                pub const m_nNumControlPoints: usize = 0x1C8; // int32
+                pub const m_nFirstSourcePoint: usize = 0x1CC; // int32
+                pub const m_bSetOrientation: usize = 0x1D0; // bool
+                pub const m_nOrientationMode: usize = 0x1D4; // ParticleOrientationSetMode_t
+                pub const m_nSetParent: usize = 0x1D8; // ParticleParentSetMode_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapSDFDistanceToVectorAttribute {
+                pub const m_nVectorFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nVectorFieldInput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flMinDistance: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_flMaxDistance: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_vValueBelowMin: usize = 0x488; // Vector
+                pub const m_vValueAtMin: usize = 0x494; // Vector
+                pub const m_vValueAtMax: usize = 0x4A0; // Vector
+                pub const m_vValueAboveMax: usize = 0x4AC; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapCPVelocityToVector {
+                pub const m_nControlPoint: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x1C8; // float32
+                pub const m_bNormalize: usize = 0x1CC; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PointVectorAtNextParticle {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInterpolation: usize = 0x1C8; // CPerParticleFloatInput
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticlePreviewBodyGroup_t {
+                pub const m_bodyGroupName: usize = 0x0; // CUtlString
+                pub const m_nValue: usize = 0x8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_OscillateScalarSimple {
+                pub const m_Rate: usize = 0x1C0; // float32
+                pub const m_Frequency: usize = 0x1C4; // float32
+                pub const m_nField: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_flOscMult: usize = 0x1CC; // float32
+                pub const m_flOscAdd: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 18
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_StatusEffect {
+                pub const m_nDetail2Combo: usize = 0x1C8; // Detail2Combo_t
+                pub const m_flDetail2Rotation: usize = 0x1CC; // float32
+                pub const m_flDetail2Scale: usize = 0x1D0; // float32
+                pub const m_flDetail2BlendFactor: usize = 0x1D4; // float32
+                pub const m_flColorWarpIntensity: usize = 0x1D8; // float32
+                pub const m_flDiffuseWarpBlendToFull: usize = 0x1DC; // float32
+                pub const m_flEnvMapIntensity: usize = 0x1E0; // float32
+                pub const m_flAmbientScale: usize = 0x1E4; // float32
+                pub const m_specularColor: usize = 0x1E8; // Color
+                pub const m_flSpecularScale: usize = 0x1EC; // float32
+                pub const m_flSpecularExponent: usize = 0x1F0; // float32
+                pub const m_flSpecularExponentBlendToFull: usize = 0x1F4; // float32
+                pub const m_flSpecularBlendToFull: usize = 0x1F8; // float32
+                pub const m_rimLightColor: usize = 0x1FC; // Color
+                pub const m_flRimLightScale: usize = 0x200; // float32
+                pub const m_flReflectionsTintByBaseBlendToNone: usize = 0x204; // float32
+                pub const m_flMetalnessBlendToFull: usize = 0x208; // float32
+                pub const m_flSelfIllumBlendToFull: usize = 0x20C; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RtEnvCull {
+                pub const m_vecTestDir: usize = 0x1C8; // Vector
+                pub const m_vecTestNormal: usize = 0x1D4; // Vector
+                pub const m_bUseVelocity: usize = 0x1E0; // bool
+                pub const m_bCullOnMiss: usize = 0x1E1; // bool
+                pub const m_bLifeAdjust: usize = 0x1E2; // bool
+                pub const m_RtEnvName: usize = 0x1E3; // char[128]
+                pub const m_nRTEnvCP: usize = 0x264; // int32
+                pub const m_nComponent: usize = 0x268; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ConstrainDistance {
+                pub const m_fMinDistance: usize = 0x1C0; // CParticleCollectionFloatInput
+                pub const m_fMaxDistance: usize = 0x320; // CParticleCollectionFloatInput
+                pub const m_nControlPointNumber: usize = 0x480; // int32
+                pub const m_CenterOffset: usize = 0x484; // Vector
+                pub const m_bGlobalCenter: usize = 0x490; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomVector {
+                pub const m_vecMin: usize = 0x1C8; // Vector
+                pub const m_vecMax: usize = 0x1D4; // Vector
+                pub const m_nFieldOutput: usize = 0x1E0; // ParticleAttributeIndex_t
+                pub const m_randomnessParameters: usize = 0x1E4; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitialVelocityNoise {
+                pub const m_vecAbsVal: usize = 0x1C8; // Vector
+                pub const m_vecAbsValInv: usize = 0x1D4; // Vector
+                pub const m_vecOffsetLoc: usize = 0x1E0; // CPerParticleVecInput
+                pub const m_flOffset: usize = 0x858; // CPerParticleFloatInput
+                pub const m_vecOutputMin: usize = 0x9B8; // CPerParticleVecInput
+                pub const m_vecOutputMax: usize = 0x1030; // CPerParticleVecInput
+                pub const m_flNoiseScale: usize = 0x16A8; // CPerParticleFloatInput
+                pub const m_flNoiseScaleLoc: usize = 0x1808; // CPerParticleFloatInput
+                pub const m_TransformInput: usize = 0x1968; // CParticleTransformInput
+                pub const m_bIgnoreDt: usize = 0x19D0; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticleChildrenInfo_t {
+                pub const m_ChildRef: usize = 0x0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_flDelay: usize = 0x8; // float32
+                pub const m_bEndCap: usize = 0xC; // bool
+                pub const m_bDisableChild: usize = 0xD; // bool
+                pub const m_nDetailLevel: usize = 0x10; // ParticleDetailLevel_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapScalarOnceTimed {
+                pub const m_bProportional: usize = 0x1C0; // bool
+                pub const m_nFieldInput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1CC; // float32
+                pub const m_flInputMax: usize = 0x1D0; // float32
+                pub const m_flOutputMin: usize = 0x1D4; // float32
+                pub const m_flOutputMax: usize = 0x1D8; // float32
+                pub const m_flRemapTime: usize = 0x1DC; // float32
+            }
+            // Parent: C_INIT_RandomNamedModelElement
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomNamedModelSequence {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PlaneCull {
+                pub const m_nPlaneControlPoint: usize = 0x1C0; // int32
+                pub const m_vecPlaneDirection: usize = 0x1C4; // Vector
+                pub const m_bLocalSpace: usize = 0x1D0; // bool
+                pub const m_flPlaneOffset: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_VelocityRandom {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_fSpeedMin: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_fSpeedMax: usize = 0x330; // CPerParticleFloatInput
+                pub const m_LocalCoordinateSystemSpeedMin: usize = 0x490; // CPerParticleVecInput
+                pub const m_LocalCoordinateSystemSpeedMax: usize = 0xB08; // CPerParticleVecInput
+                pub const m_bIgnoreDT: usize = 0x1180; // bool
+                pub const m_randomnessParameters: usize = 0x1184; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ModelDampenMovement {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_bBoundBox: usize = 0x1C4; // bool
+                pub const m_bOutside: usize = 0x1C5; // bool
+                pub const m_bUseBones: usize = 0x1C6; // bool
+                pub const m_HitboxSetName: usize = 0x1C7; // char[128]
+                pub const m_vecPosOffset: usize = 0x248; // CPerParticleVecInput
+                pub const m_fDrag: usize = 0x8C0; // float32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_TwistAroundAxis {
+                pub const m_fForceAmount: usize = 0x1D0; // float32
+                pub const m_TwistAxis: usize = 0x1D4; // Vector
+                pub const m_bLocalSpace: usize = 0x1E0; // bool
+                pub const m_nControlPointNumber: usize = 0x1E4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_TeleportBeam {
+                pub const m_nCPPosition: usize = 0x1C0; // int32
+                pub const m_nCPVelocity: usize = 0x1C4; // int32
+                pub const m_nCPMisc: usize = 0x1C8; // int32
+                pub const m_nCPColor: usize = 0x1CC; // int32
+                pub const m_nCPInvalidColor: usize = 0x1D0; // int32
+                pub const m_nCPExtraArcData: usize = 0x1D4; // int32
+                pub const m_vGravity: usize = 0x1D8; // Vector
+                pub const m_flArcMaxDuration: usize = 0x1E4; // float32
+                pub const m_flSegmentBreak: usize = 0x1E8; // float32
+                pub const m_flArcSpeed: usize = 0x1EC; // float32
+                pub const m_flAlpha: usize = 0x1F0; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapExternalWindToCP {
+                pub const m_nCP: usize = 0x1C8; // int32
+                pub const m_nCPOutput: usize = 0x1CC; // int32
+                pub const m_vecScale: usize = 0x1D0; // CParticleCollectionVecInput
+                pub const m_bSetMagnitude: usize = 0x848; // bool
+                pub const m_nOutVectorField: usize = 0x84C; // int32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 64
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBaseRendererSource2 {
+                pub const m_flRadiusScale: usize = 0x210; // CParticleCollectionRendererFloatInput
+                pub const m_flAlphaScale: usize = 0x370; // CParticleCollectionRendererFloatInput
+                pub const m_flRollScale: usize = 0x4D0; // CParticleCollectionRendererFloatInput
+                pub const m_nAlpha2Field: usize = 0x630; // ParticleAttributeIndex_t
+                pub const m_vecColorScale: usize = 0x638; // CParticleCollectionRendererVecInput
+                pub const m_nColorBlendType: usize = 0xCB0; // ParticleColorBlendType_t
+                pub const m_nShaderType: usize = 0xCB4; // SpriteCardShaderType_t
+                pub const m_strShaderOverride: usize = 0xCB8; // CUtlString
+                pub const m_flCenterXOffset: usize = 0xCC0; // CParticleCollectionRendererFloatInput
+                pub const m_flCenterYOffset: usize = 0xE20; // CParticleCollectionRendererFloatInput
+                pub const m_flBumpStrength: usize = 0xF80; // float32
+                pub const m_nCropTextureOverride: usize = 0xF84; // ParticleSequenceCropOverride_t
+                pub const m_vecTexturesInput: usize = 0xF88; // CUtlVector<TextureGroup_t>
+                pub const m_flAnimationRate: usize = 0xFA0; // float32
+                pub const m_nAnimationType: usize = 0xFA4; // AnimationType_t
+                pub const m_bAnimateInFPS: usize = 0xFA8; // bool
+                pub const m_flMotionVectorScaleU: usize = 0xFB0; // CParticleCollectionRendererFloatInput
+                pub const m_flMotionVectorScaleV: usize = 0x1110; // CParticleCollectionRendererFloatInput
+                pub const m_flSelfIllumAmount: usize = 0x1270; // CParticleCollectionRendererFloatInput
+                pub const m_flDiffuseAmount: usize = 0x13D0; // CParticleCollectionRendererFloatInput
+                pub const m_flDiffuseClamp: usize = 0x1530; // CParticleCollectionRendererFloatInput
+                pub const m_nLightingControlPoint: usize = 0x1690; // int32
+                pub const m_nSelfIllumPerParticle: usize = 0x1694; // ParticleAttributeIndex_t
+                pub const m_nOutputBlendMode: usize = 0x1698; // ParticleOutputBlendMode_t
+                pub const m_bGammaCorrectVertexColors: usize = 0x169C; // bool
+                pub const m_bSaturateColorPreAlphaBlend: usize = 0x169D; // bool
+                pub const m_flAddSelfAmount: usize = 0x16A0; // CParticleCollectionRendererFloatInput
+                pub const m_flDesaturation: usize = 0x1800; // CParticleCollectionRendererFloatInput
+                pub const m_flOverbrightFactor: usize = 0x1960; // CParticleCollectionRendererFloatInput
+                pub const m_nHSVShiftControlPoint: usize = 0x1AC0; // int32
+                pub const m_nFogType: usize = 0x1AC4; // ParticleFogType_t
+                pub const m_flFogAmount: usize = 0x1AC8; // CParticleCollectionRendererFloatInput
+                pub const m_bTintByFOW: usize = 0x1C28; // bool
+                pub const m_bTintByGlobalLight: usize = 0x1C29; // bool
+                pub const m_nPerParticleAlphaReference: usize = 0x1C2C; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleAlphaRefWindow: usize = 0x1C30; // SpriteCardPerParticleScale_t
+                pub const m_nAlphaReferenceType: usize = 0x1C34; // ParticleAlphaReferenceType_t
+                pub const m_flAlphaReferenceSoftness: usize = 0x1C38; // CParticleCollectionRendererFloatInput
+                pub const m_flSourceAlphaValueToMapToZero: usize = 0x1D98; // CParticleCollectionRendererFloatInput
+                pub const m_flSourceAlphaValueToMapToOne: usize = 0x1EF8; // CParticleCollectionRendererFloatInput
+                pub const m_bRefract: usize = 0x2058; // bool
+                pub const m_bRefractSolid: usize = 0x2059; // bool
+                pub const m_flRefractAmount: usize = 0x2060; // CParticleCollectionRendererFloatInput
+                pub const m_nRefractBlurRadius: usize = 0x21C0; // int32
+                pub const m_nRefractBlurType: usize = 0x21C4; // BlurFilterType_t
+                pub const m_bOnlyRenderInEffectsBloomPass: usize = 0x21C8; // bool
+                pub const m_bOnlyRenderInEffectsWaterPass: usize = 0x21C9; // bool
+                pub const m_bUseMixedResolutionRendering: usize = 0x21CA; // bool
+                pub const m_bOnlyRenderInEffecsGameOverlay: usize = 0x21CB; // bool
+                pub const m_stencilTestID: usize = 0x21CC; // char[128]
+                pub const m_bStencilTestExclude: usize = 0x224C; // bool
+                pub const m_stencilWriteID: usize = 0x224D; // char[128]
+                pub const m_bWriteStencilOnDepthPass: usize = 0x22CD; // bool
+                pub const m_bWriteStencilOnDepthFail: usize = 0x22CE; // bool
+                pub const m_bReverseZBuffering: usize = 0x22CF; // bool
+                pub const m_bDisableZBuffering: usize = 0x22D0; // bool
+                pub const m_nFeatheringMode: usize = 0x22D4; // ParticleDepthFeatheringMode_t
+                pub const m_flFeatheringMinDist: usize = 0x22D8; // CParticleCollectionRendererFloatInput
+                pub const m_flFeatheringMaxDist: usize = 0x2438; // CParticleCollectionRendererFloatInput
+                pub const m_flFeatheringFilter: usize = 0x2598; // CParticleCollectionRendererFloatInput
+                pub const m_flDepthBias: usize = 0x26F8; // CParticleCollectionRendererFloatInput
+                pub const m_nSortMethod: usize = 0x2858; // ParticleSortingChoiceList_t
+                pub const m_bBlendFramesSeq0: usize = 0x285C; // bool
+                pub const m_bMaxLuminanceBlendingSequence0: usize = 0x285D; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSpinUpdateBase {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_OrientTo2dDirection {
+                pub const m_flRotOffset: usize = 0x1C0; // float32
+                pub const m_flSpinStrength: usize = 0x1C4; // float32
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDotProductToCP {
+                pub const m_nInputCP1: usize = 0x1C8; // int32
+                pub const m_nInputCP2: usize = 0x1CC; // int32
+                pub const m_nOutputCP: usize = 0x1D0; // int32
+                pub const m_nOutVectorField: usize = 0x1D4; // int32
+                pub const m_flInputMin: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_flInputMax: usize = 0x338; // CParticleCollectionFloatInput
+                pub const m_flOutputMin: usize = 0x498; // CParticleCollectionFloatInput
+                pub const m_flOutputMax: usize = 0x5F8; // CParticleCollectionFloatInput
+            }
+            // Parent: C_INIT_RemapParticleCountToScalar
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapParticleCountToNamedModelElementScalar {
+                pub const m_hModel: usize = 0x1F8; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_outputMinName: usize = 0x200; // CUtlString
+                pub const m_outputMaxName: usize = 0x208; // CUtlString
+                pub const m_bModelFromRenderer: usize = 0x210; // bool
+            }
+            // Parent: CBaseTrailRenderer
+            // Field count: 20
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderTrails {
+                pub const m_bEnableFadingAndClamping: usize = 0x2D80; // bool
+                pub const m_flStartFadeDot: usize = 0x2D84; // float32
+                pub const m_flEndFadeDot: usize = 0x2D88; // float32
+                pub const m_nPrevPntSource: usize = 0x2D8C; // ParticleAttributeIndex_t
+                pub const m_flMaxLength: usize = 0x2D90; // float32
+                pub const m_flMinLength: usize = 0x2D94; // float32
+                pub const m_bIgnoreDT: usize = 0x2D98; // bool
+                pub const m_flConstrainRadiusToLengthRatio: usize = 0x2D9C; // float32
+                pub const m_flLengthScale: usize = 0x2DA0; // float32
+                pub const m_flLengthFadeInTime: usize = 0x2DA4; // float32
+                pub const m_flRadiusHeadTaper: usize = 0x2DA8; // CPerParticleFloatInput
+                pub const m_vecHeadColorScale: usize = 0x2F08; // CParticleCollectionVecInput
+                pub const m_flHeadAlphaScale: usize = 0x3580; // CPerParticleFloatInput
+                pub const m_flRadiusTaper: usize = 0x36E0; // CPerParticleFloatInput
+                pub const m_vecTailColorScale: usize = 0x3840; // CParticleCollectionVecInput
+                pub const m_flTailAlphaScale: usize = 0x3EB8; // CPerParticleFloatInput
+                pub const m_nHorizCropField: usize = 0x4018; // ParticleAttributeIndex_t
+                pub const m_nVertCropField: usize = 0x401C; // ParticleAttributeIndex_t
+                pub const m_flForwardShift: usize = 0x4020; // float32
+                pub const m_bFlipUVBasedOnPitchYaw: usize = 0x4024; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointPositionToTimeOfDayValue {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_pszTimeOfDayParameter: usize = 0x1CC; // char[128]
+                pub const m_vecDefaultValue: usize = 0x24C; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DecayMaintainCount {
+                pub const m_nParticlesToMaintain: usize = 0x1C0; // int32
+                pub const m_flDecayDelay: usize = 0x1C4; // float32
+                pub const m_nSnapshotControlPoint: usize = 0x1C8; // int32
+                pub const m_bLifespanDecay: usize = 0x1CC; // bool
+                pub const m_flScale: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_bKillNewest: usize = 0x330; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomModelSequence {
+                pub const m_ActivityName: usize = 0x1C8; // char[256]
+                pub const m_SequenceName: usize = 0x2C8; // char[256]
+                pub const m_hModel: usize = 0x3C8; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: CParticleVecInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CPerParticleVecInput {
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ExternalGameImpulseForce {
+                pub const m_flForceScale: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_bRopes: usize = 0x330; // bool
+                pub const m_bRopesZOnly: usize = 0x331; // bool
+                pub const m_bExplosions: usize = 0x332; // bool
+                pub const m_bParticles: usize = 0x333; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapAverageHitboxSpeedtoCP {
+                pub const m_nInControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nOutControlPointNumber: usize = 0x1CC; // int32
+                pub const m_nField: usize = 0x1D0; // int32
+                pub const m_nHitboxDataType: usize = 0x1D4; // ParticleHitboxDataSelection_t
+                pub const m_flInputMin: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_flInputMax: usize = 0x338; // CParticleCollectionFloatInput
+                pub const m_flOutputMin: usize = 0x498; // CParticleCollectionFloatInput
+                pub const m_flOutputMax: usize = 0x5F8; // CParticleCollectionFloatInput
+                pub const m_nHeightControlPointNumber: usize = 0x758; // int32
+                pub const m_vecComparisonVelocity: usize = 0x760; // CParticleCollectionVecInput
+                pub const m_HitboxSetName: usize = 0xDD8; // char[128]
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomAlpha {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nAlphaMin: usize = 0x1CC; // int32
+                pub const m_nAlphaMax: usize = 0x1D0; // int32
+                pub const m_flAlphaRandExponent: usize = 0x1DC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_NormalizeVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x1C4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_FadeInSimple {
+                pub const m_flFadeInTime: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RepeatedTriggerChildGroup {
+                pub const m_nChildGroupID: usize = 0x1C8; // int32
+                pub const m_flClusterRefireTime: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_flClusterSize: usize = 0x330; // CParticleCollectionFloatInput
+                pub const m_flClusterCooldown: usize = 0x490; // CParticleCollectionFloatInput
+                pub const m_bLimitChildCount: usize = 0x5F0; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderTonemapController {
+                pub const m_flTonemapLevel: usize = 0x210; // float32
+                pub const m_flTonemapWeight: usize = 0x214; // float32
+                pub const m_nTonemapLevelField: usize = 0x218; // ParticleAttributeIndex_t
+                pub const m_nTonemapWeightField: usize = 0x21C; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapVelocityToVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x1C4; // float32
+                pub const m_bNormalize: usize = 0x1C8; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SetHitboxToClosest {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nDesiredHitbox: usize = 0x1CC; // int32
+                pub const m_vecHitBoxScale: usize = 0x1D0; // CParticleCollectionVecInput
+                pub const m_HitboxSetName: usize = 0x848; // char[128]
+                pub const m_bUseBones: usize = 0x8C8; // bool
+                pub const m_bUseClosestPointOnHitbox: usize = 0x8C9; // bool
+                pub const m_nTestType: usize = 0x8CC; // ClosestPointTestType_t
+                pub const m_flHybridRatio: usize = 0x8D0; // CParticleCollectionFloatInput
+                pub const m_bUpdatePosition: usize = 0xA30; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RingWave {
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_flParticlesPerOrbit: usize = 0x230; // CParticleCollectionFloatInput
+                pub const m_flInitialRadius: usize = 0x390; // CPerParticleFloatInput
+                pub const m_flThickness: usize = 0x4F0; // CPerParticleFloatInput
+                pub const m_flInitialSpeedMin: usize = 0x650; // CPerParticleFloatInput
+                pub const m_flInitialSpeedMax: usize = 0x7B0; // CPerParticleFloatInput
+                pub const m_flRoll: usize = 0x910; // CPerParticleFloatInput
+                pub const m_flPitch: usize = 0xA70; // CPerParticleFloatInput
+                pub const m_flYaw: usize = 0xBD0; // CPerParticleFloatInput
+                pub const m_bEvenDistribution: usize = 0xD30; // bool
+                pub const m_bXYVelocityOnly: usize = 0xD31; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomTrailLength {
+                pub const m_flMinLength: usize = 0x1C8; // float32
+                pub const m_flMaxLength: usize = 0x1CC; // float32
+                pub const m_flLengthRandExponent: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapScalar {
+                pub const m_nFieldInput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // float32
+                pub const m_flInputMax: usize = 0x1CC; // float32
+                pub const m_flOutputMin: usize = 0x1D0; // float32
+                pub const m_flOutputMax: usize = 0x1D4; // float32
+                pub const m_bOldCode: usize = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DistanceBetweenTransforms {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_TransformStart: usize = 0x1C8; // CParticleTransformInput
+                pub const m_TransformEnd: usize = 0x230; // CParticleTransformInput
+                pub const m_flInputMin: usize = 0x298; // CPerParticleFloatInput
+                pub const m_flInputMax: usize = 0x3F8; // CPerParticleFloatInput
+                pub const m_flOutputMin: usize = 0x558; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x6B8; // CPerParticleFloatInput
+                pub const m_flMaxTraceLength: usize = 0x818; // float32
+                pub const m_flLOSScale: usize = 0x81C; // float32
+                pub const m_CollisionGroupName: usize = 0x820; // char[128]
+                pub const m_nTraceSet: usize = 0x8A0; // ParticleTraceSet_t
+                pub const m_bLOS: usize = 0x8A4; // bool
+                pub const m_nSetMethod: usize = 0x8A8; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DecayOffscreen {
+                pub const m_flOffscreenTime: usize = 0x1C0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MParticleMaxVersion
+            // MParticleReplacementOp
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateSequentialPath {
+                pub const m_fMaxDistance: usize = 0x1C8; // float32
+                pub const m_flNumToAssign: usize = 0x1CC; // float32
+                pub const m_bLoop: usize = 0x1D0; // bool
+                pub const m_bCPPairs: usize = 0x1D1; // bool
+                pub const m_bSaveOffset: usize = 0x1D2; // bool
+                pub const m_PathParams: usize = 0x1E0; // CPathParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_EndCapTimedDecay {
+                pub const m_flDecayTime: usize = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDistanceToLineSegmentBase {
+                pub const m_nCP0: usize = 0x1C0; // int32
+                pub const m_nCP1: usize = 0x1C4; // int32
+                pub const m_flMinInputValue: usize = 0x1C8; // float32
+                pub const m_flMaxInputValue: usize = 0x1CC; // float32
+                pub const m_bInfiniteLine: usize = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ContinuousEmitter {
+                pub const m_flEmissionDuration: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_flStartTime: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_flEmitRate: usize = 0x488; // CParticleCollectionFloatInput
+                pub const m_flEmissionScale: usize = 0x5E8; // float32
+                pub const m_flScalePerParentParticle: usize = 0x5EC; // float32
+                pub const m_bInitFromKilledParentParticles: usize = 0x5F0; // bool
+                pub const m_nEventType: usize = 0x5F4; // EventTypeSelection_t
+                pub const m_nSnapshotControlPoint: usize = 0x5F8; // int32
+                pub const m_nLimitPerUpdate: usize = 0x5FC; // int32
+                pub const m_bForceEmitOnFirstUpdate: usize = 0x600; // bool
+                pub const m_bForceEmitOnLastUpdate: usize = 0x601; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_OscillateVectorSimple {
+                pub const m_Rate: usize = 0x1C0; // Vector
+                pub const m_Frequency: usize = 0x1CC; // Vector
+                pub const m_nField: usize = 0x1D8; // ParticleAttributeIndex_t
+                pub const m_flOscMult: usize = 0x1DC; // float32
+                pub const m_flOscAdd: usize = 0x1E0; // float32
+                pub const m_bOffset: usize = 0x1E4; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SequenceLifeTime {
+                pub const m_flFramerate: usize = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_MoveBetweenPoints {
+                pub const m_flSpeedMin: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flSpeedMax: usize = 0x328; // CPerParticleFloatInput
+                pub const m_flEndSpread: usize = 0x488; // CPerParticleFloatInput
+                pub const m_flStartOffset: usize = 0x5E8; // CPerParticleFloatInput
+                pub const m_flEndOffset: usize = 0x748; // CPerParticleFloatInput
+                pub const m_nEndControlPointNumber: usize = 0x8A8; // int32
+                pub const m_bTrailBias: usize = 0x8AC; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapScalar {
+                pub const m_nFieldInput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1D0; // float32
+                pub const m_flInputMax: usize = 0x1D4; // float32
+                pub const m_flOutputMin: usize = 0x1D8; // float32
+                pub const m_flOutputMax: usize = 0x1DC; // float32
+                pub const m_flStartTime: usize = 0x1E0; // float32
+                pub const m_flEndTime: usize = 0x1E4; // float32
+                pub const m_nSetMethod: usize = 0x1E8; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x1EC; // bool
+                pub const m_flRemapBias: usize = 0x1F0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetUserEvent {
+                pub const m_flInput: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_flRisingEdge: usize = 0x320; // CPerParticleFloatInput
+                pub const m_nRisingEventType: usize = 0x480; // EventTypeSelection_t
+                pub const m_flFallingEdge: usize = 0x488; // CPerParticleFloatInput
+                pub const m_nFallingEventType: usize = 0x5E8; // EventTypeSelection_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_QuantizeFloat {
+                pub const m_InputValue: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_nOutputField: usize = 0x320; // ParticleAttributeIndex_t
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            // MPulseDomainOptInFeatureTag
+            pub mod CParticleCollectionBindingInstance {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_BasicMovement {
+                pub const m_Gravity: usize = 0x1C0; // CParticleCollectionVecInput
+                pub const m_fDrag: usize = 0x838; // CParticleCollectionFloatInput
+                pub const m_massControls: usize = 0x998; // CParticleMassCalculationParameters
+                pub const m_nMaxConstraintPasses: usize = 0xDC0; // int32
+                pub const m_bUseNewCode: usize = 0xDC4; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomNamedModelElement {
+                pub const m_hModel: usize = 0x1C8; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_names: usize = 0x1D0; // CUtlVector<CUtlString>
+                pub const m_bShuffle: usize = 0x1E8; // bool
+                pub const m_bLinear: usize = 0x1E9; // bool
+                pub const m_bModelFromRenderer: usize = 0x1EA; // bool
+                pub const m_nFieldOutput: usize = 0x1EC; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitFromParentKilled {
+                pub const m_nAttributeToCopy: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nEventType: usize = 0x1CC; // EventTypeSelection_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Callback {
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunction {
+                pub const m_flOpStrength: usize = 0x8; // CParticleCollectionFloatInput
+                pub const m_nOpEndCapState: usize = 0x168; // ParticleEndcapMode_t
+                pub const m_flOpStartFadeInTime: usize = 0x16C; // float32
+                pub const m_flOpEndFadeInTime: usize = 0x170; // float32
+                pub const m_flOpStartFadeOutTime: usize = 0x174; // float32
+                pub const m_flOpEndFadeOutTime: usize = 0x178; // float32
+                pub const m_flOpFadeOscillatePeriod: usize = 0x17C; // float32
+                pub const m_bNormalizeToStopTime: usize = 0x180; // bool
+                pub const m_flOpTimeOffsetMin: usize = 0x184; // float32
+                pub const m_flOpTimeOffsetMax: usize = 0x188; // float32
+                pub const m_nOpTimeOffsetSeed: usize = 0x18C; // int32
+                pub const m_nOpTimeScaleSeed: usize = 0x190; // int32
+                pub const m_flOpTimeScaleMin: usize = 0x194; // float32
+                pub const m_flOpTimeScaleMax: usize = 0x198; // float32
+                pub const m_bDisableOperator: usize = 0x19E; // bool
+                pub const m_Notes: usize = 0x1A0; // CUtlString
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_GlobalLight {
+                pub const m_flScale: usize = 0x1C0; // float32
+                pub const m_bClampLowerRange: usize = 0x1C4; // bool
+                pub const m_bClampUpperRange: usize = 0x1C5; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_OffsetVectorToVector {
+                pub const m_nFieldInput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_vecOutputMin: usize = 0x1D0; // Vector
+                pub const m_vecOutputMax: usize = 0x1DC; // Vector
+                pub const m_randomnessParameters: usize = 0x1E8; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetPerChildControlPointFromAttribute {
+                pub const m_nChildGroupID: usize = 0x1C0; // int32
+                pub const m_nFirstControlPoint: usize = 0x1C4; // int32
+                pub const m_nNumControlPoints: usize = 0x1C8; // int32
+                pub const m_nParticleIncrement: usize = 0x1CC; // int32
+                pub const m_nFirstSourcePoint: usize = 0x1D0; // int32
+                pub const m_bNumBasedOnParticleCount: usize = 0x1D4; // bool
+                pub const m_nAttributeToRead: usize = 0x1D8; // ParticleAttributeIndex_t
+                pub const m_nCPField: usize = 0x1DC; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetParentControlPointsToChildCP {
+                pub const m_nChildGroupID: usize = 0x1C8; // int32
+                pub const m_nChildControlPoint: usize = 0x1CC; // int32
+                pub const m_nNumControlPoints: usize = 0x1D0; // int32
+                pub const m_nFirstSourcePoint: usize = 0x1D4; // int32
+                pub const m_bSetOrientation: usize = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SDFForce {
+                pub const m_flForceScale: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_BoxConstraint {
+                pub const m_vecMin: usize = 0x1C0; // CParticleCollectionVecInput
+                pub const m_vecMax: usize = 0x838; // CParticleCollectionVecInput
+                pub const m_nCP: usize = 0xEB0; // int32
+                pub const m_bLocalSpace: usize = 0xEB4; // bool
+                pub const m_bAccountForRadius: usize = 0xEB5; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreatePhyllotaxis {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nScaleCP: usize = 0x1CC; // int32
+                pub const m_nComponent: usize = 0x1D0; // int32
+                pub const m_fRadCentCore: usize = 0x1D4; // float32
+                pub const m_fRadPerPoint: usize = 0x1D8; // float32
+                pub const m_fRadPerPointTo: usize = 0x1DC; // float32
+                pub const m_fpointAngle: usize = 0x1E0; // float32
+                pub const m_fsizeOverall: usize = 0x1E4; // float32
+                pub const m_fRadBias: usize = 0x1E8; // float32
+                pub const m_fMinRad: usize = 0x1EC; // float32
+                pub const m_fDistBias: usize = 0x1F0; // float32
+                pub const m_bUseLocalCoords: usize = 0x1F4; // bool
+                pub const m_bUseWithContEmit: usize = 0x1F5; // bool
+                pub const m_bUseOrigRadius: usize = 0x1F6; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_AttractToControlPoint {
+                pub const m_vecComponentScale: usize = 0x1D0; // Vector
+                pub const m_fForceAmount: usize = 0x1E0; // CPerParticleFloatInput
+                pub const m_fFalloffPower: usize = 0x340; // float32
+                pub const m_TransformInput: usize = 0x348; // CParticleTransformInput
+                pub const m_fForceAmountMin: usize = 0x3B0; // CPerParticleFloatInput
+                pub const m_bApplyMinForce: usize = 0x510; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomLifeTime {
+                pub const m_fLifetimeMin: usize = 0x1C8; // float32
+                pub const m_fLifetimeMax: usize = 0x1CC; // float32
+                pub const m_fLifetimeRandExponent: usize = 0x1D0; // float32
+            }
+            // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapParticleCountToNamedModelSequenceScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_VelocityRadialRandom {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_fSpeedMin: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_fSpeedMax: usize = 0x330; // CPerParticleFloatInput
+                pub const m_vecLocalCoordinateSystemSpeedScale: usize = 0x490; // Vector
+                pub const m_bIgnoreDelta: usize = 0x49D; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomRadius {
+                pub const m_flRadiusMin: usize = 0x1C8; // float32
+                pub const m_flRadiusMax: usize = 0x1CC; // float32
+                pub const m_flRadiusRandExponent: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Orient2DRelToCP {
+                pub const m_flRotOffset: usize = 0x1C0; // float32
+                pub const m_flSpinStrength: usize = 0x1C4; // float32
+                pub const m_nCP: usize = 0x1C8; // int32
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod TextureControls_t {
+                pub const m_flFinalTextureScaleU: usize = 0x0; // CParticleCollectionRendererFloatInput
+                pub const m_flFinalTextureScaleV: usize = 0x160; // CParticleCollectionRendererFloatInput
+                pub const m_flFinalTextureOffsetU: usize = 0x2C0; // CParticleCollectionRendererFloatInput
+                pub const m_flFinalTextureOffsetV: usize = 0x420; // CParticleCollectionRendererFloatInput
+                pub const m_flFinalTextureUVRotation: usize = 0x580; // CParticleCollectionRendererFloatInput
+                pub const m_flZoomScale: usize = 0x6E0; // CParticleCollectionRendererFloatInput
+                pub const m_flDistortion: usize = 0x840; // CParticleCollectionRendererFloatInput
+                pub const m_bRandomizeOffsets: usize = 0x9A0; // bool
+                pub const m_bClampUVs: usize = 0x9A1; // bool
+                pub const m_nPerParticleBlend: usize = 0x9A4; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleScale: usize = 0x9A8; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleOffsetU: usize = 0x9AC; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleOffsetV: usize = 0x9B0; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleRotation: usize = 0x9B4; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleZoom: usize = 0x9B8; // SpriteCardPerParticleScale_t
+                pub const m_nPerParticleDistortion: usize = 0x9BC; // SpriteCardPerParticleScale_t
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ControlPointReference_t {
+                pub const m_controlPointNameString: usize = 0x0; // int32
+                pub const m_vOffsetFromControlPoint: usize = 0x4; // Vector
+                pub const m_bOffsetInLocalSpace: usize = 0x10; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToVectorExpression {
+                pub const m_nExpression: usize = 0x1C8; // VectorExpressionType_t
+                pub const m_nOutputCP: usize = 0x1CC; // int32
+                pub const m_vInput1: usize = 0x1D0; // CParticleCollectionVecInput
+                pub const m_vInput2: usize = 0x848; // CParticleCollectionVecInput
+                pub const m_bNormalizedOutput: usize = 0xEC0; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LightningSnapshotGenerator {
+                pub const m_nCPSnapshot: usize = 0x1C8; // int32
+                pub const m_nCPStartPnt: usize = 0x1CC; // int32
+                pub const m_nCPEndPnt: usize = 0x1D0; // int32
+                pub const m_flSegments: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_flOffset: usize = 0x338; // CParticleCollectionFloatInput
+                pub const m_flOffsetDecay: usize = 0x498; // CParticleCollectionFloatInput
+                pub const m_flRecalcRate: usize = 0x5F8; // CParticleCollectionFloatInput
+                pub const m_flUVScale: usize = 0x758; // CParticleCollectionFloatInput
+                pub const m_flUVOffset: usize = 0x8B8; // CParticleCollectionFloatInput
+                pub const m_flSplitRate: usize = 0xA18; // CParticleCollectionFloatInput
+                pub const m_flBranchTwist: usize = 0xB78; // CParticleCollectionFloatInput
+                pub const m_nBranchBehavior: usize = 0xCD8; // ParticleLightnintBranchBehavior_t
+                pub const m_flRadiusStart: usize = 0xCE0; // CParticleCollectionFloatInput
+                pub const m_flRadiusEnd: usize = 0xE40; // CParticleCollectionFloatInput
+                pub const m_flDedicatedPool: usize = 0xFA0; // CParticleCollectionFloatInput
+            }
+            // Parent: C_OP_RemapNamedModelElementOnceTimed
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelMeshGroupOnceTimed {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleInput {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapSpeedToScalar {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nControlPointNumber: usize = 0x1CC; // int32
+                pub const m_flStartTime: usize = 0x1D0; // float32
+                pub const m_flEndTime: usize = 0x1D4; // float32
+                pub const m_flInputMin: usize = 0x1D8; // float32
+                pub const m_flInputMax: usize = 0x1DC; // float32
+                pub const m_flOutputMin: usize = 0x1E0; // float32
+                pub const m_flOutputMax: usize = 0x1E4; // float32
+                pub const m_nSetMethod: usize = 0x1E8; // ParticleSetMethod_t
+                pub const m_bPerParticle: usize = 0x1EC; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapQAnglesToRotation {
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PositionWarp {
+                pub const m_vecWarpMin: usize = 0x1C8; // CParticleCollectionVecInput
+                pub const m_vecWarpMax: usize = 0x840; // CParticleCollectionVecInput
+                pub const m_nScaleControlPointNumber: usize = 0xEB8; // int32
+                pub const m_nControlPointNumber: usize = 0xEBC; // int32
+                pub const m_nRadiusComponent: usize = 0xEC0; // int32
+                pub const m_flWarpTime: usize = 0xEC4; // float32
+                pub const m_flWarpStartTime: usize = 0xEC8; // float32
+                pub const m_flPrevPosScale: usize = 0xECC; // float32
+                pub const m_bInvertWarp: usize = 0xED0; // bool
+                pub const m_bUseCount: usize = 0xED1; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SDFConstraint {
+                pub const m_flMinDist: usize = 0x1C0; // CParticleCollectionFloatInput
+                pub const m_flMaxDist: usize = 0x320; // CParticleCollectionFloatInput
+                pub const m_nMaxIterations: usize = 0x480; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointFieldToScalarExpression {
+                pub const m_nExpression: usize = 0x1C8; // ScalarExpressionType_t
+                pub const m_flInput1: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_flInput2: usize = 0x330; // CParticleCollectionFloatInput
+                pub const m_flOutputRemap: usize = 0x490; // CParticleRemapFloatInput
+                pub const m_nOutputCP: usize = 0x5F0; // int32
+                pub const m_nOutVectorField: usize = 0x5F4; // int32
+            }
+            // Parent: CParticleFunction
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionForce {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomVectorComponent {
+                pub const m_flMin: usize = 0x1C8; // float32
+                pub const m_flMax: usize = 0x1CC; // float32
+                pub const m_nFieldOutput: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_nComponent: usize = 0x1D4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MParticleMaxVersion
+            // MParticleReplacementOp
+            // MGetKV3ClassDefaults
+            pub mod C_OP_InheritFromParentParticles {
+                pub const m_flScale: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nIncrement: usize = 0x1C8; // int32
+                pub const m_bRandomDistribution: usize = 0x1CC; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SetVectorAttributeToVectorExpression {
+                pub const m_nExpression: usize = 0x1C8; // VectorExpressionType_t
+                pub const m_vInput1: usize = 0x1D0; // CPerParticleVecInput
+                pub const m_vInput2: usize = 0x848; // CPerParticleVecInput
+                pub const m_nOutputField: usize = 0xEC0; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0xEC4; // ParticleSetMethod_t
+                pub const m_bNormalizedOutput: usize = 0xEC8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapTransformVisibilityToVector {
+                pub const m_nSetMethod: usize = 0x1C0; // ParticleSetMethod_t
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_nFieldOutput: usize = 0x230; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x234; // float32
+                pub const m_flInputMax: usize = 0x238; // float32
+                pub const m_vecOutputMin: usize = 0x23C; // Vector
+                pub const m_vecOutputMax: usize = 0x248; // Vector
+                pub const m_flRadius: usize = 0x254; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DirectionBetweenVecsToVec {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecPoint1: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_vecPoint2: usize = 0x840; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementLoopInsideSphere {
+                pub const m_nCP: usize = 0x1C0; // int32
+                pub const m_flDistance: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_vecScale: usize = 0x328; // CParticleCollectionVecInput
+                pub const m_nDistSqrAttr: usize = 0x9A0; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderSimpleModelCollection {
+                pub const m_bCenterOffset: usize = 0x210; // bool
+                pub const m_hModel: usize = 0x218; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_modelInput: usize = 0x220; // CParticleModelInput
+                pub const m_fSizeCullScale: usize = 0x280; // CParticleCollectionFloatInput
+                pub const m_bDisableShadows: usize = 0x3E0; // bool
+                pub const m_bDisableMotionBlur: usize = 0x3E1; // bool
+                pub const m_bAcceptsDecals: usize = 0x3E2; // bool
+                pub const m_nAngularVelocityField: usize = 0x3E4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_QuantizeCPComponent {
+                pub const m_flInputValue: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_nCPOutput: usize = 0x328; // int32
+                pub const m_nOutVectorField: usize = 0x32C; // int32
+                pub const m_flQuantizeValue: usize = 0x330; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PlayEndCapWhenFinished {
+                pub const m_bFireOnEmissionEnd: usize = 0x1C8; // bool
+                pub const m_bIncludeChildren: usize = 0x1C9; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitFloatCollection {
+                pub const m_InputValue: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_nOutputField: usize = 0x328; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPathParameters {
+                pub const m_nStartControlPointNumber: usize = 0x0; // int32
+                pub const m_nEndControlPointNumber: usize = 0x4; // int32
+                pub const m_nBulgeControl: usize = 0x8; // int32
+                pub const m_flBulge: usize = 0xC; // float32
+                pub const m_flMidPoint: usize = 0x10; // float32
+                pub const m_vStartPointOffset: usize = 0x14; // Vector
+                pub const m_vMidPointOffset: usize = 0x20; // Vector
+                pub const m_vEndOffset: usize = 0x2C; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapScalarEndCap {
+                pub const m_nFieldInput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // float32
+                pub const m_flInputMax: usize = 0x1CC; // float32
+                pub const m_flOutputMin: usize = 0x1D0; // float32
+                pub const m_flOutputMax: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateFromPlaneCache {
+                pub const m_vecOffsetMin: usize = 0x1C8; // Vector
+                pub const m_vecOffsetMax: usize = 0x1D4; // Vector
+                pub const m_bUseNormal: usize = 0x1E1; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ControlPointToRadialScreenSpace {
+                pub const m_nCPIn: usize = 0x1C8; // int32
+                pub const m_vecCP1Pos: usize = 0x1CC; // Vector
+                pub const m_nCPOut: usize = 0x1D8; // int32
+                pub const m_nCPOutField: usize = 0x1DC; // int32
+                pub const m_nCPSSPosOut: usize = 0x1E0; // int32
+            }
+            // Parent: CSpinUpdateBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SpinUpdate {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_NormalOffset {
+                pub const m_OffsetMin: usize = 0x1C8; // Vector
+                pub const m_OffsetMax: usize = 0x1D4; // Vector
+                pub const m_nControlPointNumber: usize = 0x1E0; // int32
+                pub const m_bLocalCoords: usize = 0x1E4; // bool
+                pub const m_bNormalize: usize = 0x1E5; // bool
+            }
+            // Parent: C_OP_RemapDistanceToLineSegmentBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDistanceToLineSegmentToVector {
+                pub const m_nFieldOutput: usize = 0x1D8; // ParticleAttributeIndex_t
+                pub const m_vMinOutputValue: usize = 0x1DC; // Vector
+                pub const m_vMaxOutputValue: usize = 0x1E8; // Vector
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderAsModels {
+                pub const m_ModelList: usize = 0x210; // CUtlVector<ModelReference_t>
+                pub const m_flModelScale: usize = 0x22C; // float32
+                pub const m_bFitToModelSize: usize = 0x230; // bool
+                pub const m_bNonUniformScaling: usize = 0x231; // bool
+                pub const m_nXAxisScalingAttribute: usize = 0x234; // ParticleAttributeIndex_t
+                pub const m_nYAxisScalingAttribute: usize = 0x238; // ParticleAttributeIndex_t
+                pub const m_nZAxisScalingAttribute: usize = 0x23C; // ParticleAttributeIndex_t
+                pub const m_nSizeCullBloat: usize = 0x240; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreationNoise {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_bAbsVal: usize = 0x1CC; // bool
+                pub const m_bAbsValInv: usize = 0x1CD; // bool
+                pub const m_flOffset: usize = 0x1D0; // float32
+                pub const m_flOutputMin: usize = 0x1D4; // float32
+                pub const m_flOutputMax: usize = 0x1D8; // float32
+                pub const m_flNoiseScale: usize = 0x1DC; // float32
+                pub const m_flNoiseScaleLoc: usize = 0x1E0; // float32
+                pub const m_vecOffsetLoc: usize = 0x1E4; // Vector
+                pub const m_flWorldTimeScale: usize = 0x1F0; // float32
+            }
+            // Parent: CGeneralSpin
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Spin {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticleNamedValueConfiguration_t {
+                pub const m_ConfigName: usize = 0x0; // CUtlString
+                pub const m_ConfigValue: usize = 0x8; // KeyValues3
+                pub const m_iAttachType: usize = 0x18; // ParticleAttachment_t
+                pub const m_BoundEntityPath: usize = 0x20; // CUtlString
+                pub const m_strEntityScope: usize = 0x28; // CUtlString
+                pub const m_strAttachmentName: usize = 0x30; // CUtlString
+            }
+            // Parent: CParticleInput
+            // Field count: 23
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MParticleCustomFieldDefaultValue
+            pub mod CParticleVecInput {
+                pub const m_nType: usize = 0x10; // ParticleVecType_t
+                pub const m_vLiteralValue: usize = 0x14; // Vector
+                pub const m_LiteralColor: usize = 0x20; // Color
+                pub const m_NamedValue: usize = 0x28; // CParticleNamedValueRef
+                pub const m_bFollowNamedValue: usize = 0x68; // bool
+                pub const m_nVectorAttribute: usize = 0x6C; // ParticleAttributeIndex_t
+                pub const m_vVectorAttributeScale: usize = 0x70; // Vector
+                pub const m_nControlPoint: usize = 0x7C; // int32
+                pub const m_nDeltaControlPoint: usize = 0x80; // int32
+                pub const m_vCPValueScale: usize = 0x84; // Vector
+                pub const m_vCPRelativePosition: usize = 0x90; // Vector
+                pub const m_vCPRelativeDir: usize = 0x9C; // Vector
+                pub const m_FloatComponentX: usize = 0xA8; // CParticleFloatInput
+                pub const m_FloatComponentY: usize = 0x208; // CParticleFloatInput
+                pub const m_FloatComponentZ: usize = 0x368; // CParticleFloatInput
+                pub const m_FloatInterp: usize = 0x4C8; // CParticleFloatInput
+                pub const m_flInterpInput0: usize = 0x628; // float32
+                pub const m_flInterpInput1: usize = 0x62C; // float32
+                pub const m_vInterpOutput0: usize = 0x630; // Vector
+                pub const m_vInterpOutput1: usize = 0x63C; // Vector
+                pub const m_Gradient: usize = 0x648; // CColorGradient
+                pub const m_vRandomMin: usize = 0x660; // Vector
+                pub const m_vRandomMax: usize = 0x66C; // Vector
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_InstantaneousEmitter {
+                pub const m_nParticlesToEmit: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_flStartTime: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_flInitFromKilledParentParticles: usize = 0x488; // float32
+                pub const m_nEventType: usize = 0x48C; // EventTypeSelection_t
+                pub const m_flParentParticleScale: usize = 0x490; // CParticleCollectionFloatInput
+                pub const m_nMaxEmittedPerFrame: usize = 0x5F0; // int32
+                pub const m_nSnapshotControlPoint: usize = 0x5F4; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ConstrainLineLength {
+                pub const m_flMinDistance: usize = 0x1C0; // float32
+                pub const m_flMaxDistance: usize = 0x1C4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_LifespanFromVelocity {
+                pub const m_vecComponentScale: usize = 0x1C8; // Vector
+                pub const m_flTraceOffset: usize = 0x1D4; // float32
+                pub const m_flMaxTraceLength: usize = 0x1D8; // float32
+                pub const m_flTraceTolerance: usize = 0x1DC; // float32
+                pub const m_nMaxPlanes: usize = 0x1E0; // int32
+                pub const m_CollisionGroupName: usize = 0x1E8; // char[128]
+                pub const m_nTraceSet: usize = 0x268; // ParticleTraceSet_t
+                pub const m_bIncludeWater: usize = 0x278; // bool
+            }
+            // Parent: CBaseRendererSource2
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBaseTrailRenderer {
+                pub const m_nOrientationType: usize = 0x2AA8; // ParticleOrientationChoiceList_t
+                pub const m_nOrientationControlPoint: usize = 0x2AAC; // int32
+                pub const m_flMinSize: usize = 0x2AB0; // float32
+                pub const m_flMaxSize: usize = 0x2AB4; // float32
+                pub const m_flStartFadeSize: usize = 0x2AB8; // CParticleCollectionRendererFloatInput
+                pub const m_flEndFadeSize: usize = 0x2C18; // CParticleCollectionRendererFloatInput
+                pub const m_bClampV: usize = 0x2D78; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_VelocityFromCP {
+                pub const m_velocityInput: usize = 0x1C8; // CParticleCollectionVecInput
+                pub const m_transformInput: usize = 0x840; // CParticleTransformInput
+                pub const m_flVelocityScale: usize = 0x8A8; // float32
+                pub const m_bDirectionOnly: usize = 0x8AC; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointOrientation {
+                pub const m_bUseWorldLocation: usize = 0x1C8; // bool
+                pub const m_bRandomize: usize = 0x1CA; // bool
+                pub const m_bSetOnce: usize = 0x1CB; // bool
+                pub const m_nCP: usize = 0x1CC; // int32
+                pub const m_nHeadLocation: usize = 0x1D0; // int32
+                pub const m_vecRotation: usize = 0x1D4; // QAngle
+                pub const m_vecRotationB: usize = 0x1E0; // QAngle
+                pub const m_flInterpolation: usize = 0x1F0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementSkinnedPositionFromCPSnapshot {
+                pub const m_nSnapshotControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nControlPointNumber: usize = 0x1C4; // int32
+                pub const m_bRandom: usize = 0x1C8; // bool
+                pub const m_nRandomSeed: usize = 0x1CC; // int32
+                pub const m_bSetNormal: usize = 0x1D0; // bool
+                pub const m_bSetRadius: usize = 0x1D1; // bool
+                pub const m_nIndexType: usize = 0x1D4; // SnapshotIndexType_t
+                pub const m_flReadIndex: usize = 0x1D8; // CPerParticleFloatInput
+                pub const m_flIncrement: usize = 0x338; // CParticleCollectionFloatInput
+                pub const m_nFullLoopIncrement: usize = 0x498; // CParticleCollectionFloatInput
+                pub const m_nSnapShotStartPoint: usize = 0x5F8; // CParticleCollectionFloatInput
+                pub const m_flInterpolation: usize = 0x758; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_OscillateVector {
+                pub const m_RateMin: usize = 0x1C0; // Vector
+                pub const m_RateMax: usize = 0x1CC; // Vector
+                pub const m_FrequencyMin: usize = 0x1D8; // Vector
+                pub const m_FrequencyMax: usize = 0x1E4; // Vector
+                pub const m_nField: usize = 0x1F0; // ParticleAttributeIndex_t
+                pub const m_bProportional: usize = 0x1F4; // bool
+                pub const m_bProportionalOp: usize = 0x1F5; // bool
+                pub const m_bOffset: usize = 0x1F6; // bool
+                pub const m_flStartTime_min: usize = 0x1F8; // float32
+                pub const m_flStartTime_max: usize = 0x1FC; // float32
+                pub const m_flEndTime_min: usize = 0x200; // float32
+                pub const m_flEndTime_max: usize = 0x204; // float32
+                pub const m_flOscMult: usize = 0x208; // CPerParticleFloatInput
+                pub const m_flOscAdd: usize = 0x368; // CPerParticleFloatInput
+                pub const m_flRateScale: usize = 0x4C8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PositionLock {
+                pub const m_TransformInput: usize = 0x1C0; // CParticleTransformInput
+                pub const m_flStartTime_min: usize = 0x228; // float32
+                pub const m_flStartTime_max: usize = 0x22C; // float32
+                pub const m_flStartTime_exp: usize = 0x230; // float32
+                pub const m_flEndTime_min: usize = 0x234; // float32
+                pub const m_flEndTime_max: usize = 0x238; // float32
+                pub const m_flEndTime_exp: usize = 0x23C; // float32
+                pub const m_flRange: usize = 0x240; // float32
+                pub const m_flRangeBias: usize = 0x248; // CParticleCollectionFloatInput
+                pub const m_flJumpThreshold: usize = 0x3A8; // float32
+                pub const m_flPrevPosScale: usize = 0x3AC; // float32
+                pub const m_bLockRot: usize = 0x3B0; // bool
+                pub const m_vecScale: usize = 0x3B8; // CParticleCollectionVecInput
+                pub const m_nFieldOutput: usize = 0xA30; // ParticleAttributeIndex_t
+                pub const m_nFieldOutputPrev: usize = 0xA34; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderVRHapticEvent {
+                pub const m_nHand: usize = 0x210; // ParticleVRHandChoiceList_t
+                pub const m_nOutputHandCP: usize = 0x214; // int32
+                pub const m_nOutputField: usize = 0x218; // int32
+                pub const m_flAmplitude: usize = 0x220; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToImpactPoint {
+                pub const m_nCPOut: usize = 0x1C8; // int32
+                pub const m_nCPIn: usize = 0x1CC; // int32
+                pub const m_flUpdateRate: usize = 0x1D0; // float32
+                pub const m_flTraceLength: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_flStartOffset: usize = 0x338; // float32
+                pub const m_flOffset: usize = 0x33C; // float32
+                pub const m_vecTraceDir: usize = 0x340; // Vector
+                pub const m_CollisionGroupName: usize = 0x34C; // char[128]
+                pub const m_nTraceSet: usize = 0x3CC; // ParticleTraceSet_t
+                pub const m_bSetToEndpoint: usize = 0x3D0; // bool
+                pub const m_bTraceToClosestSurface: usize = 0x3D1; // bool
+                pub const m_bIncludeWater: usize = 0x3D2; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_InterpolateRadius {
+                pub const m_flStartTime: usize = 0x1C0; // float32
+                pub const m_flEndTime: usize = 0x1C4; // float32
+                pub const m_flStartScale: usize = 0x1C8; // float32
+                pub const m_flEndScale: usize = 0x1CC; // float32
+                pub const m_bEaseInAndOut: usize = 0x1D0; // bool
+                pub const m_flBias: usize = 0x1D4; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod ParticleAttributeIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ReinitializeScalarEndCap {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flOutputMin: usize = 0x1C4; // float32
+                pub const m_flOutputMax: usize = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_TurbulenceForce {
+                pub const m_flNoiseCoordScale0: usize = 0x1D0; // float32
+                pub const m_flNoiseCoordScale1: usize = 0x1D4; // float32
+                pub const m_flNoiseCoordScale2: usize = 0x1D8; // float32
+                pub const m_flNoiseCoordScale3: usize = 0x1DC; // float32
+                pub const m_vecNoiseAmount0: usize = 0x1E0; // Vector
+                pub const m_vecNoiseAmount1: usize = 0x1EC; // Vector
+                pub const m_vecNoiseAmount2: usize = 0x1F8; // Vector
+                pub const m_vecNoiseAmount3: usize = 0x204; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelElementOnceTimed {
+                pub const m_hModel: usize = 0x1C0; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_inNames: usize = 0x1C8; // CUtlVector<CUtlString>
+                pub const m_outNames: usize = 0x1E0; // CUtlVector<CUtlString>
+                pub const m_fallbackNames: usize = 0x1F8; // CUtlVector<CUtlString>
+                pub const m_bModelFromRenderer: usize = 0x210; // bool
+                pub const m_bProportional: usize = 0x211; // bool
+                pub const m_nFieldInput: usize = 0x214; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x218; // ParticleAttributeIndex_t
+                pub const m_flRemapTime: usize = 0x21C; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToPlayer {
+                pub const m_nCP1: usize = 0x1C8; // int32
+                pub const m_vecCP1Pos: usize = 0x1CC; // Vector
+                pub const m_bOrientToEyes: usize = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_EndCapTimedFreeze {
+                pub const m_flFreezeTime: usize = 0x1C0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderGpuImplicit {
+                pub const m_bUsePerParticleRadius: usize = 0x210; // bool
+                pub const m_nVertexCountKb: usize = 0x214; // uint32
+                pub const m_nIndexCountKb: usize = 0x218; // uint32
+                pub const m_fGridSize: usize = 0x220; // CParticleCollectionRendererFloatInput
+                pub const m_fRadiusScale: usize = 0x380; // CParticleCollectionRendererFloatInput
+                pub const m_fIsosurfaceThreshold: usize = 0x4E0; // CParticleCollectionRendererFloatInput
+                pub const m_nScaleCP: usize = 0x640; // int32
+                pub const m_hMaterial: usize = 0x648; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: IParticleEffect
+            // Field count: 32
+            pub mod CNewParticleEffect {
+                pub const m_pNext: usize = 0x10; // CNewParticleEffect*
+                pub const m_pPrev: usize = 0x18; // CNewParticleEffect*
+                pub const m_pParticles: usize = 0x20; // IParticleCollection*
+                pub const m_pDebugName: usize = 0x28; // char*
+                pub const m_bDontRemove: usize = 0x0; // bitfield:1
+                pub const m_bRemove: usize = 0x0; // bitfield:1
+                pub const m_bNeedsBBoxUpdate: usize = 0x0; // bitfield:1
+                pub const m_bIsFirstFrame: usize = 0x0; // bitfield:1
+                pub const m_bAutoUpdateBBox: usize = 0x0; // bitfield:1
+                pub const m_bAllocated: usize = 0x0; // bitfield:1
+                pub const m_bSimulate: usize = 0x0; // bitfield:1
+                pub const m_bShouldPerformCullCheck: usize = 0x0; // bitfield:1
+                pub const m_bForceNoDraw: usize = 0x0; // bitfield:1
+                pub const m_bShouldSave: usize = 0x0; // bitfield:1
+                pub const m_bDisableAggregation: usize = 0x0; // bitfield:1
+                pub const m_bShouldSimulateDuringGamePaused: usize = 0x0; // bitfield:1
+                pub const m_bShouldCheckFoW: usize = 0x0; // bitfield:1
+                pub const m_vSortOrigin: usize = 0x40; // Vector
+                pub const m_flScale: usize = 0x4C; // float32
+                pub const m_hOwner: usize = 0x50; // PARTICLE_EHANDLE__*
+                pub const m_pOwningParticleProperty: usize = 0x58; // CParticleProperty*
+                pub const m_flFreezeTransitionStart: usize = 0x70; // float32
+                pub const m_flFreezeTransitionDuration: usize = 0x74; // float32
+                pub const m_flFreezeTransitionOverride: usize = 0x78; // float32
+                pub const m_bFreezeTransitionActive: usize = 0x7C; // bool
+                pub const m_bFreezeTargetState: usize = 0x7D; // bool
+                pub const m_bCanFreeze: usize = 0x7E; // bool
+                pub const m_LastMin: usize = 0x80; // Vector
+                pub const m_LastMax: usize = 0x8C; // Vector
+                pub const m_nSplitScreenUser: usize = 0x98; // CSplitScreenSlot
+                pub const m_vecAggregationCenter: usize = 0x9C; // Vector
+                pub const m_RefCount: usize = 0xC0; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetRandomControlPointPosition {
+                pub const m_bUseWorldLocation: usize = 0x1C8; // bool
+                pub const m_bOrient: usize = 0x1C9; // bool
+                pub const m_nCP1: usize = 0x1CC; // int32
+                pub const m_nHeadLocation: usize = 0x1D0; // int32
+                pub const m_flReRandomRate: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_vecCPMinPos: usize = 0x338; // Vector
+                pub const m_vecCPMaxPos: usize = 0x344; // Vector
+                pub const m_flInterpolation: usize = 0x350; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapTransformVisibilityToScalar {
+                pub const m_nSetMethod: usize = 0x1C0; // ParticleSetMethod_t
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_nFieldOutput: usize = 0x230; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x234; // float32
+                pub const m_flInputMax: usize = 0x238; // float32
+                pub const m_flOutputMin: usize = 0x23C; // float32
+                pub const m_flOutputMax: usize = 0x240; // float32
+                pub const m_flRadius: usize = 0x244; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapControlPointDirectionToVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x1C4; // float32
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+            }
+            // Parent: CParticleFunction
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionOperator {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DragRelativeToPlane {
+                pub const m_flDragAtPlane: usize = 0x1C0; // CParticleCollectionFloatInput
+                pub const m_flFalloff: usize = 0x320; // CParticleCollectionFloatInput
+                pub const m_bDirectional: usize = 0x480; // bool
+                pub const m_vecPlaneNormal: usize = 0x488; // CParticleCollectionVecInput
+                pub const m_nControlPointNumber: usize = 0xB00; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetCPtoVector {
+                pub const m_nCPInput: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticleNamedValueSource_t {
+                pub const m_Name: usize = 0x0; // CUtlString
+                pub const m_IsPublic: usize = 0x8; // bool
+                pub const m_ValueType: usize = 0xC; // PulseValueType_t
+                pub const m_DefaultConfig: usize = 0x10; // ParticleNamedValueConfiguration_t
+                pub const m_NamedConfigs: usize = 0x48; // CUtlVector<ParticleNamedValueConfiguration_t>
+            }
+            // Parent: CGeneralRandomRotation
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomYaw {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SnapshotRigidSkinToBones {
+                pub const m_bTransformNormals: usize = 0x1C0; // bool
+                pub const m_bTransformRadii: usize = 0x1C1; // bool
+                pub const m_nControlPointNumber: usize = 0x1C4; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetSingleControlPointPosition {
+                pub const m_bSetOnce: usize = 0x1C8; // bool
+                pub const m_nCP1: usize = 0x1CC; // int32
+                pub const m_vecCP1Pos: usize = 0x1D0; // CParticleCollectionVecInput
+                pub const m_transformInput: usize = 0x848; // CParticleTransformInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_DistanceToNeighborCull {
+                pub const m_flDistance: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_bIncludeRadii: usize = 0x328; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapCPtoScalar {
+                pub const m_nCPInput: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nField: usize = 0x1C8; // int32
+                pub const m_flInputMin: usize = 0x1CC; // float32
+                pub const m_flInputMax: usize = 0x1D0; // float32
+                pub const m_flOutputMin: usize = 0x1D4; // float32
+                pub const m_flOutputMax: usize = 0x1D8; // float32
+                pub const m_flStartTime: usize = 0x1DC; // float32
+                pub const m_flEndTime: usize = 0x1E0; // float32
+                pub const m_flInterpRate: usize = 0x1E4; // float32
+                pub const m_nSetMethod: usize = 0x1E8; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunction
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionRenderer {
+                pub const VisibilityInputs: usize = 0x1C0; // CParticleVisibilityInputs
+                pub const m_bCannotBeRefracted: usize = 0x208; // bool
+                pub const m_bSkipRenderingOnMobile: usize = 0x209; // bool
+            }
+            // Parent: IParticleSystemDefinition
+            // Field count: 65
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleSystemDefinition {
+                pub const m_nBehaviorVersion: usize = 0x8; // int32
+                pub const m_PreEmissionOperators: usize = 0x10; // CUtlVector<CParticleFunctionPreEmission*>
+                pub const m_Emitters: usize = 0x28; // CUtlVector<CParticleFunctionEmitter*>
+                pub const m_Initializers: usize = 0x40; // CUtlVector<CParticleFunctionInitializer*>
+                pub const m_Operators: usize = 0x58; // CUtlVector<CParticleFunctionOperator*>
+                pub const m_ForceGenerators: usize = 0x70; // CUtlVector<CParticleFunctionForce*>
+                pub const m_Constraints: usize = 0x88; // CUtlVector<CParticleFunctionConstraint*>
+                pub const m_Renderers: usize = 0xA0; // CUtlVector<CParticleFunctionRenderer*>
+                pub const m_Children: usize = 0xB8; // CUtlVector<ParticleChildrenInfo_t>
+                pub const m_nFirstMultipleOverride_BackwardCompat: usize = 0x178; // int32
+                pub const m_nInitialParticles: usize = 0x210; // int32
+                pub const m_nMaxParticles: usize = 0x214; // int32
+                pub const m_nGroupID: usize = 0x218; // int32
+                pub const m_BoundingBoxMin: usize = 0x21C; // Vector
+                pub const m_BoundingBoxMax: usize = 0x228; // Vector
+                pub const m_flDepthSortBias: usize = 0x234; // float32
+                pub const m_nSortOverridePositionCP: usize = 0x238; // int32
+                pub const m_bInfiniteBounds: usize = 0x23C; // bool
+                pub const m_bEnableNamedValues: usize = 0x23D; // bool
+                pub const m_NamedValueDomain: usize = 0x240; // CUtlString
+                pub const m_NamedValueLocals: usize = 0x248; // CUtlVector<ParticleNamedValueSource_t*>
+                pub const m_ConstantColor: usize = 0x260; // Color
+                pub const m_ConstantNormal: usize = 0x264; // Vector
+                pub const m_flConstantRadius: usize = 0x270; // float32
+                pub const m_flConstantRotation: usize = 0x274; // float32
+                pub const m_flConstantRotationSpeed: usize = 0x278; // float32
+                pub const m_flConstantLifespan: usize = 0x27C; // float32
+                pub const m_nConstantSequenceNumber: usize = 0x280; // int32
+                pub const m_nConstantSequenceNumber1: usize = 0x284; // int32
+                pub const m_nSnapshotControlPoint: usize = 0x288; // int32
+                pub const m_hSnapshot: usize = 0x290; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
+                pub const m_pszCullReplacementName: usize = 0x298; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_flCullRadius: usize = 0x2A0; // float32
+                pub const m_flCullFillCost: usize = 0x2A4; // float32
+                pub const m_nCullControlPoint: usize = 0x2A8; // int32
+                pub const m_hFallback: usize = 0x2B0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_nFallbackMaxCount: usize = 0x2B8; // int32
+                pub const m_hLowViolenceDef: usize = 0x2C0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_hReferenceReplacement: usize = 0x2C8; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_flPreSimulationTime: usize = 0x2D0; // float32
+                pub const m_flStopSimulationAfterTime: usize = 0x2D4; // float32
+                pub const m_flMaximumTimeStep: usize = 0x2D8; // float32
+                pub const m_flMaximumSimTime: usize = 0x2DC; // float32
+                pub const m_flMinimumSimTime: usize = 0x2E0; // float32
+                pub const m_flMinimumTimeStep: usize = 0x2E4; // float32
+                pub const m_nMinimumFrames: usize = 0x2E8; // int32
+                pub const m_nMinCPULevel: usize = 0x2EC; // int32
+                pub const m_nMinGPULevel: usize = 0x2F0; // int32
+                pub const m_flNoDrawTimeToGoToSleep: usize = 0x2F4; // float32
+                pub const m_flMaxDrawDistance: usize = 0x2F8; // float32
+                pub const m_flStartFadeDistance: usize = 0x2FC; // float32
+                pub const m_flMaxCreationDistance: usize = 0x300; // float32
+                pub const m_nAggregationMinAvailableParticles: usize = 0x304; // int32
+                pub const m_flAggregateRadius: usize = 0x308; // float32
+                pub const m_bShouldBatch: usize = 0x30C; // bool
+                pub const m_bShouldHitboxesFallbackToRenderBounds: usize = 0x30D; // bool
+                pub const m_bShouldHitboxesFallbackToSnapshot: usize = 0x30E; // bool
+                pub const m_bShouldHitboxesFallbackToCollisionHulls: usize = 0x30F; // bool
+                pub const m_nViewModelEffect: usize = 0x310; // InheritableBoolType_t
+                pub const m_bScreenSpaceEffect: usize = 0x314; // bool
+                pub const m_pszTargetLayerID: usize = 0x318; // CUtlSymbolLarge
+                pub const m_nSkipRenderControlPoint: usize = 0x320; // int32
+                pub const m_nAllowRenderControlPoint: usize = 0x324; // int32
+                pub const m_bShouldSort: usize = 0x328; // bool
+                pub const m_controlPointConfigurations: usize = 0x370; // CUtlVector<ParticleControlPointConfiguration_t>
+            }
+            // Parent: C_OP_RemapNamedModelElementEndCap
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelMeshGroupEndCap {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PercentageBetweenTransformsVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C4; // float32
+                pub const m_flInputMax: usize = 0x1C8; // float32
+                pub const m_vecOutputMin: usize = 0x1CC; // Vector
+                pub const m_vecOutputMax: usize = 0x1D8; // Vector
+                pub const m_TransformStart: usize = 0x1E8; // CParticleTransformInput
+                pub const m_TransformEnd: usize = 0x250; // CParticleTransformInput
+                pub const m_nSetMethod: usize = 0x2B8; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x2BC; // bool
+                pub const m_bRadialCheck: usize = 0x2BD; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderScreenVelocityRotate {
+                pub const m_flRotateRateDegrees: usize = 0x210; // float32
+                pub const m_flForwardDegrees: usize = 0x214; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_UpdateLightSource {
+                pub const m_vColorTint: usize = 0x1C0; // Color
+                pub const m_flBrightnessScale: usize = 0x1C4; // float32
+                pub const m_flRadiusScale: usize = 0x1C8; // float32
+                pub const m_flMinimumLightingRadius: usize = 0x1CC; // float32
+                pub const m_flMaximumLightingRadius: usize = 0x1D0; // float32
+                pub const m_flPositionDampingConstant: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateWithinBox {
+                pub const m_vecMin: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_vecMax: usize = 0x840; // CPerParticleVecInput
+                pub const m_nControlPointNumber: usize = 0xEB8; // int32
+                pub const m_bLocalSpace: usize = 0xEBC; // bool
+                pub const m_randomnessParameters: usize = 0xEC0; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ChooseRandomChildrenInGroup {
+                pub const m_nChildGroupID: usize = 0x1C8; // int32
+                pub const m_flNumberOfChildren: usize = 0x1D0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 33
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ControlpointLight {
+                pub const m_flScale: usize = 0x1C0; // float32
+                pub const m_nControlPoint1: usize = 0x650; // int32
+                pub const m_nControlPoint2: usize = 0x654; // int32
+                pub const m_nControlPoint3: usize = 0x658; // int32
+                pub const m_nControlPoint4: usize = 0x65C; // int32
+                pub const m_vecCPOffset1: usize = 0x660; // Vector
+                pub const m_vecCPOffset2: usize = 0x66C; // Vector
+                pub const m_vecCPOffset3: usize = 0x678; // Vector
+                pub const m_vecCPOffset4: usize = 0x684; // Vector
+                pub const m_LightFiftyDist1: usize = 0x690; // float32
+                pub const m_LightZeroDist1: usize = 0x694; // float32
+                pub const m_LightFiftyDist2: usize = 0x698; // float32
+                pub const m_LightZeroDist2: usize = 0x69C; // float32
+                pub const m_LightFiftyDist3: usize = 0x6A0; // float32
+                pub const m_LightZeroDist3: usize = 0x6A4; // float32
+                pub const m_LightFiftyDist4: usize = 0x6A8; // float32
+                pub const m_LightZeroDist4: usize = 0x6AC; // float32
+                pub const m_LightColor1: usize = 0x6B0; // Color
+                pub const m_LightColor2: usize = 0x6B4; // Color
+                pub const m_LightColor3: usize = 0x6B8; // Color
+                pub const m_LightColor4: usize = 0x6BC; // Color
+                pub const m_bLightType1: usize = 0x6C0; // bool
+                pub const m_bLightType2: usize = 0x6C1; // bool
+                pub const m_bLightType3: usize = 0x6C2; // bool
+                pub const m_bLightType4: usize = 0x6C3; // bool
+                pub const m_bLightDynamic1: usize = 0x6C4; // bool
+                pub const m_bLightDynamic2: usize = 0x6C5; // bool
+                pub const m_bLightDynamic3: usize = 0x6C6; // bool
+                pub const m_bLightDynamic4: usize = 0x6C7; // bool
+                pub const m_bUseNormal: usize = 0x6C8; // bool
+                pub const m_bUseHLambert: usize = 0x6C9; // bool
+                pub const m_bClampLowerRange: usize = 0x6CE; // bool
+                pub const m_bClampUpperRange: usize = 0x6CF; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_VectorFieldSnapshot {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nAttributeToWrite: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nLocalSpaceCP: usize = 0x1C8; // int32
+                pub const m_flInterpolation: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_vecScale: usize = 0x330; // CPerParticleVecInput
+                pub const m_flBoundaryDampening: usize = 0x9A8; // float32
+                pub const m_bSetVelocity: usize = 0x9AC; // bool
+                pub const m_bLockToSurface: usize = 0x9AD; // bool
+                pub const m_flGridSpacing: usize = 0x9B0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CylindricalDistanceToTransform {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flInputMax: usize = 0x328; // CPerParticleFloatInput
+                pub const m_flOutputMin: usize = 0x488; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x5E8; // CPerParticleFloatInput
+                pub const m_TransformStart: usize = 0x748; // CParticleTransformInput
+                pub const m_TransformEnd: usize = 0x7B0; // CParticleTransformInput
+                pub const m_nSetMethod: usize = 0x818; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x81C; // bool
+                pub const m_bAdditive: usize = 0x81D; // bool
+                pub const m_bCapsule: usize = 0x81E; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PositionPlaceOnGround {
+                pub const m_flOffset: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flMaxTraceLength: usize = 0x328; // CPerParticleFloatInput
+                pub const m_CollisionGroupName: usize = 0x488; // char[128]
+                pub const m_nTraceSet: usize = 0x508; // ParticleTraceSet_t
+                pub const m_nTraceMissBehavior: usize = 0x518; // ParticleTraceMissBehavior_t
+                pub const m_bIncludeWater: usize = 0x51C; // bool
+                pub const m_bSetNormal: usize = 0x51D; // bool
+                pub const m_bSetPXYZOnly: usize = 0x51E; // bool
+                pub const m_bTraceAlongNormal: usize = 0x51F; // bool
+                pub const m_bOffsetonColOnly: usize = 0x520; // bool
+                pub const m_flOffsetByRadiusFactor: usize = 0x524; // float32
+                pub const m_nPreserveOffsetCP: usize = 0x528; // int32
+                pub const m_nIgnoreCP: usize = 0x52C; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomScalar {
+                pub const m_flMin: usize = 0x1C8; // float32
+                pub const m_flMax: usize = 0x1CC; // float32
+                pub const m_flExponent: usize = 0x1D0; // float32
+                pub const m_nFieldOutput: usize = 0x1D4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderPostProcessing {
+                pub const m_flPostProcessStrength: usize = 0x210; // CPerParticleFloatInput
+                pub const m_hPostTexture: usize = 0x370; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+                pub const m_nPriority: usize = 0x378; // ParticlePostProcessPriorityGroup_t
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 27
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_WorldTraceConstraint {
+                pub const m_nCP: usize = 0x1C0; // int32
+                pub const m_vecCpOffset: usize = 0x1C4; // Vector
+                pub const m_nCollisionMode: usize = 0x1D0; // ParticleCollisionMode_t
+                pub const m_nCollisionModeMin: usize = 0x1D4; // ParticleCollisionMode_t
+                pub const m_nTraceSet: usize = 0x1D8; // ParticleTraceSet_t
+                pub const m_CollisionGroupName: usize = 0x1DC; // char[128]
+                pub const m_bWorldOnly: usize = 0x25C; // bool
+                pub const m_bBrushOnly: usize = 0x25D; // bool
+                pub const m_bIncludeWater: usize = 0x25E; // bool
+                pub const m_nIgnoreCP: usize = 0x260; // int32
+                pub const m_flCpMovementTolerance: usize = 0x264; // float32
+                pub const m_flRetestRate: usize = 0x268; // float32
+                pub const m_flTraceTolerance: usize = 0x26C; // float32
+                pub const m_flCollisionConfirmationSpeed: usize = 0x270; // float32
+                pub const m_nMaxTracesPerFrame: usize = 0x274; // float32
+                pub const m_flRadiusScale: usize = 0x278; // CPerParticleFloatInput
+                pub const m_flBounceAmount: usize = 0x3D8; // CPerParticleFloatInput
+                pub const m_flSlideAmount: usize = 0x538; // CPerParticleFloatInput
+                pub const m_flRandomDirScale: usize = 0x698; // CPerParticleFloatInput
+                pub const m_bDecayBounce: usize = 0x7F8; // bool
+                pub const m_bKillonContact: usize = 0x7F9; // bool
+                pub const m_flMinSpeed: usize = 0x7FC; // float32
+                pub const m_bSetNormal: usize = 0x800; // bool
+                pub const m_nStickOnCollisionField: usize = 0x804; // ParticleAttributeIndex_t
+                pub const m_flStopSpeed: usize = 0x808; // CPerParticleFloatInput
+                pub const m_nEntityStickDataField: usize = 0x968; // ParticleAttributeIndex_t
+                pub const m_nEntityStickNormalField: usize = 0x96C; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleVecInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CParticleCollectionVecInput {
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderBlobs {
+                pub const m_cubeWidth: usize = 0x210; // CParticleCollectionRendererFloatInput
+                pub const m_cutoffRadius: usize = 0x370; // CParticleCollectionRendererFloatInput
+                pub const m_renderRadius: usize = 0x4D0; // CParticleCollectionRendererFloatInput
+                pub const m_nVertexCountKb: usize = 0x630; // uint32
+                pub const m_nIndexCountKb: usize = 0x634; // uint32
+                pub const m_nScaleCP: usize = 0x638; // int32
+                pub const m_MaterialVars: usize = 0x640; // CUtlVector<MaterialVariable_t>
+                pub const m_hMaterial: usize = 0x670; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_OscillateScalar {
+                pub const m_RateMin: usize = 0x1C0; // float32
+                pub const m_RateMax: usize = 0x1C4; // float32
+                pub const m_FrequencyMin: usize = 0x1C8; // float32
+                pub const m_FrequencyMax: usize = 0x1CC; // float32
+                pub const m_nField: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_bProportional: usize = 0x1D4; // bool
+                pub const m_bProportionalOp: usize = 0x1D5; // bool
+                pub const m_flStartTime_min: usize = 0x1D8; // float32
+                pub const m_flStartTime_max: usize = 0x1DC; // float32
+                pub const m_flEndTime_min: usize = 0x1E0; // float32
+                pub const m_flEndTime_max: usize = 0x1E4; // float32
+                pub const m_flOscMult: usize = 0x1E8; // float32
+                pub const m_flOscAdd: usize = 0x1EC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_FadeOut {
+                pub const m_flFadeOutTimeMin: usize = 0x1C0; // float32
+                pub const m_flFadeOutTimeMax: usize = 0x1C4; // float32
+                pub const m_flFadeOutTimeExp: usize = 0x1C8; // float32
+                pub const m_flFadeBias: usize = 0x1CC; // float32
+                pub const m_bProportional: usize = 0x200; // bool
+                pub const m_bEaseInAndOut: usize = 0x201; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomSequence {
+                pub const m_nSequenceMin: usize = 0x1C8; // int32
+                pub const m_nSequenceMax: usize = 0x1CC; // int32
+                pub const m_bShuffle: usize = 0x1D0; // bool
+                pub const m_bLinear: usize = 0x1D1; // bool
+                pub const m_WeightedList: usize = 0x1D8; // CUtlVector<SequenceWeightedList_t>
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RampScalarSplineSimple {
+                pub const m_Rate: usize = 0x1C0; // float32
+                pub const m_flStartTime: usize = 0x1C4; // float32
+                pub const m_flEndTime: usize = 0x1C8; // float32
+                pub const m_nField: usize = 0x1F0; // ParticleAttributeIndex_t
+                pub const m_bEaseOut: usize = 0x1F4; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_DistanceCull {
+                pub const m_nControlPoint: usize = 0x1C8; // int32
+                pub const m_flDistance: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_bCullInside: usize = 0x330; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CollideWithParentParticles {
+                pub const m_flParentRadiusScale: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_flRadiusScale: usize = 0x320; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitFromVectorFieldSnapshot {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nLocalSpaceCP: usize = 0x1CC; // int32
+                pub const m_nWeightUpdateCP: usize = 0x1D0; // int32
+                pub const m_bUseVerticalVelocity: usize = 0x1D4; // bool
+                pub const m_vecScale: usize = 0x1D8; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetVectorAttributeToVectorExpression {
+                pub const m_nExpression: usize = 0x1C0; // VectorExpressionType_t
+                pub const m_vInput1: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_vInput2: usize = 0x840; // CPerParticleVecInput
+                pub const m_nOutputField: usize = 0xEB8; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0xEBC; // ParticleSetMethod_t
+                pub const m_bNormalizedOutput: usize = 0xEC0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_AddVectorToVector {
+                pub const m_vecScale: usize = 0x1C8; // Vector
+                pub const m_nFieldOutput: usize = 0x1D4; // ParticleAttributeIndex_t
+                pub const m_nFieldInput: usize = 0x1D8; // ParticleAttributeIndex_t
+                pub const m_vOffsetMin: usize = 0x1DC; // Vector
+                pub const m_vOffsetMax: usize = 0x1E8; // Vector
+                pub const m_randomnessParameters: usize = 0x1F4; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapInitialVisibilityScalar {
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1D0; // float32
+                pub const m_flInputMax: usize = 0x1D4; // float32
+                pub const m_flOutputMin: usize = 0x1D8; // float32
+                pub const m_flOutputMax: usize = 0x1DC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapTransformOrientationToYaw {
+                pub const m_TransformInput: usize = 0x1C0; // CParticleTransformInput
+                pub const m_nFieldOutput: usize = 0x228; // ParticleAttributeIndex_t
+                pub const m_flRotOffset: usize = 0x22C; // float32
+                pub const m_flSpinStrength: usize = 0x230; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderStatusEffect {
+                pub const m_pTextureColorWarp: usize = 0x210; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureDetail2: usize = 0x218; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureDiffuseWarp: usize = 0x220; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureFresnelColorWarp: usize = 0x228; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureFresnelWarp: usize = 0x230; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureSpecularWarp: usize = 0x238; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureEnvMap: usize = 0x240; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RandomForce {
+                pub const m_MinForce: usize = 0x1D0; // Vector
+                pub const m_MaxForce: usize = 0x1DC; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapParticleCountOnScalarEndCap {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nInputMin: usize = 0x1C4; // int32
+                pub const m_nInputMax: usize = 0x1C8; // int32
+                pub const m_flOutputMin: usize = 0x1CC; // float32
+                pub const m_flOutputMax: usize = 0x1D0; // float32
+                pub const m_bBackwards: usize = 0x1D4; // bool
+                pub const m_nSetMethod: usize = 0x1D8; // ParticleSetMethod_t
+            }
+            // Parent: None
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticlePreviewState_t {
+                pub const m_previewModel: usize = 0x0; // CUtlString
+                pub const m_nModSpecificData: usize = 0x8; // uint32
+                pub const m_groundType: usize = 0xC; // PetGroundType_t
+                pub const m_sequenceName: usize = 0x10; // CUtlString
+                pub const m_nFireParticleOnSequenceFrame: usize = 0x18; // int32
+                pub const m_hitboxSetName: usize = 0x20; // CUtlString
+                pub const m_materialGroupName: usize = 0x28; // CUtlString
+                pub const m_vecBodyGroups: usize = 0x30; // CUtlVector<ParticlePreviewBodyGroup_t>
+                pub const m_flPlaybackSpeed: usize = 0x48; // float32
+                pub const m_flParticleSimulationRate: usize = 0x4C; // float32
+                pub const m_bShouldDrawHitboxes: usize = 0x50; // bool
+                pub const m_bShouldDrawAttachments: usize = 0x51; // bool
+                pub const m_bShouldDrawAttachmentNames: usize = 0x52; // bool
+                pub const m_bShouldDrawControlPointAxes: usize = 0x53; // bool
+                pub const m_bAnimationNonLooping: usize = 0x54; // bool
+                pub const m_vecPreviewGravity: usize = 0x58; // Vector
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LocalAccelerationForce {
+                pub const m_nCP: usize = 0x1D0; // int32
+                pub const m_nScaleCP: usize = 0x1D4; // int32
+                pub const m_vecAccel: usize = 0x1D8; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ModelCull {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_bBoundBox: usize = 0x1C4; // bool
+                pub const m_bCullOutside: usize = 0x1C5; // bool
+                pub const m_bUseBones: usize = 0x1C6; // bool
+                pub const m_HitboxSetName: usize = 0x1C7; // char[128]
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetFloat {
+                pub const m_InputValue: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_nOutputField: usize = 0x320; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x324; // ParticleSetMethod_t
+                pub const m_Lerp: usize = 0x328; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapTransformToVector {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_vInputMin: usize = 0x1CC; // Vector
+                pub const m_vInputMax: usize = 0x1D8; // Vector
+                pub const m_vOutputMin: usize = 0x1E4; // Vector
+                pub const m_vOutputMax: usize = 0x1F0; // Vector
+                pub const m_TransformInput: usize = 0x200; // CParticleTransformInput
+                pub const m_LocalSpaceTransform: usize = 0x268; // CParticleTransformInput
+                pub const m_flStartTime: usize = 0x2D0; // float32
+                pub const m_flEndTime: usize = 0x2D4; // float32
+                pub const m_nSetMethod: usize = 0x2D8; // ParticleSetMethod_t
+                pub const m_bOffset: usize = 0x2DC; // bool
+                pub const m_bAccelerate: usize = 0x2DD; // bool
+                pub const m_flRemapBias: usize = 0x2E0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SDFLighting {
+                pub const m_vLightingDir: usize = 0x1C0; // Vector
+                pub const m_vTint_0: usize = 0x1CC; // Vector
+                pub const m_vTint_1: usize = 0x1D8; // Vector
+            }
+            // Parent: C_OP_RemapDistanceToLineSegmentBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDistanceToLineSegmentToScalar {
+                pub const m_nFieldOutput: usize = 0x1D8; // ParticleAttributeIndex_t
+                pub const m_flMinOutputValue: usize = 0x1DC; // float32
+                pub const m_flMaxOutputValue: usize = 0x1E0; // float32
+            }
+            // Parent: CParticleFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CParticleRemapFloatInput {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapVectortoCP {
+                pub const m_nOutControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nFieldInput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nParticleNumber: usize = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetFromCPSnapshot {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nAttributeToRead: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nAttributeToWrite: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nLocalSpaceCP: usize = 0x1CC; // int32
+                pub const m_bRandom: usize = 0x1D0; // bool
+                pub const m_bReverse: usize = 0x1D1; // bool
+                pub const m_nRandomSeed: usize = 0x1D4; // int32
+                pub const m_nSnapShotStartPoint: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_nSnapShotIncrement: usize = 0x338; // CParticleCollectionFloatInput
+                pub const m_flInterpolation: usize = 0x498; // CPerParticleFloatInput
+                pub const m_bSubSample: usize = 0x5F8; // bool
+                pub const m_bPrev: usize = 0x5F9; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DistanceBetweenCPsToCP {
+                pub const m_nStartCP: usize = 0x1C8; // int32
+                pub const m_nEndCP: usize = 0x1CC; // int32
+                pub const m_nOutputCP: usize = 0x1D0; // int32
+                pub const m_nOutputCPField: usize = 0x1D4; // int32
+                pub const m_bSetOnce: usize = 0x1D8; // bool
+                pub const m_flInputMin: usize = 0x1DC; // float32
+                pub const m_flInputMax: usize = 0x1E0; // float32
+                pub const m_flOutputMin: usize = 0x1E4; // float32
+                pub const m_flOutputMax: usize = 0x1E8; // float32
+                pub const m_flMaxTraceLength: usize = 0x1EC; // float32
+                pub const m_flLOSScale: usize = 0x1F0; // float32
+                pub const m_bLOS: usize = 0x1F4; // bool
+                pub const m_CollisionGroupName: usize = 0x1F5; // char[128]
+                pub const m_nTraceSet: usize = 0x278; // ParticleTraceSet_t
+                pub const m_nSetParent: usize = 0x27C; // ParticleParentSetMode_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToHand {
+                pub const m_nCP1: usize = 0x1C8; // int32
+                pub const m_nHand: usize = 0x1CC; // int32
+                pub const m_vecCP1Pos: usize = 0x1D0; // Vector
+                pub const m_bOrientToHand: usize = 0x1DC; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ConstrainDistanceToPath {
+                pub const m_fMinDistance: usize = 0x1C0; // float32
+                pub const m_flMaxDistance0: usize = 0x1C4; // float32
+                pub const m_flMaxDistanceMid: usize = 0x1C8; // float32
+                pub const m_flMaxDistance1: usize = 0x1CC; // float32
+                pub const m_PathParameters: usize = 0x1D0; // CPathParameters
+                pub const m_flTravelTime: usize = 0x210; // float32
+                pub const m_nFieldScale: usize = 0x214; // ParticleAttributeIndex_t
+                pub const m_nManualTField: usize = 0x218; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DistanceCull {
+                pub const m_nControlPoint: usize = 0x1C0; // int32
+                pub const m_vecPointOffset: usize = 0x1C4; // Vector
+                pub const m_flDistance: usize = 0x1D0; // float32
+                pub const m_bCullInside: usize = 0x1D4; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapSDFDistanceToScalarAttribute {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nVectorFieldInput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flMinDistance: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_flMaxDistance: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_flValueBelowMin: usize = 0x488; // CParticleCollectionFloatInput
+                pub const m_flValueAtMin: usize = 0x5E8; // CParticleCollectionFloatInput
+                pub const m_flValueAtMax: usize = 0x748; // CParticleCollectionFloatInput
+                pub const m_flValueAboveMax: usize = 0x8A8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateAlongPath {
+                pub const m_fMaxDistance: usize = 0x1C8; // float32
+                pub const m_PathParams: usize = 0x1D0; // CPathParameters
+                pub const m_bUseRandomCPs: usize = 0x210; // bool
+                pub const m_vEndOffset: usize = 0x214; // Vector
+                pub const m_bSaveOffset: usize = 0x220; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointsToModelParticles {
+                pub const m_HitboxSetName: usize = 0x1C0; // char[128]
+                pub const m_AttachmentName: usize = 0x240; // char[128]
+                pub const m_nFirstControlPoint: usize = 0x2C0; // int32
+                pub const m_nNumControlPoints: usize = 0x2C4; // int32
+                pub const m_nFirstSourcePoint: usize = 0x2C8; // int32
+                pub const m_bSkin: usize = 0x2CC; // bool
+                pub const m_bAttachment: usize = 0x2CD; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ColorInterpolateRandom {
+                pub const m_ColorFadeMin: usize = 0x1C0; // Color
+                pub const m_ColorFadeMax: usize = 0x1DC; // Color
+                pub const m_flFadeStartTime: usize = 0x1EC; // float32
+                pub const m_flFadeEndTime: usize = 0x1F0; // float32
+                pub const m_nFieldOutput: usize = 0x1F4; // ParticleAttributeIndex_t
+                pub const m_bEaseInOut: usize = 0x1F8; // bool
+            }
+            // Parent: C_INIT_RemapNamedModelElementToScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapNamedModelSequenceToScalar {
+            }
+            // Parent: C_OP_RenderPoints
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderLights {
+                pub const m_flAnimationRate: usize = 0x218; // float32
+                pub const m_nAnimationType: usize = 0x21C; // AnimationType_t
+                pub const m_bAnimateInFPS: usize = 0x220; // bool
+                pub const m_flMinSize: usize = 0x224; // float32
+                pub const m_flMaxSize: usize = 0x228; // float32
+                pub const m_flStartFadeSize: usize = 0x22C; // float32
+                pub const m_flEndFadeSize: usize = 0x230; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DecayClampCount {
+                pub const m_nCount: usize = 0x1C0; // CParticleCollectionFloatInput
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRandomNumberGeneratorParameters {
+                pub const m_bDistributeEvenly: usize = 0x0; // bool
+                pub const m_nSeed: usize = 0x4; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_ColorLitPerParticle {
+                pub const m_ColorMin: usize = 0x1E0; // Color
+                pub const m_ColorMax: usize = 0x1E4; // Color
+                pub const m_TintMin: usize = 0x1E8; // Color
+                pub const m_TintMax: usize = 0x1EC; // Color
+                pub const m_flTintPerc: usize = 0x1F0; // float32
+                pub const m_nTintBlendMode: usize = 0x1F4; // ParticleColorBlendMode_t
+                pub const m_flLightAmplification: usize = 0x1F8; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderPoints {
+                pub const m_hMaterial: usize = 0x210; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SetAttributeToScalarExpression {
+                pub const m_nExpression: usize = 0x1C8; // ScalarExpressionType_t
+                pub const m_flInput1: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_flInput2: usize = 0x330; // CPerParticleFloatInput
+                pub const m_flOutputRemap: usize = 0x490; // CParticleRemapFloatInput
+                pub const m_nOutputField: usize = 0x5F0; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x5F4; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateOnGrid {
+                pub const m_nXCount: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_nYCount: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_nZCount: usize = 0x488; // CParticleCollectionFloatInput
+                pub const m_nXSpacing: usize = 0x5E8; // CParticleCollectionFloatInput
+                pub const m_nYSpacing: usize = 0x748; // CParticleCollectionFloatInput
+                pub const m_nZSpacing: usize = 0x8A8; // CParticleCollectionFloatInput
+                pub const m_nControlPointNumber: usize = 0xA08; // int32
+                pub const m_bLocalSpace: usize = 0xA0C; // bool
+                pub const m_bCenter: usize = 0xA0D; // bool
+                pub const m_bHollow: usize = 0xA0E; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RampCPLinearRandom {
+                pub const m_nOutControlPointNumber: usize = 0x1C8; // int32
+                pub const m_vecRateMin: usize = 0x1CC; // Vector
+                pub const m_vecRateMax: usize = 0x1D8; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_VelocityMatchingForce {
+                pub const m_flDirScale: usize = 0x1C0; // float32
+                pub const m_flSpdScale: usize = 0x1C4; // float32
+                pub const m_flNeighborDistance: usize = 0x1C8; // float32
+                pub const m_flFacingStrength: usize = 0x1CC; // float32
+                pub const m_bUseAABB: usize = 0x1D0; // bool
+                pub const m_nCPBroadcast: usize = 0x1D4; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomAlphaWindowThreshold {
+                pub const m_flMin: usize = 0x1C8; // float32
+                pub const m_flMax: usize = 0x1CC; // float32
+                pub const m_flExponent: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateOnModelAtHeight {
+                pub const m_bUseBones: usize = 0x1C8; // bool
+                pub const m_bForceZ: usize = 0x1C9; // bool
+                pub const m_nControlPointNumber: usize = 0x1CC; // int32
+                pub const m_nHeightCP: usize = 0x1D0; // int32
+                pub const m_bUseWaterHeight: usize = 0x1D4; // bool
+                pub const m_flDesiredHeight: usize = 0x1D8; // CParticleCollectionFloatInput
+                pub const m_vecHitBoxScale: usize = 0x338; // CParticleCollectionVecInput
+                pub const m_vecDirectionBias: usize = 0x9B0; // CParticleCollectionVecInput
+                pub const m_nBiasType: usize = 0x1028; // ParticleHitboxBiasType_t
+                pub const m_bLocalCoords: usize = 0x102C; // bool
+                pub const m_bPreferMovingBoxes: usize = 0x102D; // bool
+                pub const m_HitboxSetName: usize = 0x102E; // char[128]
+                pub const m_flHitboxVelocityScale: usize = 0x10B0; // CParticleCollectionFloatInput
+                pub const m_flMaxBoneVelocity: usize = 0x1210; // CParticleCollectionFloatInput
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CParticleVariableRef {
+                pub const m_variableName: usize = 0x0; // CKV3MemberNameWithStorage
+                pub const m_variableType: usize = 0x38; // PulseValueType_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RestartAfterDuration {
+                pub const m_flDurationMin: usize = 0x1C0; // float32
+                pub const m_flDurationMax: usize = 0x1C4; // float32
+                pub const m_nCP: usize = 0x1C8; // int32
+                pub const m_nCPField: usize = 0x1CC; // int32
+                pub const m_nChildGroupID: usize = 0x1D0; // int32
+                pub const m_bOnlyChildren: usize = 0x1D4; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderClothForce {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapVisibilityScalar {
+                pub const m_nFieldInput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // float32
+                pub const m_flInputMax: usize = 0x1CC; // float32
+                pub const m_flOutputMin: usize = 0x1D0; // float32
+                pub const m_flOutputMax: usize = 0x1D4; // float32
+                pub const m_flRadiusScale: usize = 0x1D8; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MParticleMinVersion
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateSequentialPathV2 {
+                pub const m_fMaxDistance: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flNumToAssign: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_bLoop: usize = 0x488; // bool
+                pub const m_bCPPairs: usize = 0x489; // bool
+                pub const m_bSaveOffset: usize = 0x48A; // bool
+                pub const m_PathParams: usize = 0x490; // CPathParameters
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VecInputMaterialVariable_t {
+                pub const m_strVariable: usize = 0x0; // CUtlString
+                pub const m_vecInput: usize = 0x8; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapInitialDirectionToTransformToVector {
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_nFieldOutput: usize = 0x230; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x234; // float32
+                pub const m_flOffsetRot: usize = 0x238; // float32
+                pub const m_vecOffsetAxis: usize = 0x23C; // Vector
+                pub const m_bNormalize: usize = 0x248; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MParticleMinVersion
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LockToSavedSequentialPathV2 {
+                pub const m_flFadeStart: usize = 0x1C0; // float32
+                pub const m_flFadeEnd: usize = 0x1C4; // float32
+                pub const m_bCPPairs: usize = 0x1C8; // bool
+                pub const m_PathParams: usize = 0x1D0; // CPathParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_NormalLock {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapTransformOrientationToRotations {
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_vecRotation: usize = 0x230; // Vector
+                pub const m_bUseQuat: usize = 0x23C; // bool
+                pub const m_bWriteNormal: usize = 0x23D; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Cull {
+                pub const m_flCullPerc: usize = 0x1C0; // float32
+                pub const m_flCullStart: usize = 0x1C4; // float32
+                pub const m_flCullEnd: usize = 0x1C8; // float32
+                pub const m_flCullExp: usize = 0x1CC; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomYawFlip {
+                pub const m_flPercent: usize = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapSDFGradientToVectorAttribute {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SequenceWeightedList_t {
+                pub const m_nSequence: usize = 0x0; // int32
+                pub const m_flRelativeWeight: usize = 0x4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ReadFromNeighboringParticle {
+                pub const m_nFieldInput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nIncrement: usize = 0x1C8; // int32
+                pub const m_DistanceCheck: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_flInterpolation: usize = 0x330; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderText {
+                pub const m_OutlineColor: usize = 0x210; // Color
+                pub const m_DefaultText: usize = 0x218; // CUtlString
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LerpToInitialPosition {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_flInterpolation: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_nCacheField: usize = 0x328; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x330; // CParticleCollectionFloatInput
+                pub const m_vecScale: usize = 0x490; // CParticleCollectionVecInput
+            }
+            // Parent: CGeneralRandomRotation
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomRotation {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LerpEndCapVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecOutput: usize = 0x1C4; // Vector
+                pub const m_flLerpTime: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_VelocityDecay {
+                pub const m_flMinVelocity: usize = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetCPOrientationToPointAtCP {
+                pub const m_nInputCP: usize = 0x1C8; // int32
+                pub const m_nOutputCP: usize = 0x1CC; // int32
+                pub const m_flInterpolation: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_b2DOrientation: usize = 0x330; // bool
+                pub const m_bAvoidSingularity: usize = 0x331; // bool
+                pub const m_bPointAway: usize = 0x332; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LockToPointList {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_pointList: usize = 0x1C8; // CUtlVector<PointDefinition_t>
+                pub const m_bPlaceAlongPath: usize = 0x1E0; // bool
+                pub const m_bClosedLoop: usize = 0x1E1; // bool
+                pub const m_nNumPointsAlongPath: usize = 0x1E4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 17
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementPlaceOnGround {
+                pub const m_flOffset: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_flMaxTraceLength: usize = 0x320; // float32
+                pub const m_flTolerance: usize = 0x324; // float32
+                pub const m_flTraceOffset: usize = 0x328; // float32
+                pub const m_flLerpRate: usize = 0x32C; // float32
+                pub const m_CollisionGroupName: usize = 0x330; // char[128]
+                pub const m_nTraceSet: usize = 0x3B0; // ParticleTraceSet_t
+                pub const m_nRefCP1: usize = 0x3B4; // int32
+                pub const m_nRefCP2: usize = 0x3B8; // int32
+                pub const m_nLerpCP: usize = 0x3BC; // int32
+                pub const m_nTraceMissBehavior: usize = 0x3C8; // ParticleTraceMissBehavior_t
+                pub const m_bIncludeShotHull: usize = 0x3CC; // bool
+                pub const m_bIncludeWater: usize = 0x3CD; // bool
+                pub const m_bSetNormal: usize = 0x3D0; // bool
+                pub const m_bScaleOffset: usize = 0x3D1; // bool
+                pub const m_nPreserveOffsetCP: usize = 0x3D4; // int32
+                pub const m_nIgnoreCP: usize = 0x3D8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetCPOrientationToDirection {
+                pub const m_nInputControlPoint: usize = 0x1C0; // int32
+                pub const m_nOutputControlPoint: usize = 0x1C4; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapCrossProductOfTwoVectorsToVector {
+                pub const m_InputVec1: usize = 0x1C0; // CPerParticleVecInput
+                pub const m_InputVec2: usize = 0x838; // CPerParticleVecInput
+                pub const m_nFieldOutput: usize = 0xEB0; // ParticleAttributeIndex_t
+                pub const m_bNormalize: usize = 0xEB4; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapTransformOrientationToRotations {
+                pub const m_TransformInput: usize = 0x1C0; // CParticleTransformInput
+                pub const m_vecRotation: usize = 0x228; // Vector
+                pub const m_bUseQuat: usize = 0x234; // bool
+                pub const m_bWriteNormal: usize = 0x235; // bool
+            }
+            // Parent: CGeneralRandomRotation
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomRotationSpeed {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MParticleMinVersion
+            // MGetKV3ClassDefaults
+            pub mod C_OP_InheritFromParentParticlesV2 {
+                pub const m_flScale: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nIncrement: usize = 0x1C8; // int32
+                pub const m_bRandomDistribution: usize = 0x1CC; // bool
+                pub const m_nMissingParentBehavior: usize = 0x1D0; // MissingParentInheritBehavior_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomSecondSequence {
+                pub const m_nSequenceMin: usize = 0x1C8; // int32
+                pub const m_nSequenceMax: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetFloatCollection {
+                pub const m_InputValue: usize = 0x1C0; // CParticleCollectionFloatInput
+                pub const m_nOutputField: usize = 0x320; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x324; // ParticleSetMethod_t
+                pub const m_Lerp: usize = 0x328; // CParticleCollectionFloatInput
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PointDefinition_t {
+                pub const m_nControlPoint: usize = 0x0; // int32
+                pub const m_bLocalCoords: usize = 0x4; // bool
+                pub const m_vOffset: usize = 0x8; // Vector
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointPositionToRandomActiveCP {
+                pub const m_nCP1: usize = 0x1C8; // int32
+                pub const m_nHeadLocationMin: usize = 0x1CC; // int32
+                pub const m_nHeadLocationMax: usize = 0x1D0; // int32
+                pub const m_flResetRate: usize = 0x1D8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Diffusion {
+                pub const m_flRadiusScale: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nVoxelGridResolution: usize = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_AgeNoise {
+                pub const m_bAbsVal: usize = 0x1C8; // bool
+                pub const m_bAbsValInv: usize = 0x1C9; // bool
+                pub const m_flOffset: usize = 0x1CC; // float32
+                pub const m_flAgeMin: usize = 0x1D0; // float32
+                pub const m_flAgeMax: usize = 0x1D4; // float32
+                pub const m_flNoiseScale: usize = 0x1D8; // float32
+                pub const m_flNoiseScaleLoc: usize = 0x1DC; // float32
+                pub const m_vecOffsetLoc: usize = 0x1E0; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapVectorComponentToScalar {
+                pub const m_nFieldInput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nComponent: usize = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CGeneralRandomRotation {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_flDegrees: usize = 0x1CC; // float32
+                pub const m_flDegreesMin: usize = 0x1D0; // float32
+                pub const m_flDegreesMax: usize = 0x1D4; // float32
+                pub const m_flRotationRandExponent: usize = 0x1D8; // float32
+                pub const m_bRandomlyFlipDirection: usize = 0x1DC; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DistanceBetweenVecs {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecPoint1: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_vecPoint2: usize = 0x840; // CPerParticleVecInput
+                pub const m_flInputMin: usize = 0xEB8; // CPerParticleFloatInput
+                pub const m_flInputMax: usize = 0x1018; // CPerParticleFloatInput
+                pub const m_flOutputMin: usize = 0x1178; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x12D8; // CPerParticleFloatInput
+                pub const m_nSetMethod: usize = 0x1438; // ParticleSetMethod_t
+                pub const m_bDeltaTime: usize = 0x143C; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DampenToCP {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_flRange: usize = 0x1C4; // float32
+                pub const m_flScale: usize = 0x1C8; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CalculateVectorAttribute {
+                pub const m_vStartValue: usize = 0x1C0; // Vector
+                pub const m_nFieldInput1: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_flInputScale1: usize = 0x1D0; // float32
+                pub const m_nFieldInput2: usize = 0x1D4; // ParticleAttributeIndex_t
+                pub const m_flInputScale2: usize = 0x1D8; // float32
+                pub const m_nControlPointInput1: usize = 0x1DC; // ControlPointReference_t
+                pub const m_flControlPointScale1: usize = 0x1F0; // float32
+                pub const m_nControlPointInput2: usize = 0x1F4; // ControlPointReference_t
+                pub const m_flControlPointScale2: usize = 0x208; // float32
+                pub const m_nFieldOutput: usize = 0x20C; // ParticleAttributeIndex_t
+                pub const m_vFinalOutputScale: usize = 0x210; // Vector
+            }
+            // Parent: CParticleInput
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            // MParticleCustomFieldDefaultValue
+            pub mod CParticleTransformInput {
+                pub const m_nType: usize = 0x10; // ParticleTransformType_t
+                pub const m_NamedValue: usize = 0x18; // CParticleNamedValueRef
+                pub const m_bFollowNamedValue: usize = 0x58; // bool
+                pub const m_bSupportsDisabled: usize = 0x59; // bool
+                pub const m_bUseOrientation: usize = 0x5A; // bool
+                pub const m_nControlPoint: usize = 0x5C; // int32
+                pub const m_nControlPointRangeMax: usize = 0x60; // int32
+                pub const m_flEndCPGrowthTime: usize = 0x64; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LockToBone {
+                pub const m_modelInput: usize = 0x1C0; // CParticleModelInput
+                pub const m_transformInput: usize = 0x220; // CParticleTransformInput
+                pub const m_flLifeTimeFadeStart: usize = 0x288; // float32
+                pub const m_flLifeTimeFadeEnd: usize = 0x28C; // float32
+                pub const m_flJumpThreshold: usize = 0x290; // float32
+                pub const m_flPrevPosScale: usize = 0x294; // float32
+                pub const m_HitboxSetName: usize = 0x298; // char[128]
+                pub const m_bRigid: usize = 0x318; // bool
+                pub const m_bUseBones: usize = 0x319; // bool
+                pub const m_nFieldOutput: usize = 0x31C; // ParticleAttributeIndex_t
+                pub const m_nFieldOutputPrev: usize = 0x320; // ParticleAttributeIndex_t
+                pub const m_nRotationSetType: usize = 0x324; // ParticleRotationLockType_t
+                pub const m_bRigidRotationLock: usize = 0x328; // bool
+                pub const m_vecRotation: usize = 0x330; // CPerParticleVecInput
+                pub const m_flRotLerp: usize = 0x9A8; // CPerParticleFloatInput
+            }
+            // Parent: C_OP_RemapNamedModelElementOnceTimed
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelBodyPartOnceTimed {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementMaintainOffset {
+                pub const m_vecOffset: usize = 0x1C0; // Vector
+                pub const m_nCP: usize = 0x1CC; // int32
+                pub const m_bRadiusScale: usize = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetVec {
+                pub const m_InputValue: usize = 0x1C0; // CPerParticleVecInput
+                pub const m_nOutputField: usize = 0x838; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x83C; // ParticleSetMethod_t
+                pub const m_Lerp: usize = 0x840; // CPerParticleFloatInput
+                pub const m_bNormalizedOutput: usize = 0x9A0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateFromParentParticles {
+                pub const m_flVelocityScale: usize = 0x1C8; // float32
+                pub const m_flIncrement: usize = 0x1CC; // float32
+                pub const m_bRandomDistribution: usize = 0x1D0; // bool
+                pub const m_nRandomSeed: usize = 0x1D4; // int32
+                pub const m_bSubFrame: usize = 0x1D8; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod IParticleEffect {
+            }
+            // Parent: C_INIT_RandomNamedModelElement
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomNamedModelBodyPart {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PARTICLE_EHANDLE__ {
+                pub const unused: usize = 0x0; // int32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderOmni2Light {
+                pub const m_nLightType: usize = 0x210; // ParticleOmni2LightTypeChoiceList_t
+                pub const m_vColorBlend: usize = 0x218; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0x890; // ParticleColorBlendType_t
+                pub const m_nBrightnessUnit: usize = 0x894; // ParticleLightUnitChoiceList_t
+                pub const m_flBrightnessLumens: usize = 0x898; // CPerParticleFloatInput
+                pub const m_flBrightnessCandelas: usize = 0x9F8; // CPerParticleFloatInput
+                pub const m_bCastShadows: usize = 0xB58; // bool
+                pub const m_bFog: usize = 0xB59; // bool
+                pub const m_flFogScale: usize = 0xB60; // CPerParticleFloatInput
+                pub const m_flLuminaireRadius: usize = 0xCC0; // CPerParticleFloatInput
+                pub const m_flSkirt: usize = 0xE20; // CPerParticleFloatInput
+                pub const m_flRange: usize = 0xF80; // CPerParticleFloatInput
+                pub const m_flInnerConeAngle: usize = 0x10E0; // CPerParticleFloatInput
+                pub const m_flOuterConeAngle: usize = 0x1240; // CPerParticleFloatInput
+                pub const m_hLightCookie: usize = 0x13A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_bSphericalCookie: usize = 0x13A8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ConnectParentParticleToNearest {
+                pub const m_nFirstControlPoint: usize = 0x1C0; // int32
+                pub const m_nSecondControlPoint: usize = 0x1C4; // int32
+                pub const m_bUseRadius: usize = 0x1C8; // bool
+                pub const m_flRadiusScale: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_flParentRadiusScale: usize = 0x330; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CPerParticleFloatInput {
+            }
+            // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapParticleCountToNamedModelBodyPartScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 19
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitSkinnedPositionFromCPSnapshot {
+                pub const m_nSnapshotControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nControlPointNumber: usize = 0x1CC; // int32
+                pub const m_bRandom: usize = 0x1D0; // bool
+                pub const m_nRandomSeed: usize = 0x1D4; // int32
+                pub const m_bRigid: usize = 0x1D8; // bool
+                pub const m_bSetNormal: usize = 0x1D9; // bool
+                pub const m_bIgnoreDt: usize = 0x1DA; // bool
+                pub const m_flMinNormalVelocity: usize = 0x1DC; // float32
+                pub const m_flMaxNormalVelocity: usize = 0x1E0; // float32
+                pub const m_nIndexType: usize = 0x1E4; // SnapshotIndexType_t
+                pub const m_flReadIndex: usize = 0x1E8; // CPerParticleFloatInput
+                pub const m_flIncrement: usize = 0x348; // float32
+                pub const m_nFullLoopIncrement: usize = 0x34C; // int32
+                pub const m_nSnapShotStartPoint: usize = 0x350; // int32
+                pub const m_flBoneVelocity: usize = 0x354; // float32
+                pub const m_flBoneVelocityMax: usize = 0x358; // float32
+                pub const m_bCopyColor: usize = 0x35C; // bool
+                pub const m_bCopyAlpha: usize = 0x35D; // bool
+                pub const m_bSetRadius: usize = 0x35E; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LagCompensation {
+                pub const m_nDesiredVelocityCP: usize = 0x1C0; // int32
+                pub const m_nLatencyCP: usize = 0x1C4; // int32
+                pub const m_nLatencyCPField: usize = 0x1C8; // int32
+                pub const m_nDesiredVelocityCPField: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CollideWithSelf {
+                pub const m_flRadiusScale: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_flMinimumSpeed: usize = 0x320; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_Noise {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flOutputMin: usize = 0x1C4; // float32
+                pub const m_flOutputMax: usize = 0x1C8; // float32
+                pub const m_fl4NoiseScale: usize = 0x1CC; // float32
+                pub const m_bAdditive: usize = 0x1D0; // bool
+                pub const m_flNoiseAnimationTimeScale: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_FadeAndKillForTracers {
+                pub const m_flStartFadeInTime: usize = 0x1C0; // float32
+                pub const m_flEndFadeInTime: usize = 0x1C4; // float32
+                pub const m_flStartFadeOutTime: usize = 0x1C8; // float32
+                pub const m_flEndFadeOutTime: usize = 0x1CC; // float32
+                pub const m_flStartAlpha: usize = 0x1D0; // float32
+                pub const m_flEndAlpha: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ColorAdjustHSL {
+                pub const m_flHueAdjust: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_flSaturationAdjust: usize = 0x320; // CPerParticleFloatInput
+                pub const m_flLightnessAdjust: usize = 0x480; // CPerParticleFloatInput
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleMassCalculationParameters {
+                pub const m_nMassMode: usize = 0x0; // ParticleMassMode_t
+                pub const m_flRadius: usize = 0x8; // CPerParticleFloatInput
+                pub const m_flNominalRadius: usize = 0x168; // CPerParticleFloatInput
+                pub const m_flScale: usize = 0x2C8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SequenceFromModel {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nFieldOutputAnim: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1CC; // float32
+                pub const m_flInputMax: usize = 0x1D0; // float32
+                pub const m_flOutputMin: usize = 0x1D4; // float32
+                pub const m_flOutputMax: usize = 0x1D8; // float32
+                pub const m_nSetMethod: usize = 0x1DC; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_AlphaDecay {
+                pub const m_flMinAlpha: usize = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDensityGradientToVectorAttribute {
+                pub const m_flRadiusScale: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitVec {
+                pub const m_InputValue: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_nOutputField: usize = 0x840; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x844; // ParticleSetMethod_t
+                pub const m_bNormalizedOutput: usize = 0x848; // bool
+                pub const m_bWritePreviousPosition: usize = 0x849; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SetHitboxToModel {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nForceInModel: usize = 0x1CC; // int32
+                pub const m_bEvenDistribution: usize = 0x1D0; // bool
+                pub const m_nDesiredHitbox: usize = 0x1D4; // int32
+                pub const m_vecHitBoxScale: usize = 0x1D8; // CParticleCollectionVecInput
+                pub const m_vecDirectionBias: usize = 0x850; // Vector
+                pub const m_bMaintainHitbox: usize = 0x85C; // bool
+                pub const m_bUseBones: usize = 0x85D; // bool
+                pub const m_HitboxSetName: usize = 0x85E; // char[128]
+                pub const m_flShellSize: usize = 0x8E0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementMoveAlongSkinnedCPSnapshot {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nSnapshotControlPointNumber: usize = 0x1C4; // int32
+                pub const m_bSetNormal: usize = 0x1C8; // bool
+                pub const m_bSetRadius: usize = 0x1C9; // bool
+                pub const m_flInterpolation: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_flTValue: usize = 0x330; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LerpScalar {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flOutput: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flStartTime: usize = 0x328; // float32
+                pub const m_flEndTime: usize = 0x32C; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitialRepulsionVelocity {
+                pub const m_CollisionGroupName: usize = 0x1C8; // char[128]
+                pub const m_nTraceSet: usize = 0x248; // ParticleTraceSet_t
+                pub const m_vecOutputMin: usize = 0x24C; // Vector
+                pub const m_vecOutputMax: usize = 0x258; // Vector
+                pub const m_nControlPointNumber: usize = 0x264; // int32
+                pub const m_bPerParticle: usize = 0x268; // bool
+                pub const m_bTranslate: usize = 0x269; // bool
+                pub const m_bProportional: usize = 0x26A; // bool
+                pub const m_flTraceLength: usize = 0x26C; // float32
+                pub const m_bPerParticleTR: usize = 0x270; // bool
+                pub const m_bInherit: usize = 0x271; // bool
+                pub const m_nChildCP: usize = 0x274; // int32
+                pub const m_nChildGroupID: usize = 0x278; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ClampScalar {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flOutputMin: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x328; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToHMD {
+                pub const m_nCP1: usize = 0x1C8; // int32
+                pub const m_vecCP1Pos: usize = 0x1CC; // Vector
+                pub const m_bOrientToHMD: usize = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DifferencePreviousParticle {
+                pub const m_nFieldInput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // float32
+                pub const m_flInputMax: usize = 0x1CC; // float32
+                pub const m_flOutputMin: usize = 0x1D0; // float32
+                pub const m_flOutputMax: usize = 0x1D4; // float32
+                pub const m_nSetMethod: usize = 0x1D8; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x1DC; // bool
+                pub const m_bSetPreviousParticle: usize = 0x1DD; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointFieldFromVectorExpression {
+                pub const m_nExpression: usize = 0x1C8; // VectorFloatExpressionType_t
+                pub const m_vecInput1: usize = 0x1D0; // CParticleCollectionVecInput
+                pub const m_vecInput2: usize = 0x848; // CParticleCollectionVecInput
+                pub const m_flOutputRemap: usize = 0xEC0; // CParticleRemapFloatInput
+                pub const m_nOutputCP: usize = 0x1020; // int32
+                pub const m_nOutVectorField: usize = 0x1024; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PercentageBetweenTransforms {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C4; // float32
+                pub const m_flInputMax: usize = 0x1C8; // float32
+                pub const m_flOutputMin: usize = 0x1CC; // float32
+                pub const m_flOutputMax: usize = 0x1D0; // float32
+                pub const m_TransformStart: usize = 0x1D8; // CParticleTransformInput
+                pub const m_TransformEnd: usize = 0x240; // CParticleTransformInput
+                pub const m_nSetMethod: usize = 0x2A8; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x2AC; // bool
+                pub const m_bRadialCheck: usize = 0x2AD; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PlaneCull {
+                pub const m_nControlPoint: usize = 0x1C8; // int32
+                pub const m_flDistance: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_bCullInside: usize = 0x330; // bool
+            }
+            // Parent: C_OP_RemapNamedModelElementEndCap
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelSequenceEndCap {
+            }
+            // Parent: CParticleCollectionFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CParticleCollectionRendererFloatInput {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitFromCPSnapshot {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nAttributeToRead: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_nAttributeToWrite: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_nLocalSpaceCP: usize = 0x1D4; // int32
+                pub const m_bRandom: usize = 0x1D8; // bool
+                pub const m_bReverse: usize = 0x1D9; // bool
+                pub const m_nSnapShotIncrement: usize = 0x1E0; // CParticleCollectionFloatInput
+                pub const m_nManualSnapshotIndex: usize = 0x340; // CPerParticleFloatInput
+                pub const m_nRandomSeed: usize = 0x4A0; // int32
+                pub const m_bLocalSpaceAngles: usize = 0x4A4; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 22
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderCables {
+                pub const m_flRadiusScale: usize = 0x210; // CParticleCollectionFloatInput
+                pub const m_flAlphaScale: usize = 0x370; // CParticleCollectionFloatInput
+                pub const m_vecColorScale: usize = 0x4D0; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0xB48; // ParticleColorBlendType_t
+                pub const m_hMaterial: usize = 0xB50; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nTextureRepetitionMode: usize = 0xB58; // TextureRepetitionMode_t
+                pub const m_flTextureRepeatsPerSegment: usize = 0xB60; // CParticleCollectionFloatInput
+                pub const m_flTextureRepeatsCircumference: usize = 0xCC0; // CParticleCollectionFloatInput
+                pub const m_flColorMapOffsetV: usize = 0xE20; // CParticleCollectionFloatInput
+                pub const m_flColorMapOffsetU: usize = 0xF80; // CParticleCollectionFloatInput
+                pub const m_flNormalMapOffsetV: usize = 0x10E0; // CParticleCollectionFloatInput
+                pub const m_flNormalMapOffsetU: usize = 0x1240; // CParticleCollectionFloatInput
+                pub const m_bDrawCableCaps: usize = 0x13A0; // bool
+                pub const m_flCapRoundness: usize = 0x13A4; // float32
+                pub const m_flCapOffsetAmount: usize = 0x13A8; // float32
+                pub const m_flTessScale: usize = 0x13AC; // float32
+                pub const m_nMinTesselation: usize = 0x13B0; // int32
+                pub const m_nMaxTesselation: usize = 0x13B4; // int32
+                pub const m_nRoundness: usize = 0x13B8; // int32
+                pub const m_LightingTransform: usize = 0x13C0; // CParticleTransformInput
+                pub const m_MaterialFloatVars: usize = 0x1428; // CUtlVector<FloatInputMaterialVariable_t>
+                pub const m_MaterialVecVars: usize = 0x1458; // CUtlVector<VecInputMaterialVariable_t>
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InheritVelocity {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_flVelocityScale: usize = 0x1CC; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToWaterSurface {
+                pub const m_nSourceCP: usize = 0x1C8; // int32
+                pub const m_nDestCP: usize = 0x1CC; // int32
+                pub const m_nFlowCP: usize = 0x1D0; // int32
+                pub const m_nActiveCP: usize = 0x1D4; // int32
+                pub const m_nActiveCPField: usize = 0x1D8; // int32
+                pub const m_flRetestRate: usize = 0x1E0; // CParticleCollectionFloatInput
+                pub const m_bAdaptiveThreshold: usize = 0x340; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PositionOffset {
+                pub const m_OffsetMin: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_OffsetMax: usize = 0x840; // CPerParticleVecInput
+                pub const m_TransformInput: usize = 0xEB8; // CParticleTransformInput
+                pub const m_bLocalCoords: usize = 0xF20; // bool
+                pub const m_bProportional: usize = 0xF21; // bool
+                pub const m_randomnessParameters: usize = 0xF24; // CRandomNumberGeneratorParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_NormalAlignToCP {
+                pub const m_transformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_nControlPointAxis: usize = 0x230; // ParticleControlPointAxis_t
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ShapeMatchingConstraint {
+                pub const m_flShapeRestorationTime: usize = 0x1C0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetChildControlPoints {
+                pub const m_nChildGroupID: usize = 0x1C0; // int32
+                pub const m_nFirstControlPoint: usize = 0x1C4; // int32
+                pub const m_nNumControlPoints: usize = 0x1C8; // int32
+                pub const m_nFirstSourcePoint: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_bReverse: usize = 0x330; // bool
+                pub const m_bSetOrientation: usize = 0x331; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ChladniWave {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flInputMax: usize = 0x328; // CPerParticleFloatInput
+                pub const m_flOutputMin: usize = 0x488; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x5E8; // CPerParticleFloatInput
+                pub const m_vecWaveLength: usize = 0x748; // CPerParticleVecInput
+                pub const m_vecHarmonics: usize = 0xDC0; // CPerParticleVecInput
+                pub const m_nSetMethod: usize = 0x1438; // ParticleSetMethod_t
+                pub const m_nLocalSpaceControlPoint: usize = 0x143C; // int32
+                pub const m_b3D: usize = 0x1440; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDirectionToCPToVector {
+                pub const m_nCP: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0x1C8; // float32
+                pub const m_flOffsetRot: usize = 0x1CC; // float32
+                pub const m_vecOffsetAxis: usize = 0x1D0; // Vector
+                pub const m_bNormalize: usize = 0x1DC; // bool
+                pub const m_nFieldStrength: usize = 0x1E0; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DriveCPFromGlobalSoundFloat {
+                pub const m_nOutputControlPoint: usize = 0x1C8; // int32
+                pub const m_nOutputField: usize = 0x1CC; // int32
+                pub const m_flInputMin: usize = 0x1D0; // float32
+                pub const m_flInputMax: usize = 0x1D4; // float32
+                pub const m_flOutputMin: usize = 0x1D8; // float32
+                pub const m_flOutputMax: usize = 0x1DC; // float32
+                pub const m_StackName: usize = 0x1E0; // CUtlString
+                pub const m_OperatorName: usize = 0x1E8; // CUtlString
+                pub const m_FieldName: usize = 0x1F0; // CUtlString
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RtEnvCull {
+                pub const m_vecTestDir: usize = 0x1C0; // Vector
+                pub const m_vecTestNormal: usize = 0x1CC; // Vector
+                pub const m_bCullOnMiss: usize = 0x1D8; // bool
+                pub const m_bStickInsteadOfCull: usize = 0x1D9; // bool
+                pub const m_RtEnvName: usize = 0x1DA; // char[128]
+                pub const m_nRTEnvCP: usize = 0x25C; // int32
+                pub const m_nComponent: usize = 0x260; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PinParticleToCP {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_vecOffset: usize = 0x1C8; // CParticleCollectionVecInput
+                pub const m_bOffsetLocal: usize = 0x840; // bool
+                pub const m_nParticleSelection: usize = 0x844; // ParticleSelection_t
+                pub const m_nParticleNumber: usize = 0x848; // CParticleCollectionFloatInput
+                pub const m_nPinBreakType: usize = 0x9A8; // ParticlePinDistance_t
+                pub const m_flBreakDistance: usize = 0x9B0; // CParticleCollectionFloatInput
+                pub const m_flBreakSpeed: usize = 0xB10; // CParticleCollectionFloatInput
+                pub const m_flAge: usize = 0xC70; // CParticleCollectionFloatInput
+                pub const m_nBreakControlPointNumber: usize = 0xDD0; // int32
+                pub const m_nBreakControlPointNumber2: usize = 0xDD4; // int32
+                pub const m_flBreakValue: usize = 0xDD8; // CParticleCollectionFloatInput
+                pub const m_flInterpolation: usize = 0xF38; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapCPtoVector {
+                pub const m_nCPInput: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nLocalSpaceCP: usize = 0x1C8; // int32
+                pub const m_vInputMin: usize = 0x1CC; // Vector
+                pub const m_vInputMax: usize = 0x1D8; // Vector
+                pub const m_vOutputMin: usize = 0x1E4; // Vector
+                pub const m_vOutputMax: usize = 0x1F0; // Vector
+                pub const m_flStartTime: usize = 0x1FC; // float32
+                pub const m_flEndTime: usize = 0x200; // float32
+                pub const m_flInterpRate: usize = 0x204; // float32
+                pub const m_nSetMethod: usize = 0x208; // ParticleSetMethod_t
+                pub const m_bOffset: usize = 0x20C; // bool
+                pub const m_bAccelerate: usize = 0x20D; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateParticleImpulse {
+                pub const m_InputRadius: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_InputMagnitude: usize = 0x328; // CPerParticleFloatInput
+                pub const m_nFalloffFunction: usize = 0x488; // ParticleFalloffFunction_t
+                pub const m_InputFalloffExp: usize = 0x490; // CPerParticleFloatInput
+                pub const m_nImpulseType: usize = 0x5F0; // ParticleImpulseType_t
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DensityForce {
+                pub const m_flRadiusScale: usize = 0x1D0; // float32
+                pub const m_flForceScale: usize = 0x1D4; // float32
+                pub const m_flTargetDensity: usize = 0x1D8; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateInEpitrochoid {
+                pub const m_nComponent1: usize = 0x1C8; // int32
+                pub const m_nComponent2: usize = 0x1CC; // int32
+                pub const m_TransformInput: usize = 0x1D0; // CParticleTransformInput
+                pub const m_flParticleDensity: usize = 0x238; // CPerParticleFloatInput
+                pub const m_flOffset: usize = 0x398; // CPerParticleFloatInput
+                pub const m_flRadius1: usize = 0x4F8; // CPerParticleFloatInput
+                pub const m_flRadius2: usize = 0x658; // CPerParticleFloatInput
+                pub const m_bUseCount: usize = 0x7B8; // bool
+                pub const m_bUseLocalCoords: usize = 0x7B9; // bool
+                pub const m_bOffsetExistingPos: usize = 0x7BA; // bool
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ConstrainDistanceToUserSpecifiedPath {
+                pub const m_fMinDistance: usize = 0x1C0; // float32
+                pub const m_flMaxDistance: usize = 0x1C4; // float32
+                pub const m_flTimeScale: usize = 0x1C8; // float32
+                pub const m_bLoopedPath: usize = 0x1CC; // bool
+                pub const m_pointList: usize = 0x1D0; // CUtlVector<PointDefinitionWithTimeValues_t>
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointPositions {
+                pub const m_bUseWorldLocation: usize = 0x1C8; // bool
+                pub const m_bOrient: usize = 0x1C9; // bool
+                pub const m_bSetOnce: usize = 0x1CA; // bool
+                pub const m_nCP1: usize = 0x1CC; // int32
+                pub const m_nCP2: usize = 0x1D0; // int32
+                pub const m_nCP3: usize = 0x1D4; // int32
+                pub const m_nCP4: usize = 0x1D8; // int32
+                pub const m_vecCP1Pos: usize = 0x1DC; // Vector
+                pub const m_vecCP2Pos: usize = 0x1E8; // Vector
+                pub const m_vecCP3Pos: usize = 0x1F4; // Vector
+                pub const m_vecCP4Pos: usize = 0x200; // Vector
+                pub const m_nHeadLocation: usize = 0x20C; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetFloatAttributeToVectorExpression {
+                pub const m_nExpression: usize = 0x1C0; // VectorFloatExpressionType_t
+                pub const m_vInput1: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_vInput2: usize = 0x840; // CPerParticleVecInput
+                pub const m_flOutputRemap: usize = 0xEB8; // CParticleRemapFloatInput
+                pub const m_nOutputField: usize = 0x1018; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x101C; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementRotateParticleAroundAxis {
+                pub const m_vecRotAxis: usize = 0x1C0; // CParticleCollectionVecInput
+                pub const m_flRotRate: usize = 0x838; // CParticleCollectionFloatInput
+                pub const m_TransformInput: usize = 0x998; // CParticleTransformInput
+                pub const m_bLocalSpace: usize = 0xA00; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_IntraParticleForce {
+                pub const m_flAttractionMinDistance: usize = 0x1D0; // float32
+                pub const m_flAttractionMaxDistance: usize = 0x1D4; // float32
+                pub const m_flAttractionMaxStrength: usize = 0x1D8; // float32
+                pub const m_flRepulsionMinDistance: usize = 0x1DC; // float32
+                pub const m_flRepulsionMaxDistance: usize = 0x1E0; // float32
+                pub const m_flRepulsionMaxStrength: usize = 0x1E4; // float32
+                pub const m_bUseAABB: usize = 0x1E8; // bool
+                pub const m_bThreadIt: usize = 0x1E9; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitFloat {
+                pub const m_InputValue: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_nOutputField: usize = 0x328; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x32C; // ParticleSetMethod_t
+                pub const m_InputStrength: usize = 0x330; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 16
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateOnModel {
+                pub const m_modelInput: usize = 0x1C8; // CParticleModelInput
+                pub const m_transformInput: usize = 0x228; // CParticleTransformInput
+                pub const m_nForceInModel: usize = 0x290; // int32
+                pub const m_bScaleToVolume: usize = 0x294; // bool
+                pub const m_bEvenDistribution: usize = 0x295; // bool
+                pub const m_nDesiredHitbox: usize = 0x298; // CParticleCollectionFloatInput
+                pub const m_nHitboxValueFromControlPointIndex: usize = 0x3F8; // int32
+                pub const m_vecHitBoxScale: usize = 0x400; // CParticleCollectionVecInput
+                pub const m_flBoneVelocity: usize = 0xA78; // float32
+                pub const m_flMaxBoneVelocity: usize = 0xA7C; // float32
+                pub const m_vecDirectionBias: usize = 0xA80; // CParticleCollectionVecInput
+                pub const m_HitboxSetName: usize = 0x10F8; // char[128]
+                pub const m_bLocalCoords: usize = 0x1178; // bool
+                pub const m_bUseBones: usize = 0x1179; // bool
+                pub const m_bUseMesh: usize = 0x117A; // bool
+                pub const m_flShellSize: usize = 0x1180; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_InheritFromPeerSystem {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nFieldInput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_nIncrement: usize = 0x1C8; // int32
+                pub const m_nGroupID: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PerParticleForce {
+                pub const m_flForceScale: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_vForce: usize = 0x330; // CPerParticleVecInput
+                pub const m_nCP: usize = 0x9A8; // int32
+            }
+            // Parent: C_INIT_RandomNamedModelElement
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomNamedModelMeshGroup {
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 18
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderProjected {
+                pub const m_bProjectCharacter: usize = 0x210; // bool
+                pub const m_bProjectWorld: usize = 0x211; // bool
+                pub const m_bProjectWater: usize = 0x212; // bool
+                pub const m_bFlipHorizontal: usize = 0x213; // bool
+                pub const m_bEnableProjectedDepthControls: usize = 0x214; // bool
+                pub const m_flMinProjectionDepth: usize = 0x218; // float32
+                pub const m_flMaxProjectionDepth: usize = 0x21C; // float32
+                pub const m_vecProjectedMaterials: usize = 0x220; // CUtlVector<RenderProjectedMaterial_t>
+                pub const m_flMaterialSelection: usize = 0x238; // CPerParticleFloatInput
+                pub const m_flAnimationTimeScale: usize = 0x398; // float32
+                pub const m_bOrientToNormal: usize = 0x39C; // bool
+                pub const m_MaterialVars: usize = 0x3A0; // CUtlVector<MaterialVariable_t>
+                pub const m_flRadiusScale: usize = 0x3B8; // CParticleCollectionFloatInput
+                pub const m_flAlphaScale: usize = 0x518; // CParticleCollectionFloatInput
+                pub const m_flRollScale: usize = 0x678; // CParticleCollectionFloatInput
+                pub const m_nAlpha2Field: usize = 0x7D8; // ParticleAttributeIndex_t
+                pub const m_vecColorScale: usize = 0x7E0; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0xE58; // ParticleColorBlendType_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MaxVelocity {
+                pub const m_flMaxVelocity: usize = 0x1C0; // float32
+                pub const m_flMinVelocity: usize = 0x1C4; // float32
+                pub const m_nOverrideCP: usize = 0x1C8; // int32
+                pub const m_nOverrideCPField: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_VelocityFromNormal {
+                pub const m_fSpeedMin: usize = 0x1C8; // float32
+                pub const m_fSpeedMax: usize = 0x1CC; // float32
+                pub const m_bIgnoreDt: usize = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MaintainEmitter {
+                pub const m_nParticlesToMaintain: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_flStartTime: usize = 0x328; // float32
+                pub const m_flEmissionDuration: usize = 0x330; // CParticleCollectionFloatInput
+                pub const m_flEmissionRate: usize = 0x490; // float32
+                pub const m_nSnapshotControlPoint: usize = 0x494; // int32
+                pub const m_bEmitInstantaneously: usize = 0x498; // bool
+                pub const m_bFinalEmitOnStop: usize = 0x499; // bool
+                pub const m_flScale: usize = 0x4A0; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PositionOffsetToCP {
+                pub const m_nControlPointNumberStart: usize = 0x1C8; // int32
+                pub const m_nControlPointNumberEnd: usize = 0x1CC; // int32
+                pub const m_bLocalCoords: usize = 0x1D0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapInitialTransformDirectionToRotation {
+                pub const m_TransformInput: usize = 0x1C8; // CParticleTransformInput
+                pub const m_nFieldOutput: usize = 0x230; // ParticleAttributeIndex_t
+                pub const m_flOffsetRot: usize = 0x234; // float32
+                pub const m_nComponent: usize = 0x238; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_FadeAndKill {
+                pub const m_flStartFadeInTime: usize = 0x1C0; // float32
+                pub const m_flEndFadeInTime: usize = 0x1C4; // float32
+                pub const m_flStartFadeOutTime: usize = 0x1C8; // float32
+                pub const m_flEndFadeOutTime: usize = 0x1CC; // float32
+                pub const m_flStartAlpha: usize = 0x1D0; // float32
+                pub const m_flEndAlpha: usize = 0x1D4; // float32
+                pub const m_bForcePreserveParticleOrder: usize = 0x1D8; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PARTICLE_WORLD_HANDLE__ {
+                pub const unused: usize = 0x0; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ColorInterpolate {
+                pub const m_ColorFade: usize = 0x1C0; // Color
+                pub const m_flFadeStartTime: usize = 0x1D0; // float32
+                pub const m_flFadeEndTime: usize = 0x1D4; // float32
+                pub const m_nFieldOutput: usize = 0x1D8; // ParticleAttributeIndex_t
+                pub const m_bEaseInOut: usize = 0x1DC; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RampScalarSpline {
+                pub const m_RateMin: usize = 0x1C0; // float32
+                pub const m_RateMax: usize = 0x1C4; // float32
+                pub const m_flStartTime_min: usize = 0x1C8; // float32
+                pub const m_flStartTime_max: usize = 0x1CC; // float32
+                pub const m_flEndTime_min: usize = 0x1D0; // float32
+                pub const m_flEndTime_max: usize = 0x1D4; // float32
+                pub const m_flBias: usize = 0x1D8; // float32
+                pub const m_nField: usize = 0x200; // ParticleAttributeIndex_t
+                pub const m_bProportionalOp: usize = 0x204; // bool
+                pub const m_bEaseOut: usize = 0x205; // bool
+            }
+            // Parent: C_OP_RemapNamedModelElementOnceTimed
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelSequenceOnceTimed {
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointFromObjectScale {
+                pub const m_nCPInput: usize = 0x1C8; // int32
+                pub const m_nCPOutput: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MaintainSequentialPath {
+                pub const m_fMaxDistance: usize = 0x1C0; // float32
+                pub const m_flNumToAssign: usize = 0x1C4; // float32
+                pub const m_flCohesionStrength: usize = 0x1C8; // float32
+                pub const m_flTolerance: usize = 0x1CC; // float32
+                pub const m_bLoop: usize = 0x1D0; // bool
+                pub const m_bUseParticleCount: usize = 0x1D1; // bool
+                pub const m_PathParams: usize = 0x1E0; // CPathParameters
+            }
+            // Parent: C_OP_RemapNamedModelElementEndCap
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelBodyPartEndCap {
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_StopAfterCPDuration {
+                pub const m_flDuration: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_bDestroyImmediately: usize = 0x328; // bool
+                pub const m_bPlayEndCap: usize = 0x329; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CGeneralSpin {
+                pub const m_nSpinRateDegrees: usize = 0x1C0; // int32
+                pub const m_nSpinRateMinDegrees: usize = 0x1C4; // int32
+                pub const m_fSpinRateStopTime: usize = 0x1CC; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MParticleMaxVersion
+            // MParticleReplacementOp
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LockToSavedSequentialPath {
+                pub const m_flFadeStart: usize = 0x1C4; // float32
+                pub const m_flFadeEnd: usize = 0x1C8; // float32
+                pub const m_bCPPairs: usize = 0x1CC; // bool
+                pub const m_PathParams: usize = 0x1D0; // CPathParameters
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapNamedModelElementToScalar {
+                pub const m_hModel: usize = 0x1C8; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_names: usize = 0x1D0; // CUtlVector<CUtlString>
+                pub const m_values: usize = 0x1E8; // CUtlVector<float32>
+                pub const m_nFieldInput: usize = 0x200; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x204; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x208; // ParticleSetMethod_t
+                pub const m_bModelFromRenderer: usize = 0x20C; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ClampVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecOutputMin: usize = 0x1C8; // CPerParticleVecInput
+                pub const m_vecOutputMax: usize = 0x840; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderStatusEffectCitadel {
+                pub const m_pTextureColorWarp: usize = 0x210; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureNormal: usize = 0x218; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureMetalness: usize = 0x220; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureRoughness: usize = 0x228; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureSelfIllum: usize = 0x230; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_pTextureDetail: usize = 0x238; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapCPtoScalar {
+                pub const m_nCPInput: usize = 0x1C8; // int32
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_nField: usize = 0x1D0; // int32
+                pub const m_flInputMin: usize = 0x1D4; // float32
+                pub const m_flInputMax: usize = 0x1D8; // float32
+                pub const m_flOutputMin: usize = 0x1DC; // float32
+                pub const m_flOutputMax: usize = 0x1E0; // float32
+                pub const m_flStartTime: usize = 0x1E4; // float32
+                pub const m_flEndTime: usize = 0x1E8; // float32
+                pub const m_nSetMethod: usize = 0x1EC; // ParticleSetMethod_t
+                pub const m_flRemapBias: usize = 0x1F0; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod IParticleSystemDefinition {
+            }
+            // Parent: CParticleFloatInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CParticleCollectionFloatInput {
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_WindForce {
+                pub const m_vForce: usize = 0x1D0; // Vector
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetVariable {
+                pub const m_variableReference: usize = 0x1C8; // CParticleVariableRef
+                pub const m_transformInput: usize = 0x208; // CParticleTransformInput
+                pub const m_positionOffset: usize = 0x270; // Vector
+                pub const m_rotationOffset: usize = 0x27C; // QAngle
+                pub const m_vecInput: usize = 0x288; // CParticleCollectionVecInput
+                pub const m_floatInput: usize = 0x900; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 29
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderStandardLight {
+                pub const m_nLightType: usize = 0x210; // ParticleLightTypeChoiceList_t
+                pub const m_vecColorScale: usize = 0x218; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0x890; // ParticleColorBlendType_t
+                pub const m_flIntensity: usize = 0x898; // CParticleCollectionFloatInput
+                pub const m_bCastShadows: usize = 0x9F8; // bool
+                pub const m_flTheta: usize = 0xA00; // CParticleCollectionFloatInput
+                pub const m_flPhi: usize = 0xB60; // CParticleCollectionFloatInput
+                pub const m_flRadiusMultiplier: usize = 0xCC0; // CParticleCollectionFloatInput
+                pub const m_nAttenuationStyle: usize = 0xE20; // StandardLightingAttenuationStyle_t
+                pub const m_flFalloffLinearity: usize = 0xE28; // CParticleCollectionFloatInput
+                pub const m_flFiftyPercentFalloff: usize = 0xF88; // CParticleCollectionFloatInput
+                pub const m_flZeroPercentFalloff: usize = 0x10E8; // CParticleCollectionFloatInput
+                pub const m_bRenderDiffuse: usize = 0x1248; // bool
+                pub const m_bRenderSpecular: usize = 0x1249; // bool
+                pub const m_lightCookie: usize = 0x1250; // CUtlString
+                pub const m_nPriority: usize = 0x1258; // int32
+                pub const m_nFogLightingMode: usize = 0x125C; // ParticleLightFogLightingMode_t
+                pub const m_flFogContribution: usize = 0x1260; // CParticleCollectionRendererFloatInput
+                pub const m_nCapsuleLightBehavior: usize = 0x13C0; // ParticleLightBehaviorChoiceList_t
+                pub const m_flCapsuleLength: usize = 0x13C4; // float32
+                pub const m_bReverseOrder: usize = 0x13C8; // bool
+                pub const m_bClosedLoop: usize = 0x13C9; // bool
+                pub const m_nPrevPntSource: usize = 0x13CC; // ParticleAttributeIndex_t
+                pub const m_flMaxLength: usize = 0x13D0; // float32
+                pub const m_flMinLength: usize = 0x13D4; // float32
+                pub const m_bIgnoreDT: usize = 0x13D8; // bool
+                pub const m_flConstrainRadiusToLengthRatio: usize = 0x13DC; // float32
+                pub const m_flLengthScale: usize = 0x13E0; // float32
+                pub const m_flLengthFadeInTime: usize = 0x13E4; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_DistanceToTransform {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flInputMax: usize = 0x328; // CPerParticleFloatInput
+                pub const m_flOutputMin: usize = 0x488; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x5E8; // CPerParticleFloatInput
+                pub const m_TransformStart: usize = 0x748; // CParticleTransformInput
+                pub const m_bLOS: usize = 0x7B0; // bool
+                pub const m_CollisionGroupName: usize = 0x7B1; // char[128]
+                pub const m_nTraceSet: usize = 0x834; // ParticleTraceSet_t
+                pub const m_flMaxTraceLength: usize = 0x838; // float32
+                pub const m_flLOSScale: usize = 0x83C; // float32
+                pub const m_nSetMethod: usize = 0x840; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x844; // bool
+                pub const m_bAdditive: usize = 0x845; // bool
+                pub const m_vecComponentScale: usize = 0x848; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapControlPointOrientationToRotation {
+                pub const m_nCP: usize = 0x1C0; // int32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flOffsetRot: usize = 0x1C8; // float32
+                pub const m_nComponent: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToCenter {
+                pub const m_nCP1: usize = 0x1C8; // int32
+                pub const m_vecCP1Pos: usize = 0x1CC; // Vector
+                pub const m_bUseAvgParticlePos: usize = 0x1D8; // bool
+                pub const m_nSetParent: usize = 0x1DC; // ParticleParentSetMode_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapAverageScalarValuetoCP {
+                pub const m_nOutControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nOutVectorField: usize = 0x1CC; // int32
+                pub const m_nField: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1D4; // float32
+                pub const m_flInputMax: usize = 0x1D8; // float32
+                pub const m_flOutputMin: usize = 0x1DC; // float32
+                pub const m_flOutputMax: usize = 0x1E0; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDotProductToScalar {
+                pub const m_nInputCP1: usize = 0x1C0; // int32
+                pub const m_nInputCP2: usize = 0x1C4; // int32
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1CC; // float32
+                pub const m_flInputMax: usize = 0x1D0; // float32
+                pub const m_flOutputMin: usize = 0x1D4; // float32
+                pub const m_flOutputMax: usize = 0x1D8; // float32
+                pub const m_bUseParticleVelocity: usize = 0x1DC; // bool
+                pub const m_nSetMethod: usize = 0x1E0; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x1E4; // bool
+                pub const m_bUseParticleNormal: usize = 0x1E5; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapCPtoCP {
+                pub const m_nInputControlPoint: usize = 0x1C8; // int32
+                pub const m_nOutputControlPoint: usize = 0x1CC; // int32
+                pub const m_nInputField: usize = 0x1D0; // int32
+                pub const m_nOutputField: usize = 0x1D4; // int32
+                pub const m_flInputMin: usize = 0x1D8; // float32
+                pub const m_flInputMax: usize = 0x1DC; // float32
+                pub const m_flOutputMin: usize = 0x1E0; // float32
+                pub const m_flOutputMax: usize = 0x1E4; // float32
+                pub const m_bDerivative: usize = 0x1E8; // bool
+                pub const m_flInterpRate: usize = 0x1EC; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointRotation {
+                pub const m_vecRotAxis: usize = 0x1C8; // CParticleCollectionVecInput
+                pub const m_flRotRate: usize = 0x840; // CParticleCollectionFloatInput
+                pub const m_nCP: usize = 0x9A0; // int32
+                pub const m_nLocalCP: usize = 0x9A4; // int32
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CurlNoiseForce {
+                pub const m_nNoiseType: usize = 0x1D0; // ParticleDirectionNoiseType_t
+                pub const m_vecNoiseFreq: usize = 0x1D8; // CPerParticleVecInput
+                pub const m_vecNoiseScale: usize = 0x850; // CPerParticleVecInput
+                pub const m_vecOffset: usize = 0xEC8; // CPerParticleVecInput
+                pub const m_vecOffsetRate: usize = 0x1540; // CPerParticleVecInput
+                pub const m_flWorleySeed: usize = 0x1BB8; // CPerParticleFloatInput
+                pub const m_flWorleyJitter: usize = 0x1D18; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_Orient2DRelToCP {
+                pub const m_nCP: usize = 0x1C8; // int32
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_flRotOffset: usize = 0x1D0; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetSimulationRate {
+                pub const m_flSimulationScale: usize = 0x1C8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_FadeIn {
+                pub const m_flFadeInTimeMin: usize = 0x1C0; // float32
+                pub const m_flFadeInTimeMax: usize = 0x1C4; // float32
+                pub const m_flFadeInTimeExp: usize = 0x1C8; // float32
+                pub const m_bProportional: usize = 0x1CC; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderScreenShake {
+                pub const m_flDurationScale: usize = 0x210; // float32
+                pub const m_flRadiusScale: usize = 0x214; // float32
+                pub const m_flFrequencyScale: usize = 0x218; // float32
+                pub const m_flAmplitudeScale: usize = 0x21C; // float32
+                pub const m_nRadiusField: usize = 0x220; // ParticleAttributeIndex_t
+                pub const m_nDurationField: usize = 0x224; // ParticleAttributeIndex_t
+                pub const m_nFrequencyField: usize = 0x228; // ParticleAttributeIndex_t
+                pub const m_nAmplitudeField: usize = 0x22C; // ParticleAttributeIndex_t
+                pub const m_nFilterCP: usize = 0x230; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapBoundingVolumetoCP {
+                pub const m_nOutControlPointNumber: usize = 0x1C8; // int32
+                pub const m_flInputMin: usize = 0x1CC; // float32
+                pub const m_flInputMax: usize = 0x1D0; // float32
+                pub const m_flOutputMin: usize = 0x1D4; // float32
+                pub const m_flOutputMax: usize = 0x1D8; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_HSVShiftToCP {
+                pub const m_nColorCP: usize = 0x1C8; // int32
+                pub const m_nColorGemEnableCP: usize = 0x1CC; // int32
+                pub const m_nOutputCP: usize = 0x1D0; // int32
+                pub const m_DefaultHSVColor: usize = 0x1D4; // Color
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_GlobalScale {
+                pub const m_flScale: usize = 0x1C8; // float32
+                pub const m_nScaleControlPointNumber: usize = 0x1CC; // int32
+                pub const m_nControlPointNumber: usize = 0x1D0; // int32
+                pub const m_bScaleRadius: usize = 0x1D4; // bool
+                pub const m_bScalePosition: usize = 0x1D5; // bool
+                pub const m_bScaleVelocity: usize = 0x1D6; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RadiusFromCPObject {
+                pub const m_nControlPoint: usize = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitialVelocityFromHitbox {
+                pub const m_flVelocityMin: usize = 0x1C8; // float32
+                pub const m_flVelocityMax: usize = 0x1CC; // float32
+                pub const m_nControlPointNumber: usize = 0x1D0; // int32
+                pub const m_HitboxSetName: usize = 0x1D4; // char[128]
+                pub const m_bUseBones: usize = 0x254; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LerpVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecOutput: usize = 0x1C4; // Vector
+                pub const m_flStartTime: usize = 0x1D0; // float32
+                pub const m_flEndTime: usize = 0x1D4; // float32
+                pub const m_nSetMethod: usize = 0x1D8; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointFieldToWater {
+                pub const m_nSourceCP: usize = 0x1C8; // int32
+                pub const m_nDestCP: usize = 0x1CC; // int32
+                pub const m_nCPField: usize = 0x1D0; // int32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod TextureGroup_t {
+                pub const m_bEnabled: usize = 0x0; // bool
+                pub const m_bReplaceTextureWithGradient: usize = 0x1; // bool
+                pub const m_hTexture: usize = 0x8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Gradient: usize = 0x10; // CColorGradient
+                pub const m_nTextureType: usize = 0x28; // SpriteCardTextureType_t
+                pub const m_nTextureChannels: usize = 0x2C; // SpriteCardTextureChannel_t
+                pub const m_nTextureBlendMode: usize = 0x30; // ParticleTextureLayerBlendType_t
+                pub const m_flTextureBlend: usize = 0x38; // CParticleCollectionRendererFloatInput
+                pub const m_TextureControls: usize = 0x198; // TextureControls_t
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_TimeVaryingForce {
+                pub const m_flStartLerpTime: usize = 0x1D0; // float32
+                pub const m_StartingForce: usize = 0x1D4; // Vector
+                pub const m_flEndLerpTime: usize = 0x1E0; // float32
+                pub const m_EndingForce: usize = 0x1E4; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetCPOrientationToGroundNormal {
+                pub const m_flInterpRate: usize = 0x1C0; // float32
+                pub const m_flMaxTraceLength: usize = 0x1C4; // float32
+                pub const m_flTolerance: usize = 0x1C8; // float32
+                pub const m_flTraceOffset: usize = 0x1CC; // float32
+                pub const m_CollisionGroupName: usize = 0x1D0; // char[128]
+                pub const m_nTraceSet: usize = 0x250; // ParticleTraceSet_t
+                pub const m_nInputCP: usize = 0x254; // int32
+                pub const m_nOutputCP: usize = 0x258; // int32
+                pub const m_bIncludeWater: usize = 0x268; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SnapshotSkinToBones {
+                pub const m_bTransformNormals: usize = 0x1C0; // bool
+                pub const m_bTransformRadii: usize = 0x1C1; // bool
+                pub const m_nControlPointNumber: usize = 0x1C4; // int32
+                pub const m_flLifeTimeFadeStart: usize = 0x1C8; // float32
+                pub const m_flLifeTimeFadeEnd: usize = 0x1CC; // float32
+                pub const m_flJumpThreshold: usize = 0x1D0; // float32
+                pub const m_flPrevPosScale: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateWithinSphereTransform {
+                pub const m_fRadiusMin: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_fRadiusMax: usize = 0x328; // CPerParticleFloatInput
+                pub const m_vecDistanceBias: usize = 0x488; // CPerParticleVecInput
+                pub const m_vecDistanceBiasAbs: usize = 0xB00; // Vector
+                pub const m_TransformInput: usize = 0xB10; // CParticleTransformInput
+                pub const m_fSpeedMin: usize = 0xB78; // CPerParticleFloatInput
+                pub const m_fSpeedMax: usize = 0xCD8; // CPerParticleFloatInput
+                pub const m_fSpeedRandExp: usize = 0xE38; // float32
+                pub const m_bLocalCoords: usize = 0xE3C; // bool
+                pub const m_flEndCPGrowthTime: usize = 0xE40; // float32
+                pub const m_LocalCoordinateSystemSpeedMin: usize = 0xE48; // CPerParticleVecInput
+                pub const m_LocalCoordinateSystemSpeedMax: usize = 0x14C0; // CPerParticleVecInput
+                pub const m_nFieldOutput: usize = 0x1B38; // ParticleAttributeIndex_t
+                pub const m_nFieldVelocity: usize = 0x1B3C; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RadiusDecay {
+                pub const m_flMinRadius: usize = 0x1C0; // float32
+            }
+            // Parent: C_INIT_RemapNamedModelElementToScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapNamedModelBodyPartToScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapScalarToVector {
+                pub const m_nFieldInput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1D0; // float32
+                pub const m_flInputMax: usize = 0x1D4; // float32
+                pub const m_vecOutputMin: usize = 0x1D8; // Vector
+                pub const m_vecOutputMax: usize = 0x1E4; // Vector
+                pub const m_flStartTime: usize = 0x1F0; // float32
+                pub const m_flEndTime: usize = 0x1F4; // float32
+                pub const m_nSetMethod: usize = 0x1F8; // ParticleSetMethod_t
+                pub const m_nControlPointNumber: usize = 0x1FC; // int32
+                pub const m_bLocalCoords: usize = 0x200; // bool
+                pub const m_flRemapBias: usize = 0x204; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitialSequenceFromModel {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_nFieldOutputAnim: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1D4; // float32
+                pub const m_flInputMax: usize = 0x1D8; // float32
+                pub const m_flOutputMin: usize = 0x1DC; // float32
+                pub const m_flOutputMax: usize = 0x1E0; // float32
+                pub const m_nSetMethod: usize = 0x1E4; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionEmitter
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_NoiseEmitter {
+                pub const m_flEmissionDuration: usize = 0x1C8; // float32
+                pub const m_flStartTime: usize = 0x1CC; // float32
+                pub const m_flEmissionScale: usize = 0x1D0; // float32
+                pub const m_nScaleControlPoint: usize = 0x1D4; // int32
+                pub const m_nScaleControlPointField: usize = 0x1D8; // int32
+                pub const m_nWorldNoisePoint: usize = 0x1DC; // int32
+                pub const m_bAbsVal: usize = 0x1E0; // bool
+                pub const m_bAbsValInv: usize = 0x1E1; // bool
+                pub const m_flOffset: usize = 0x1E4; // float32
+                pub const m_flOutputMin: usize = 0x1E8; // float32
+                pub const m_flOutputMax: usize = 0x1EC; // float32
+                pub const m_flNoiseScale: usize = 0x1F0; // float32
+                pub const m_flWorldNoiseScale: usize = 0x1F4; // float32
+                pub const m_vecOffsetLoc: usize = 0x1F8; // Vector
+                pub const m_flWorldTimeScale: usize = 0x204; // float32
+            }
+            // Parent: CParticleFunction
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionInitializer {
+                pub const m_nAssociatedEmitterIndex: usize = 0x1C0; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SelectivelyEnableChildren {
+                pub const m_nChildGroupID: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_nFirstChild: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_nNumChildrenToEnable: usize = 0x488; // CParticleCollectionFloatInput
+                pub const m_bPlayEndcapOnStop: usize = 0x5E8; // bool
+                pub const m_bDestroyImmediately: usize = 0x5E9; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ModelReference_t {
+                pub const m_model: usize = 0x0; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_flRelativeProbabilityOfSpawn: usize = 0x8; // float32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PlanarConstraint {
+                pub const m_PointOnPlane: usize = 0x1C0; // Vector
+                pub const m_PlaneNormal: usize = 0x1CC; // Vector
+                pub const m_nControlPointNumber: usize = 0x1D8; // int32
+                pub const m_bGlobalOrigin: usize = 0x1DC; // bool
+                pub const m_bGlobalNormal: usize = 0x1DD; // bool
+                pub const m_flRadiusScale: usize = 0x1E0; // CPerParticleFloatInput
+                pub const m_flMaximumDistanceToCP: usize = 0x340; // CParticleCollectionFloatInput
+                pub const m_bUseOldCode: usize = 0x4A0; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateFromCPs {
+                pub const m_nIncrement: usize = 0x1C8; // int32
+                pub const m_nMinCP: usize = 0x1CC; // int32
+                pub const m_nMaxCP: usize = 0x1D0; // int32
+                pub const m_nDynamicCPCount: usize = 0x1D8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LockPoints {
+                pub const m_nMinCol: usize = 0x1C0; // int32
+                pub const m_nMaxCol: usize = 0x1C4; // int32
+                pub const m_nMinRow: usize = 0x1C8; // int32
+                pub const m_nMaxRow: usize = 0x1CC; // int32
+                pub const m_nControlPoint: usize = 0x1D0; // int32
+                pub const m_flBlendValue: usize = 0x1D4; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_CreateSpiralSphere {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nOverrideCP: usize = 0x1CC; // int32
+                pub const m_nDensity: usize = 0x1D0; // int32
+                pub const m_flInitialRadius: usize = 0x1D4; // float32
+                pub const m_flInitialSpeedMin: usize = 0x1D8; // float32
+                pub const m_flInitialSpeedMax: usize = 0x1DC; // float32
+                pub const m_bUseParticleCount: usize = 0x1E0; // bool
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CPVelocityForce {
+                pub const m_nControlPointNumber: usize = 0x1D0; // int32
+                pub const m_flScale: usize = 0x1D8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapNamedModelElementEndCap {
+                pub const m_hModel: usize = 0x1C0; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_inNames: usize = 0x1C8; // CUtlVector<CUtlString>
+                pub const m_outNames: usize = 0x1E0; // CUtlVector<CUtlString>
+                pub const m_fallbackNames: usize = 0x1F8; // CUtlVector<CUtlString>
+                pub const m_bModelFromRenderer: usize = 0x210; // bool
+                pub const m_nFieldInput: usize = 0x214; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x218; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_ScaleVelocity {
+                pub const m_vecScale: usize = 0x1C8; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MoveToHitbox {
+                pub const m_modelInput: usize = 0x1C0; // CParticleModelInput
+                pub const m_transformInput: usize = 0x220; // CParticleTransformInput
+                pub const m_flLifeTimeLerpStart: usize = 0x28C; // float32
+                pub const m_flLifeTimeLerpEnd: usize = 0x290; // float32
+                pub const m_flPrevPosScale: usize = 0x294; // float32
+                pub const m_HitboxSetName: usize = 0x298; // char[128]
+                pub const m_bUseBones: usize = 0x318; // bool
+                pub const m_nLerpType: usize = 0x31C; // HitboxLerpType_t
+                pub const m_flInterpolation: usize = 0x320; // CPerParticleFloatInput
+            }
+            // Parent: CParticleInput
+            // Field count: 47
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MParticleCustomFieldDefaultValue
+            pub mod CParticleFloatInput {
+                pub const m_nType: usize = 0x10; // ParticleFloatType_t
+                pub const m_nMapType: usize = 0x14; // ParticleFloatMapType_t
+                pub const m_flLiteralValue: usize = 0x18; // float32
+                pub const m_NamedValue: usize = 0x20; // CParticleNamedValueRef
+                pub const m_nControlPoint: usize = 0x60; // int32
+                pub const m_nScalarAttribute: usize = 0x64; // ParticleAttributeIndex_t
+                pub const m_nVectorAttribute: usize = 0x68; // ParticleAttributeIndex_t
+                pub const m_nVectorComponent: usize = 0x6C; // int32
+                pub const m_flRandomMin: usize = 0x70; // float32
+                pub const m_flRandomMax: usize = 0x74; // float32
+                pub const m_bHasRandomSignFlip: usize = 0x78; // bool
+                pub const m_nRandomSeed: usize = 0x7C; // int32
+                pub const m_nRandomMode: usize = 0x80; // ParticleFloatRandomMode_t
+                pub const m_flLOD0: usize = 0x88; // float32
+                pub const m_flLOD1: usize = 0x8C; // float32
+                pub const m_flLOD2: usize = 0x90; // float32
+                pub const m_flLOD3: usize = 0x94; // float32
+                pub const m_nNoiseInputVectorAttribute: usize = 0x98; // ParticleAttributeIndex_t
+                pub const m_flNoiseOutputMin: usize = 0x9C; // float32
+                pub const m_flNoiseOutputMax: usize = 0xA0; // float32
+                pub const m_flNoiseScale: usize = 0xA4; // float32
+                pub const m_vecNoiseOffsetRate: usize = 0xA8; // Vector
+                pub const m_flNoiseOffset: usize = 0xB4; // float32
+                pub const m_nNoiseOctaves: usize = 0xB8; // int32
+                pub const m_nNoiseTurbulence: usize = 0xBC; // PFNoiseTurbulence_t
+                pub const m_nNoiseType: usize = 0xC0; // PFNoiseType_t
+                pub const m_nNoiseModifier: usize = 0xC4; // PFNoiseModifier_t
+                pub const m_flNoiseTurbulenceScale: usize = 0xC8; // float32
+                pub const m_flNoiseTurbulenceMix: usize = 0xCC; // float32
+                pub const m_flNoiseImgPreviewScale: usize = 0xD0; // float32
+                pub const m_bNoiseImgPreviewLive: usize = 0xD4; // bool
+                pub const m_flNoCameraFallback: usize = 0xE0; // float32
+                pub const m_bUseBoundsCenter: usize = 0xE4; // bool
+                pub const m_nInputMode: usize = 0xE8; // ParticleFloatInputMode_t
+                pub const m_flMultFactor: usize = 0xEC; // float32
+                pub const m_flInput0: usize = 0xF0; // float32
+                pub const m_flInput1: usize = 0xF4; // float32
+                pub const m_flOutput0: usize = 0xF8; // float32
+                pub const m_flOutput1: usize = 0xFC; // float32
+                pub const m_flNotchedRangeMin: usize = 0x100; // float32
+                pub const m_flNotchedRangeMax: usize = 0x104; // float32
+                pub const m_flNotchedOutputOutside: usize = 0x108; // float32
+                pub const m_flNotchedOutputInside: usize = 0x10C; // float32
+                pub const m_nRoundType: usize = 0x110; // ParticleFloatRoundType_t
+                pub const m_nBiasType: usize = 0x114; // ParticleFloatBiasType_t
+                pub const m_flBiasParameter: usize = 0x118; // float32
+                pub const m_Curve: usize = 0x120; // CPiecewiseCurve
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PointList {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_pointList: usize = 0x1D0; // CUtlVector<PointDefinition_t>
+                pub const m_bPlaceAlongPath: usize = 0x1E8; // bool
+                pub const m_bClosedLoop: usize = 0x1E9; // bool
+                pub const m_nNumPointsAlongPath: usize = 0x1EC; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LerpToOtherAttribute {
+                pub const m_flInterpolation: usize = 0x1C0; // CPerParticleFloatInput
+                pub const m_nFieldInputFrom: usize = 0x320; // ParticleAttributeIndex_t
+                pub const m_nFieldInput: usize = 0x324; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x328; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RandomColor {
+                pub const m_ColorMin: usize = 0x1E4; // Color
+                pub const m_ColorMax: usize = 0x1E8; // Color
+                pub const m_TintMin: usize = 0x1EC; // Color
+                pub const m_TintMax: usize = 0x1F0; // Color
+                pub const m_flTintPerc: usize = 0x1F4; // float32
+                pub const m_flUpdateThreshold: usize = 0x1F8; // float32
+                pub const m_nTintCP: usize = 0x1FC; // int32
+                pub const m_nFieldOutput: usize = 0x200; // ParticleAttributeIndex_t
+                pub const m_nTintBlendMode: usize = 0x204; // ParticleColorBlendMode_t
+                pub const m_flLightAmplification: usize = 0x208; // float32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetGravityToCP {
+                pub const m_nCPInput: usize = 0x1C8; // int32
+                pub const m_nCPOutput: usize = 0x1CC; // int32
+                pub const m_flScale: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_bSetOrientation: usize = 0x330; // bool
+                pub const m_bSetZDown: usize = 0x331; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapParticleCountToScalar {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_nInputMin: usize = 0x1CC; // int32
+                pub const m_nInputMax: usize = 0x1D0; // int32
+                pub const m_nScaleControlPoint: usize = 0x1D4; // int32
+                pub const m_nScaleControlPointField: usize = 0x1D8; // int32
+                pub const m_flOutputMin: usize = 0x1DC; // float32
+                pub const m_flOutputMax: usize = 0x1E0; // float32
+                pub const m_nSetMethod: usize = 0x1E4; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x1E8; // bool
+                pub const m_bInvert: usize = 0x1E9; // bool
+                pub const m_bWrap: usize = 0x1EA; // bool
+                pub const m_flRemapBias: usize = 0x1EC; // float32
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InheritFromParentParticles {
+                pub const m_flScale: usize = 0x1C8; // float32
+                pub const m_nFieldOutput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_nIncrement: usize = 0x1D0; // int32
+                pub const m_bRandomDistribution: usize = 0x1D4; // bool
+                pub const m_nRandomSeed: usize = 0x1D8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RampScalarLinearSimple {
+                pub const m_Rate: usize = 0x1C0; // float32
+                pub const m_flStartTime: usize = 0x1C4; // float32
+                pub const m_flEndTime: usize = 0x1C8; // float32
+                pub const m_nField: usize = 0x1F0; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_ChaoticAttractor {
+                pub const m_flAParm: usize = 0x1C8; // float32
+                pub const m_flBParm: usize = 0x1CC; // float32
+                pub const m_flCParm: usize = 0x1D0; // float32
+                pub const m_flDParm: usize = 0x1D4; // float32
+                pub const m_flScale: usize = 0x1D8; // float32
+                pub const m_flSpeedMin: usize = 0x1DC; // float32
+                pub const m_flSpeedMax: usize = 0x1E0; // float32
+                pub const m_nBaseCP: usize = 0x1E4; // int32
+                pub const m_bUniformSpeed: usize = 0x1E8; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_MovementRigidAttachToCP {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_nScaleControlPoint: usize = 0x1C4; // int32
+                pub const m_nScaleCPField: usize = 0x1C8; // int32
+                pub const m_nFieldInput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_bOffsetLocal: usize = 0x1D4; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderFlattenGrass {
+                pub const m_flFlattenStrength: usize = 0x210; // float32
+                pub const m_nStrengthFieldOverride: usize = 0x214; // ParticleAttributeIndex_t
+                pub const m_flRadiusScale: usize = 0x218; // float32
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderLightBeam {
+                pub const m_vColorBlend: usize = 0x210; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0x888; // ParticleColorBlendType_t
+                pub const m_flBrightnessLumensPerMeter: usize = 0x890; // CParticleCollectionFloatInput
+                pub const m_bCastShadows: usize = 0x9F0; // bool
+                pub const m_flSkirt: usize = 0x9F8; // CParticleCollectionFloatInput
+                pub const m_flRange: usize = 0xB58; // CParticleCollectionFloatInput
+                pub const m_flThickness: usize = 0xCB8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_EnableChildrenFromParentParticleCount {
+                pub const m_nChildGroupID: usize = 0x1C8; // int32
+                pub const m_nFirstChild: usize = 0x1CC; // int32
+                pub const m_nNumChildrenToEnable: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_bDisableChildren: usize = 0x330; // bool
+                pub const m_bPlayEndcapOnStop: usize = 0x331; // bool
+                pub const m_bDestroyImmediately: usize = 0x332; // bool
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 15
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_DistanceToCPInit {
+                pub const m_nFieldOutput: usize = 0x1C8; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1D0; // CPerParticleFloatInput
+                pub const m_flInputMax: usize = 0x330; // CPerParticleFloatInput
+                pub const m_flOutputMin: usize = 0x490; // CPerParticleFloatInput
+                pub const m_flOutputMax: usize = 0x5F0; // CPerParticleFloatInput
+                pub const m_nStartCP: usize = 0x750; // int32
+                pub const m_bLOS: usize = 0x754; // bool
+                pub const m_CollisionGroupName: usize = 0x755; // char[128]
+                pub const m_nTraceSet: usize = 0x7D8; // ParticleTraceSet_t
+                pub const m_flMaxTraceLength: usize = 0x7E0; // CPerParticleFloatInput
+                pub const m_flLOSScale: usize = 0x940; // float32
+                pub const m_nSetMethod: usize = 0x944; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x948; // bool
+                pub const m_vecDistanceScale: usize = 0x94C; // Vector
+                pub const m_flRemapBias: usize = 0x958; // float32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CReplicationParameters {
+                pub const m_nReplicationMode: usize = 0x0; // ParticleReplicationMode_t
+                pub const m_bScaleChildParticleRadii: usize = 0x4; // bool
+                pub const m_flMinRandomRadiusScale: usize = 0x8; // CParticleCollectionFloatInput
+                pub const m_flMaxRandomRadiusScale: usize = 0x168; // CParticleCollectionFloatInput
+                pub const m_vMinRandomDisplacement: usize = 0x2C8; // CParticleCollectionVecInput
+                pub const m_vMaxRandomDisplacement: usize = 0x940; // CParticleCollectionVecInput
+                pub const m_flModellingScale: usize = 0xFB8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_EndCapDecay {
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ForceBasedOnDistanceToPlane {
+                pub const m_flMinDist: usize = 0x1D0; // float32
+                pub const m_vecForceAtMinDist: usize = 0x1D4; // Vector
+                pub const m_flMaxDist: usize = 0x1E0; // float32
+                pub const m_vecForceAtMaxDist: usize = 0x1E4; // Vector
+                pub const m_vecPlaneNormal: usize = 0x1F0; // Vector
+                pub const m_nControlPointNumber: usize = 0x1FC; // int32
+                pub const m_flExponent: usize = 0x200; // float32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapDensityToVector {
+                pub const m_flRadiusScale: usize = 0x1C0; // float32
+                pub const m_nFieldOutput: usize = 0x1C4; // ParticleAttributeIndex_t
+                pub const m_flDensityMin: usize = 0x1C8; // float32
+                pub const m_flDensityMax: usize = 0x1CC; // float32
+                pub const m_vecOutputMin: usize = 0x1D0; // Vector
+                pub const m_vecOutputMax: usize = 0x1DC; // Vector
+                pub const m_bUseParentDensity: usize = 0x1E8; // bool
+                pub const m_nVoxelGridResolution: usize = 0x1EC; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticleControlPointConfiguration_t {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_drivers: usize = 0x8; // CUtlVector<ParticleControlPointDriver_t>
+                pub const m_previewState: usize = 0x20; // ParticlePreviewState_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SetRigidAttachment {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_nFieldInput: usize = 0x1CC; // ParticleAttributeIndex_t
+                pub const m_nFieldOutput: usize = 0x1D0; // ParticleAttributeIndex_t
+                pub const m_bLocalSpace: usize = 0x1D4; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialVariable_t {
+                pub const m_strVariable: usize = 0x0; // CUtlString
+                pub const m_nVariableField: usize = 0x8; // ParticleAttributeIndex_t
+                pub const m_flScale: usize = 0xC; // float32
+            }
+            // Parent: CParticleFunction
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionConstraint {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapSpeed {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C4; // float32
+                pub const m_flInputMax: usize = 0x1C8; // float32
+                pub const m_flOutputMin: usize = 0x1CC; // float32
+                pub const m_flOutputMax: usize = 0x1D0; // float32
+                pub const m_nSetMethod: usize = 0x1D4; // ParticleSetMethod_t
+                pub const m_bIgnoreDelta: usize = 0x1D8; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 54
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderModels {
+                pub const m_bOnlyRenderInEffectsBloomPass: usize = 0x210; // bool
+                pub const m_bOnlyRenderInEffectsWaterPass: usize = 0x211; // bool
+                pub const m_bUseMixedResolutionRendering: usize = 0x212; // bool
+                pub const m_bOnlyRenderInEffecsGameOverlay: usize = 0x213; // bool
+                pub const m_ModelList: usize = 0x218; // CUtlVector<ModelReference_t>
+                pub const m_nBodyGroupField: usize = 0x230; // ParticleAttributeIndex_t
+                pub const m_nSubModelField: usize = 0x234; // ParticleAttributeIndex_t
+                pub const m_bIgnoreNormal: usize = 0x238; // bool
+                pub const m_bOrientZ: usize = 0x239; // bool
+                pub const m_bCenterOffset: usize = 0x23A; // bool
+                pub const m_vecLocalOffset: usize = 0x240; // CPerParticleVecInput
+                pub const m_vecLocalRotation: usize = 0x8B8; // CPerParticleVecInput
+                pub const m_bIgnoreRadius: usize = 0xF30; // bool
+                pub const m_nModelScaleCP: usize = 0xF34; // int32
+                pub const m_vecComponentScale: usize = 0xF38; // CPerParticleVecInput
+                pub const m_bLocalScale: usize = 0x15B0; // bool
+                pub const m_nSizeCullBloat: usize = 0x15B4; // int32
+                pub const m_bAnimated: usize = 0x15B8; // bool
+                pub const m_flAnimationRate: usize = 0x15C0; // CPerParticleFloatInput
+                pub const m_bScaleAnimationRate: usize = 0x1720; // bool
+                pub const m_bForceLoopingAnimation: usize = 0x1721; // bool
+                pub const m_bResetAnimOnStop: usize = 0x1722; // bool
+                pub const m_bManualAnimFrame: usize = 0x1723; // bool
+                pub const m_nAnimationScaleField: usize = 0x1724; // ParticleAttributeIndex_t
+                pub const m_nAnimationField: usize = 0x1728; // ParticleAttributeIndex_t
+                pub const m_nManualFrameField: usize = 0x172C; // ParticleAttributeIndex_t
+                pub const m_ActivityName: usize = 0x1730; // char[256]
+                pub const m_SequenceName: usize = 0x1830; // char[256]
+                pub const m_bEnableClothSimulation: usize = 0x1930; // bool
+                pub const m_ClothEffectName: usize = 0x1931; // char[64]
+                pub const m_hOverrideMaterial: usize = 0x1978; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_bOverrideTranslucentMaterials: usize = 0x1980; // bool
+                pub const m_nSkin: usize = 0x1988; // CPerParticleFloatInput
+                pub const m_MaterialVars: usize = 0x1AE8; // CUtlVector<MaterialVariable_t>
+                pub const m_flManualModelSelection: usize = 0x1B00; // CPerParticleFloatInput
+                pub const m_modelInput: usize = 0x1C60; // CParticleModelInput
+                pub const m_nLOD: usize = 0x1CC0; // int32
+                pub const m_EconSlotName: usize = 0x1CC4; // char[256]
+                pub const m_bOriginalModel: usize = 0x1DC4; // bool
+                pub const m_bSuppressTint: usize = 0x1DC5; // bool
+                pub const m_nSubModelFieldType: usize = 0x1DC8; // RenderModelSubModelFieldType_t
+                pub const m_bDisableShadows: usize = 0x1DCC; // bool
+                pub const m_bDisableDepthPrepass: usize = 0x1DCD; // bool
+                pub const m_bAcceptsDecals: usize = 0x1DCE; // bool
+                pub const m_bForceDrawInterlevedWithSiblings: usize = 0x1DCF; // bool
+                pub const m_bDoNotDrawInParticlePass: usize = 0x1DD0; // bool
+                pub const m_bAllowApproximateTransforms: usize = 0x1DD1; // bool
+                pub const m_szRenderAttribute: usize = 0x1DD2; // char[260]
+                pub const m_flRadiusScale: usize = 0x1ED8; // CParticleCollectionFloatInput
+                pub const m_flAlphaScale: usize = 0x2038; // CParticleCollectionFloatInput
+                pub const m_flRollScale: usize = 0x2198; // CParticleCollectionFloatInput
+                pub const m_nAlpha2Field: usize = 0x22F8; // ParticleAttributeIndex_t
+                pub const m_vecColorScale: usize = 0x2300; // CParticleCollectionVecInput
+                pub const m_nColorBlendType: usize = 0x2978; // ParticleColorBlendType_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderClientPhysicsImpulse {
+                pub const m_flRadius: usize = 0x210; // CPerParticleFloatInput
+                pub const m_flMagnitude: usize = 0x370; // CPerParticleFloatInput
+                pub const m_nSimIdFilter: usize = 0x4D0; // int32
+            }
+            // Parent: CParticleFunction
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CParticleFunctionEmitter {
+                pub const m_nEmitterIndex: usize = 0x1C0; // int32
+            }
+            // Parent: C_INIT_RemapNamedModelElementToScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapNamedModelMeshGroupToScalar {
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointOrientationToCPVelocity {
+                pub const m_nCPInput: usize = 0x1C8; // int32
+                pub const m_nCPOutput: usize = 0x1CC; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RopeSpringConstraint {
+                pub const m_flRestLength: usize = 0x1C0; // CParticleCollectionFloatInput
+                pub const m_flMinDistance: usize = 0x320; // CParticleCollectionFloatInput
+                pub const m_flMaxDistance: usize = 0x480; // CParticleCollectionFloatInput
+                pub const m_flAdjustmentScale: usize = 0x5E0; // float32
+                pub const m_flInitialRestingLength: usize = 0x5E8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_PositionWarpScalar {
+                pub const m_vecWarpMin: usize = 0x1C8; // Vector
+                pub const m_vecWarpMax: usize = 0x1D4; // Vector
+                pub const m_InputValue: usize = 0x1E0; // CPerParticleFloatInput
+                pub const m_flPrevPosScale: usize = 0x340; // float32
+                pub const m_nScaleControlPointNumber: usize = 0x344; // int32
+                pub const m_nControlPointNumber: usize = 0x348; // int32
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ForceControlPointStub {
+                pub const m_ControlPoint: usize = 0x1C8; // int32
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_VectorNoise {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecOutputMin: usize = 0x1C4; // Vector
+                pub const m_vecOutputMax: usize = 0x1D0; // Vector
+                pub const m_fl4NoiseScale: usize = 0x1DC; // float32
+                pub const m_bAdditive: usize = 0x1E0; // bool
+                pub const m_bOffset: usize = 0x1E1; // bool
+                pub const m_flNoiseAnimationTimeScale: usize = 0x1E4; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod IParticleCollection {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapParticleCountToScalar {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_nInputMin: usize = 0x1C8; // CParticleCollectionFloatInput
+                pub const m_nInputMax: usize = 0x328; // CParticleCollectionFloatInput
+                pub const m_flOutputMin: usize = 0x488; // CParticleCollectionFloatInput
+                pub const m_flOutputMax: usize = 0x5E8; // CParticleCollectionFloatInput
+                pub const m_bActiveRange: usize = 0x748; // bool
+                pub const m_nSetMethod: usize = 0x74C; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_QuantizeFloat {
+                pub const m_InputValue: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_nOutputField: usize = 0x328; // ParticleAttributeIndex_t
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RemapModelVolumetoCP {
+                pub const m_nBBoxType: usize = 0x1C8; // BBoxVolumeType_t
+                pub const m_nInControlPointNumber: usize = 0x1CC; // int32
+                pub const m_nOutControlPointNumber: usize = 0x1D0; // int32
+                pub const m_nOutControlPointMaxNumber: usize = 0x1D4; // int32
+                pub const m_nField: usize = 0x1D8; // int32
+                pub const m_flInputMin: usize = 0x1DC; // float32
+                pub const m_flInputMax: usize = 0x1E0; // float32
+                pub const m_flOutputMin: usize = 0x1E4; // float32
+                pub const m_flOutputMax: usize = 0x1E8; // float32
+                pub const m_bBBoxOnly: usize = 0x1EC; // bool
+                pub const m_bCubeRoot: usize = 0x1ED; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetToCP {
+                pub const m_nControlPointNumber: usize = 0x1C0; // int32
+                pub const m_vecOffset: usize = 0x1C4; // Vector
+                pub const m_bOffsetLocal: usize = 0x1D0; // bool
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ParticleControlPointDriver_t {
+                pub const m_iControlPoint: usize = 0x0; // int32
+                pub const m_iAttachType: usize = 0x4; // ParticleAttachment_t
+                pub const m_attachmentName: usize = 0x8; // CUtlString
+                pub const m_vecOffset: usize = 0x10; // Vector
+                pub const m_angOffset: usize = 0x1C; // QAngle
+                pub const m_entityName: usize = 0x28; // CUtlString
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ParentVortices {
+                pub const m_flForceScale: usize = 0x1D0; // float32
+                pub const m_vecTwistAxis: usize = 0x1D4; // Vector
+                pub const m_bFlipBasedOnYaw: usize = 0x1E0; // bool
+            }
+            // Parent: CParticleFunctionPreEmission
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetControlPointToCPVelocity {
+                pub const m_nCPInput: usize = 0x1C8; // int32
+                pub const m_nCPOutputVel: usize = 0x1CC; // int32
+                pub const m_bNormalize: usize = 0x1D0; // bool
+                pub const m_nCPOutputMag: usize = 0x1D4; // int32
+                pub const m_nCPField: usize = 0x1D8; // int32
+                pub const m_vecComparisonVelocity: usize = 0x1E0; // CParticleCollectionVecInput
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ClientPhysics {
+                pub const m_strPhysicsType: usize = 0x210; // CUtlString
+                pub const m_bStartAsleep: usize = 0x218; // bool
+                pub const m_flPlayerWakeRadius: usize = 0x220; // CParticleCollectionFloatInput
+                pub const m_flVehicleWakeRadius: usize = 0x380; // CParticleCollectionFloatInput
+                pub const m_bUseHighQualitySimulation: usize = 0x4E0; // bool
+                pub const m_nMaxParticleCount: usize = 0x4E4; // int32
+                pub const m_bRespectExclusionVolumes: usize = 0x4E8; // bool
+                pub const m_bKillParticles: usize = 0x4E9; // bool
+                pub const m_bDeleteSim: usize = 0x4EA; // bool
+                pub const m_nControlPoint: usize = 0x4EC; // int32
+                pub const m_nColorBlendType: usize = 0x4F0; // ParticleColorBlendType_t
+            }
+            // Parent: CGeneralSpin
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SpinYaw {
+            }
+            // Parent: PointDefinition_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PointDefinitionWithTimeValues_t {
+                pub const m_flTimeDuration: usize = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RenderProjectedMaterial_t {
+                pub const m_hMaterial: usize = 0x0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CParticleFunctionForce
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_ExternalWindForce {
+                pub const m_vecSamplePosition: usize = 0x1D0; // CPerParticleVecInput
+                pub const m_vecScale: usize = 0x848; // CPerParticleVecInput
+                pub const m_bSampleWind: usize = 0xEC0; // bool
+                pub const m_bSampleWater: usize = 0xEC1; // bool
+                pub const m_bDampenNearWaterPlane: usize = 0xEC2; // bool
+                pub const m_bSampleGravity: usize = 0xEC3; // bool
+                pub const m_vecGravityForce: usize = 0xEC8; // CPerParticleVecInput
+                pub const m_bUseBasicMovementGravity: usize = 0x1540; // bool
+                pub const m_flLocalGravityScale: usize = 0x1548; // CPerParticleFloatInput
+                pub const m_flLocalBuoyancyScale: usize = 0x16A8; // CPerParticleFloatInput
+                pub const m_vecBuoyancyForce: usize = 0x1808; // CPerParticleVecInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_ModelCull {
+                pub const m_nControlPointNumber: usize = 0x1C8; // int32
+                pub const m_bBoundBox: usize = 0x1CC; // bool
+                pub const m_bCullOutside: usize = 0x1CD; // bool
+                pub const m_bUseBones: usize = 0x1CE; // bool
+                pub const m_HitboxSetName: usize = 0x1CF; // char[128]
+            }
+            // Parent: CBaseRendererSource2
+            // Field count: 28
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderSprites {
+                pub const m_nSequenceOverride: usize = 0x2AA8; // CParticleCollectionRendererFloatInput
+                pub const m_nOrientationType: usize = 0x2C08; // ParticleOrientationChoiceList_t
+                pub const m_nOrientationControlPoint: usize = 0x2C0C; // int32
+                pub const m_bUseYawWithNormalAligned: usize = 0x2C10; // bool
+                pub const m_flMinSize: usize = 0x2C18; // CParticleCollectionRendererFloatInput
+                pub const m_flMaxSize: usize = 0x2D78; // CParticleCollectionRendererFloatInput
+                pub const m_flAlphaAdjustWithSizeAdjust: usize = 0x2ED8; // CParticleCollectionRendererFloatInput
+                pub const m_flStartFadeSize: usize = 0x3038; // CParticleCollectionRendererFloatInput
+                pub const m_flEndFadeSize: usize = 0x3198; // CParticleCollectionRendererFloatInput
+                pub const m_flStartFadeDot: usize = 0x32F8; // float32
+                pub const m_flEndFadeDot: usize = 0x32FC; // float32
+                pub const m_bDistanceAlpha: usize = 0x3300; // bool
+                pub const m_bSoftEdges: usize = 0x3301; // bool
+                pub const m_flEdgeSoftnessStart: usize = 0x3304; // float32
+                pub const m_flEdgeSoftnessEnd: usize = 0x3308; // float32
+                pub const m_bOutline: usize = 0x330C; // bool
+                pub const m_OutlineColor: usize = 0x330D; // Color
+                pub const m_nOutlineAlpha: usize = 0x3314; // int32
+                pub const m_flOutlineStart0: usize = 0x3318; // float32
+                pub const m_flOutlineStart1: usize = 0x331C; // float32
+                pub const m_flOutlineEnd0: usize = 0x3320; // float32
+                pub const m_flOutlineEnd1: usize = 0x3324; // float32
+                pub const m_nLightingMode: usize = 0x3328; // ParticleLightingQuality_t
+                pub const m_flLightingTessellation: usize = 0x3330; // CParticleCollectionRendererFloatInput
+                pub const m_flLightingDirectionality: usize = 0x3490; // CParticleCollectionRendererFloatInput
+                pub const m_bParticleShadows: usize = 0x35F0; // bool
+                pub const m_flShadowDensity: usize = 0x35F4; // float32
+                pub const m_replicationParameters: usize = 0x35F8; // CReplicationParameters
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_PercentageBetweenTransformLerpCPs {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flInputMin: usize = 0x1C4; // float32
+                pub const m_flInputMax: usize = 0x1C8; // float32
+                pub const m_TransformStart: usize = 0x1D0; // CParticleTransformInput
+                pub const m_TransformEnd: usize = 0x238; // CParticleTransformInput
+                pub const m_nOutputStartCP: usize = 0x2A0; // int32
+                pub const m_nOutputStartField: usize = 0x2A4; // int32
+                pub const m_nOutputEndCP: usize = 0x2A8; // int32
+                pub const m_nOutputEndField: usize = 0x2AC; // int32
+                pub const m_nSetMethod: usize = 0x2B0; // ParticleSetMethod_t
+                pub const m_bActiveRange: usize = 0x2B4; // bool
+                pub const m_bRadialCheck: usize = 0x2B5; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetPerChildControlPoint {
+                pub const m_nChildGroupID: usize = 0x1C0; // int32
+                pub const m_nFirstControlPoint: usize = 0x1C4; // int32
+                pub const m_nNumControlPoints: usize = 0x1C8; // int32
+                pub const m_nParticleIncrement: usize = 0x1D0; // CParticleCollectionFloatInput
+                pub const m_nFirstSourcePoint: usize = 0x330; // CParticleCollectionFloatInput
+                pub const m_bSetOrientation: usize = 0x490; // bool
+                pub const m_nOrientationField: usize = 0x494; // ParticleAttributeIndex_t
+                pub const m_bNumBasedOnParticleCount: usize = 0x498; // bool
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderTreeShake {
+                pub const m_flPeakStrength: usize = 0x210; // float32
+                pub const m_nPeakStrengthFieldOverride: usize = 0x214; // ParticleAttributeIndex_t
+                pub const m_flRadius: usize = 0x218; // float32
+                pub const m_nRadiusFieldOverride: usize = 0x21C; // ParticleAttributeIndex_t
+                pub const m_flShakeDuration: usize = 0x220; // float32
+                pub const m_flTransitionTime: usize = 0x224; // float32
+                pub const m_flTwistAmount: usize = 0x228; // float32
+                pub const m_flRadialAmount: usize = 0x22C; // float32
+                pub const m_flControlPointOrientationAmount: usize = 0x230; // float32
+                pub const m_nControlPointForLinearDirection: usize = 0x234; // int32
+            }
+            // Parent: CParticleFunctionConstraint
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_WorldCollideConstraint {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_SetAttributeToScalarExpression {
+                pub const m_nExpression: usize = 0x1C0; // ScalarExpressionType_t
+                pub const m_flInput1: usize = 0x1C8; // CPerParticleFloatInput
+                pub const m_flInput2: usize = 0x328; // CPerParticleFloatInput
+                pub const m_flOutputRemap: usize = 0x488; // CParticleRemapFloatInput
+                pub const m_nOutputField: usize = 0x5E8; // ParticleAttributeIndex_t
+                pub const m_nSetMethod: usize = 0x5EC; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CycleScalar {
+                pub const m_nDestField: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flStartValue: usize = 0x1C4; // float32
+                pub const m_flEndValue: usize = 0x1C8; // float32
+                pub const m_flCycleTime: usize = 0x1CC; // float32
+                pub const m_bDoNotRepeatCycle: usize = 0x1D0; // bool
+                pub const m_bSynchronizeParticles: usize = 0x1D1; // bool
+                pub const m_nCPScale: usize = 0x1D4; // int32
+                pub const m_nCPFieldMin: usize = 0x1D8; // int32
+                pub const m_nCPFieldMax: usize = 0x1DC; // int32
+                pub const m_nSetMethod: usize = 0x1E0; // ParticleSetMethod_t
+            }
+            // Parent: CParticleFunctionRenderer
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RenderMaterialProxy {
+                pub const m_nMaterialControlPoint: usize = 0x210; // int32
+                pub const m_nProxyType: usize = 0x214; // MaterialProxyType_t
+                pub const m_MaterialVars: usize = 0x218; // CUtlVector<MaterialVariable_t>
+                pub const m_hOverrideMaterial: usize = 0x230; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_flMaterialOverrideEnabled: usize = 0x238; // CParticleCollectionFloatInput
+                pub const m_vecColorScale: usize = 0x398; // CParticleCollectionVecInput
+                pub const m_flAlpha: usize = 0xA10; // CPerParticleFloatInput
+                pub const m_nColorBlendType: usize = 0xB70; // ParticleColorBlendType_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FloatInputMaterialVariable_t {
+                pub const m_strVariable: usize = 0x0; // CUtlString
+                pub const m_flInput: usize = 0x8; // CParticleCollectionFloatInput
+            }
+            // Parent: CParticleCollectionVecInput
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyCustomEditor
+            pub mod CParticleCollectionRendererVecInput {
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RampScalarLinear {
+                pub const m_RateMin: usize = 0x1C0; // float32
+                pub const m_RateMax: usize = 0x1C4; // float32
+                pub const m_flStartTime_min: usize = 0x1C8; // float32
+                pub const m_flStartTime_max: usize = 0x1CC; // float32
+                pub const m_flEndTime_min: usize = 0x1D0; // float32
+                pub const m_flEndTime_max: usize = 0x1D4; // float32
+                pub const m_nField: usize = 0x200; // ParticleAttributeIndex_t
+                pub const m_bProportionalOp: usize = 0x204; // bool
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_RotateVector {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_vecRotAxisMin: usize = 0x1C4; // Vector
+                pub const m_vecRotAxisMax: usize = 0x1D0; // Vector
+                pub const m_flRotRateMin: usize = 0x1DC; // float32
+                pub const m_flRotRateMax: usize = 0x1E0; // float32
+                pub const m_bNormalize: usize = 0x1E4; // bool
+                pub const m_flScale: usize = 0x1E8; // CPerParticleFloatInput
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_InitVecCollection {
+                pub const m_InputValue: usize = 0x1C8; // CParticleCollectionVecInput
+                pub const m_nOutputField: usize = 0x840; // ParticleAttributeIndex_t
+            }
+            // Parent: C_INIT_RemapParticleCountToNamedModelElementScalar
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_RemapParticleCountToNamedModelMeshGroupScalar {
+            }
+            // Parent: CParticleFunctionInitializer
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_INIT_SequenceFromCP {
+                pub const m_bKillUnused: usize = 0x1C8; // bool
+                pub const m_bRadiusScale: usize = 0x1C9; // bool
+                pub const m_nCP: usize = 0x1CC; // int32
+                pub const m_vecOffset: usize = 0x1D0; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_CPOffsetToPercentageBetweenCPs {
+                pub const m_flInputMin: usize = 0x1C0; // float32
+                pub const m_flInputMax: usize = 0x1C4; // float32
+                pub const m_flInputBias: usize = 0x1C8; // float32
+                pub const m_nStartCP: usize = 0x1CC; // int32
+                pub const m_nEndCP: usize = 0x1D0; // int32
+                pub const m_nOffsetCP: usize = 0x1D4; // int32
+                pub const m_nOuputCP: usize = 0x1D8; // int32
+                pub const m_nInputCP: usize = 0x1DC; // int32
+                pub const m_bRadialCheck: usize = 0x1E0; // bool
+                pub const m_bScaleOffset: usize = 0x1E1; // bool
+                pub const m_vecOffset: usize = 0x1E4; // Vector
+            }
+            // Parent: CParticleFunctionOperator
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod C_OP_LerpEndCapScalar {
+                pub const m_nFieldOutput: usize = 0x1C0; // ParticleAttributeIndex_t
+                pub const m_flOutput: usize = 0x1C4; // float32
+                pub const m_flLerpTime: usize = 0x1C8; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod CParticleProperty {
+            }
+        }
+    }
+}
diff --git a/output/pulse_system_dll.cs b/output/pulse_system_dll.cs
new file mode 100644
index 0000000..f0b7d4b
--- /dev/null
+++ b/output/pulse_system_dll.cs
@@ -0,0 +1,1235 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: pulse_system.dll
+    // Class count: 112
+    // Enum count: 9
+    public static class PulseSystemDll {
+        // Alignment: 4
+        // Member count: 6
+        public enum EPulseGraphExecutionHistoryFlag : uint {
+            NO_FLAGS = 0x0,
+            CURSOR_ADD_TAG = 0x1,
+            CURSOR_REMOVE_TAG = 0x2,
+            CURSOR_RETIRED = 0x4,
+            REQUIREMENT_PASS = 0x8,
+            REQUIREMENT_FAIL = 0x10
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum PulseTestEnumShape_t : uint {
+            CIRCLE = 0x64,
+            SQUARE = 0xC8,
+            TRIANGLE = 0x12C
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum PulseMethodCallMode_t : uint {
+            SYNC_WAIT_FOR_COMPLETION = 0x0,
+            ASYNC_FIRE_AND_FORGET = 0x1
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PulseCursorExecResult_t : uint {
+            Succeeded = 0x0,
+            Canceled = 0x1,
+            Failed = 0x2,
+            OngoingNotify = 0x3
+        }
+        // Alignment: 4
+        // Member count: 21
+        public enum PulseValueType_t : uint {
+            PVAL_INVALID = unchecked((uint)-1),
+            PVAL_BOOL = 0x0,
+            PVAL_INT = 0x1,
+            PVAL_FLOAT = 0x2,
+            PVAL_STRING = 0x3,
+            PVAL_VEC3 = 0x4,
+            PVAL_TRANSFORM = 0x5,
+            PVAL_COLOR_RGB = 0x6,
+            PVAL_EHANDLE = 0x7,
+            PVAL_RESOURCE = 0x8,
+            PVAL_SNDEVT_GUID = 0x9,
+            PVAL_SNDEVT_NAME = 0xA,
+            PVAL_ENTITY_NAME = 0xB,
+            PVAL_OPAQUE_HANDLE = 0xC,
+            PVAL_TYPESAFE_INT = 0xD,
+            PVAL_CURSOR_FLOW = 0xE,
+            PVAL_ANY = 0xF,
+            PVAL_SCHEMA_ENUM = 0x10,
+            PVAL_PANORAMA_PANEL_HANDLE = 0x11,
+            PVAL_TEST_HANDLE = 0x12,
+            PVAL_COUNT = 0x13
+        }
+        // Alignment: 2
+        // Member count: 75
+        public enum PulseInstructionCode_t : ushort {
+            INVALID = 0x0,
+            IMMEDIATE_HALT = 0x1,
+            RETURN_VOID = 0x2,
+            RETURN_VALUE = 0x3,
+            NOP = 0x4,
+            JUMP = 0x5,
+            JUMP_COND = 0x6,
+            CHUNK_LEAP = 0x7,
+            CHUNK_LEAP_COND = 0x8,
+            PULSE_CALL_SYNC = 0x9,
+            PULSE_CALL_ASYNC_FIRE = 0xA,
+            CELL_INVOKE = 0xB,
+            LIBRARY_INVOKE = 0xC,
+            SET_VAR = 0xD,
+            GET_VAR = 0xE,
+            GET_CONST = 0xF,
+            GET_DOMAIN_VALUE = 0x10,
+            COPY = 0x11,
+            NOT = 0x12,
+            NEGATE = 0x13,
+            ADD = 0x14,
+            SUB = 0x15,
+            MUL = 0x16,
+            DIV = 0x17,
+            MOD = 0x18,
+            LT = 0x19,
+            LTE = 0x1A,
+            EQ = 0x1B,
+            NE = 0x1C,
+            AND = 0x1D,
+            OR = 0x1E,
+            CONVERT_VALUE = 0x1F,
+            REINTERPRET_INSTANCE = 0x20,
+            GET_BLACKBOARD_REFERENCE = 0x21,
+            SET_BLACKBOARD_REFERENCE = 0x22,
+            REQUIREMENT_RESULT = 0x23,
+            LAST_SERIALIZED_CODE = 0x24,
+            NEGATE_INT = 0x25,
+            NEGATE_FLOAT = 0x26,
+            ADD_INT = 0x27,
+            ADD_FLOAT = 0x28,
+            ADD_STRING = 0x29,
+            SUB_INT = 0x2A,
+            SUB_FLOAT = 0x2B,
+            MUL_INT = 0x2C,
+            MUL_FLOAT = 0x2D,
+            DIV_INT = 0x2E,
+            DIV_FLOAT = 0x2F,
+            MOD_INT = 0x30,
+            MOD_FLOAT = 0x31,
+            LT_INT = 0x32,
+            LT_FLOAT = 0x33,
+            LTE_INT = 0x34,
+            LTE_FLOAT = 0x35,
+            EQ_BOOL = 0x36,
+            EQ_INT = 0x37,
+            EQ_FLOAT = 0x38,
+            EQ_STRING = 0x39,
+            EQ_ENTITY_NAME = 0x3A,
+            EQ_SCHEMA_ENUM = 0x3B,
+            EQ_EHANDLE = 0x3C,
+            EQ_PANEL_HANDLE = 0x3D,
+            EQ_OPAQUE_HANDLE = 0x3E,
+            EQ_TEST_HANDLE = 0x3F,
+            NE_BOOL = 0x40,
+            NE_INT = 0x41,
+            NE_FLOAT = 0x42,
+            NE_STRING = 0x43,
+            NE_ENTITY_NAME = 0x44,
+            NE_SCHEMA_ENUM = 0x45,
+            NE_EHANDLE = 0x46,
+            NE_PANEL_HANDLE = 0x47,
+            NE_OPAQUE_HANDLE = 0x48,
+            NE_TEST_HANDLE = 0x49,
+            GET_CONST_INLINE_STORAGE = 0x4A
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum PulseTestEnumColor_t : uint {
+            BLACK = 0x0,
+            WHITE = 0x1,
+            RED = 0x2,
+            GREEN = 0x3,
+            BLUE = 0x4
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PulseCursorCancelPriority_t : uint {
+            None = 0x0,
+            CancelOnSucceeded = 0x1,
+            SoftCancel = 0x2,
+            HardCancel = 0x3
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PulseDomainValueType_t : uint {
+            INVALID = unchecked((uint)-1),
+            ENTITY_NAME = 0x0,
+            PANEL_ID = 0x1,
+            COUNT = 0x2
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Step_PublicOutput {
+            public const nint m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t
+        }
+        // Parent: CPulseCell_BaseValue
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        public static class CPulseCell_Val_TestDomainFindEntityByName {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseLibraryBindings
+        // MPropertyDescription
+        public static class CPulseTestFuncs_LibraryA {
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        public static class CPulseCell_Step_TestDomainDestroyFakeEntity {
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Test_MultiOutflow_WithParams {
+            public const nint m_Out1 = 0x48; // SignatureOutflow_Continue
+            public const nint m_Out2 = 0x78; // SignatureOutflow_Continue
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeVarIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeEntrypointIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeDomainValueIndex_t {
+            public const nint m_Value = 0x0; // int16
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_Chunk {
+            public const nint m_Instructions = 0x0; // CUtlLeanVector<PGDInstruction_t>
+            public const nint m_Registers = 0x10; // CUtlLeanVector<CPulse_RegisterInfo>
+            public const nint m_InstructionEditorIDs = 0x20; // CUtlLeanVector<PulseDocNodeID_t>
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeInvokeIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_Outflow_CycleOrdered__InstanceState_t {
+            public const nint m_nNextIndex = 0x0; // int32
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_WaitForCursorsWithTagBase {
+            public const nint m_nCursorsAllowedToWait = 0x48; // int32
+            public const nint m_WaitComplete = 0x50; // CPulse_ResumePoint
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseLibraryBindings
+        // MPropertyDescription
+        public static class CPulseTestScriptLib {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeRegisterIndex_t {
+            public const nint m_Value = 0x0; // int16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_Timeline__TimelineEvent_t {
+            public const nint m_flTimeFromPrevious = 0x0; // float32
+            public const nint m_bPauseForPreviousEvents = 0x4; // bool
+            public const nint m_bCallModeSync = 0x5; // bool
+            public const nint m_EventOutflow = 0x8; // CPulse_OutflowConnection
+        }
+        // Parent: None
+        // Field count: 4
+        public static class CPulse_OutflowConnection {
+            public const nint m_SourceOutflowName = 0x0; // CUtlSymbolLarge
+            public const nint m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t
+            public const nint m_nInstruction = 0xC; // int32
+            public const nint m_OutflowRegisterMap = 0x10; // PulseRegisterMap_t
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseCursorID_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        public static class CBasePulseGraphInstance {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_Base {
+            public const nint m_nEditorNodeID = 0x8; // PulseDocNodeID_t
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
+            public const nint nTestStep = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PulseGraphExecutionHistoryCursorDesc_t {
+            public const nint vecAncestorCursorIDs = 0x0; // CUtlVector<PulseCursorID_t>
+            public const nint nSpawnNodeID = 0x18; // PulseDocNodeID_t
+            public const nint nRetiredAtNodeID = 0x1C; // PulseDocNodeID_t
+            public const nint flLastReferenced = 0x20; // float32
+            public const nint nLastValidEntryIdx = 0x24; // int32
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Inflow_Yield {
+            public const nint m_UnyieldResume = 0x48; // CPulse_ResumePoint
+        }
+        // Parent: CPulseCell_Inflow_BaseEntrypoint
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Inflow_GraphHook {
+            public const nint m_HookName = 0x70; // CUtlSymbolLarge
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        // MPulseEditorHeaderIcon
+        public static class CPulseCell_Inflow_Wait {
+            public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
+        }
+        // Parent: CPulseExecCursor
+        // Field count: 2
+        //
+        // Metadata:
+        // MPulseLibraryBindings
+        public static class CTestDomainDerived_Cursor {
+            public const nint m_nCursorValueA = 0xA8; // int32
+            public const nint m_nCursorValueB = 0xAC; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PulseRegisterMap_t {
+            public const nint m_Inparams = 0x0; // KeyValues3
+            public const nint m_Outparams = 0x10; // KeyValues3
+        }
+        // Parent: CPulseCell_WaitForCursorsWithTagBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        // MPulseEditorHeaderIcon
+        public static class CPulseCell_CursorQueue {
+            public const nint m_nCursorsAllowedToRunParallel = 0x80; // int32
+        }
+        // Parent: CPulseCell_Base
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_BaseRequirement {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PulseNodeDynamicOutflows_t {
+            public const nint m_Outflows = 0x0; // CUtlVector<PulseNodeDynamicOutflows_t::DynamicOutflow_t>
+        }
+        // Parent: CPulseCell_BaseValue
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CPulseCell_Value_TestValue50 {
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Test_MultiInflow_WithDefault {
+        }
+        // Parent: None
+        // Field count: 0
+        public static class IGapHost_ExecLog {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGapTypeQueriesForScopeSingleton
+        public static class CPulseTestGapTypeQueryRegistration {
+        }
+        // Parent: CPulseCell_Base
+        // Field count: 1
+        public static class CPulseCell_Unknown {
+            public const nint m_UnknownKeys = 0x48; // KeyValues3
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Outflow_StringSwitch {
+            public const nint m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
+            public const nint m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Test_NoInflow {
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_FireCursors {
+            public const nint m_Outflows = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            public const nint m_bWaitForChildOutflows = 0x60; // bool
+            public const nint m_OnFinished = 0x68; // CPulse_ResumePoint
+            public const nint m_OnCanceled = 0x98; // CPulse_ResumePoint
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_Outflow_CycleShuffled__InstanceState_t {
+            public const nint m_Shuffle = 0x0; // CUtlVectorFixedGrowable<uint8,8>
+            public const nint m_nNextShuffle = 0x20; // int32
+        }
+        // Parent: CPulseCell_Base
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_BaseValue {
+        }
+        // Parent: CPulse_OutflowConnection
+        // Field count: 0
+        public static class CPulse_ResumePoint {
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Outflow_CycleRandom {
+            public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
+        }
+        // Parent: CPulseCell_Inflow_BaseEntrypoint
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Inflow_EventHandler {
+            public const nint m_EventName = 0x70; // CUtlSymbolLarge
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_BaseLerp__CursorState_t {
+            public const nint m_StartTime = 0x0; // GameTime_t
+            public const nint m_EndTime = 0x4; // GameTime_t
+        }
+        // Parent: IGapHost_ExecLog
+        // Field count: 0
+        public static class IGapHost_Cursor {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_PublicOutput {
+            public const nint m_Name = 0x0; // CUtlSymbolLarge
+            public const nint m_Description = 0x8; // CUtlString
+            public const nint m_ParamType = 0x10; // CPulseValueFullType
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseLibraryBindings
+        // MPropertyDescription
+        public static class CPulseCursorFuncs {
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Timeline {
+            public const nint m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
+            public const nint m_bWaitForChildOutflows = 0x60; // bool
+            public const nint m_OnFinished = 0x68; // CPulse_ResumePoint
+            public const nint m_OnCanceled = 0x98; // CPulse_ResumePoint
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_OutputConnection {
+            public const nint m_SourceOutput = 0x0; // CUtlSymbolLarge
+            public const nint m_TargetEntity = 0x8; // CUtlSymbolLarge
+            public const nint m_TargetInput = 0x10; // CUtlSymbolLarge
+            public const nint m_Param = 0x18; // CUtlSymbolLarge
+        }
+        // Parent: CPulseCell_BaseRequirement
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        // MPulseRequirementPass
+        // MPulseRequirementSummaryExpr
+        public static class CPulseCell_LimitCount {
+            public const nint m_nLimitCount = 0x48; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PulseGraphExecutionHistoryNodeDesc_t {
+            public const nint strCellDesc = 0x0; // CBufferString
+            public const nint strBindingName = 0x10; // CUtlSymbolLarge
+        }
+        // Parent: CPulse_ResumePoint
+        // Field count: 0
+        public static class SignatureOutflow_Resume {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class FakeEntity_tAPI {
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Step_CallExternalMethod {
+            public const nint m_MethodName = 0x48; // CUtlSymbolLarge
+            public const nint m_GameBlackboard = 0x50; // CUtlSymbolLarge
+            public const nint m_ExpectedArgs = 0x58; // CUtlLeanVector<CPulseRuntimeMethodArg>
+            public const nint m_nAsyncCallMode = 0x68; // PulseMethodCallMode_t
+            public const nint m_OnFinished = 0x70; // CPulse_ResumePoint
+        }
+        // Parent: CBasePulseGraphInstance
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        public static class CPulseGraphInstance_TurtleGraphics {
+        }
+        // Parent: CPulseCell_Base
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_BaseFlow {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PulseGraphExecutionHistoryEntry_t {
+            public const nint nCursorID = 0x0; // PulseCursorID_t
+            public const nint nEditorID = 0x4; // PulseDocNodeID_t
+            public const nint flExecTime = 0x8; // float32
+            public const nint unFlags = 0xC; // uint32
+            public const nint tagName = 0x10; // CUtlSymbolLarge
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseCursorYieldToken_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseGraphExecutionHistory {
+            public const nint m_nInstanceID = 0x0; // PulseGraphInstanceID_t
+            public const nint m_strFileName = 0x8; // CUtlString
+            public const nint m_vecHistory = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
+            public const nint m_mapCellDesc = 0x28; // CUtlOrderedMap<PulseDocNodeID_t,PulseGraphExecutionHistoryNodeDesc_t*>
+            public const nint m_mapCursorDesc = 0x50; // CUtlOrderedMap<PulseCursorID_t,PulseGraphExecutionHistoryCursorDesc_t*>
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_TestWaitWithCursorState {
+            public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
+            public const nint m_WakeCancel = 0x78; // CPulse_ResumePoint
+            public const nint m_WakeFail = 0xA8; // CPulse_ResumePoint
+        }
+        // Parent: CPulseCell_Inflow_BaseEntrypoint
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Inflow_ObservableVariableListener {
+            public const nint m_BlackboardReference = 0x70; // CPulse_BlackboardReference
+            public const nint m_bSelfReference = 0x168; // bool
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_BaseYieldingInflow {
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PGDInstruction_t {
+            public const nint m_nCode = 0x0; // PulseInstructionCode_t
+            public const nint m_nVar = 0x4; // PulseRuntimeVarIndex_t
+            public const nint m_nReg0 = 0x8; // PulseRuntimeRegisterIndex_t
+            public const nint m_nReg1 = 0xA; // PulseRuntimeRegisterIndex_t
+            public const nint m_nReg2 = 0xC; // PulseRuntimeRegisterIndex_t
+            public const nint m_nInvokeBindingIndex = 0x10; // PulseRuntimeInvokeIndex_t
+            public const nint m_nChunk = 0x14; // PulseRuntimeChunkIndex_t
+            public const nint m_nDestInstruction = 0x18; // int32
+            public const nint m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t
+            public const nint m_nConstIdx = 0x20; // PulseRuntimeConstantIndex_t
+            public const nint m_nDomainValueIdx = 0x22; // PulseRuntimeDomainValueIndex_t
+            public const nint m_nBlackboardReferenceIdx = 0x24; // PulseRuntimeBlackboardReferenceIndex_t
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_InvokeBinding {
+            public const nint m_RegisterMap = 0x0; // PulseRegisterMap_t
+            public const nint m_FuncName = 0x20; // CUtlSymbolLarge
+            public const nint m_nCellIndex = 0x28; // PulseRuntimeCellIndex_t
+            public const nint m_nSrcChunk = 0x2C; // PulseRuntimeChunkIndex_t
+            public const nint m_nSrcInstruction = 0x30; // int32
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_Variable {
+            public const nint m_Name = 0x0; // CUtlSymbolLarge
+            public const nint m_Description = 0x8; // CUtlString
+            public const nint m_Type = 0x10; // CPulseValueFullType
+            public const nint m_DefaultValue = 0x20; // KeyValues3
+            public const nint m_bIsPublic = 0x32; // bool
+            public const nint m_bIsObservable = 0x33; // bool
+            public const nint m_nEditorNodeID = 0x34; // PulseDocNodeID_t
+        }
+        // Parent: CPulseCell_Inflow_BaseEntrypoint
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Inflow_Method {
+            public const nint m_MethodName = 0x70; // CUtlSymbolLarge
+            public const nint m_Description = 0x78; // CUtlString
+            public const nint m_bIsPublic = 0x80; // bool
+            public const nint m_ReturnType = 0x88; // CPulseValueFullType
+            public const nint m_Args = 0x98; // CUtlLeanVector<CPulseRuntimeMethodArg>
+        }
+        // Parent: CBasePulseGraphInstance
+        // Field count: 6
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        // MPulseDomainOptInFeatureTag
+        public static class CPulseGraphInstance_TestDomain {
+            public const nint m_bIsRunningUnitTests = 0xF8; // bool
+            public const nint m_bExplicitTimeStepping = 0xF9; // bool
+            public const nint m_bExpectingToDestroyWithYieldedCursors = 0xFA; // bool
+            public const nint m_nNextValidateIndex = 0xFC; // int32
+            public const nint m_Tracepoints = 0x100; // CUtlVector<CUtlString>
+            public const nint m_bTestYesOrNoPath = 0x118; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class FakeEntityDerivedB_tAPI {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PulseNodeDynamicOutflows_t__DynamicOutflow_t {
+            public const nint m_OutflowID = 0x0; // CGlobalSymbol
+            public const nint m_Connection = 0x8; // CPulse_OutflowConnection
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Outflow_CycleShuffled {
+            public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeOutputIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class CPulseCell_WaitForCursorsWithTagBase__CursorState_t {
+            public const nint m_TagName = 0x0; // CUtlSymbolLarge
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_TestWaitWithCursorState__CursorState_t {
+            public const nint flWaitValue = 0x0; // float32
+            public const nint bFailOnCancel = 0x4; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_DomainValue {
+            public const nint m_nType = 0x0; // PulseDomainValueType_t
+            public const nint m_Value = 0x8; // CGlobalSymbol
+            public const nint m_ExpectedRuntimeType = 0x10; // CGlobalSymbol
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        public static class CPulseCell_Step_TestDomainCreateFakeEntity {
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPulseEditorHeaderText
+        public static class CPulseCell_Step_TestDomainEntFire {
+            public const nint m_Input = 0x48; // CUtlString
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseLibraryBindings
+        // MPropertyDescription
+        public static class CPulseMathlib {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeBlackboardReferenceIndex_t {
+            public const nint m_Value = 0x0; // int16
+        }
+        // Parent: IGapHost_Cursor
+        // Field count: 0
+        public static class IGapHost_YieldingCursor {
+        }
+        // Parent: CPulse_OutflowConnection
+        // Field count: 0
+        public static class SignatureOutflow_Continue {
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Test_MultiOutflow_WithParams_Yielding {
+            public const nint m_Out1 = 0x48; // SignatureOutflow_Continue
+            public const nint m_AsyncChild1 = 0x78; // SignatureOutflow_Continue
+            public const nint m_AsyncChild2 = 0xA8; // SignatureOutflow_Continue
+            public const nint m_YieldResume1 = 0xD8; // SignatureOutflow_Resume
+            public const nint m_YieldResume2 = 0x108; // SignatureOutflow_Resume
+        }
+        // Parent: CPulseGraphInstance_TestDomain
+        // Field count: 1
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        public static class CPulseGraphInstance_TestDomain_Derived {
+            public const nint m_nInstanceValueX = 0x120; // int32
+        }
+        // Parent: CPulseCell_Inflow_BaseEntrypoint
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Inflow_EntOutputHandler {
+            public const nint m_SourceEntity = 0x70; // CUtlSymbolLarge
+            public const nint m_SourceOutput = 0x78; // CUtlSymbolLarge
+            public const nint m_TargetInput = 0x80; // CUtlSymbolLarge
+            public const nint m_ExpectedParamType = 0x88; // CPulseValueFullType
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeConstantIndex_t {
+            public const nint m_Value = 0x0; // int16
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class FakeEntityDerivedA_tAPI {
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        public static class CPulseCell_Step_TestDomainTracepoint {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseDocNodeID_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_BlackboardReference {
+            public const nint m_hBlackboardResource = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIPulseGraphDef>>
+            public const nint m_BlackboardResource = 0xE0; // CUtlSymbolLarge
+            public const nint m_nNodeID = 0xE8; // PulseDocNodeID_t
+            public const nint m_NodeName = 0xF0; // CGlobalSymbol
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_LimitCount__InstanceState_t {
+            public const nint m_nCurrentCount = 0x0; // int32
+        }
+        // Parent: CPulseCell_BaseValue
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        public static class CPulseCell_Val_TestDomainGetEntityName {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_CallInfo {
+            public const nint m_PortName = 0x0; // CUtlSymbolLarge
+            public const nint m_nEditorNodeID = 0x8; // PulseDocNodeID_t
+            public const nint m_RegisterMap = 0x10; // PulseRegisterMap_t
+            public const nint m_CallMethodID = 0x30; // PulseDocNodeID_t
+            public const nint m_nSrcChunk = 0x34; // PulseRuntimeChunkIndex_t
+            public const nint m_nSrcInstruction = 0x38; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_RegisterInfo {
+            public const nint m_nReg = 0x0; // PulseRuntimeRegisterIndex_t
+            public const nint m_Type = 0x8; // CPulseValueFullType
+            public const nint m_OriginName = 0x18; // CKV3MemberNameWithStorage
+            public const nint m_nWrittenByInstruction = 0x50; // int32
+            public const nint m_nLastReadByInstruction = 0x54; // int32
+        }
+        // Parent: CPulseCell_BaseValue
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        // MPulseEditorHeaderIcon
+        public static class CPulseCell_Value_RandomFloat {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeCellIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: IGapHost_YieldingCursor
+        // Field count: 0
+        public static class CPulseExecCursor {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseGraphInstanceID_t {
+            public const nint m_Value = 0x0; // uint32
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Outflow_IntSwitch {
+            public const nint m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
+            public const nint m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseGraphDef {
+            public const nint m_DomainIdentifier = 0x8; // CUtlSymbolLarge
+            public const nint m_ParentMapName = 0x10; // CUtlSymbolLarge
+            public const nint m_ParentXmlName = 0x18; // CUtlSymbolLarge
+            public const nint m_vecGameBlackboards = 0x20; // CUtlVector<CUtlSymbolLarge>
+            public const nint m_Chunks = 0x38; // CUtlVector<CPulse_Chunk*>
+            public const nint m_Cells = 0x50; // CUtlVector<CPulseCell_Base*>
+            public const nint m_Vars = 0x68; // CUtlVector<CPulse_Variable>
+            public const nint m_PublicOutputs = 0x80; // CUtlVector<CPulse_PublicOutput>
+            public const nint m_InvokeBindings = 0x98; // CUtlVector<CPulse_InvokeBinding*>
+            public const nint m_CallInfos = 0xB0; // CUtlVector<CPulse_CallInfo*>
+            public const nint m_Constants = 0xC8; // CUtlVector<CPulse_Constant>
+            public const nint m_DomainValues = 0xE0; // CUtlVector<CPulse_DomainValue>
+            public const nint m_BlackboardReferences = 0xF8; // CUtlVector<CPulse_BlackboardReference>
+            public const nint m_OutputConnections = 0x110; // CUtlVector<CPulse_OutputConnection*>
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Test_MultiInflow_NoDefault {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulse_Constant {
+            public const nint m_Type = 0x0; // CPulseValueFullType
+            public const nint m_Value = 0x10; // KeyValues3
+        }
+        // Parent: CPulseCell_WaitForCursorsWithTagBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        // MPulseEditorHeaderIcon
+        public static class CPulseCell_WaitForCursorsWithTag {
+            public const nint m_bTagSelfWhenComplete = 0x80; // bool
+            public const nint m_nDesiredKillPriority = 0x84; // PulseCursorCancelPriority_t
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_Inflow_BaseEntrypoint {
+            public const nint m_EntryChunk = 0x48; // PulseRuntimeChunkIndex_t
+            public const nint m_RegisterMap = 0x50; // PulseRegisterMap_t
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeCallInfoIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: CPulseCell_BaseYieldingInflow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseCell_BaseLerp {
+            public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CPulseCell_Outflow_TestExplicitYesNo {
+            public const nint m_Yes = 0x48; // CPulse_OutflowConnection
+            public const nint m_No = 0x78; // CPulse_OutflowConnection
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CPulseCell_Outflow_TestRandomYesNo {
+            public const nint m_Yes = 0x48; // CPulse_OutflowConnection
+            public const nint m_No = 0x78; // CPulse_OutflowConnection
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Step_DebugLog {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeChunkIndex_t {
+            public const nint m_Value = 0x0; // int32
+        }
+        // Parent: CPulseCell_BaseFlow
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        public static class CPulseCell_Outflow_CycleOrdered {
+            public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPulseRuntimeMethodArg {
+            public const nint m_Name = 0x0; // CKV3MemberNameWithStorage
+            public const nint m_Description = 0x38; // CUtlString
+            public const nint m_Type = 0x40; // CPulseValueFullType
+        }
+        // Parent: None
+        // Field count: 1
+        public static class PulseRuntimeStateOffset_t {
+            public const nint m_Value = 0x0; // uint16
+        }
+        // Parent: CPulseCell_BaseValue
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MCellForDomain
+        // MPulseCellMethodBindings
+        // MPulseCellOutflowHookInfo
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        // MPulseEditorHeaderIcon
+        public static class CPulseCell_Value_RandomInt {
+        }
+        // Parent: CPulseExecCursor
+        // Field count: 4
+        //
+        // Metadata:
+        // MPulseLibraryBindings
+        public static class CPulseTurtleGraphicsCursor {
+            public const nint m_Color = 0xA8; // Color
+            public const nint m_vPos = 0xAC; // Vector2D
+            public const nint m_flHeadingDeg = 0xB4; // float32
+            public const nint m_bPenUp = 0xB8; // bool
+        }
+    }
+}
diff --git a/output/pulse_system_dll.hpp b/output/pulse_system_dll.hpp
new file mode 100644
index 0000000..6f65f23
--- /dev/null
+++ b/output/pulse_system_dll.hpp
@@ -0,0 +1,1241 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: pulse_system.dll
+        // Class count: 112
+        // Enum count: 9
+        namespace pulse_system_dll {
+            // Alignment: 4
+            // Member count: 6
+            enum class EPulseGraphExecutionHistoryFlag : uint32_t {
+                NO_FLAGS = 0x0,
+                CURSOR_ADD_TAG = 0x1,
+                CURSOR_REMOVE_TAG = 0x2,
+                CURSOR_RETIRED = 0x4,
+                REQUIREMENT_PASS = 0x8,
+                REQUIREMENT_FAIL = 0x10
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class PulseTestEnumShape_t : uint32_t {
+                CIRCLE = 0x64,
+                SQUARE = 0xC8,
+                TRIANGLE = 0x12C
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class PulseMethodCallMode_t : uint32_t {
+                SYNC_WAIT_FOR_COMPLETION = 0x0,
+                ASYNC_FIRE_AND_FORGET = 0x1
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PulseCursorExecResult_t : uint32_t {
+                Succeeded = 0x0,
+                Canceled = 0x1,
+                Failed = 0x2,
+                OngoingNotify = 0x3
+            };
+            // Alignment: 4
+            // Member count: 21
+            enum class PulseValueType_t : uint32_t {
+                PVAL_INVALID = 0xFFFFFFFFFFFFFFFF,
+                PVAL_BOOL = 0x0,
+                PVAL_INT = 0x1,
+                PVAL_FLOAT = 0x2,
+                PVAL_STRING = 0x3,
+                PVAL_VEC3 = 0x4,
+                PVAL_TRANSFORM = 0x5,
+                PVAL_COLOR_RGB = 0x6,
+                PVAL_EHANDLE = 0x7,
+                PVAL_RESOURCE = 0x8,
+                PVAL_SNDEVT_GUID = 0x9,
+                PVAL_SNDEVT_NAME = 0xA,
+                PVAL_ENTITY_NAME = 0xB,
+                PVAL_OPAQUE_HANDLE = 0xC,
+                PVAL_TYPESAFE_INT = 0xD,
+                PVAL_CURSOR_FLOW = 0xE,
+                PVAL_ANY = 0xF,
+                PVAL_SCHEMA_ENUM = 0x10,
+                PVAL_PANORAMA_PANEL_HANDLE = 0x11,
+                PVAL_TEST_HANDLE = 0x12,
+                PVAL_COUNT = 0x13
+            };
+            // Alignment: 2
+            // Member count: 75
+            enum class PulseInstructionCode_t : uint16_t {
+                INVALID = 0x0,
+                IMMEDIATE_HALT = 0x1,
+                RETURN_VOID = 0x2,
+                RETURN_VALUE = 0x3,
+                NOP = 0x4,
+                JUMP = 0x5,
+                JUMP_COND = 0x6,
+                CHUNK_LEAP = 0x7,
+                CHUNK_LEAP_COND = 0x8,
+                PULSE_CALL_SYNC = 0x9,
+                PULSE_CALL_ASYNC_FIRE = 0xA,
+                CELL_INVOKE = 0xB,
+                LIBRARY_INVOKE = 0xC,
+                SET_VAR = 0xD,
+                GET_VAR = 0xE,
+                GET_CONST = 0xF,
+                GET_DOMAIN_VALUE = 0x10,
+                COPY = 0x11,
+                NOT = 0x12,
+                NEGATE = 0x13,
+                ADD = 0x14,
+                SUB = 0x15,
+                MUL = 0x16,
+                DIV = 0x17,
+                MOD = 0x18,
+                LT = 0x19,
+                LTE = 0x1A,
+                EQ = 0x1B,
+                NE = 0x1C,
+                AND = 0x1D,
+                OR = 0x1E,
+                CONVERT_VALUE = 0x1F,
+                REINTERPRET_INSTANCE = 0x20,
+                GET_BLACKBOARD_REFERENCE = 0x21,
+                SET_BLACKBOARD_REFERENCE = 0x22,
+                REQUIREMENT_RESULT = 0x23,
+                LAST_SERIALIZED_CODE = 0x24,
+                NEGATE_INT = 0x25,
+                NEGATE_FLOAT = 0x26,
+                ADD_INT = 0x27,
+                ADD_FLOAT = 0x28,
+                ADD_STRING = 0x29,
+                SUB_INT = 0x2A,
+                SUB_FLOAT = 0x2B,
+                MUL_INT = 0x2C,
+                MUL_FLOAT = 0x2D,
+                DIV_INT = 0x2E,
+                DIV_FLOAT = 0x2F,
+                MOD_INT = 0x30,
+                MOD_FLOAT = 0x31,
+                LT_INT = 0x32,
+                LT_FLOAT = 0x33,
+                LTE_INT = 0x34,
+                LTE_FLOAT = 0x35,
+                EQ_BOOL = 0x36,
+                EQ_INT = 0x37,
+                EQ_FLOAT = 0x38,
+                EQ_STRING = 0x39,
+                EQ_ENTITY_NAME = 0x3A,
+                EQ_SCHEMA_ENUM = 0x3B,
+                EQ_EHANDLE = 0x3C,
+                EQ_PANEL_HANDLE = 0x3D,
+                EQ_OPAQUE_HANDLE = 0x3E,
+                EQ_TEST_HANDLE = 0x3F,
+                NE_BOOL = 0x40,
+                NE_INT = 0x41,
+                NE_FLOAT = 0x42,
+                NE_STRING = 0x43,
+                NE_ENTITY_NAME = 0x44,
+                NE_SCHEMA_ENUM = 0x45,
+                NE_EHANDLE = 0x46,
+                NE_PANEL_HANDLE = 0x47,
+                NE_OPAQUE_HANDLE = 0x48,
+                NE_TEST_HANDLE = 0x49,
+                GET_CONST_INLINE_STORAGE = 0x4A
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class PulseTestEnumColor_t : uint32_t {
+                BLACK = 0x0,
+                WHITE = 0x1,
+                RED = 0x2,
+                GREEN = 0x3,
+                BLUE = 0x4
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PulseCursorCancelPriority_t : uint32_t {
+                None = 0x0,
+                CancelOnSucceeded = 0x1,
+                SoftCancel = 0x2,
+                HardCancel = 0x3
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PulseDomainValueType_t : uint32_t {
+                INVALID = 0xFFFFFFFFFFFFFFFF,
+                ENTITY_NAME = 0x0,
+                PANEL_ID = 0x1,
+                COUNT = 0x2
+            };
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Step_PublicOutput {
+                constexpr std::ptrdiff_t m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            namespace CPulseCell_Val_TestDomainFindEntityByName {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            namespace CPulseTestFuncs_LibraryA {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            namespace CPulseCell_Step_TestDomainDestroyFakeEntity {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Test_MultiOutflow_WithParams {
+                constexpr std::ptrdiff_t m_Out1 = 0x48; // SignatureOutflow_Continue
+                constexpr std::ptrdiff_t m_Out2 = 0x78; // SignatureOutflow_Continue
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeVarIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeEntrypointIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeDomainValueIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int16
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_Chunk {
+                constexpr std::ptrdiff_t m_Instructions = 0x0; // CUtlLeanVector<PGDInstruction_t>
+                constexpr std::ptrdiff_t m_Registers = 0x10; // CUtlLeanVector<CPulse_RegisterInfo>
+                constexpr std::ptrdiff_t m_InstructionEditorIDs = 0x20; // CUtlLeanVector<PulseDocNodeID_t>
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeInvokeIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_Outflow_CycleOrdered__InstanceState_t {
+                constexpr std::ptrdiff_t m_nNextIndex = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_WaitForCursorsWithTagBase {
+                constexpr std::ptrdiff_t m_nCursorsAllowedToWait = 0x48; // int32
+                constexpr std::ptrdiff_t m_WaitComplete = 0x50; // CPulse_ResumePoint
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            namespace CPulseTestScriptLib {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeRegisterIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_Timeline__TimelineEvent_t {
+                constexpr std::ptrdiff_t m_flTimeFromPrevious = 0x0; // float32
+                constexpr std::ptrdiff_t m_bPauseForPreviousEvents = 0x4; // bool
+                constexpr std::ptrdiff_t m_bCallModeSync = 0x5; // bool
+                constexpr std::ptrdiff_t m_EventOutflow = 0x8; // CPulse_OutflowConnection
+            }
+            // Parent: None
+            // Field count: 4
+            namespace CPulse_OutflowConnection {
+                constexpr std::ptrdiff_t m_SourceOutflowName = 0x0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t
+                constexpr std::ptrdiff_t m_nInstruction = 0xC; // int32
+                constexpr std::ptrdiff_t m_OutflowRegisterMap = 0x10; // PulseRegisterMap_t
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseCursorID_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            namespace CBasePulseGraphInstance {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_Base {
+                constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
+                constexpr std::ptrdiff_t nTestStep = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PulseGraphExecutionHistoryCursorDesc_t {
+                constexpr std::ptrdiff_t vecAncestorCursorIDs = 0x0; // CUtlVector<PulseCursorID_t>
+                constexpr std::ptrdiff_t nSpawnNodeID = 0x18; // PulseDocNodeID_t
+                constexpr std::ptrdiff_t nRetiredAtNodeID = 0x1C; // PulseDocNodeID_t
+                constexpr std::ptrdiff_t flLastReferenced = 0x20; // float32
+                constexpr std::ptrdiff_t nLastValidEntryIdx = 0x24; // int32
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Inflow_Yield {
+                constexpr std::ptrdiff_t m_UnyieldResume = 0x48; // CPulse_ResumePoint
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Inflow_GraphHook {
+                constexpr std::ptrdiff_t m_HookName = 0x70; // CUtlSymbolLarge
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            namespace CPulseCell_Inflow_Wait {
+                constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
+            }
+            // Parent: CPulseExecCursor
+            // Field count: 2
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            namespace CTestDomainDerived_Cursor {
+                constexpr std::ptrdiff_t m_nCursorValueA = 0xA8; // int32
+                constexpr std::ptrdiff_t m_nCursorValueB = 0xAC; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PulseRegisterMap_t {
+                constexpr std::ptrdiff_t m_Inparams = 0x0; // KeyValues3
+                constexpr std::ptrdiff_t m_Outparams = 0x10; // KeyValues3
+            }
+            // Parent: CPulseCell_WaitForCursorsWithTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            namespace CPulseCell_CursorQueue {
+                constexpr std::ptrdiff_t m_nCursorsAllowedToRunParallel = 0x80; // int32
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_BaseRequirement {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PulseNodeDynamicOutflows_t {
+                constexpr std::ptrdiff_t m_Outflows = 0x0; // CUtlVector<PulseNodeDynamicOutflows_t::DynamicOutflow_t>
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CPulseCell_Value_TestValue50 {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Test_MultiInflow_WithDefault {
+            }
+            // Parent: None
+            // Field count: 0
+            namespace IGapHost_ExecLog {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGapTypeQueriesForScopeSingleton
+            namespace CPulseTestGapTypeQueryRegistration {
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 1
+            namespace CPulseCell_Unknown {
+                constexpr std::ptrdiff_t m_UnknownKeys = 0x48; // KeyValues3
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Outflow_StringSwitch {
+                constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
+                constexpr std::ptrdiff_t m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Test_NoInflow {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_FireCursors {
+                constexpr std::ptrdiff_t m_Outflows = 0x48; // CUtlVector<CPulse_OutflowConnection>
+                constexpr std::ptrdiff_t m_bWaitForChildOutflows = 0x60; // bool
+                constexpr std::ptrdiff_t m_OnFinished = 0x68; // CPulse_ResumePoint
+                constexpr std::ptrdiff_t m_OnCanceled = 0x98; // CPulse_ResumePoint
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_Outflow_CycleShuffled__InstanceState_t {
+                constexpr std::ptrdiff_t m_Shuffle = 0x0; // CUtlVectorFixedGrowable<uint8,8>
+                constexpr std::ptrdiff_t m_nNextShuffle = 0x20; // int32
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_BaseValue {
+            }
+            // Parent: CPulse_OutflowConnection
+            // Field count: 0
+            namespace CPulse_ResumePoint {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Outflow_CycleRandom {
+                constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Inflow_EventHandler {
+                constexpr std::ptrdiff_t m_EventName = 0x70; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_BaseLerp__CursorState_t {
+                constexpr std::ptrdiff_t m_StartTime = 0x0; // GameTime_t
+                constexpr std::ptrdiff_t m_EndTime = 0x4; // GameTime_t
+            }
+            // Parent: IGapHost_ExecLog
+            // Field count: 0
+            namespace IGapHost_Cursor {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_PublicOutput {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Description = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_ParamType = 0x10; // CPulseValueFullType
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            namespace CPulseCursorFuncs {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Timeline {
+                constexpr std::ptrdiff_t m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
+                constexpr std::ptrdiff_t m_bWaitForChildOutflows = 0x60; // bool
+                constexpr std::ptrdiff_t m_OnFinished = 0x68; // CPulse_ResumePoint
+                constexpr std::ptrdiff_t m_OnCanceled = 0x98; // CPulse_ResumePoint
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_OutputConnection {
+                constexpr std::ptrdiff_t m_SourceOutput = 0x0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_TargetEntity = 0x8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_TargetInput = 0x10; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Param = 0x18; // CUtlSymbolLarge
+            }
+            // Parent: CPulseCell_BaseRequirement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseRequirementPass
+            // MPulseRequirementSummaryExpr
+            namespace CPulseCell_LimitCount {
+                constexpr std::ptrdiff_t m_nLimitCount = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PulseGraphExecutionHistoryNodeDesc_t {
+                constexpr std::ptrdiff_t strCellDesc = 0x0; // CBufferString
+                constexpr std::ptrdiff_t strBindingName = 0x10; // CUtlSymbolLarge
+            }
+            // Parent: CPulse_ResumePoint
+            // Field count: 0
+            namespace SignatureOutflow_Resume {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace FakeEntity_tAPI {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Step_CallExternalMethod {
+                constexpr std::ptrdiff_t m_MethodName = 0x48; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_GameBlackboard = 0x50; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ExpectedArgs = 0x58; // CUtlLeanVector<CPulseRuntimeMethodArg>
+                constexpr std::ptrdiff_t m_nAsyncCallMode = 0x68; // PulseMethodCallMode_t
+                constexpr std::ptrdiff_t m_OnFinished = 0x70; // CPulse_ResumePoint
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            namespace CPulseGraphInstance_TurtleGraphics {
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_BaseFlow {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PulseGraphExecutionHistoryEntry_t {
+                constexpr std::ptrdiff_t nCursorID = 0x0; // PulseCursorID_t
+                constexpr std::ptrdiff_t nEditorID = 0x4; // PulseDocNodeID_t
+                constexpr std::ptrdiff_t flExecTime = 0x8; // float32
+                constexpr std::ptrdiff_t unFlags = 0xC; // uint32
+                constexpr std::ptrdiff_t tagName = 0x10; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseCursorYieldToken_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseGraphExecutionHistory {
+                constexpr std::ptrdiff_t m_nInstanceID = 0x0; // PulseGraphInstanceID_t
+                constexpr std::ptrdiff_t m_strFileName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_vecHistory = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
+                constexpr std::ptrdiff_t m_mapCellDesc = 0x28; // CUtlOrderedMap<PulseDocNodeID_t,PulseGraphExecutionHistoryNodeDesc_t*>
+                constexpr std::ptrdiff_t m_mapCursorDesc = 0x50; // CUtlOrderedMap<PulseCursorID_t,PulseGraphExecutionHistoryCursorDesc_t*>
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_TestWaitWithCursorState {
+                constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
+                constexpr std::ptrdiff_t m_WakeCancel = 0x78; // CPulse_ResumePoint
+                constexpr std::ptrdiff_t m_WakeFail = 0xA8; // CPulse_ResumePoint
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Inflow_ObservableVariableListener {
+                constexpr std::ptrdiff_t m_BlackboardReference = 0x70; // CPulse_BlackboardReference
+                constexpr std::ptrdiff_t m_bSelfReference = 0x168; // bool
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_BaseYieldingInflow {
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PGDInstruction_t {
+                constexpr std::ptrdiff_t m_nCode = 0x0; // PulseInstructionCode_t
+                constexpr std::ptrdiff_t m_nVar = 0x4; // PulseRuntimeVarIndex_t
+                constexpr std::ptrdiff_t m_nReg0 = 0x8; // PulseRuntimeRegisterIndex_t
+                constexpr std::ptrdiff_t m_nReg1 = 0xA; // PulseRuntimeRegisterIndex_t
+                constexpr std::ptrdiff_t m_nReg2 = 0xC; // PulseRuntimeRegisterIndex_t
+                constexpr std::ptrdiff_t m_nInvokeBindingIndex = 0x10; // PulseRuntimeInvokeIndex_t
+                constexpr std::ptrdiff_t m_nChunk = 0x14; // PulseRuntimeChunkIndex_t
+                constexpr std::ptrdiff_t m_nDestInstruction = 0x18; // int32
+                constexpr std::ptrdiff_t m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t
+                constexpr std::ptrdiff_t m_nConstIdx = 0x20; // PulseRuntimeConstantIndex_t
+                constexpr std::ptrdiff_t m_nDomainValueIdx = 0x22; // PulseRuntimeDomainValueIndex_t
+                constexpr std::ptrdiff_t m_nBlackboardReferenceIdx = 0x24; // PulseRuntimeBlackboardReferenceIndex_t
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_InvokeBinding {
+                constexpr std::ptrdiff_t m_RegisterMap = 0x0; // PulseRegisterMap_t
+                constexpr std::ptrdiff_t m_FuncName = 0x20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nCellIndex = 0x28; // PulseRuntimeCellIndex_t
+                constexpr std::ptrdiff_t m_nSrcChunk = 0x2C; // PulseRuntimeChunkIndex_t
+                constexpr std::ptrdiff_t m_nSrcInstruction = 0x30; // int32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_Variable {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Description = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_Type = 0x10; // CPulseValueFullType
+                constexpr std::ptrdiff_t m_DefaultValue = 0x20; // KeyValues3
+                constexpr std::ptrdiff_t m_bIsPublic = 0x32; // bool
+                constexpr std::ptrdiff_t m_bIsObservable = 0x33; // bool
+                constexpr std::ptrdiff_t m_nEditorNodeID = 0x34; // PulseDocNodeID_t
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Inflow_Method {
+                constexpr std::ptrdiff_t m_MethodName = 0x70; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Description = 0x78; // CUtlString
+                constexpr std::ptrdiff_t m_bIsPublic = 0x80; // bool
+                constexpr std::ptrdiff_t m_ReturnType = 0x88; // CPulseValueFullType
+                constexpr std::ptrdiff_t m_Args = 0x98; // CUtlLeanVector<CPulseRuntimeMethodArg>
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 6
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            namespace CPulseGraphInstance_TestDomain {
+                constexpr std::ptrdiff_t m_bIsRunningUnitTests = 0xF8; // bool
+                constexpr std::ptrdiff_t m_bExplicitTimeStepping = 0xF9; // bool
+                constexpr std::ptrdiff_t m_bExpectingToDestroyWithYieldedCursors = 0xFA; // bool
+                constexpr std::ptrdiff_t m_nNextValidateIndex = 0xFC; // int32
+                constexpr std::ptrdiff_t m_Tracepoints = 0x100; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_bTestYesOrNoPath = 0x118; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace FakeEntityDerivedB_tAPI {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PulseNodeDynamicOutflows_t__DynamicOutflow_t {
+                constexpr std::ptrdiff_t m_OutflowID = 0x0; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_Connection = 0x8; // CPulse_OutflowConnection
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Outflow_CycleShuffled {
+                constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeOutputIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace CPulseCell_WaitForCursorsWithTagBase__CursorState_t {
+                constexpr std::ptrdiff_t m_TagName = 0x0; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_TestWaitWithCursorState__CursorState_t {
+                constexpr std::ptrdiff_t flWaitValue = 0x0; // float32
+                constexpr std::ptrdiff_t bFailOnCancel = 0x4; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_DomainValue {
+                constexpr std::ptrdiff_t m_nType = 0x0; // PulseDomainValueType_t
+                constexpr std::ptrdiff_t m_Value = 0x8; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_ExpectedRuntimeType = 0x10; // CGlobalSymbol
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            namespace CPulseCell_Step_TestDomainCreateFakeEntity {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPulseEditorHeaderText
+            namespace CPulseCell_Step_TestDomainEntFire {
+                constexpr std::ptrdiff_t m_Input = 0x48; // CUtlString
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            namespace CPulseMathlib {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeBlackboardReferenceIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int16
+            }
+            // Parent: IGapHost_Cursor
+            // Field count: 0
+            namespace IGapHost_YieldingCursor {
+            }
+            // Parent: CPulse_OutflowConnection
+            // Field count: 0
+            namespace SignatureOutflow_Continue {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Test_MultiOutflow_WithParams_Yielding {
+                constexpr std::ptrdiff_t m_Out1 = 0x48; // SignatureOutflow_Continue
+                constexpr std::ptrdiff_t m_AsyncChild1 = 0x78; // SignatureOutflow_Continue
+                constexpr std::ptrdiff_t m_AsyncChild2 = 0xA8; // SignatureOutflow_Continue
+                constexpr std::ptrdiff_t m_YieldResume1 = 0xD8; // SignatureOutflow_Resume
+                constexpr std::ptrdiff_t m_YieldResume2 = 0x108; // SignatureOutflow_Resume
+            }
+            // Parent: CPulseGraphInstance_TestDomain
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            namespace CPulseGraphInstance_TestDomain_Derived {
+                constexpr std::ptrdiff_t m_nInstanceValueX = 0x120; // int32
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Inflow_EntOutputHandler {
+                constexpr std::ptrdiff_t m_SourceEntity = 0x70; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SourceOutput = 0x78; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_TargetInput = 0x80; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ExpectedParamType = 0x88; // CPulseValueFullType
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeConstantIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int16
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace FakeEntityDerivedA_tAPI {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            namespace CPulseCell_Step_TestDomainTracepoint {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseDocNodeID_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_BlackboardReference {
+                constexpr std::ptrdiff_t m_hBlackboardResource = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIPulseGraphDef>>
+                constexpr std::ptrdiff_t m_BlackboardResource = 0xE0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nNodeID = 0xE8; // PulseDocNodeID_t
+                constexpr std::ptrdiff_t m_NodeName = 0xF0; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_LimitCount__InstanceState_t {
+                constexpr std::ptrdiff_t m_nCurrentCount = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            namespace CPulseCell_Val_TestDomainGetEntityName {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_CallInfo {
+                constexpr std::ptrdiff_t m_PortName = 0x0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t
+                constexpr std::ptrdiff_t m_RegisterMap = 0x10; // PulseRegisterMap_t
+                constexpr std::ptrdiff_t m_CallMethodID = 0x30; // PulseDocNodeID_t
+                constexpr std::ptrdiff_t m_nSrcChunk = 0x34; // PulseRuntimeChunkIndex_t
+                constexpr std::ptrdiff_t m_nSrcInstruction = 0x38; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_RegisterInfo {
+                constexpr std::ptrdiff_t m_nReg = 0x0; // PulseRuntimeRegisterIndex_t
+                constexpr std::ptrdiff_t m_Type = 0x8; // CPulseValueFullType
+                constexpr std::ptrdiff_t m_OriginName = 0x18; // CKV3MemberNameWithStorage
+                constexpr std::ptrdiff_t m_nWrittenByInstruction = 0x50; // int32
+                constexpr std::ptrdiff_t m_nLastReadByInstruction = 0x54; // int32
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            namespace CPulseCell_Value_RandomFloat {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeCellIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: IGapHost_YieldingCursor
+            // Field count: 0
+            namespace CPulseExecCursor {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseGraphInstanceID_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // uint32
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Outflow_IntSwitch {
+                constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
+                constexpr std::ptrdiff_t m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseGraphDef {
+                constexpr std::ptrdiff_t m_DomainIdentifier = 0x8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ParentMapName = 0x10; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ParentXmlName = 0x18; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vecGameBlackboards = 0x20; // CUtlVector<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_Chunks = 0x38; // CUtlVector<CPulse_Chunk*>
+                constexpr std::ptrdiff_t m_Cells = 0x50; // CUtlVector<CPulseCell_Base*>
+                constexpr std::ptrdiff_t m_Vars = 0x68; // CUtlVector<CPulse_Variable>
+                constexpr std::ptrdiff_t m_PublicOutputs = 0x80; // CUtlVector<CPulse_PublicOutput>
+                constexpr std::ptrdiff_t m_InvokeBindings = 0x98; // CUtlVector<CPulse_InvokeBinding*>
+                constexpr std::ptrdiff_t m_CallInfos = 0xB0; // CUtlVector<CPulse_CallInfo*>
+                constexpr std::ptrdiff_t m_Constants = 0xC8; // CUtlVector<CPulse_Constant>
+                constexpr std::ptrdiff_t m_DomainValues = 0xE0; // CUtlVector<CPulse_DomainValue>
+                constexpr std::ptrdiff_t m_BlackboardReferences = 0xF8; // CUtlVector<CPulse_BlackboardReference>
+                constexpr std::ptrdiff_t m_OutputConnections = 0x110; // CUtlVector<CPulse_OutputConnection*>
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Test_MultiInflow_NoDefault {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulse_Constant {
+                constexpr std::ptrdiff_t m_Type = 0x0; // CPulseValueFullType
+                constexpr std::ptrdiff_t m_Value = 0x10; // KeyValues3
+            }
+            // Parent: CPulseCell_WaitForCursorsWithTagBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            namespace CPulseCell_WaitForCursorsWithTag {
+                constexpr std::ptrdiff_t m_bTagSelfWhenComplete = 0x80; // bool
+                constexpr std::ptrdiff_t m_nDesiredKillPriority = 0x84; // PulseCursorCancelPriority_t
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_Inflow_BaseEntrypoint {
+                constexpr std::ptrdiff_t m_EntryChunk = 0x48; // PulseRuntimeChunkIndex_t
+                constexpr std::ptrdiff_t m_RegisterMap = 0x50; // PulseRegisterMap_t
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeCallInfoIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseCell_BaseLerp {
+                constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CPulseCell_Outflow_TestExplicitYesNo {
+                constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection
+                constexpr std::ptrdiff_t m_No = 0x78; // CPulse_OutflowConnection
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CPulseCell_Outflow_TestRandomYesNo {
+                constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection
+                constexpr std::ptrdiff_t m_No = 0x78; // CPulse_OutflowConnection
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Step_DebugLog {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeChunkIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            namespace CPulseCell_Outflow_CycleOrdered {
+                constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPulseRuntimeMethodArg {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CKV3MemberNameWithStorage
+                constexpr std::ptrdiff_t m_Description = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_Type = 0x40; // CPulseValueFullType
+            }
+            // Parent: None
+            // Field count: 1
+            namespace PulseRuntimeStateOffset_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // uint16
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            namespace CPulseCell_Value_RandomInt {
+            }
+            // Parent: CPulseExecCursor
+            // Field count: 4
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            namespace CPulseTurtleGraphicsCursor {
+                constexpr std::ptrdiff_t m_Color = 0xA8; // Color
+                constexpr std::ptrdiff_t m_vPos = 0xAC; // Vector2D
+                constexpr std::ptrdiff_t m_flHeadingDeg = 0xB4; // float32
+                constexpr std::ptrdiff_t m_bPenUp = 0xB8; // bool
+            }
+        }
+    }
+}
diff --git a/output/pulse_system_dll.json b/output/pulse_system_dll.json
new file mode 100644
index 0000000..727b63a
--- /dev/null
+++ b/output/pulse_system_dll.json
@@ -0,0 +1,2085 @@
+{
+  "pulse_system.dll": {
+    "classes": {
+      "CBasePulseGraphInstance": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Base": {
+        "fields": {
+          "m_nEditorNodeID": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_BaseFlow": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Base"
+      },
+      "CPulseCell_BaseLerp": {
+        "fields": {
+          "m_WakeResume": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_BaseLerp__CursorState_t": {
+        "fields": {
+          "m_EndTime": 4,
+          "m_StartTime": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_BaseRequirement": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Base"
+      },
+      "CPulseCell_BaseValue": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Base"
+      },
+      "CPulseCell_BaseYieldingInflow": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_CursorQueue": {
+        "fields": {
+          "m_nCursorsAllowedToRunParallel": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseEditorHeaderIcon",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_WaitForCursorsWithTagBase"
+      },
+      "CPulseCell_FireCursors": {
+        "fields": {
+          "m_OnCanceled": 152,
+          "m_OnFinished": 104,
+          "m_Outflows": 72,
+          "m_bWaitForChildOutflows": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_Inflow_BaseEntrypoint": {
+        "fields": {
+          "m_EntryChunk": 72,
+          "m_RegisterMap": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Inflow_EntOutputHandler": {
+        "fields": {
+          "m_ExpectedParamType": 136,
+          "m_SourceEntity": 112,
+          "m_SourceOutput": 120,
+          "m_TargetInput": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Inflow_BaseEntrypoint"
+      },
+      "CPulseCell_Inflow_EventHandler": {
+        "fields": {
+          "m_EventName": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Inflow_BaseEntrypoint"
+      },
+      "CPulseCell_Inflow_GraphHook": {
+        "fields": {
+          "m_HookName": 112
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Inflow_BaseEntrypoint"
+      },
+      "CPulseCell_Inflow_Method": {
+        "fields": {
+          "m_Args": 152,
+          "m_Description": 120,
+          "m_MethodName": 112,
+          "m_ReturnType": 136,
+          "m_bIsPublic": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Inflow_BaseEntrypoint"
+      },
+      "CPulseCell_Inflow_ObservableVariableListener": {
+        "fields": {
+          "m_BlackboardReference": 112,
+          "m_bSelfReference": 360
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_Inflow_BaseEntrypoint"
+      },
+      "CPulseCell_Inflow_Wait": {
+        "fields": {
+          "m_WakeResume": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseEditorHeaderIcon",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_Inflow_Yield": {
+        "fields": {
+          "m_UnyieldResume": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_LimitCount": {
+        "fields": {
+          "m_nLimitCount": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseRequirementPass",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseRequirementSummaryExpr",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseRequirement"
+      },
+      "CPulseCell_LimitCount__InstanceState_t": {
+        "fields": {
+          "m_nCurrentCount": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Outflow_CycleOrdered": {
+        "fields": {
+          "m_Outputs": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Outflow_CycleOrdered__InstanceState_t": {
+        "fields": {
+          "m_nNextIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Outflow_CycleRandom": {
+        "fields": {
+          "m_Outputs": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Outflow_CycleShuffled": {
+        "fields": {
+          "m_Outputs": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Outflow_CycleShuffled__InstanceState_t": {
+        "fields": {
+          "m_Shuffle": 0,
+          "m_nNextShuffle": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Outflow_IntSwitch": {
+        "fields": {
+          "m_CaseOutflows": 120,
+          "m_DefaultCaseOutflow": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Outflow_StringSwitch": {
+        "fields": {
+          "m_CaseOutflows": 120,
+          "m_DefaultCaseOutflow": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Outflow_TestExplicitYesNo": {
+        "fields": {
+          "m_No": 120,
+          "m_Yes": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Outflow_TestRandomYesNo": {
+        "fields": {
+          "m_No": 120,
+          "m_Yes": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Step_CallExternalMethod": {
+        "fields": {
+          "m_ExpectedArgs": 88,
+          "m_GameBlackboard": 80,
+          "m_MethodName": 72,
+          "m_OnFinished": 112,
+          "m_nAsyncCallMode": 104
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_Step_DebugLog": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Step_PublicOutput": {
+        "fields": {
+          "m_OutputIndex": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Step_TestDomainCreateFakeEntity": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Step_TestDomainDestroyFakeEntity": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Step_TestDomainEntFire": {
+        "fields": {
+          "m_Input": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseEditorHeaderText",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Step_TestDomainTracepoint": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_TestWaitWithCursorState": {
+        "fields": {
+          "m_WakeCancel": 120,
+          "m_WakeFail": 168,
+          "m_WakeResume": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_TestWaitWithCursorState__CursorState_t": {
+        "fields": {
+          "bFailOnCancel": 4,
+          "flWaitValue": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Test_MultiInflow_NoDefault": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Test_MultiInflow_WithDefault": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Test_MultiOutflow_WithParams": {
+        "fields": {
+          "m_Out1": 72,
+          "m_Out2": 120
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Test_MultiOutflow_WithParams_Yielding": {
+        "fields": {
+          "m_AsyncChild1": 120,
+          "m_AsyncChild2": 168,
+          "m_Out1": 72,
+          "m_YieldResume1": 216,
+          "m_YieldResume2": 264
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t": {
+        "fields": {
+          "nTestStep": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Test_NoInflow": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseFlow"
+      },
+      "CPulseCell_Timeline": {
+        "fields": {
+          "m_OnCanceled": 152,
+          "m_OnFinished": 104,
+          "m_TimelineEvents": 72,
+          "m_bWaitForChildOutflows": 96
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_Timeline__TimelineEvent_t": {
+        "fields": {
+          "m_EventOutflow": 8,
+          "m_bCallModeSync": 5,
+          "m_bPauseForPreviousEvents": 4,
+          "m_flTimeFromPrevious": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseCell_Unknown": {
+        "fields": {
+          "m_UnknownKeys": 72
+        },
+        "metadata": [],
+        "parent": "CPulseCell_Base"
+      },
+      "CPulseCell_Val_TestDomainFindEntityByName": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseValue"
+      },
+      "CPulseCell_Val_TestDomainGetEntityName": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseValue"
+      },
+      "CPulseCell_Value_RandomFloat": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseEditorHeaderIcon",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseValue"
+      },
+      "CPulseCell_Value_RandomInt": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseEditorHeaderIcon",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseValue"
+      },
+      "CPulseCell_Value_TestValue50": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseValue"
+      },
+      "CPulseCell_WaitForCursorsWithTag": {
+        "fields": {
+          "m_bTagSelfWhenComplete": 128,
+          "m_nDesiredKillPriority": 132
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MCellForDomain",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellMethodBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseCellOutflowHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseEditorHeaderIcon",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_WaitForCursorsWithTagBase"
+      },
+      "CPulseCell_WaitForCursorsWithTagBase": {
+        "fields": {
+          "m_WaitComplete": 80,
+          "m_nCursorsAllowedToWait": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseCell_BaseYieldingInflow"
+      },
+      "CPulseCell_WaitForCursorsWithTagBase__CursorState_t": {
+        "fields": {
+          "m_TagName": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CPulseCursorFuncs": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseExecCursor": {
+        "fields": {},
+        "metadata": [],
+        "parent": "IGapHost_YieldingCursor"
+      },
+      "CPulseGraphDef": {
+        "fields": {
+          "m_BlackboardReferences": 248,
+          "m_CallInfos": 176,
+          "m_Cells": 80,
+          "m_Chunks": 56,
+          "m_Constants": 200,
+          "m_DomainIdentifier": 8,
+          "m_DomainValues": 224,
+          "m_InvokeBindings": 152,
+          "m_OutputConnections": 272,
+          "m_ParentMapName": 16,
+          "m_ParentXmlName": 24,
+          "m_PublicOutputs": 128,
+          "m_Vars": 104,
+          "m_vecGameBlackboards": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseGraphExecutionHistory": {
+        "fields": {
+          "m_mapCellDesc": 40,
+          "m_mapCursorDesc": 80,
+          "m_nInstanceID": 0,
+          "m_strFileName": 8,
+          "m_vecHistory": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseGraphInstance_TestDomain": {
+        "fields": {
+          "m_Tracepoints": 256,
+          "m_bExpectingToDestroyWithYieldedCursors": 250,
+          "m_bExplicitTimeStepping": 249,
+          "m_bIsRunningUnitTests": 248,
+          "m_bTestYesOrNoPath": 280,
+          "m_nNextValidateIndex": 252
+        },
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePulseGraphInstance"
+      },
+      "CPulseGraphInstance_TestDomain_Derived": {
+        "fields": {
+          "m_nInstanceValueX": 288
+        },
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseGraphInstance_TestDomain"
+      },
+      "CPulseGraphInstance_TurtleGraphics": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePulseGraphInstance"
+      },
+      "CPulseMathlib": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseRuntimeMethodArg": {
+        "fields": {
+          "m_Description": 56,
+          "m_Name": 0,
+          "m_Type": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseTestFuncs_LibraryA": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseTestGapTypeQueryRegistration": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGapTypeQueriesForScopeSingleton",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseTestScriptLib": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulseTurtleGraphicsCursor": {
+        "fields": {
+          "m_Color": 168,
+          "m_bPenUp": 184,
+          "m_flHeadingDeg": 180,
+          "m_vPos": 172
+        },
+        "metadata": [
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseExecCursor"
+      },
+      "CPulse_BlackboardReference": {
+        "fields": {
+          "m_BlackboardResource": 224,
+          "m_NodeName": 240,
+          "m_hBlackboardResource": 0,
+          "m_nNodeID": 232
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_CallInfo": {
+        "fields": {
+          "m_CallMethodID": 48,
+          "m_PortName": 0,
+          "m_RegisterMap": 16,
+          "m_nEditorNodeID": 8,
+          "m_nSrcChunk": 52,
+          "m_nSrcInstruction": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_Chunk": {
+        "fields": {
+          "m_InstructionEditorIDs": 32,
+          "m_Instructions": 0,
+          "m_Registers": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_Constant": {
+        "fields": {
+          "m_Type": 0,
+          "m_Value": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_DomainValue": {
+        "fields": {
+          "m_ExpectedRuntimeType": 16,
+          "m_Value": 8,
+          "m_nType": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_InvokeBinding": {
+        "fields": {
+          "m_FuncName": 32,
+          "m_RegisterMap": 0,
+          "m_nCellIndex": 40,
+          "m_nSrcChunk": 44,
+          "m_nSrcInstruction": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_OutflowConnection": {
+        "fields": {
+          "m_OutflowRegisterMap": 16,
+          "m_SourceOutflowName": 0,
+          "m_nDestChunk": 8,
+          "m_nInstruction": 12
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CPulse_OutputConnection": {
+        "fields": {
+          "m_Param": 24,
+          "m_SourceOutput": 0,
+          "m_TargetEntity": 8,
+          "m_TargetInput": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_PublicOutput": {
+        "fields": {
+          "m_Description": 8,
+          "m_Name": 0,
+          "m_ParamType": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_RegisterInfo": {
+        "fields": {
+          "m_OriginName": 24,
+          "m_Type": 8,
+          "m_nLastReadByInstruction": 84,
+          "m_nReg": 0,
+          "m_nWrittenByInstruction": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPulse_ResumePoint": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPulse_OutflowConnection"
+      },
+      "CPulse_Variable": {
+        "fields": {
+          "m_DefaultValue": 32,
+          "m_Description": 8,
+          "m_Name": 0,
+          "m_Type": 16,
+          "m_bIsObservable": 51,
+          "m_bIsPublic": 50,
+          "m_nEditorNodeID": 52
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CTestDomainDerived_Cursor": {
+        "fields": {
+          "m_nCursorValueA": 168,
+          "m_nCursorValueB": 172
+        },
+        "metadata": [
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseExecCursor"
+      },
+      "FakeEntityDerivedA_tAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FakeEntityDerivedB_tAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FakeEntity_tAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "IGapHost_Cursor": {
+        "fields": {},
+        "metadata": [],
+        "parent": "IGapHost_ExecLog"
+      },
+      "IGapHost_ExecLog": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "IGapHost_YieldingCursor": {
+        "fields": {},
+        "metadata": [],
+        "parent": "IGapHost_Cursor"
+      },
+      "PGDInstruction_t": {
+        "fields": {
+          "m_nBlackboardReferenceIdx": 36,
+          "m_nCallInfoIndex": 28,
+          "m_nChunk": 20,
+          "m_nCode": 0,
+          "m_nConstIdx": 32,
+          "m_nDestInstruction": 24,
+          "m_nDomainValueIdx": 34,
+          "m_nInvokeBindingIndex": 16,
+          "m_nReg0": 8,
+          "m_nReg1": 10,
+          "m_nReg2": 12,
+          "m_nVar": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseCursorID_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseCursorYieldToken_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseDocNodeID_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseGraphExecutionHistoryCursorDesc_t": {
+        "fields": {
+          "flLastReferenced": 32,
+          "nLastValidEntryIdx": 36,
+          "nRetiredAtNodeID": 28,
+          "nSpawnNodeID": 24,
+          "vecAncestorCursorIDs": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseGraphExecutionHistoryEntry_t": {
+        "fields": {
+          "flExecTime": 8,
+          "nCursorID": 0,
+          "nEditorID": 4,
+          "tagName": 16,
+          "unFlags": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseGraphExecutionHistoryNodeDesc_t": {
+        "fields": {
+          "strBindingName": 16,
+          "strCellDesc": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseGraphInstanceID_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseNodeDynamicOutflows_t": {
+        "fields": {
+          "m_Outflows": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseNodeDynamicOutflows_t__DynamicOutflow_t": {
+        "fields": {
+          "m_Connection": 8,
+          "m_OutflowID": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseRegisterMap_t": {
+        "fields": {
+          "m_Inparams": 0,
+          "m_Outparams": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PulseRuntimeBlackboardReferenceIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeCallInfoIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeCellIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeChunkIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeConstantIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeDomainValueIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeEntrypointIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeInvokeIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeOutputIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeRegisterIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeStateOffset_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "PulseRuntimeVarIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "SignatureOutflow_Continue": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPulse_OutflowConnection"
+      },
+      "SignatureOutflow_Resume": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPulse_ResumePoint"
+      }
+    },
+    "enums": {
+      "EPulseGraphExecutionHistoryFlag": {
+        "alignment": 4,
+        "members": {
+          "CURSOR_ADD_TAG": 1,
+          "CURSOR_REMOVE_TAG": 2,
+          "CURSOR_RETIRED": 4,
+          "NO_FLAGS": 0,
+          "REQUIREMENT_FAIL": 16,
+          "REQUIREMENT_PASS": 8
+        },
+        "type": "uint32"
+      },
+      "PulseCursorCancelPriority_t": {
+        "alignment": 4,
+        "members": {
+          "CancelOnSucceeded": 1,
+          "HardCancel": 3,
+          "None": 0,
+          "SoftCancel": 2
+        },
+        "type": "uint32"
+      },
+      "PulseCursorExecResult_t": {
+        "alignment": 4,
+        "members": {
+          "Canceled": 1,
+          "Failed": 2,
+          "OngoingNotify": 3,
+          "Succeeded": 0
+        },
+        "type": "uint32"
+      },
+      "PulseDomainValueType_t": {
+        "alignment": 4,
+        "members": {
+          "COUNT": 2,
+          "ENTITY_NAME": 0,
+          "INVALID": -1,
+          "PANEL_ID": 1
+        },
+        "type": "uint32"
+      },
+      "PulseInstructionCode_t": {
+        "alignment": 2,
+        "members": {
+          "ADD": 20,
+          "ADD_FLOAT": 40,
+          "ADD_INT": 39,
+          "ADD_STRING": 41,
+          "AND": 29,
+          "CELL_INVOKE": 11,
+          "CHUNK_LEAP": 7,
+          "CHUNK_LEAP_COND": 8,
+          "CONVERT_VALUE": 31,
+          "COPY": 17,
+          "DIV": 23,
+          "DIV_FLOAT": 47,
+          "DIV_INT": 46,
+          "EQ": 27,
+          "EQ_BOOL": 54,
+          "EQ_EHANDLE": 60,
+          "EQ_ENTITY_NAME": 58,
+          "EQ_FLOAT": 56,
+          "EQ_INT": 55,
+          "EQ_OPAQUE_HANDLE": 62,
+          "EQ_PANEL_HANDLE": 61,
+          "EQ_SCHEMA_ENUM": 59,
+          "EQ_STRING": 57,
+          "EQ_TEST_HANDLE": 63,
+          "GET_BLACKBOARD_REFERENCE": 33,
+          "GET_CONST": 15,
+          "GET_CONST_INLINE_STORAGE": 74,
+          "GET_DOMAIN_VALUE": 16,
+          "GET_VAR": 14,
+          "IMMEDIATE_HALT": 1,
+          "INVALID": 0,
+          "JUMP": 5,
+          "JUMP_COND": 6,
+          "LAST_SERIALIZED_CODE": 36,
+          "LIBRARY_INVOKE": 12,
+          "LT": 25,
+          "LTE": 26,
+          "LTE_FLOAT": 53,
+          "LTE_INT": 52,
+          "LT_FLOAT": 51,
+          "LT_INT": 50,
+          "MOD": 24,
+          "MOD_FLOAT": 49,
+          "MOD_INT": 48,
+          "MUL": 22,
+          "MUL_FLOAT": 45,
+          "MUL_INT": 44,
+          "NE": 28,
+          "NEGATE": 19,
+          "NEGATE_FLOAT": 38,
+          "NEGATE_INT": 37,
+          "NE_BOOL": 64,
+          "NE_EHANDLE": 70,
+          "NE_ENTITY_NAME": 68,
+          "NE_FLOAT": 66,
+          "NE_INT": 65,
+          "NE_OPAQUE_HANDLE": 72,
+          "NE_PANEL_HANDLE": 71,
+          "NE_SCHEMA_ENUM": 69,
+          "NE_STRING": 67,
+          "NE_TEST_HANDLE": 73,
+          "NOP": 4,
+          "NOT": 18,
+          "OR": 30,
+          "PULSE_CALL_ASYNC_FIRE": 10,
+          "PULSE_CALL_SYNC": 9,
+          "REINTERPRET_INSTANCE": 32,
+          "REQUIREMENT_RESULT": 35,
+          "RETURN_VALUE": 3,
+          "RETURN_VOID": 2,
+          "SET_BLACKBOARD_REFERENCE": 34,
+          "SET_VAR": 13,
+          "SUB": 21,
+          "SUB_FLOAT": 43,
+          "SUB_INT": 42
+        },
+        "type": "uint16"
+      },
+      "PulseMethodCallMode_t": {
+        "alignment": 4,
+        "members": {
+          "ASYNC_FIRE_AND_FORGET": 1,
+          "SYNC_WAIT_FOR_COMPLETION": 0
+        },
+        "type": "uint32"
+      },
+      "PulseTestEnumColor_t": {
+        "alignment": 4,
+        "members": {
+          "BLACK": 0,
+          "BLUE": 4,
+          "GREEN": 3,
+          "RED": 2,
+          "WHITE": 1
+        },
+        "type": "uint32"
+      },
+      "PulseTestEnumShape_t": {
+        "alignment": 4,
+        "members": {
+          "CIRCLE": 100,
+          "SQUARE": 200,
+          "TRIANGLE": 300
+        },
+        "type": "uint32"
+      },
+      "PulseValueType_t": {
+        "alignment": 4,
+        "members": {
+          "PVAL_ANY": 15,
+          "PVAL_BOOL": 0,
+          "PVAL_COLOR_RGB": 6,
+          "PVAL_COUNT": 19,
+          "PVAL_CURSOR_FLOW": 14,
+          "PVAL_EHANDLE": 7,
+          "PVAL_ENTITY_NAME": 11,
+          "PVAL_FLOAT": 2,
+          "PVAL_INT": 1,
+          "PVAL_INVALID": -1,
+          "PVAL_OPAQUE_HANDLE": 12,
+          "PVAL_PANORAMA_PANEL_HANDLE": 17,
+          "PVAL_RESOURCE": 8,
+          "PVAL_SCHEMA_ENUM": 16,
+          "PVAL_SNDEVT_GUID": 9,
+          "PVAL_SNDEVT_NAME": 10,
+          "PVAL_STRING": 3,
+          "PVAL_TEST_HANDLE": 18,
+          "PVAL_TRANSFORM": 5,
+          "PVAL_TYPESAFE_INT": 13,
+          "PVAL_VEC3": 4
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/pulse_system_dll.rs b/output/pulse_system_dll.rs
new file mode 100644
index 0000000..bdabbce
--- /dev/null
+++ b/output/pulse_system_dll.rs
@@ -0,0 +1,1248 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: pulse_system.dll
+        // Class count: 112
+        // Enum count: 9
+        pub mod pulse_system_dll {
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum EPulseGraphExecutionHistoryFlag {
+                NO_FLAGS = 0x0,
+                CURSOR_ADD_TAG = 0x1,
+                CURSOR_REMOVE_TAG = 0x2,
+                CURSOR_RETIRED = 0x4,
+                REQUIREMENT_PASS = 0x8,
+                REQUIREMENT_FAIL = 0x10
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum PulseTestEnumShape_t {
+                CIRCLE = 0x64,
+                SQUARE = 0xC8,
+                TRIANGLE = 0x12C
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum PulseMethodCallMode_t {
+                SYNC_WAIT_FOR_COMPLETION = 0x0,
+                ASYNC_FIRE_AND_FORGET = 0x1
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PulseCursorExecResult_t {
+                Succeeded = 0x0,
+                Canceled = 0x1,
+                Failed = 0x2,
+                OngoingNotify = 0x3
+            }
+            // Alignment: 4
+            // Member count: 21
+            #[repr(u32)]
+            pub enum PulseValueType_t {
+                PVAL_INVALID = u32::MAX,
+                PVAL_BOOL = 0x0,
+                PVAL_INT = 0x1,
+                PVAL_FLOAT = 0x2,
+                PVAL_STRING = 0x3,
+                PVAL_VEC3 = 0x4,
+                PVAL_TRANSFORM = 0x5,
+                PVAL_COLOR_RGB = 0x6,
+                PVAL_EHANDLE = 0x7,
+                PVAL_RESOURCE = 0x8,
+                PVAL_SNDEVT_GUID = 0x9,
+                PVAL_SNDEVT_NAME = 0xA,
+                PVAL_ENTITY_NAME = 0xB,
+                PVAL_OPAQUE_HANDLE = 0xC,
+                PVAL_TYPESAFE_INT = 0xD,
+                PVAL_CURSOR_FLOW = 0xE,
+                PVAL_ANY = 0xF,
+                PVAL_SCHEMA_ENUM = 0x10,
+                PVAL_PANORAMA_PANEL_HANDLE = 0x11,
+                PVAL_TEST_HANDLE = 0x12,
+                PVAL_COUNT = 0x13
+            }
+            // Alignment: 2
+            // Member count: 75
+            #[repr(u16)]
+            pub enum PulseInstructionCode_t {
+                INVALID = 0x0,
+                IMMEDIATE_HALT = 0x1,
+                RETURN_VOID = 0x2,
+                RETURN_VALUE = 0x3,
+                NOP = 0x4,
+                JUMP = 0x5,
+                JUMP_COND = 0x6,
+                CHUNK_LEAP = 0x7,
+                CHUNK_LEAP_COND = 0x8,
+                PULSE_CALL_SYNC = 0x9,
+                PULSE_CALL_ASYNC_FIRE = 0xA,
+                CELL_INVOKE = 0xB,
+                LIBRARY_INVOKE = 0xC,
+                SET_VAR = 0xD,
+                GET_VAR = 0xE,
+                GET_CONST = 0xF,
+                GET_DOMAIN_VALUE = 0x10,
+                COPY = 0x11,
+                NOT = 0x12,
+                NEGATE = 0x13,
+                ADD = 0x14,
+                SUB = 0x15,
+                MUL = 0x16,
+                DIV = 0x17,
+                MOD = 0x18,
+                LT = 0x19,
+                LTE = 0x1A,
+                EQ = 0x1B,
+                NE = 0x1C,
+                AND = 0x1D,
+                OR = 0x1E,
+                CONVERT_VALUE = 0x1F,
+                REINTERPRET_INSTANCE = 0x20,
+                GET_BLACKBOARD_REFERENCE = 0x21,
+                SET_BLACKBOARD_REFERENCE = 0x22,
+                REQUIREMENT_RESULT = 0x23,
+                LAST_SERIALIZED_CODE = 0x24,
+                NEGATE_INT = 0x25,
+                NEGATE_FLOAT = 0x26,
+                ADD_INT = 0x27,
+                ADD_FLOAT = 0x28,
+                ADD_STRING = 0x29,
+                SUB_INT = 0x2A,
+                SUB_FLOAT = 0x2B,
+                MUL_INT = 0x2C,
+                MUL_FLOAT = 0x2D,
+                DIV_INT = 0x2E,
+                DIV_FLOAT = 0x2F,
+                MOD_INT = 0x30,
+                MOD_FLOAT = 0x31,
+                LT_INT = 0x32,
+                LT_FLOAT = 0x33,
+                LTE_INT = 0x34,
+                LTE_FLOAT = 0x35,
+                EQ_BOOL = 0x36,
+                EQ_INT = 0x37,
+                EQ_FLOAT = 0x38,
+                EQ_STRING = 0x39,
+                EQ_ENTITY_NAME = 0x3A,
+                EQ_SCHEMA_ENUM = 0x3B,
+                EQ_EHANDLE = 0x3C,
+                EQ_PANEL_HANDLE = 0x3D,
+                EQ_OPAQUE_HANDLE = 0x3E,
+                EQ_TEST_HANDLE = 0x3F,
+                NE_BOOL = 0x40,
+                NE_INT = 0x41,
+                NE_FLOAT = 0x42,
+                NE_STRING = 0x43,
+                NE_ENTITY_NAME = 0x44,
+                NE_SCHEMA_ENUM = 0x45,
+                NE_EHANDLE = 0x46,
+                NE_PANEL_HANDLE = 0x47,
+                NE_OPAQUE_HANDLE = 0x48,
+                NE_TEST_HANDLE = 0x49,
+                GET_CONST_INLINE_STORAGE = 0x4A
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum PulseTestEnumColor_t {
+                BLACK = 0x0,
+                WHITE = 0x1,
+                RED = 0x2,
+                GREEN = 0x3,
+                BLUE = 0x4
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PulseCursorCancelPriority_t {
+                None = 0x0,
+                CancelOnSucceeded = 0x1,
+                SoftCancel = 0x2,
+                HardCancel = 0x3
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PulseDomainValueType_t {
+                INVALID = u32::MAX,
+                ENTITY_NAME = 0x0,
+                PANEL_ID = 0x1,
+                COUNT = 0x2
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Step_PublicOutput {
+                pub const m_OutputIndex: usize = 0x48; // PulseRuntimeOutputIndex_t
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            pub mod CPulseCell_Val_TestDomainFindEntityByName {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            pub mod CPulseTestFuncs_LibraryA {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            pub mod CPulseCell_Step_TestDomainDestroyFakeEntity {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Test_MultiOutflow_WithParams {
+                pub const m_Out1: usize = 0x48; // SignatureOutflow_Continue
+                pub const m_Out2: usize = 0x78; // SignatureOutflow_Continue
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeVarIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeEntrypointIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeDomainValueIndex_t {
+                pub const m_Value: usize = 0x0; // int16
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_Chunk {
+                pub const m_Instructions: usize = 0x0; // CUtlLeanVector<PGDInstruction_t>
+                pub const m_Registers: usize = 0x10; // CUtlLeanVector<CPulse_RegisterInfo>
+                pub const m_InstructionEditorIDs: usize = 0x20; // CUtlLeanVector<PulseDocNodeID_t>
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeInvokeIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_Outflow_CycleOrdered__InstanceState_t {
+                pub const m_nNextIndex: usize = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_WaitForCursorsWithTagBase {
+                pub const m_nCursorsAllowedToWait: usize = 0x48; // int32
+                pub const m_WaitComplete: usize = 0x50; // CPulse_ResumePoint
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            pub mod CPulseTestScriptLib {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeRegisterIndex_t {
+                pub const m_Value: usize = 0x0; // int16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_Timeline__TimelineEvent_t {
+                pub const m_flTimeFromPrevious: usize = 0x0; // float32
+                pub const m_bPauseForPreviousEvents: usize = 0x4; // bool
+                pub const m_bCallModeSync: usize = 0x5; // bool
+                pub const m_EventOutflow: usize = 0x8; // CPulse_OutflowConnection
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod CPulse_OutflowConnection {
+                pub const m_SourceOutflowName: usize = 0x0; // CUtlSymbolLarge
+                pub const m_nDestChunk: usize = 0x8; // PulseRuntimeChunkIndex_t
+                pub const m_nInstruction: usize = 0xC; // int32
+                pub const m_OutflowRegisterMap: usize = 0x10; // PulseRegisterMap_t
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseCursorID_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            pub mod CBasePulseGraphInstance {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_Base {
+                pub const m_nEditorNodeID: usize = 0x8; // PulseDocNodeID_t
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
+                pub const nTestStep: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PulseGraphExecutionHistoryCursorDesc_t {
+                pub const vecAncestorCursorIDs: usize = 0x0; // CUtlVector<PulseCursorID_t>
+                pub const nSpawnNodeID: usize = 0x18; // PulseDocNodeID_t
+                pub const nRetiredAtNodeID: usize = 0x1C; // PulseDocNodeID_t
+                pub const flLastReferenced: usize = 0x20; // float32
+                pub const nLastValidEntryIdx: usize = 0x24; // int32
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Inflow_Yield {
+                pub const m_UnyieldResume: usize = 0x48; // CPulse_ResumePoint
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Inflow_GraphHook {
+                pub const m_HookName: usize = 0x70; // CUtlSymbolLarge
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            pub mod CPulseCell_Inflow_Wait {
+                pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
+            }
+            // Parent: CPulseExecCursor
+            // Field count: 2
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            pub mod CTestDomainDerived_Cursor {
+                pub const m_nCursorValueA: usize = 0xA8; // int32
+                pub const m_nCursorValueB: usize = 0xAC; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PulseRegisterMap_t {
+                pub const m_Inparams: usize = 0x0; // KeyValues3
+                pub const m_Outparams: usize = 0x10; // KeyValues3
+            }
+            // Parent: CPulseCell_WaitForCursorsWithTagBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            pub mod CPulseCell_CursorQueue {
+                pub const m_nCursorsAllowedToRunParallel: usize = 0x80; // int32
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_BaseRequirement {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PulseNodeDynamicOutflows_t {
+                pub const m_Outflows: usize = 0x0; // CUtlVector<PulseNodeDynamicOutflows_t::DynamicOutflow_t>
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CPulseCell_Value_TestValue50 {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Test_MultiInflow_WithDefault {
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod IGapHost_ExecLog {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGapTypeQueriesForScopeSingleton
+            pub mod CPulseTestGapTypeQueryRegistration {
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 1
+            pub mod CPulseCell_Unknown {
+                pub const m_UnknownKeys: usize = 0x48; // KeyValues3
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Outflow_StringSwitch {
+                pub const m_DefaultCaseOutflow: usize = 0x48; // CPulse_OutflowConnection
+                pub const m_CaseOutflows: usize = 0x78; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Test_NoInflow {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_FireCursors {
+                pub const m_Outflows: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
+                pub const m_bWaitForChildOutflows: usize = 0x60; // bool
+                pub const m_OnFinished: usize = 0x68; // CPulse_ResumePoint
+                pub const m_OnCanceled: usize = 0x98; // CPulse_ResumePoint
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_Outflow_CycleShuffled__InstanceState_t {
+                pub const m_Shuffle: usize = 0x0; // CUtlVectorFixedGrowable<uint8,8>
+                pub const m_nNextShuffle: usize = 0x20; // int32
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_BaseValue {
+            }
+            // Parent: CPulse_OutflowConnection
+            // Field count: 0
+            pub mod CPulse_ResumePoint {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Outflow_CycleRandom {
+                pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Inflow_EventHandler {
+                pub const m_EventName: usize = 0x70; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_BaseLerp__CursorState_t {
+                pub const m_StartTime: usize = 0x0; // GameTime_t
+                pub const m_EndTime: usize = 0x4; // GameTime_t
+            }
+            // Parent: IGapHost_ExecLog
+            // Field count: 0
+            pub mod IGapHost_Cursor {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_PublicOutput {
+                pub const m_Name: usize = 0x0; // CUtlSymbolLarge
+                pub const m_Description: usize = 0x8; // CUtlString
+                pub const m_ParamType: usize = 0x10; // CPulseValueFullType
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            pub mod CPulseCursorFuncs {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Timeline {
+                pub const m_TimelineEvents: usize = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
+                pub const m_bWaitForChildOutflows: usize = 0x60; // bool
+                pub const m_OnFinished: usize = 0x68; // CPulse_ResumePoint
+                pub const m_OnCanceled: usize = 0x98; // CPulse_ResumePoint
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_OutputConnection {
+                pub const m_SourceOutput: usize = 0x0; // CUtlSymbolLarge
+                pub const m_TargetEntity: usize = 0x8; // CUtlSymbolLarge
+                pub const m_TargetInput: usize = 0x10; // CUtlSymbolLarge
+                pub const m_Param: usize = 0x18; // CUtlSymbolLarge
+            }
+            // Parent: CPulseCell_BaseRequirement
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseRequirementPass
+            // MPulseRequirementSummaryExpr
+            pub mod CPulseCell_LimitCount {
+                pub const m_nLimitCount: usize = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PulseGraphExecutionHistoryNodeDesc_t {
+                pub const strCellDesc: usize = 0x0; // CBufferString
+                pub const strBindingName: usize = 0x10; // CUtlSymbolLarge
+            }
+            // Parent: CPulse_ResumePoint
+            // Field count: 0
+            pub mod SignatureOutflow_Resume {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod FakeEntity_tAPI {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Step_CallExternalMethod {
+                pub const m_MethodName: usize = 0x48; // CUtlSymbolLarge
+                pub const m_GameBlackboard: usize = 0x50; // CUtlSymbolLarge
+                pub const m_ExpectedArgs: usize = 0x58; // CUtlLeanVector<CPulseRuntimeMethodArg>
+                pub const m_nAsyncCallMode: usize = 0x68; // PulseMethodCallMode_t
+                pub const m_OnFinished: usize = 0x70; // CPulse_ResumePoint
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            pub mod CPulseGraphInstance_TurtleGraphics {
+            }
+            // Parent: CPulseCell_Base
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_BaseFlow {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PulseGraphExecutionHistoryEntry_t {
+                pub const nCursorID: usize = 0x0; // PulseCursorID_t
+                pub const nEditorID: usize = 0x4; // PulseDocNodeID_t
+                pub const flExecTime: usize = 0x8; // float32
+                pub const unFlags: usize = 0xC; // uint32
+                pub const tagName: usize = 0x10; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseCursorYieldToken_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseGraphExecutionHistory {
+                pub const m_nInstanceID: usize = 0x0; // PulseGraphInstanceID_t
+                pub const m_strFileName: usize = 0x8; // CUtlString
+                pub const m_vecHistory: usize = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
+                pub const m_mapCellDesc: usize = 0x28; // CUtlOrderedMap<PulseDocNodeID_t,PulseGraphExecutionHistoryNodeDesc_t*>
+                pub const m_mapCursorDesc: usize = 0x50; // CUtlOrderedMap<PulseCursorID_t,PulseGraphExecutionHistoryCursorDesc_t*>
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_TestWaitWithCursorState {
+                pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
+                pub const m_WakeCancel: usize = 0x78; // CPulse_ResumePoint
+                pub const m_WakeFail: usize = 0xA8; // CPulse_ResumePoint
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Inflow_ObservableVariableListener {
+                pub const m_BlackboardReference: usize = 0x70; // CPulse_BlackboardReference
+                pub const m_bSelfReference: usize = 0x168; // bool
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_BaseYieldingInflow {
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PGDInstruction_t {
+                pub const m_nCode: usize = 0x0; // PulseInstructionCode_t
+                pub const m_nVar: usize = 0x4; // PulseRuntimeVarIndex_t
+                pub const m_nReg0: usize = 0x8; // PulseRuntimeRegisterIndex_t
+                pub const m_nReg1: usize = 0xA; // PulseRuntimeRegisterIndex_t
+                pub const m_nReg2: usize = 0xC; // PulseRuntimeRegisterIndex_t
+                pub const m_nInvokeBindingIndex: usize = 0x10; // PulseRuntimeInvokeIndex_t
+                pub const m_nChunk: usize = 0x14; // PulseRuntimeChunkIndex_t
+                pub const m_nDestInstruction: usize = 0x18; // int32
+                pub const m_nCallInfoIndex: usize = 0x1C; // PulseRuntimeCallInfoIndex_t
+                pub const m_nConstIdx: usize = 0x20; // PulseRuntimeConstantIndex_t
+                pub const m_nDomainValueIdx: usize = 0x22; // PulseRuntimeDomainValueIndex_t
+                pub const m_nBlackboardReferenceIdx: usize = 0x24; // PulseRuntimeBlackboardReferenceIndex_t
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_InvokeBinding {
+                pub const m_RegisterMap: usize = 0x0; // PulseRegisterMap_t
+                pub const m_FuncName: usize = 0x20; // CUtlSymbolLarge
+                pub const m_nCellIndex: usize = 0x28; // PulseRuntimeCellIndex_t
+                pub const m_nSrcChunk: usize = 0x2C; // PulseRuntimeChunkIndex_t
+                pub const m_nSrcInstruction: usize = 0x30; // int32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_Variable {
+                pub const m_Name: usize = 0x0; // CUtlSymbolLarge
+                pub const m_Description: usize = 0x8; // CUtlString
+                pub const m_Type: usize = 0x10; // CPulseValueFullType
+                pub const m_DefaultValue: usize = 0x20; // KeyValues3
+                pub const m_bIsPublic: usize = 0x32; // bool
+                pub const m_bIsObservable: usize = 0x33; // bool
+                pub const m_nEditorNodeID: usize = 0x34; // PulseDocNodeID_t
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Inflow_Method {
+                pub const m_MethodName: usize = 0x70; // CUtlSymbolLarge
+                pub const m_Description: usize = 0x78; // CUtlString
+                pub const m_bIsPublic: usize = 0x80; // bool
+                pub const m_ReturnType: usize = 0x88; // CPulseValueFullType
+                pub const m_Args: usize = 0x98; // CUtlLeanVector<CPulseRuntimeMethodArg>
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 6
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            pub mod CPulseGraphInstance_TestDomain {
+                pub const m_bIsRunningUnitTests: usize = 0xF8; // bool
+                pub const m_bExplicitTimeStepping: usize = 0xF9; // bool
+                pub const m_bExpectingToDestroyWithYieldedCursors: usize = 0xFA; // bool
+                pub const m_nNextValidateIndex: usize = 0xFC; // int32
+                pub const m_Tracepoints: usize = 0x100; // CUtlVector<CUtlString>
+                pub const m_bTestYesOrNoPath: usize = 0x118; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod FakeEntityDerivedB_tAPI {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PulseNodeDynamicOutflows_t__DynamicOutflow_t {
+                pub const m_OutflowID: usize = 0x0; // CGlobalSymbol
+                pub const m_Connection: usize = 0x8; // CPulse_OutflowConnection
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Outflow_CycleShuffled {
+                pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeOutputIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod CPulseCell_WaitForCursorsWithTagBase__CursorState_t {
+                pub const m_TagName: usize = 0x0; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_TestWaitWithCursorState__CursorState_t {
+                pub const flWaitValue: usize = 0x0; // float32
+                pub const bFailOnCancel: usize = 0x4; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_DomainValue {
+                pub const m_nType: usize = 0x0; // PulseDomainValueType_t
+                pub const m_Value: usize = 0x8; // CGlobalSymbol
+                pub const m_ExpectedRuntimeType: usize = 0x10; // CGlobalSymbol
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            pub mod CPulseCell_Step_TestDomainCreateFakeEntity {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPulseEditorHeaderText
+            pub mod CPulseCell_Step_TestDomainEntFire {
+                pub const m_Input: usize = 0x48; // CUtlString
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            // MPropertyDescription
+            pub mod CPulseMathlib {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeBlackboardReferenceIndex_t {
+                pub const m_Value: usize = 0x0; // int16
+            }
+            // Parent: IGapHost_Cursor
+            // Field count: 0
+            pub mod IGapHost_YieldingCursor {
+            }
+            // Parent: CPulse_OutflowConnection
+            // Field count: 0
+            pub mod SignatureOutflow_Continue {
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Test_MultiOutflow_WithParams_Yielding {
+                pub const m_Out1: usize = 0x48; // SignatureOutflow_Continue
+                pub const m_AsyncChild1: usize = 0x78; // SignatureOutflow_Continue
+                pub const m_AsyncChild2: usize = 0xA8; // SignatureOutflow_Continue
+                pub const m_YieldResume1: usize = 0xD8; // SignatureOutflow_Resume
+                pub const m_YieldResume2: usize = 0x108; // SignatureOutflow_Resume
+            }
+            // Parent: CPulseGraphInstance_TestDomain
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            pub mod CPulseGraphInstance_TestDomain_Derived {
+                pub const m_nInstanceValueX: usize = 0x120; // int32
+            }
+            // Parent: CPulseCell_Inflow_BaseEntrypoint
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Inflow_EntOutputHandler {
+                pub const m_SourceEntity: usize = 0x70; // CUtlSymbolLarge
+                pub const m_SourceOutput: usize = 0x78; // CUtlSymbolLarge
+                pub const m_TargetInput: usize = 0x80; // CUtlSymbolLarge
+                pub const m_ExpectedParamType: usize = 0x88; // CPulseValueFullType
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeConstantIndex_t {
+                pub const m_Value: usize = 0x0; // int16
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod FakeEntityDerivedA_tAPI {
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            pub mod CPulseCell_Step_TestDomainTracepoint {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseDocNodeID_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_BlackboardReference {
+                pub const m_hBlackboardResource: usize = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIPulseGraphDef>>
+                pub const m_BlackboardResource: usize = 0xE0; // CUtlSymbolLarge
+                pub const m_nNodeID: usize = 0xE8; // PulseDocNodeID_t
+                pub const m_NodeName: usize = 0xF0; // CGlobalSymbol
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_LimitCount__InstanceState_t {
+                pub const m_nCurrentCount: usize = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            pub mod CPulseCell_Val_TestDomainGetEntityName {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_CallInfo {
+                pub const m_PortName: usize = 0x0; // CUtlSymbolLarge
+                pub const m_nEditorNodeID: usize = 0x8; // PulseDocNodeID_t
+                pub const m_RegisterMap: usize = 0x10; // PulseRegisterMap_t
+                pub const m_CallMethodID: usize = 0x30; // PulseDocNodeID_t
+                pub const m_nSrcChunk: usize = 0x34; // PulseRuntimeChunkIndex_t
+                pub const m_nSrcInstruction: usize = 0x38; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_RegisterInfo {
+                pub const m_nReg: usize = 0x0; // PulseRuntimeRegisterIndex_t
+                pub const m_Type: usize = 0x8; // CPulseValueFullType
+                pub const m_OriginName: usize = 0x18; // CKV3MemberNameWithStorage
+                pub const m_nWrittenByInstruction: usize = 0x50; // int32
+                pub const m_nLastReadByInstruction: usize = 0x54; // int32
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            pub mod CPulseCell_Value_RandomFloat {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeCellIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: IGapHost_YieldingCursor
+            // Field count: 0
+            pub mod CPulseExecCursor {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseGraphInstanceID_t {
+                pub const m_Value: usize = 0x0; // uint32
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Outflow_IntSwitch {
+                pub const m_DefaultCaseOutflow: usize = 0x48; // CPulse_OutflowConnection
+                pub const m_CaseOutflows: usize = 0x78; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseGraphDef {
+                pub const m_DomainIdentifier: usize = 0x8; // CUtlSymbolLarge
+                pub const m_ParentMapName: usize = 0x10; // CUtlSymbolLarge
+                pub const m_ParentXmlName: usize = 0x18; // CUtlSymbolLarge
+                pub const m_vecGameBlackboards: usize = 0x20; // CUtlVector<CUtlSymbolLarge>
+                pub const m_Chunks: usize = 0x38; // CUtlVector<CPulse_Chunk*>
+                pub const m_Cells: usize = 0x50; // CUtlVector<CPulseCell_Base*>
+                pub const m_Vars: usize = 0x68; // CUtlVector<CPulse_Variable>
+                pub const m_PublicOutputs: usize = 0x80; // CUtlVector<CPulse_PublicOutput>
+                pub const m_InvokeBindings: usize = 0x98; // CUtlVector<CPulse_InvokeBinding*>
+                pub const m_CallInfos: usize = 0xB0; // CUtlVector<CPulse_CallInfo*>
+                pub const m_Constants: usize = 0xC8; // CUtlVector<CPulse_Constant>
+                pub const m_DomainValues: usize = 0xE0; // CUtlVector<CPulse_DomainValue>
+                pub const m_BlackboardReferences: usize = 0xF8; // CUtlVector<CPulse_BlackboardReference>
+                pub const m_OutputConnections: usize = 0x110; // CUtlVector<CPulse_OutputConnection*>
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Test_MultiInflow_NoDefault {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulse_Constant {
+                pub const m_Type: usize = 0x0; // CPulseValueFullType
+                pub const m_Value: usize = 0x10; // KeyValues3
+            }
+            // Parent: CPulseCell_WaitForCursorsWithTagBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            pub mod CPulseCell_WaitForCursorsWithTag {
+                pub const m_bTagSelfWhenComplete: usize = 0x80; // bool
+                pub const m_nDesiredKillPriority: usize = 0x84; // PulseCursorCancelPriority_t
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_Inflow_BaseEntrypoint {
+                pub const m_EntryChunk: usize = 0x48; // PulseRuntimeChunkIndex_t
+                pub const m_RegisterMap: usize = 0x50; // PulseRegisterMap_t
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeCallInfoIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseYieldingInflow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseCell_BaseLerp {
+                pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CPulseCell_Outflow_TestExplicitYesNo {
+                pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection
+                pub const m_No: usize = 0x78; // CPulse_OutflowConnection
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CPulseCell_Outflow_TestRandomYesNo {
+                pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection
+                pub const m_No: usize = 0x78; // CPulse_OutflowConnection
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Step_DebugLog {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeChunkIndex_t {
+                pub const m_Value: usize = 0x0; // int32
+            }
+            // Parent: CPulseCell_BaseFlow
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            pub mod CPulseCell_Outflow_CycleOrdered {
+                pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPulseRuntimeMethodArg {
+                pub const m_Name: usize = 0x0; // CKV3MemberNameWithStorage
+                pub const m_Description: usize = 0x38; // CUtlString
+                pub const m_Type: usize = 0x40; // CPulseValueFullType
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod PulseRuntimeStateOffset_t {
+                pub const m_Value: usize = 0x0; // uint16
+            }
+            // Parent: CPulseCell_BaseValue
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MCellForDomain
+            // MPulseCellMethodBindings
+            // MPulseCellOutflowHookInfo
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            // MPulseEditorHeaderIcon
+            pub mod CPulseCell_Value_RandomInt {
+            }
+            // Parent: CPulseExecCursor
+            // Field count: 4
+            //
+            // Metadata:
+            // MPulseLibraryBindings
+            pub mod CPulseTurtleGraphicsCursor {
+                pub const m_Color: usize = 0xA8; // Color
+                pub const m_vPos: usize = 0xAC; // Vector2D
+                pub const m_flHeadingDeg: usize = 0xB4; // float32
+                pub const m_bPenUp: usize = 0xB8; // bool
+            }
+        }
+    }
+}
diff --git a/output/rendersystemdx11_dll.cs b/output/rendersystemdx11_dll.cs
new file mode 100644
index 0000000..aa977cb
--- /dev/null
+++ b/output/rendersystemdx11_dll.cs
@@ -0,0 +1,95 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: rendersystemdx11.dll
+    // Class count: 3
+    // Enum count: 5
+    public static class Rendersystemdx11Dll {
+        // Alignment: 4
+        // Member count: 13
+        public enum RenderPrimitiveType_t : uint {
+            RENDER_PRIM_POINTS = 0x0,
+            RENDER_PRIM_LINES = 0x1,
+            RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2,
+            RENDER_PRIM_LINE_STRIP = 0x3,
+            RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY = 0x4,
+            RENDER_PRIM_TRIANGLES = 0x5,
+            RENDER_PRIM_TRIANGLES_WITH_ADJACENCY = 0x6,
+            RENDER_PRIM_TRIANGLE_STRIP = 0x7,
+            RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8,
+            RENDER_PRIM_INSTANCED_QUADS = 0x9,
+            RENDER_PRIM_HETEROGENOUS = 0xA,
+            RENDER_PRIM_COMPUTE_SHADER = 0xB,
+            RENDER_PRIM_TYPE_COUNT = 0xC
+        }
+        // Alignment: 4
+        // Member count: 13
+        public enum RenderBufferFlags_t : uint {
+            RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
+            RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
+            RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4,
+            RENDER_BUFFER_USAGE_UNORDERED_ACCESS = 0x8,
+            RENDER_BUFFER_BYTEADDRESS_BUFFER = 0x10,
+            RENDER_BUFFER_STRUCTURED_BUFFER = 0x20,
+            RENDER_BUFFER_APPEND_CONSUME_BUFFER = 0x40,
+            RENDER_BUFFER_UAV_COUNTER = 0x80,
+            RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
+            RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
+            RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400,
+            RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800,
+            RENDER_BUFFER_POOL_ALLOCATED = 0x1000
+        }
+        // Alignment: 1
+        // Member count: 8
+        public enum RenderMultisampleType_t : byte {
+            RENDER_MULTISAMPLE_INVALID = unchecked((byte)-1),
+            RENDER_MULTISAMPLE_NONE = 0x0,
+            RENDER_MULTISAMPLE_2X = 0x1,
+            RENDER_MULTISAMPLE_4X = 0x2,
+            RENDER_MULTISAMPLE_6X = 0x3,
+            RENDER_MULTISAMPLE_8X = 0x4,
+            RENDER_MULTISAMPLE_16X = 0x5,
+            RENDER_MULTISAMPLE_TYPE_COUNT = 0x6
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum InputLayoutVariation_t : uint {
+            INPUT_LAYOUT_VARIATION_DEFAULT = 0x0,
+            INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1,
+            INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2,
+            INPUT_LAYOUT_VARIATION_MAX = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum RenderSlotType_t : uint {
+            RENDER_SLOT_INVALID = unchecked((uint)-1),
+            RENDER_SLOT_PER_VERTEX = 0x0,
+            RENDER_SLOT_PER_INSTANCE = 0x1
+        }
+        // Parent: None
+        // Field count: 4
+        public static class VsInputSignatureElement_t {
+            public const nint m_pName = 0x0; // char[64]
+            public const nint m_pSemantic = 0x40; // char[64]
+            public const nint m_pD3DSemanticName = 0x80; // char[64]
+            public const nint m_nD3DSemanticIndex = 0xC0; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class VsInputSignature_t {
+            public const nint m_elems = 0x0; // CUtlVector<VsInputSignatureElement_t>
+        }
+        // Parent: None
+        // Field count: 7
+        public static class RenderInputLayoutField_t {
+            public const nint m_pSemanticName = 0x0; // uint8[32]
+            public const nint m_nSemanticIndex = 0x20; // int32
+            public const nint m_Format = 0x24; // uint32
+            public const nint m_nOffset = 0x28; // int32
+            public const nint m_nSlot = 0x2C; // int32
+            public const nint m_nSlotType = 0x30; // RenderSlotType_t
+            public const nint m_nInstanceStepRate = 0x34; // int32
+        }
+    }
+}
diff --git a/output/rendersystemdx11_dll.hpp b/output/rendersystemdx11_dll.hpp
new file mode 100644
index 0000000..7b9ba7b
--- /dev/null
+++ b/output/rendersystemdx11_dll.hpp
@@ -0,0 +1,101 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: rendersystemdx11.dll
+        // Class count: 3
+        // Enum count: 5
+        namespace rendersystemdx11_dll {
+            // Alignment: 4
+            // Member count: 13
+            enum class RenderPrimitiveType_t : uint32_t {
+                RENDER_PRIM_POINTS = 0x0,
+                RENDER_PRIM_LINES = 0x1,
+                RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2,
+                RENDER_PRIM_LINE_STRIP = 0x3,
+                RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY = 0x4,
+                RENDER_PRIM_TRIANGLES = 0x5,
+                RENDER_PRIM_TRIANGLES_WITH_ADJACENCY = 0x6,
+                RENDER_PRIM_TRIANGLE_STRIP = 0x7,
+                RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8,
+                RENDER_PRIM_INSTANCED_QUADS = 0x9,
+                RENDER_PRIM_HETEROGENOUS = 0xA,
+                RENDER_PRIM_COMPUTE_SHADER = 0xB,
+                RENDER_PRIM_TYPE_COUNT = 0xC
+            };
+            // Alignment: 4
+            // Member count: 13
+            enum class RenderBufferFlags_t : uint32_t {
+                RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
+                RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
+                RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4,
+                RENDER_BUFFER_USAGE_UNORDERED_ACCESS = 0x8,
+                RENDER_BUFFER_BYTEADDRESS_BUFFER = 0x10,
+                RENDER_BUFFER_STRUCTURED_BUFFER = 0x20,
+                RENDER_BUFFER_APPEND_CONSUME_BUFFER = 0x40,
+                RENDER_BUFFER_UAV_COUNTER = 0x80,
+                RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
+                RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
+                RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400,
+                RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800,
+                RENDER_BUFFER_POOL_ALLOCATED = 0x1000
+            };
+            // Alignment: 1
+            // Member count: 8
+            enum class RenderMultisampleType_t : uint8_t {
+                RENDER_MULTISAMPLE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                RENDER_MULTISAMPLE_NONE = 0x0,
+                RENDER_MULTISAMPLE_2X = 0x1,
+                RENDER_MULTISAMPLE_4X = 0x2,
+                RENDER_MULTISAMPLE_6X = 0x3,
+                RENDER_MULTISAMPLE_8X = 0x4,
+                RENDER_MULTISAMPLE_16X = 0x5,
+                RENDER_MULTISAMPLE_TYPE_COUNT = 0x6
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class InputLayoutVariation_t : uint32_t {
+                INPUT_LAYOUT_VARIATION_DEFAULT = 0x0,
+                INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1,
+                INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2,
+                INPUT_LAYOUT_VARIATION_MAX = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class RenderSlotType_t : uint32_t {
+                RENDER_SLOT_INVALID = 0xFFFFFFFFFFFFFFFF,
+                RENDER_SLOT_PER_VERTEX = 0x0,
+                RENDER_SLOT_PER_INSTANCE = 0x1
+            };
+            // Parent: None
+            // Field count: 4
+            namespace VsInputSignatureElement_t {
+                constexpr std::ptrdiff_t m_pName = 0x0; // char[64]
+                constexpr std::ptrdiff_t m_pSemantic = 0x40; // char[64]
+                constexpr std::ptrdiff_t m_pD3DSemanticName = 0x80; // char[64]
+                constexpr std::ptrdiff_t m_nD3DSemanticIndex = 0xC0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace VsInputSignature_t {
+                constexpr std::ptrdiff_t m_elems = 0x0; // CUtlVector<VsInputSignatureElement_t>
+            }
+            // Parent: None
+            // Field count: 7
+            namespace RenderInputLayoutField_t {
+                constexpr std::ptrdiff_t m_pSemanticName = 0x0; // uint8[32]
+                constexpr std::ptrdiff_t m_nSemanticIndex = 0x20; // int32
+                constexpr std::ptrdiff_t m_Format = 0x24; // uint32
+                constexpr std::ptrdiff_t m_nOffset = 0x28; // int32
+                constexpr std::ptrdiff_t m_nSlot = 0x2C; // int32
+                constexpr std::ptrdiff_t m_nSlotType = 0x30; // RenderSlotType_t
+                constexpr std::ptrdiff_t m_nInstanceStepRate = 0x34; // int32
+            }
+        }
+    }
+}
diff --git a/output/rendersystemdx11_dll.json b/output/rendersystemdx11_dll.json
new file mode 100644
index 0000000..318e103
--- /dev/null
+++ b/output/rendersystemdx11_dll.json
@@ -0,0 +1,109 @@
+{
+  "rendersystemdx11.dll": {
+    "classes": {
+      "RenderInputLayoutField_t": {
+        "fields": {
+          "m_Format": 36,
+          "m_nInstanceStepRate": 52,
+          "m_nOffset": 40,
+          "m_nSemanticIndex": 32,
+          "m_nSlot": 44,
+          "m_nSlotType": 48,
+          "m_pSemanticName": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "VsInputSignatureElement_t": {
+        "fields": {
+          "m_nD3DSemanticIndex": 192,
+          "m_pD3DSemanticName": 128,
+          "m_pName": 0,
+          "m_pSemantic": 64
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "VsInputSignature_t": {
+        "fields": {
+          "m_elems": 0
+        },
+        "metadata": [],
+        "parent": null
+      }
+    },
+    "enums": {
+      "InputLayoutVariation_t": {
+        "alignment": 4,
+        "members": {
+          "INPUT_LAYOUT_VARIATION_DEFAULT": 0,
+          "INPUT_LAYOUT_VARIATION_MAX": 3,
+          "INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID": 1,
+          "INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID": 2
+        },
+        "type": "uint32"
+      },
+      "RenderBufferFlags_t": {
+        "alignment": 4,
+        "members": {
+          "RENDER_BUFFER_ACCELERATION_STRUCTURE": 512,
+          "RENDER_BUFFER_APPEND_CONSUME_BUFFER": 64,
+          "RENDER_BUFFER_BYTEADDRESS_BUFFER": 16,
+          "RENDER_BUFFER_PER_FRAME_WRITE_ONCE": 2048,
+          "RENDER_BUFFER_POOL_ALLOCATED": 4096,
+          "RENDER_BUFFER_SHADER_BINDING_TABLE": 1024,
+          "RENDER_BUFFER_STRUCTURED_BUFFER": 32,
+          "RENDER_BUFFER_UAV_COUNTER": 128,
+          "RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS": 256,
+          "RENDER_BUFFER_USAGE_INDEX_BUFFER": 2,
+          "RENDER_BUFFER_USAGE_SHADER_RESOURCE": 4,
+          "RENDER_BUFFER_USAGE_UNORDERED_ACCESS": 8,
+          "RENDER_BUFFER_USAGE_VERTEX_BUFFER": 1
+        },
+        "type": "uint32"
+      },
+      "RenderMultisampleType_t": {
+        "alignment": 1,
+        "members": {
+          "RENDER_MULTISAMPLE_16X": 5,
+          "RENDER_MULTISAMPLE_2X": 1,
+          "RENDER_MULTISAMPLE_4X": 2,
+          "RENDER_MULTISAMPLE_6X": 3,
+          "RENDER_MULTISAMPLE_8X": 4,
+          "RENDER_MULTISAMPLE_INVALID": -1,
+          "RENDER_MULTISAMPLE_NONE": 0,
+          "RENDER_MULTISAMPLE_TYPE_COUNT": 6
+        },
+        "type": "uint8"
+      },
+      "RenderPrimitiveType_t": {
+        "alignment": 4,
+        "members": {
+          "RENDER_PRIM_COMPUTE_SHADER": 11,
+          "RENDER_PRIM_HETEROGENOUS": 10,
+          "RENDER_PRIM_INSTANCED_QUADS": 9,
+          "RENDER_PRIM_LINES": 1,
+          "RENDER_PRIM_LINES_WITH_ADJACENCY": 2,
+          "RENDER_PRIM_LINE_STRIP": 3,
+          "RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY": 4,
+          "RENDER_PRIM_POINTS": 0,
+          "RENDER_PRIM_TRIANGLES": 5,
+          "RENDER_PRIM_TRIANGLES_WITH_ADJACENCY": 6,
+          "RENDER_PRIM_TRIANGLE_STRIP": 7,
+          "RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY": 8,
+          "RENDER_PRIM_TYPE_COUNT": 12
+        },
+        "type": "uint32"
+      },
+      "RenderSlotType_t": {
+        "alignment": 4,
+        "members": {
+          "RENDER_SLOT_INVALID": -1,
+          "RENDER_SLOT_PER_INSTANCE": 1,
+          "RENDER_SLOT_PER_VERTEX": 0
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/rendersystemdx11_dll.rs b/output/rendersystemdx11_dll.rs
new file mode 100644
index 0000000..b849eb5
--- /dev/null
+++ b/output/rendersystemdx11_dll.rs
@@ -0,0 +1,104 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: rendersystemdx11.dll
+        // Class count: 3
+        // Enum count: 5
+        pub mod rendersystemdx11_dll {
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum RenderPrimitiveType_t {
+                RENDER_PRIM_POINTS = 0x0,
+                RENDER_PRIM_LINES = 0x1,
+                RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2,
+                RENDER_PRIM_LINE_STRIP = 0x3,
+                RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY = 0x4,
+                RENDER_PRIM_TRIANGLES = 0x5,
+                RENDER_PRIM_TRIANGLES_WITH_ADJACENCY = 0x6,
+                RENDER_PRIM_TRIANGLE_STRIP = 0x7,
+                RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8,
+                RENDER_PRIM_INSTANCED_QUADS = 0x9,
+                RENDER_PRIM_HETEROGENOUS = 0xA,
+                RENDER_PRIM_COMPUTE_SHADER = 0xB,
+                RENDER_PRIM_TYPE_COUNT = 0xC
+            }
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum RenderBufferFlags_t {
+                RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
+                RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
+                RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4,
+                RENDER_BUFFER_USAGE_UNORDERED_ACCESS = 0x8,
+                RENDER_BUFFER_BYTEADDRESS_BUFFER = 0x10,
+                RENDER_BUFFER_STRUCTURED_BUFFER = 0x20,
+                RENDER_BUFFER_APPEND_CONSUME_BUFFER = 0x40,
+                RENDER_BUFFER_UAV_COUNTER = 0x80,
+                RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
+                RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
+                RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400,
+                RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800,
+                RENDER_BUFFER_POOL_ALLOCATED = 0x1000
+            }
+            // Alignment: 1
+            // Member count: 8
+            #[repr(u8)]
+            pub enum RenderMultisampleType_t {
+                RENDER_MULTISAMPLE_INVALID = u8::MAX,
+                RENDER_MULTISAMPLE_NONE = 0x0,
+                RENDER_MULTISAMPLE_2X = 0x1,
+                RENDER_MULTISAMPLE_4X = 0x2,
+                RENDER_MULTISAMPLE_6X = 0x3,
+                RENDER_MULTISAMPLE_8X = 0x4,
+                RENDER_MULTISAMPLE_16X = 0x5,
+                RENDER_MULTISAMPLE_TYPE_COUNT = 0x6
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum InputLayoutVariation_t {
+                INPUT_LAYOUT_VARIATION_DEFAULT = 0x0,
+                INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1,
+                INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2,
+                INPUT_LAYOUT_VARIATION_MAX = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum RenderSlotType_t {
+                RENDER_SLOT_INVALID = u32::MAX,
+                RENDER_SLOT_PER_VERTEX = 0x0,
+                RENDER_SLOT_PER_INSTANCE = 0x1
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod VsInputSignatureElement_t {
+                pub const m_pName: usize = 0x0; // char[64]
+                pub const m_pSemantic: usize = 0x40; // char[64]
+                pub const m_pD3DSemanticName: usize = 0x80; // char[64]
+                pub const m_nD3DSemanticIndex: usize = 0xC0; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod VsInputSignature_t {
+                pub const m_elems: usize = 0x0; // CUtlVector<VsInputSignatureElement_t>
+            }
+            // Parent: None
+            // Field count: 7
+            pub mod RenderInputLayoutField_t {
+                pub const m_pSemanticName: usize = 0x0; // uint8[32]
+                pub const m_nSemanticIndex: usize = 0x20; // int32
+                pub const m_Format: usize = 0x24; // uint32
+                pub const m_nOffset: usize = 0x28; // int32
+                pub const m_nSlot: usize = 0x2C; // int32
+                pub const m_nSlotType: usize = 0x30; // RenderSlotType_t
+                pub const m_nInstanceStepRate: usize = 0x34; // int32
+            }
+        }
+    }
+}
diff --git a/output/resourcesystem_dll.cs b/output/resourcesystem_dll.cs
new file mode 100644
index 0000000..46a44ab
--- /dev/null
+++ b/output/resourcesystem_dll.cs
@@ -0,0 +1,464 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: resourcesystem.dll
+    // Class count: 59
+    // Enum count: 2
+    public static class ResourcesystemDll {
+        // Alignment: 1
+        // Member count: 9
+        public enum FuseVariableType_t : byte {
+            INVALID = 0x0,
+            BOOL = 0x1,
+            INT8 = 0x2,
+            INT16 = 0x3,
+            INT32 = 0x4,
+            UINT8 = 0x5,
+            UINT16 = 0x6,
+            UINT32 = 0x7,
+            FLOAT32 = 0x8
+        }
+        // Alignment: 1
+        // Member count: 2
+        public enum FuseVariableAccess_t : byte {
+            WRITABLE = 0x0,
+            READ_ONLY = 0x1
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCNmIKRig {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCResponseRulesList {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCDotaItemDefinitionResource {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCMorphSetData {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCChoreoSceneFileData {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVSoundStackScriptList {
+        }
+        // Parent: None
+        // Field count: 2
+        public static class PackedAABB_t {
+            public const nint m_nPackedMin = 0x0; // uint32
+            public const nint m_nPackedMax = 0x4; // uint32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVPhysXSurfacePropertiesList {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeManifestTestResource_t {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ConstantInfo_t {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_nameToken = 0x8; // CUtlStringToken
+            public const nint m_flValue = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class FuseFunctionIndex_t {
+            public const nint m_Value = 0x0; // uint16
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCGcExportableExternalData {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeIAnimGraphModelBinding {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCJavaScriptResource {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFuseSymbolTable {
+            public const nint m_constants = 0x0; // CUtlVector<ConstantInfo_t>
+            public const nint m_variables = 0x18; // CUtlVector<VariableInfo_t>
+            public const nint m_functions = 0x30; // CUtlVector<FunctionInfo_t>
+            public const nint m_constantMap = 0x48; // CUtlHashtable<CUtlStringToken,int32>
+            public const nint m_variableMap = 0x68; // CUtlHashtable<CUtlStringToken,int32>
+            public const nint m_functionMap = 0x88; // CUtlHashtable<CUtlStringToken,int32>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCRenderMesh {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVoxelVisibility {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class TestResource_t {
+            public const nint m_name = 0x0; // CUtlString
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCPhysAggregateData {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCNmClip {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeWorld_t {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeProceduralTestResource_t {
+        }
+        // Parent: None
+        // Field count: 2
+        public static class AABB_t {
+            public const nint m_vMinBounds = 0x0; // Vector
+            public const nint m_vMaxBounds = 0xC; // Vector
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCPostProcessingResource {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VariableInfo_t {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_nameToken = 0x8; // CUtlStringToken
+            public const nint m_nIndex = 0xC; // FuseVariableIndex_t
+            public const nint m_nNumComponents = 0xE; // uint8
+            public const nint m_eVarType = 0xF; // FuseVariableType_t
+            public const nint m_eAccess = 0x10; // FuseVariableAccess_t
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeIParticleSnapshot {
+        }
+        // Parent: None
+        // Field count: 4
+        public static class FourQuaternions {
+            public const nint x = 0x0; // fltx4
+            public const nint y = 0x10; // fltx4
+            public const nint z = 0x20; // fltx4
+            public const nint w = 0x30; // fltx4
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCPanoramaLayout {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCTypeScriptResource {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCNmSkeleton {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeTestResource_t {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCAnimationGroup {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVSoundEventScriptList {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVoiceContainerBase {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCPanoramaStyle {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCWorldNode {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCNmGraphVariation {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCCSGOEconItem {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCNmGraphDefinition {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCSmartProp {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFuseProgram {
+            public const nint m_programBuffer = 0x0; // CUtlVector<uint8>
+            public const nint m_variablesRead = 0x18; // CUtlVector<FuseVariableIndex_t>
+            public const nint m_variablesWritten = 0x30; // CUtlVector<FuseVariableIndex_t>
+            public const nint m_nMaxTempVarsUsed = 0x48; // int32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCCompositeMaterialKit {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVMixListResource {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCAnimData {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeIMaterial2 {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeIVectorGraphic {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCPanoramaDynamicImages {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeIPulseGraphDef {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FunctionInfo_t {
+            public const nint m_name = 0x8; // CUtlString
+            public const nint m_nameToken = 0x10; // CUtlStringToken
+            public const nint m_nParamCount = 0x14; // int32
+            public const nint m_nIndex = 0x18; // FuseFunctionIndex_t
+            public const nint m_bIsPure = 0x1A; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCVDataResource {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCModel {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCDOTANovelsList {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCTextureBase {
+        }
+        // Parent: None
+        // Field count: 1
+        public static class FuseVariableIndex_t {
+            public const nint m_Value = 0x0; // uint16
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeIParticleSystemDefinition {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCSequenceGroupData {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ManifestTestResource_t {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_child = 0x8; // CStrongHandle<InfoForResourceTypeManifestTestResource_t>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCEntityLump {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCDOTAPatchNotesList {
+        }
+    }
+}
diff --git a/output/resourcesystem_dll.hpp b/output/resourcesystem_dll.hpp
new file mode 100644
index 0000000..c37e743
--- /dev/null
+++ b/output/resourcesystem_dll.hpp
@@ -0,0 +1,470 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: resourcesystem.dll
+        // Class count: 59
+        // Enum count: 2
+        namespace resourcesystem_dll {
+            // Alignment: 1
+            // Member count: 9
+            enum class FuseVariableType_t : uint8_t {
+                INVALID = 0x0,
+                BOOL = 0x1,
+                INT8 = 0x2,
+                INT16 = 0x3,
+                INT32 = 0x4,
+                UINT8 = 0x5,
+                UINT16 = 0x6,
+                UINT32 = 0x7,
+                FLOAT32 = 0x8
+            };
+            // Alignment: 1
+            // Member count: 2
+            enum class FuseVariableAccess_t : uint8_t {
+                WRITABLE = 0x0,
+                READ_ONLY = 0x1
+            };
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCNmIKRig {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCResponseRulesList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCDotaItemDefinitionResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCMorphSetData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCChoreoSceneFileData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVSoundStackScriptList {
+            }
+            // Parent: None
+            // Field count: 2
+            namespace PackedAABB_t {
+                constexpr std::ptrdiff_t m_nPackedMin = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nPackedMax = 0x4; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVPhysXSurfacePropertiesList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeManifestTestResource_t {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ConstantInfo_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nameToken = 0x8; // CUtlStringToken
+                constexpr std::ptrdiff_t m_flValue = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace FuseFunctionIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // uint16
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCGcExportableExternalData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeIAnimGraphModelBinding {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCJavaScriptResource {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFuseSymbolTable {
+                constexpr std::ptrdiff_t m_constants = 0x0; // CUtlVector<ConstantInfo_t>
+                constexpr std::ptrdiff_t m_variables = 0x18; // CUtlVector<VariableInfo_t>
+                constexpr std::ptrdiff_t m_functions = 0x30; // CUtlVector<FunctionInfo_t>
+                constexpr std::ptrdiff_t m_constantMap = 0x48; // CUtlHashtable<CUtlStringToken,int32>
+                constexpr std::ptrdiff_t m_variableMap = 0x68; // CUtlHashtable<CUtlStringToken,int32>
+                constexpr std::ptrdiff_t m_functionMap = 0x88; // CUtlHashtable<CUtlStringToken,int32>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCRenderMesh {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVoxelVisibility {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace TestResource_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCPhysAggregateData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCNmClip {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeWorld_t {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeProceduralTestResource_t {
+            }
+            // Parent: None
+            // Field count: 2
+            namespace AABB_t {
+                constexpr std::ptrdiff_t m_vMinBounds = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vMaxBounds = 0xC; // Vector
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCPostProcessingResource {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VariableInfo_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nameToken = 0x8; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nIndex = 0xC; // FuseVariableIndex_t
+                constexpr std::ptrdiff_t m_nNumComponents = 0xE; // uint8
+                constexpr std::ptrdiff_t m_eVarType = 0xF; // FuseVariableType_t
+                constexpr std::ptrdiff_t m_eAccess = 0x10; // FuseVariableAccess_t
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeIParticleSnapshot {
+            }
+            // Parent: None
+            // Field count: 4
+            namespace FourQuaternions {
+                constexpr std::ptrdiff_t x = 0x0; // fltx4
+                constexpr std::ptrdiff_t y = 0x10; // fltx4
+                constexpr std::ptrdiff_t z = 0x20; // fltx4
+                constexpr std::ptrdiff_t w = 0x30; // fltx4
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCPanoramaLayout {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCTypeScriptResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCNmSkeleton {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeTestResource_t {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCAnimationGroup {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVSoundEventScriptList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVoiceContainerBase {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCPanoramaStyle {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCWorldNode {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCNmGraphVariation {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCCSGOEconItem {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCNmGraphDefinition {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCSmartProp {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFuseProgram {
+                constexpr std::ptrdiff_t m_programBuffer = 0x0; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_variablesRead = 0x18; // CUtlVector<FuseVariableIndex_t>
+                constexpr std::ptrdiff_t m_variablesWritten = 0x30; // CUtlVector<FuseVariableIndex_t>
+                constexpr std::ptrdiff_t m_nMaxTempVarsUsed = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCCompositeMaterialKit {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVMixListResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCAnimData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeIMaterial2 {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeIVectorGraphic {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCPanoramaDynamicImages {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeIPulseGraphDef {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FunctionInfo_t {
+                constexpr std::ptrdiff_t m_name = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_nameToken = 0x10; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nParamCount = 0x14; // int32
+                constexpr std::ptrdiff_t m_nIndex = 0x18; // FuseFunctionIndex_t
+                constexpr std::ptrdiff_t m_bIsPure = 0x1A; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCVDataResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCModel {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCDOTANovelsList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCTextureBase {
+            }
+            // Parent: None
+            // Field count: 1
+            namespace FuseVariableIndex_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // uint16
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeIParticleSystemDefinition {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCSequenceGroupData {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ManifestTestResource_t {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_child = 0x8; // CStrongHandle<InfoForResourceTypeManifestTestResource_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCEntityLump {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCDOTAPatchNotesList {
+            }
+        }
+    }
+}
diff --git a/output/resourcesystem_dll.json b/output/resourcesystem_dll.json
new file mode 100644
index 0000000..9bb39b9
--- /dev/null
+++ b/output/resourcesystem_dll.json
@@ -0,0 +1,645 @@
+{
+  "resourcesystem.dll": {
+    "classes": {
+      "AABB_t": {
+        "fields": {
+          "m_vMaxBounds": 12,
+          "m_vMinBounds": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CFuseProgram": {
+        "fields": {
+          "m_nMaxTempVarsUsed": 72,
+          "m_programBuffer": 0,
+          "m_variablesRead": 24,
+          "m_variablesWritten": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFuseSymbolTable": {
+        "fields": {
+          "m_constantMap": 72,
+          "m_constants": 0,
+          "m_functionMap": 136,
+          "m_functions": 48,
+          "m_variableMap": 104,
+          "m_variables": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ConstantInfo_t": {
+        "fields": {
+          "m_flValue": 12,
+          "m_name": 0,
+          "m_nameToken": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FourQuaternions": {
+        "fields": {
+          "w": 48,
+          "x": 0,
+          "y": 16,
+          "z": 32
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "FunctionInfo_t": {
+        "fields": {
+          "m_bIsPure": 26,
+          "m_nIndex": 24,
+          "m_nParamCount": 20,
+          "m_name": 8,
+          "m_nameToken": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FuseFunctionIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "FuseVariableIndex_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "InfoForResourceTypeCAnimData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCAnimationGroup": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCCSGOEconItem": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCChoreoSceneFileData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCCompositeMaterialKit": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCDOTANovelsList": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCDOTAPatchNotesList": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCDotaItemDefinitionResource": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCEntityLump": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCGcExportableExternalData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCJavaScriptResource": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCModel": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCMorphSetData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCNmClip": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCNmGraphDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCNmGraphVariation": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCNmIKRig": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCNmSkeleton": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCPanoramaDynamicImages": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCPanoramaLayout": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCPanoramaStyle": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCPhysAggregateData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCPostProcessingResource": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCRenderMesh": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCResponseRulesList": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCSequenceGroupData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCSmartProp": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCTextureBase": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCTypeScriptResource": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVDataResource": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVMixListResource": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVPhysXSurfacePropertiesList": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVSoundEventScriptList": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVSoundStackScriptList": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVoiceContainerBase": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCVoxelVisibility": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeCWorldNode": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeIAnimGraphModelBinding": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeIMaterial2": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeIParticleSnapshot": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeIParticleSystemDefinition": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeIPulseGraphDef": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeIVectorGraphic": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeManifestTestResource_t": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeProceduralTestResource_t": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeTestResource_t": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoForResourceTypeWorld_t": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ManifestTestResource_t": {
+        "fields": {
+          "m_child": 8,
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PackedAABB_t": {
+        "fields": {
+          "m_nPackedMax": 4,
+          "m_nPackedMin": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "TestResource_t": {
+        "fields": {
+          "m_name": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VariableInfo_t": {
+        "fields": {
+          "m_eAccess": 16,
+          "m_eVarType": 15,
+          "m_nIndex": 12,
+          "m_nNumComponents": 14,
+          "m_name": 0,
+          "m_nameToken": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "FuseVariableAccess_t": {
+        "alignment": 1,
+        "members": {
+          "READ_ONLY": 1,
+          "WRITABLE": 0
+        },
+        "type": "uint8"
+      },
+      "FuseVariableType_t": {
+        "alignment": 1,
+        "members": {
+          "BOOL": 1,
+          "FLOAT32": 8,
+          "INT16": 3,
+          "INT32": 4,
+          "INT8": 2,
+          "INVALID": 0,
+          "UINT16": 6,
+          "UINT32": 7,
+          "UINT8": 5
+        },
+        "type": "uint8"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/resourcesystem_dll.rs b/output/resourcesystem_dll.rs
new file mode 100644
index 0000000..607b30d
--- /dev/null
+++ b/output/resourcesystem_dll.rs
@@ -0,0 +1,470 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: resourcesystem.dll
+        // Class count: 59
+        // Enum count: 2
+        pub mod resourcesystem_dll {
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum FuseVariableType_t {
+                INVALID = 0x0,
+                BOOL = 0x1,
+                INT8 = 0x2,
+                INT16 = 0x3,
+                INT32 = 0x4,
+                UINT8 = 0x5,
+                UINT16 = 0x6,
+                UINT32 = 0x7,
+                FLOAT32 = 0x8
+            }
+            // Alignment: 1
+            // Member count: 2
+            #[repr(u8)]
+            pub enum FuseVariableAccess_t {
+                WRITABLE = 0x0,
+                READ_ONLY = 0x1
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCNmIKRig {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCResponseRulesList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCDotaItemDefinitionResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCMorphSetData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCChoreoSceneFileData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVSoundStackScriptList {
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod PackedAABB_t {
+                pub const m_nPackedMin: usize = 0x0; // uint32
+                pub const m_nPackedMax: usize = 0x4; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVPhysXSurfacePropertiesList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeManifestTestResource_t {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ConstantInfo_t {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_nameToken: usize = 0x8; // CUtlStringToken
+                pub const m_flValue: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod FuseFunctionIndex_t {
+                pub const m_Value: usize = 0x0; // uint16
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCGcExportableExternalData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeIAnimGraphModelBinding {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCJavaScriptResource {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFuseSymbolTable {
+                pub const m_constants: usize = 0x0; // CUtlVector<ConstantInfo_t>
+                pub const m_variables: usize = 0x18; // CUtlVector<VariableInfo_t>
+                pub const m_functions: usize = 0x30; // CUtlVector<FunctionInfo_t>
+                pub const m_constantMap: usize = 0x48; // CUtlHashtable<CUtlStringToken,int32>
+                pub const m_variableMap: usize = 0x68; // CUtlHashtable<CUtlStringToken,int32>
+                pub const m_functionMap: usize = 0x88; // CUtlHashtable<CUtlStringToken,int32>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCRenderMesh {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVoxelVisibility {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod TestResource_t {
+                pub const m_name: usize = 0x0; // CUtlString
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCPhysAggregateData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCNmClip {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeWorld_t {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeProceduralTestResource_t {
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod AABB_t {
+                pub const m_vMinBounds: usize = 0x0; // Vector
+                pub const m_vMaxBounds: usize = 0xC; // Vector
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCPostProcessingResource {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VariableInfo_t {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_nameToken: usize = 0x8; // CUtlStringToken
+                pub const m_nIndex: usize = 0xC; // FuseVariableIndex_t
+                pub const m_nNumComponents: usize = 0xE; // uint8
+                pub const m_eVarType: usize = 0xF; // FuseVariableType_t
+                pub const m_eAccess: usize = 0x10; // FuseVariableAccess_t
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeIParticleSnapshot {
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod FourQuaternions {
+                pub const x: usize = 0x0; // fltx4
+                pub const y: usize = 0x10; // fltx4
+                pub const z: usize = 0x20; // fltx4
+                pub const w: usize = 0x30; // fltx4
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCPanoramaLayout {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCTypeScriptResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCNmSkeleton {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeTestResource_t {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCAnimationGroup {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVSoundEventScriptList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVoiceContainerBase {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCPanoramaStyle {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCWorldNode {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCNmGraphVariation {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCCSGOEconItem {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCNmGraphDefinition {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCSmartProp {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFuseProgram {
+                pub const m_programBuffer: usize = 0x0; // CUtlVector<uint8>
+                pub const m_variablesRead: usize = 0x18; // CUtlVector<FuseVariableIndex_t>
+                pub const m_variablesWritten: usize = 0x30; // CUtlVector<FuseVariableIndex_t>
+                pub const m_nMaxTempVarsUsed: usize = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCCompositeMaterialKit {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVMixListResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCAnimData {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeIMaterial2 {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeIVectorGraphic {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCPanoramaDynamicImages {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeIPulseGraphDef {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FunctionInfo_t {
+                pub const m_name: usize = 0x8; // CUtlString
+                pub const m_nameToken: usize = 0x10; // CUtlStringToken
+                pub const m_nParamCount: usize = 0x14; // int32
+                pub const m_nIndex: usize = 0x18; // FuseFunctionIndex_t
+                pub const m_bIsPure: usize = 0x1A; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCVDataResource {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCModel {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCDOTANovelsList {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCTextureBase {
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod FuseVariableIndex_t {
+                pub const m_Value: usize = 0x0; // uint16
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeIParticleSystemDefinition {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCSequenceGroupData {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ManifestTestResource_t {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_child: usize = 0x8; // CStrongHandle<InfoForResourceTypeManifestTestResource_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCEntityLump {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCDOTAPatchNotesList {
+            }
+        }
+    }
+}
diff --git a/output/scenesystem_dll.cs b/output/scenesystem_dll.cs
new file mode 100644
index 0000000..124bec9
--- /dev/null
+++ b/output/scenesystem_dll.cs
@@ -0,0 +1,107 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: scenesystem.dll
+    // Class count: 9
+    // Enum count: 1
+    public static class ScenesystemDll {
+        // Alignment: 1
+        // Member count: 4
+        public enum DisableShadows_t : byte {
+            kDisableShadows_None = 0x0,
+            kDisableShadows_All = 0x1,
+            kDisableShadows_Baked = 0x2,
+            kDisableShadows_Realtime = 0x3
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_ViewTarget {
+            public const nint m_Name = 0x0; // CUtlString
+            public const nint m_TextureId = 0x8; // uint64
+            public const nint m_nWidth = 0x10; // int32
+            public const nint m_nHeight = 0x14; // int32
+            public const nint m_nRequestedWidth = 0x18; // int32
+            public const nint m_nRequestedHeight = 0x1C; // int32
+            public const nint m_nNumMipLevels = 0x20; // int32
+            public const nint m_nDepth = 0x24; // int32
+            public const nint m_nMultisampleNumSamples = 0x28; // int32
+            public const nint m_nFormat = 0x2C; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SceneViewId_t {
+            public const nint m_nViewId = 0x0; // uint64
+            public const nint m_nFrameCount = 0x8; // uint64
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSEndFrameViewInfo {
+            public const nint m_nViewId = 0x0; // uint64
+            public const nint m_ViewName = 0x8; // CUtlString
+        }
+        // Parent: CSSDSMsg_LayerBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_PostLayer {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_LayerBase {
+            public const nint m_viewId = 0x0; // SceneViewId_t
+            public const nint m_ViewName = 0x10; // CUtlString
+            public const nint m_nLayerIndex = 0x18; // int32
+            public const nint m_nLayerId = 0x20; // uint64
+            public const nint m_LayerName = 0x28; // CUtlString
+            public const nint m_displayText = 0x30; // CUtlString
+        }
+        // Parent: CSSDSMsg_LayerBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_PreLayer {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_ViewTargetList {
+            public const nint m_viewId = 0x0; // SceneViewId_t
+            public const nint m_ViewName = 0x10; // CUtlString
+            public const nint m_Targets = 0x18; // CUtlVector<CSSDSMsg_ViewTarget>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_ViewRender {
+            public const nint m_viewId = 0x0; // SceneViewId_t
+            public const nint m_ViewName = 0x10; // CUtlString
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSSDSMsg_EndFrame {
+            public const nint m_Views = 0x0; // CUtlVector<CSSDSEndFrameViewInfo>
+        }
+    }
+}
diff --git a/output/scenesystem_dll.hpp b/output/scenesystem_dll.hpp
new file mode 100644
index 0000000..7df9ed4
--- /dev/null
+++ b/output/scenesystem_dll.hpp
@@ -0,0 +1,113 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: scenesystem.dll
+        // Class count: 9
+        // Enum count: 1
+        namespace scenesystem_dll {
+            // Alignment: 1
+            // Member count: 4
+            enum class DisableShadows_t : uint8_t {
+                kDisableShadows_None = 0x0,
+                kDisableShadows_All = 0x1,
+                kDisableShadows_Baked = 0x2,
+                kDisableShadows_Realtime = 0x3
+            };
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_ViewTarget {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_TextureId = 0x8; // uint64
+                constexpr std::ptrdiff_t m_nWidth = 0x10; // int32
+                constexpr std::ptrdiff_t m_nHeight = 0x14; // int32
+                constexpr std::ptrdiff_t m_nRequestedWidth = 0x18; // int32
+                constexpr std::ptrdiff_t m_nRequestedHeight = 0x1C; // int32
+                constexpr std::ptrdiff_t m_nNumMipLevels = 0x20; // int32
+                constexpr std::ptrdiff_t m_nDepth = 0x24; // int32
+                constexpr std::ptrdiff_t m_nMultisampleNumSamples = 0x28; // int32
+                constexpr std::ptrdiff_t m_nFormat = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SceneViewId_t {
+                constexpr std::ptrdiff_t m_nViewId = 0x0; // uint64
+                constexpr std::ptrdiff_t m_nFrameCount = 0x8; // uint64
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSEndFrameViewInfo {
+                constexpr std::ptrdiff_t m_nViewId = 0x0; // uint64
+                constexpr std::ptrdiff_t m_ViewName = 0x8; // CUtlString
+            }
+            // Parent: CSSDSMsg_LayerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_PostLayer {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_LayerBase {
+                constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t
+                constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_nLayerIndex = 0x18; // int32
+                constexpr std::ptrdiff_t m_nLayerId = 0x20; // uint64
+                constexpr std::ptrdiff_t m_LayerName = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_displayText = 0x30; // CUtlString
+            }
+            // Parent: CSSDSMsg_LayerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_PreLayer {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_ViewTargetList {
+                constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t
+                constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_Targets = 0x18; // CUtlVector<CSSDSMsg_ViewTarget>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_ViewRender {
+                constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t
+                constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSSDSMsg_EndFrame {
+                constexpr std::ptrdiff_t m_Views = 0x0; // CUtlVector<CSSDSEndFrameViewInfo>
+            }
+        }
+    }
+}
diff --git a/output/scenesystem_dll.json b/output/scenesystem_dll.json
new file mode 100644
index 0000000..75a0ff7
--- /dev/null
+++ b/output/scenesystem_dll.json
@@ -0,0 +1,141 @@
+{
+  "scenesystem.dll": {
+    "classes": {
+      "CSSDSEndFrameViewInfo": {
+        "fields": {
+          "m_ViewName": 8,
+          "m_nViewId": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSSDSMsg_EndFrame": {
+        "fields": {
+          "m_Views": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSSDSMsg_LayerBase": {
+        "fields": {
+          "m_LayerName": 40,
+          "m_ViewName": 16,
+          "m_displayText": 48,
+          "m_nLayerId": 32,
+          "m_nLayerIndex": 24,
+          "m_viewId": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSSDSMsg_PostLayer": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSSDSMsg_LayerBase"
+      },
+      "CSSDSMsg_PreLayer": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSSDSMsg_LayerBase"
+      },
+      "CSSDSMsg_ViewRender": {
+        "fields": {
+          "m_ViewName": 16,
+          "m_viewId": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSSDSMsg_ViewTarget": {
+        "fields": {
+          "m_Name": 0,
+          "m_TextureId": 8,
+          "m_nDepth": 36,
+          "m_nFormat": 44,
+          "m_nHeight": 20,
+          "m_nMultisampleNumSamples": 40,
+          "m_nNumMipLevels": 32,
+          "m_nRequestedHeight": 28,
+          "m_nRequestedWidth": 24,
+          "m_nWidth": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSSDSMsg_ViewTargetList": {
+        "fields": {
+          "m_Targets": 24,
+          "m_ViewName": 16,
+          "m_viewId": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SceneViewId_t": {
+        "fields": {
+          "m_nFrameCount": 8,
+          "m_nViewId": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "DisableShadows_t": {
+        "alignment": 1,
+        "members": {
+          "kDisableShadows_All": 1,
+          "kDisableShadows_Baked": 2,
+          "kDisableShadows_None": 0,
+          "kDisableShadows_Realtime": 3
+        },
+        "type": "uint8"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/scenesystem_dll.rs b/output/scenesystem_dll.rs
new file mode 100644
index 0000000..fa0ae5b
--- /dev/null
+++ b/output/scenesystem_dll.rs
@@ -0,0 +1,112 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: scenesystem.dll
+        // Class count: 9
+        // Enum count: 1
+        pub mod scenesystem_dll {
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum DisableShadows_t {
+                kDisableShadows_None = 0x0,
+                kDisableShadows_All = 0x1,
+                kDisableShadows_Baked = 0x2,
+                kDisableShadows_Realtime = 0x3
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_ViewTarget {
+                pub const m_Name: usize = 0x0; // CUtlString
+                pub const m_TextureId: usize = 0x8; // uint64
+                pub const m_nWidth: usize = 0x10; // int32
+                pub const m_nHeight: usize = 0x14; // int32
+                pub const m_nRequestedWidth: usize = 0x18; // int32
+                pub const m_nRequestedHeight: usize = 0x1C; // int32
+                pub const m_nNumMipLevels: usize = 0x20; // int32
+                pub const m_nDepth: usize = 0x24; // int32
+                pub const m_nMultisampleNumSamples: usize = 0x28; // int32
+                pub const m_nFormat: usize = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SceneViewId_t {
+                pub const m_nViewId: usize = 0x0; // uint64
+                pub const m_nFrameCount: usize = 0x8; // uint64
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSEndFrameViewInfo {
+                pub const m_nViewId: usize = 0x0; // uint64
+                pub const m_ViewName: usize = 0x8; // CUtlString
+            }
+            // Parent: CSSDSMsg_LayerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_PostLayer {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_LayerBase {
+                pub const m_viewId: usize = 0x0; // SceneViewId_t
+                pub const m_ViewName: usize = 0x10; // CUtlString
+                pub const m_nLayerIndex: usize = 0x18; // int32
+                pub const m_nLayerId: usize = 0x20; // uint64
+                pub const m_LayerName: usize = 0x28; // CUtlString
+                pub const m_displayText: usize = 0x30; // CUtlString
+            }
+            // Parent: CSSDSMsg_LayerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_PreLayer {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_ViewTargetList {
+                pub const m_viewId: usize = 0x0; // SceneViewId_t
+                pub const m_ViewName: usize = 0x10; // CUtlString
+                pub const m_Targets: usize = 0x18; // CUtlVector<CSSDSMsg_ViewTarget>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_ViewRender {
+                pub const m_viewId: usize = 0x0; // SceneViewId_t
+                pub const m_ViewName: usize = 0x10; // CUtlString
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSSDSMsg_EndFrame {
+                pub const m_Views: usize = 0x0; // CUtlVector<CSSDSEndFrameViewInfo>
+            }
+        }
+    }
+}
diff --git a/output/schemasystem_dll.cs b/output/schemasystem_dll.cs
new file mode 100644
index 0000000..ee9a9e3
--- /dev/null
+++ b/output/schemasystem_dll.cs
@@ -0,0 +1,173 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: schemasystem.dll
+    // Class count: 7
+    // Enum count: 2
+    public static class SchemasystemDll {
+        // Alignment: 1
+        // Member count: 81
+        public enum fieldtype_t : byte {
+            FIELD_VOID = 0x0,
+            FIELD_FLOAT32 = 0x1,
+            FIELD_STRING = 0x2,
+            FIELD_VECTOR = 0x3,
+            FIELD_QUATERNION = 0x4,
+            FIELD_INT32 = 0x5,
+            FIELD_BOOLEAN = 0x6,
+            FIELD_INT16 = 0x7,
+            FIELD_CHARACTER = 0x8,
+            FIELD_COLOR32 = 0x9,
+            FIELD_EMBEDDED = 0xA,
+            FIELD_CUSTOM = 0xB,
+            FIELD_CLASSPTR = 0xC,
+            FIELD_EHANDLE = 0xD,
+            FIELD_POSITION_VECTOR = 0xE,
+            FIELD_TIME = 0xF,
+            FIELD_TICK = 0x10,
+            FIELD_SOUNDNAME = 0x11,
+            FIELD_INPUT = 0x12,
+            FIELD_FUNCTION = 0x13,
+            FIELD_VMATRIX = 0x14,
+            FIELD_VMATRIX_WORLDSPACE = 0x15,
+            FIELD_MATRIX3X4_WORLDSPACE = 0x16,
+            FIELD_INTERVAL = 0x17,
+            FIELD_UNUSED = 0x18,
+            FIELD_VECTOR2D = 0x19,
+            FIELD_INT64 = 0x1A,
+            FIELD_VECTOR4D = 0x1B,
+            FIELD_RESOURCE = 0x1C,
+            FIELD_TYPEUNKNOWN = 0x1D,
+            FIELD_CSTRING = 0x1E,
+            FIELD_HSCRIPT = 0x1F,
+            FIELD_VARIANT = 0x20,
+            FIELD_UINT64 = 0x21,
+            FIELD_FLOAT64 = 0x22,
+            FIELD_POSITIVEINTEGER_OR_NULL = 0x23,
+            FIELD_HSCRIPT_NEW_INSTANCE = 0x24,
+            FIELD_UINT32 = 0x25,
+            FIELD_UTLSTRINGTOKEN = 0x26,
+            FIELD_QANGLE = 0x27,
+            FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 0x28,
+            FIELD_HMATERIAL = 0x29,
+            FIELD_HMODEL = 0x2A,
+            FIELD_NETWORK_QUANTIZED_VECTOR = 0x2B,
+            FIELD_NETWORK_QUANTIZED_FLOAT = 0x2C,
+            FIELD_DIRECTION_VECTOR_WORLDSPACE = 0x2D,
+            FIELD_QANGLE_WORLDSPACE = 0x2E,
+            FIELD_QUATERNION_WORLDSPACE = 0x2F,
+            FIELD_HSCRIPT_LIGHTBINDING = 0x30,
+            FIELD_V8_VALUE = 0x31,
+            FIELD_V8_OBJECT = 0x32,
+            FIELD_V8_ARRAY = 0x33,
+            FIELD_V8_CALLBACK_INFO = 0x34,
+            FIELD_UTLSTRING = 0x35,
+            FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 0x36,
+            FIELD_HRENDERTEXTURE = 0x37,
+            FIELD_HPARTICLESYSTEMDEFINITION = 0x38,
+            FIELD_UINT8 = 0x39,
+            FIELD_UINT16 = 0x3A,
+            FIELD_CTRANSFORM = 0x3B,
+            FIELD_CTRANSFORM_WORLDSPACE = 0x3C,
+            FIELD_HPOSTPROCESSING = 0x3D,
+            FIELD_MATRIX3X4 = 0x3E,
+            FIELD_SHIM = 0x3F,
+            FIELD_CMOTIONTRANSFORM = 0x40,
+            FIELD_CMOTIONTRANSFORM_WORLDSPACE = 0x41,
+            FIELD_ATTACHMENT_HANDLE = 0x42,
+            FIELD_AMMO_INDEX = 0x43,
+            FIELD_CONDITION_ID = 0x44,
+            FIELD_AI_SCHEDULE_BITS = 0x45,
+            FIELD_MODIFIER_HANDLE = 0x46,
+            FIELD_ROTATION_VECTOR = 0x47,
+            FIELD_ROTATION_VECTOR_WORLDSPACE = 0x48,
+            FIELD_HVDATA = 0x49,
+            FIELD_SCALE32 = 0x4A,
+            FIELD_STRING_AND_TOKEN = 0x4B,
+            FIELD_ENGINE_TIME = 0x4C,
+            FIELD_ENGINE_TICK = 0x4D,
+            FIELD_WORLD_GROUP_ID = 0x4E,
+            FIELD_GLOBALSYMBOL = 0x4F,
+            FIELD_TYPECOUNT = 0x50
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ThreeState_t : uint {
+            TRS_FALSE = 0x0,
+            TRS_TRUE = 0x1,
+            TRS_NONE = 0x2
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeCResourceManifestInternal {
+        }
+        // Parent: None
+        // Field count: 22
+        public static class CSchemaSystemInternalRegistration {
+            public const nint m_Vector2D = 0x0; // Vector2D
+            public const nint m_Vector = 0x8; // Vector
+            public const nint m_VectorAligned = 0x20; // VectorAligned
+            public const nint m_Quaternion = 0x30; // Quaternion
+            public const nint m_QAngle = 0x40; // QAngle
+            public const nint m_RotationVector = 0x4C; // RotationVector
+            public const nint m_RadianEuler = 0x58; // RadianEuler
+            public const nint m_DegreeEuler = 0x64; // DegreeEuler
+            public const nint m_QuaternionStorage = 0x70; // QuaternionStorage
+            public const nint m_matrix3x4_t = 0x80; // matrix3x4_t
+            public const nint m_matrix3x4a_t = 0xB0; // matrix3x4a_t
+            public const nint m_Color = 0xE0; // Color
+            public const nint m_Vector4D = 0xE4; // Vector4D
+            public const nint m_CTransform = 0x100; // CTransform
+            public const nint m_pKeyValues = 0x120; // KeyValues*
+            public const nint m_CUtlBinaryBlock = 0x128; // CUtlBinaryBlock
+            public const nint m_CUtlString = 0x140; // CUtlString
+            public const nint m_CUtlSymbol = 0x148; // CUtlSymbol
+            public const nint m_stringToken = 0x14C; // CUtlStringToken
+            public const nint m_stringTokenWithStorage = 0x150; // CUtlStringTokenWithStorage
+            public const nint m_ResourceTypes = 0x168; // CResourceArray<CResourcePointer<CResourceString>>
+            public const nint m_KV3 = 0x170; // KeyValues3
+        }
+        // Parent: CExampleSchemaVData_PolymorphicBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CExampleSchemaVData_PolymorphicDerivedA {
+            public const nint m_nDerivedA = 0x10; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CExampleSchemaVData_PolymorphicBase {
+            public const nint m_nBase = 0x8; // int32
+        }
+        // Parent: CExampleSchemaVData_PolymorphicBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CExampleSchemaVData_PolymorphicDerivedB {
+            public const nint m_nDerivedB = 0x10; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class ResourceId_t {
+            public const nint m_Value = 0x0; // uint64
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CExampleSchemaVData_Monomorphic {
+            public const nint m_nExample1 = 0x0; // int32
+            public const nint m_nExample2 = 0x4; // int32
+        }
+    }
+}
diff --git a/output/schemasystem_dll.hpp b/output/schemasystem_dll.hpp
new file mode 100644
index 0000000..31f8cd2
--- /dev/null
+++ b/output/schemasystem_dll.hpp
@@ -0,0 +1,179 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: schemasystem.dll
+        // Class count: 7
+        // Enum count: 2
+        namespace schemasystem_dll {
+            // Alignment: 1
+            // Member count: 81
+            enum class fieldtype_t : uint8_t {
+                FIELD_VOID = 0x0,
+                FIELD_FLOAT32 = 0x1,
+                FIELD_STRING = 0x2,
+                FIELD_VECTOR = 0x3,
+                FIELD_QUATERNION = 0x4,
+                FIELD_INT32 = 0x5,
+                FIELD_BOOLEAN = 0x6,
+                FIELD_INT16 = 0x7,
+                FIELD_CHARACTER = 0x8,
+                FIELD_COLOR32 = 0x9,
+                FIELD_EMBEDDED = 0xA,
+                FIELD_CUSTOM = 0xB,
+                FIELD_CLASSPTR = 0xC,
+                FIELD_EHANDLE = 0xD,
+                FIELD_POSITION_VECTOR = 0xE,
+                FIELD_TIME = 0xF,
+                FIELD_TICK = 0x10,
+                FIELD_SOUNDNAME = 0x11,
+                FIELD_INPUT = 0x12,
+                FIELD_FUNCTION = 0x13,
+                FIELD_VMATRIX = 0x14,
+                FIELD_VMATRIX_WORLDSPACE = 0x15,
+                FIELD_MATRIX3X4_WORLDSPACE = 0x16,
+                FIELD_INTERVAL = 0x17,
+                FIELD_UNUSED = 0x18,
+                FIELD_VECTOR2D = 0x19,
+                FIELD_INT64 = 0x1A,
+                FIELD_VECTOR4D = 0x1B,
+                FIELD_RESOURCE = 0x1C,
+                FIELD_TYPEUNKNOWN = 0x1D,
+                FIELD_CSTRING = 0x1E,
+                FIELD_HSCRIPT = 0x1F,
+                FIELD_VARIANT = 0x20,
+                FIELD_UINT64 = 0x21,
+                FIELD_FLOAT64 = 0x22,
+                FIELD_POSITIVEINTEGER_OR_NULL = 0x23,
+                FIELD_HSCRIPT_NEW_INSTANCE = 0x24,
+                FIELD_UINT32 = 0x25,
+                FIELD_UTLSTRINGTOKEN = 0x26,
+                FIELD_QANGLE = 0x27,
+                FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 0x28,
+                FIELD_HMATERIAL = 0x29,
+                FIELD_HMODEL = 0x2A,
+                FIELD_NETWORK_QUANTIZED_VECTOR = 0x2B,
+                FIELD_NETWORK_QUANTIZED_FLOAT = 0x2C,
+                FIELD_DIRECTION_VECTOR_WORLDSPACE = 0x2D,
+                FIELD_QANGLE_WORLDSPACE = 0x2E,
+                FIELD_QUATERNION_WORLDSPACE = 0x2F,
+                FIELD_HSCRIPT_LIGHTBINDING = 0x30,
+                FIELD_V8_VALUE = 0x31,
+                FIELD_V8_OBJECT = 0x32,
+                FIELD_V8_ARRAY = 0x33,
+                FIELD_V8_CALLBACK_INFO = 0x34,
+                FIELD_UTLSTRING = 0x35,
+                FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 0x36,
+                FIELD_HRENDERTEXTURE = 0x37,
+                FIELD_HPARTICLESYSTEMDEFINITION = 0x38,
+                FIELD_UINT8 = 0x39,
+                FIELD_UINT16 = 0x3A,
+                FIELD_CTRANSFORM = 0x3B,
+                FIELD_CTRANSFORM_WORLDSPACE = 0x3C,
+                FIELD_HPOSTPROCESSING = 0x3D,
+                FIELD_MATRIX3X4 = 0x3E,
+                FIELD_SHIM = 0x3F,
+                FIELD_CMOTIONTRANSFORM = 0x40,
+                FIELD_CMOTIONTRANSFORM_WORLDSPACE = 0x41,
+                FIELD_ATTACHMENT_HANDLE = 0x42,
+                FIELD_AMMO_INDEX = 0x43,
+                FIELD_CONDITION_ID = 0x44,
+                FIELD_AI_SCHEDULE_BITS = 0x45,
+                FIELD_MODIFIER_HANDLE = 0x46,
+                FIELD_ROTATION_VECTOR = 0x47,
+                FIELD_ROTATION_VECTOR_WORLDSPACE = 0x48,
+                FIELD_HVDATA = 0x49,
+                FIELD_SCALE32 = 0x4A,
+                FIELD_STRING_AND_TOKEN = 0x4B,
+                FIELD_ENGINE_TIME = 0x4C,
+                FIELD_ENGINE_TICK = 0x4D,
+                FIELD_WORLD_GROUP_ID = 0x4E,
+                FIELD_GLOBALSYMBOL = 0x4F,
+                FIELD_TYPECOUNT = 0x50
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ThreeState_t : uint32_t {
+                TRS_FALSE = 0x0,
+                TRS_TRUE = 0x1,
+                TRS_NONE = 0x2
+            };
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeCResourceManifestInternal {
+            }
+            // Parent: None
+            // Field count: 22
+            namespace CSchemaSystemInternalRegistration {
+                constexpr std::ptrdiff_t m_Vector2D = 0x0; // Vector2D
+                constexpr std::ptrdiff_t m_Vector = 0x8; // Vector
+                constexpr std::ptrdiff_t m_VectorAligned = 0x20; // VectorAligned
+                constexpr std::ptrdiff_t m_Quaternion = 0x30; // Quaternion
+                constexpr std::ptrdiff_t m_QAngle = 0x40; // QAngle
+                constexpr std::ptrdiff_t m_RotationVector = 0x4C; // RotationVector
+                constexpr std::ptrdiff_t m_RadianEuler = 0x58; // RadianEuler
+                constexpr std::ptrdiff_t m_DegreeEuler = 0x64; // DegreeEuler
+                constexpr std::ptrdiff_t m_QuaternionStorage = 0x70; // QuaternionStorage
+                constexpr std::ptrdiff_t m_matrix3x4_t = 0x80; // matrix3x4_t
+                constexpr std::ptrdiff_t m_matrix3x4a_t = 0xB0; // matrix3x4a_t
+                constexpr std::ptrdiff_t m_Color = 0xE0; // Color
+                constexpr std::ptrdiff_t m_Vector4D = 0xE4; // Vector4D
+                constexpr std::ptrdiff_t m_CTransform = 0x100; // CTransform
+                constexpr std::ptrdiff_t m_pKeyValues = 0x120; // KeyValues*
+                constexpr std::ptrdiff_t m_CUtlBinaryBlock = 0x128; // CUtlBinaryBlock
+                constexpr std::ptrdiff_t m_CUtlString = 0x140; // CUtlString
+                constexpr std::ptrdiff_t m_CUtlSymbol = 0x148; // CUtlSymbol
+                constexpr std::ptrdiff_t m_stringToken = 0x14C; // CUtlStringToken
+                constexpr std::ptrdiff_t m_stringTokenWithStorage = 0x150; // CUtlStringTokenWithStorage
+                constexpr std::ptrdiff_t m_ResourceTypes = 0x168; // CResourceArray<CResourcePointer<CResourceString>>
+                constexpr std::ptrdiff_t m_KV3 = 0x170; // KeyValues3
+            }
+            // Parent: CExampleSchemaVData_PolymorphicBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CExampleSchemaVData_PolymorphicDerivedA {
+                constexpr std::ptrdiff_t m_nDerivedA = 0x10; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CExampleSchemaVData_PolymorphicBase {
+                constexpr std::ptrdiff_t m_nBase = 0x8; // int32
+            }
+            // Parent: CExampleSchemaVData_PolymorphicBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CExampleSchemaVData_PolymorphicDerivedB {
+                constexpr std::ptrdiff_t m_nDerivedB = 0x10; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace ResourceId_t {
+                constexpr std::ptrdiff_t m_Value = 0x0; // uint64
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CExampleSchemaVData_Monomorphic {
+                constexpr std::ptrdiff_t m_nExample1 = 0x0; // int32
+                constexpr std::ptrdiff_t m_nExample2 = 0x4; // int32
+            }
+        }
+    }
+}
diff --git a/output/schemasystem_dll.json b/output/schemasystem_dll.json
new file mode 100644
index 0000000..aadc4cf
--- /dev/null
+++ b/output/schemasystem_dll.json
@@ -0,0 +1,198 @@
+{
+  "schemasystem.dll": {
+    "classes": {
+      "CExampleSchemaVData_Monomorphic": {
+        "fields": {
+          "m_nExample1": 0,
+          "m_nExample2": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CExampleSchemaVData_PolymorphicBase": {
+        "fields": {
+          "m_nBase": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CExampleSchemaVData_PolymorphicDerivedA": {
+        "fields": {
+          "m_nDerivedA": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CExampleSchemaVData_PolymorphicBase"
+      },
+      "CExampleSchemaVData_PolymorphicDerivedB": {
+        "fields": {
+          "m_nDerivedB": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CExampleSchemaVData_PolymorphicBase"
+      },
+      "CSchemaSystemInternalRegistration": {
+        "fields": {
+          "m_CTransform": 256,
+          "m_CUtlBinaryBlock": 296,
+          "m_CUtlString": 320,
+          "m_CUtlSymbol": 328,
+          "m_Color": 224,
+          "m_DegreeEuler": 100,
+          "m_KV3": 368,
+          "m_QAngle": 64,
+          "m_Quaternion": 48,
+          "m_QuaternionStorage": 112,
+          "m_RadianEuler": 88,
+          "m_ResourceTypes": 360,
+          "m_RotationVector": 76,
+          "m_Vector": 8,
+          "m_Vector2D": 0,
+          "m_Vector4D": 228,
+          "m_VectorAligned": 32,
+          "m_matrix3x4_t": 128,
+          "m_matrix3x4a_t": 176,
+          "m_pKeyValues": 288,
+          "m_stringToken": 332,
+          "m_stringTokenWithStorage": 336
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "InfoForResourceTypeCResourceManifestInternal": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ResourceId_t": {
+        "fields": {
+          "m_Value": 0
+        },
+        "metadata": [],
+        "parent": null
+      }
+    },
+    "enums": {
+      "ThreeState_t": {
+        "alignment": 4,
+        "members": {
+          "TRS_FALSE": 0,
+          "TRS_NONE": 2,
+          "TRS_TRUE": 1
+        },
+        "type": "uint32"
+      },
+      "fieldtype_t": {
+        "alignment": 1,
+        "members": {
+          "FIELD_AI_SCHEDULE_BITS": 69,
+          "FIELD_AMMO_INDEX": 67,
+          "FIELD_ATTACHMENT_HANDLE": 66,
+          "FIELD_BOOLEAN": 6,
+          "FIELD_CHARACTER": 8,
+          "FIELD_CLASSPTR": 12,
+          "FIELD_CMOTIONTRANSFORM": 64,
+          "FIELD_CMOTIONTRANSFORM_WORLDSPACE": 65,
+          "FIELD_COLOR32": 9,
+          "FIELD_CONDITION_ID": 68,
+          "FIELD_CSTRING": 30,
+          "FIELD_CTRANSFORM": 59,
+          "FIELD_CTRANSFORM_WORLDSPACE": 60,
+          "FIELD_CUSTOM": 11,
+          "FIELD_DIRECTION_VECTOR_WORLDSPACE": 45,
+          "FIELD_EHANDLE": 13,
+          "FIELD_EMBEDDED": 10,
+          "FIELD_ENGINE_TICK": 77,
+          "FIELD_ENGINE_TIME": 76,
+          "FIELD_FLOAT32": 1,
+          "FIELD_FLOAT64": 34,
+          "FIELD_FUNCTION": 19,
+          "FIELD_GLOBALSYMBOL": 79,
+          "FIELD_HMATERIAL": 41,
+          "FIELD_HMODEL": 42,
+          "FIELD_HPARTICLESYSTEMDEFINITION": 56,
+          "FIELD_HPOSTPROCESSING": 61,
+          "FIELD_HRENDERTEXTURE": 55,
+          "FIELD_HSCRIPT": 31,
+          "FIELD_HSCRIPT_LIGHTBINDING": 48,
+          "FIELD_HSCRIPT_NEW_INSTANCE": 36,
+          "FIELD_HVDATA": 73,
+          "FIELD_INPUT": 18,
+          "FIELD_INT16": 7,
+          "FIELD_INT32": 5,
+          "FIELD_INT64": 26,
+          "FIELD_INTERVAL": 23,
+          "FIELD_MATRIX3X4": 62,
+          "FIELD_MATRIX3X4_WORLDSPACE": 22,
+          "FIELD_MODIFIER_HANDLE": 70,
+          "FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR": 54,
+          "FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR": 40,
+          "FIELD_NETWORK_QUANTIZED_FLOAT": 44,
+          "FIELD_NETWORK_QUANTIZED_VECTOR": 43,
+          "FIELD_POSITION_VECTOR": 14,
+          "FIELD_POSITIVEINTEGER_OR_NULL": 35,
+          "FIELD_QANGLE": 39,
+          "FIELD_QANGLE_WORLDSPACE": 46,
+          "FIELD_QUATERNION": 4,
+          "FIELD_QUATERNION_WORLDSPACE": 47,
+          "FIELD_RESOURCE": 28,
+          "FIELD_ROTATION_VECTOR": 71,
+          "FIELD_ROTATION_VECTOR_WORLDSPACE": 72,
+          "FIELD_SCALE32": 74,
+          "FIELD_SHIM": 63,
+          "FIELD_SOUNDNAME": 17,
+          "FIELD_STRING": 2,
+          "FIELD_STRING_AND_TOKEN": 75,
+          "FIELD_TICK": 16,
+          "FIELD_TIME": 15,
+          "FIELD_TYPECOUNT": 80,
+          "FIELD_TYPEUNKNOWN": 29,
+          "FIELD_UINT16": 58,
+          "FIELD_UINT32": 37,
+          "FIELD_UINT64": 33,
+          "FIELD_UINT8": 57,
+          "FIELD_UNUSED": 24,
+          "FIELD_UTLSTRING": 53,
+          "FIELD_UTLSTRINGTOKEN": 38,
+          "FIELD_V8_ARRAY": 51,
+          "FIELD_V8_CALLBACK_INFO": 52,
+          "FIELD_V8_OBJECT": 50,
+          "FIELD_V8_VALUE": 49,
+          "FIELD_VARIANT": 32,
+          "FIELD_VECTOR": 3,
+          "FIELD_VECTOR2D": 25,
+          "FIELD_VECTOR4D": 27,
+          "FIELD_VMATRIX": 20,
+          "FIELD_VMATRIX_WORLDSPACE": 21,
+          "FIELD_VOID": 0,
+          "FIELD_WORLD_GROUP_ID": 78
+        },
+        "type": "uint8"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/schemasystem_dll.rs b/output/schemasystem_dll.rs
new file mode 100644
index 0000000..50fdaab
--- /dev/null
+++ b/output/schemasystem_dll.rs
@@ -0,0 +1,179 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: schemasystem.dll
+        // Class count: 7
+        // Enum count: 2
+        pub mod schemasystem_dll {
+            // Alignment: 1
+            // Member count: 81
+            #[repr(u8)]
+            pub enum fieldtype_t {
+                FIELD_VOID = 0x0,
+                FIELD_FLOAT32 = 0x1,
+                FIELD_STRING = 0x2,
+                FIELD_VECTOR = 0x3,
+                FIELD_QUATERNION = 0x4,
+                FIELD_INT32 = 0x5,
+                FIELD_BOOLEAN = 0x6,
+                FIELD_INT16 = 0x7,
+                FIELD_CHARACTER = 0x8,
+                FIELD_COLOR32 = 0x9,
+                FIELD_EMBEDDED = 0xA,
+                FIELD_CUSTOM = 0xB,
+                FIELD_CLASSPTR = 0xC,
+                FIELD_EHANDLE = 0xD,
+                FIELD_POSITION_VECTOR = 0xE,
+                FIELD_TIME = 0xF,
+                FIELD_TICK = 0x10,
+                FIELD_SOUNDNAME = 0x11,
+                FIELD_INPUT = 0x12,
+                FIELD_FUNCTION = 0x13,
+                FIELD_VMATRIX = 0x14,
+                FIELD_VMATRIX_WORLDSPACE = 0x15,
+                FIELD_MATRIX3X4_WORLDSPACE = 0x16,
+                FIELD_INTERVAL = 0x17,
+                FIELD_UNUSED = 0x18,
+                FIELD_VECTOR2D = 0x19,
+                FIELD_INT64 = 0x1A,
+                FIELD_VECTOR4D = 0x1B,
+                FIELD_RESOURCE = 0x1C,
+                FIELD_TYPEUNKNOWN = 0x1D,
+                FIELD_CSTRING = 0x1E,
+                FIELD_HSCRIPT = 0x1F,
+                FIELD_VARIANT = 0x20,
+                FIELD_UINT64 = 0x21,
+                FIELD_FLOAT64 = 0x22,
+                FIELD_POSITIVEINTEGER_OR_NULL = 0x23,
+                FIELD_HSCRIPT_NEW_INSTANCE = 0x24,
+                FIELD_UINT32 = 0x25,
+                FIELD_UTLSTRINGTOKEN = 0x26,
+                FIELD_QANGLE = 0x27,
+                FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 0x28,
+                FIELD_HMATERIAL = 0x29,
+                FIELD_HMODEL = 0x2A,
+                FIELD_NETWORK_QUANTIZED_VECTOR = 0x2B,
+                FIELD_NETWORK_QUANTIZED_FLOAT = 0x2C,
+                FIELD_DIRECTION_VECTOR_WORLDSPACE = 0x2D,
+                FIELD_QANGLE_WORLDSPACE = 0x2E,
+                FIELD_QUATERNION_WORLDSPACE = 0x2F,
+                FIELD_HSCRIPT_LIGHTBINDING = 0x30,
+                FIELD_V8_VALUE = 0x31,
+                FIELD_V8_OBJECT = 0x32,
+                FIELD_V8_ARRAY = 0x33,
+                FIELD_V8_CALLBACK_INFO = 0x34,
+                FIELD_UTLSTRING = 0x35,
+                FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 0x36,
+                FIELD_HRENDERTEXTURE = 0x37,
+                FIELD_HPARTICLESYSTEMDEFINITION = 0x38,
+                FIELD_UINT8 = 0x39,
+                FIELD_UINT16 = 0x3A,
+                FIELD_CTRANSFORM = 0x3B,
+                FIELD_CTRANSFORM_WORLDSPACE = 0x3C,
+                FIELD_HPOSTPROCESSING = 0x3D,
+                FIELD_MATRIX3X4 = 0x3E,
+                FIELD_SHIM = 0x3F,
+                FIELD_CMOTIONTRANSFORM = 0x40,
+                FIELD_CMOTIONTRANSFORM_WORLDSPACE = 0x41,
+                FIELD_ATTACHMENT_HANDLE = 0x42,
+                FIELD_AMMO_INDEX = 0x43,
+                FIELD_CONDITION_ID = 0x44,
+                FIELD_AI_SCHEDULE_BITS = 0x45,
+                FIELD_MODIFIER_HANDLE = 0x46,
+                FIELD_ROTATION_VECTOR = 0x47,
+                FIELD_ROTATION_VECTOR_WORLDSPACE = 0x48,
+                FIELD_HVDATA = 0x49,
+                FIELD_SCALE32 = 0x4A,
+                FIELD_STRING_AND_TOKEN = 0x4B,
+                FIELD_ENGINE_TIME = 0x4C,
+                FIELD_ENGINE_TICK = 0x4D,
+                FIELD_WORLD_GROUP_ID = 0x4E,
+                FIELD_GLOBALSYMBOL = 0x4F,
+                FIELD_TYPECOUNT = 0x50
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ThreeState_t {
+                TRS_FALSE = 0x0,
+                TRS_TRUE = 0x1,
+                TRS_NONE = 0x2
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeCResourceManifestInternal {
+            }
+            // Parent: None
+            // Field count: 22
+            pub mod CSchemaSystemInternalRegistration {
+                pub const m_Vector2D: usize = 0x0; // Vector2D
+                pub const m_Vector: usize = 0x8; // Vector
+                pub const m_VectorAligned: usize = 0x20; // VectorAligned
+                pub const m_Quaternion: usize = 0x30; // Quaternion
+                pub const m_QAngle: usize = 0x40; // QAngle
+                pub const m_RotationVector: usize = 0x4C; // RotationVector
+                pub const m_RadianEuler: usize = 0x58; // RadianEuler
+                pub const m_DegreeEuler: usize = 0x64; // DegreeEuler
+                pub const m_QuaternionStorage: usize = 0x70; // QuaternionStorage
+                pub const m_matrix3x4_t: usize = 0x80; // matrix3x4_t
+                pub const m_matrix3x4a_t: usize = 0xB0; // matrix3x4a_t
+                pub const m_Color: usize = 0xE0; // Color
+                pub const m_Vector4D: usize = 0xE4; // Vector4D
+                pub const m_CTransform: usize = 0x100; // CTransform
+                pub const m_pKeyValues: usize = 0x120; // KeyValues*
+                pub const m_CUtlBinaryBlock: usize = 0x128; // CUtlBinaryBlock
+                pub const m_CUtlString: usize = 0x140; // CUtlString
+                pub const m_CUtlSymbol: usize = 0x148; // CUtlSymbol
+                pub const m_stringToken: usize = 0x14C; // CUtlStringToken
+                pub const m_stringTokenWithStorage: usize = 0x150; // CUtlStringTokenWithStorage
+                pub const m_ResourceTypes: usize = 0x168; // CResourceArray<CResourcePointer<CResourceString>>
+                pub const m_KV3: usize = 0x170; // KeyValues3
+            }
+            // Parent: CExampleSchemaVData_PolymorphicBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CExampleSchemaVData_PolymorphicDerivedA {
+                pub const m_nDerivedA: usize = 0x10; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CExampleSchemaVData_PolymorphicBase {
+                pub const m_nBase: usize = 0x8; // int32
+            }
+            // Parent: CExampleSchemaVData_PolymorphicBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CExampleSchemaVData_PolymorphicDerivedB {
+                pub const m_nDerivedB: usize = 0x10; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod ResourceId_t {
+                pub const m_Value: usize = 0x0; // uint64
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CExampleSchemaVData_Monomorphic {
+                pub const m_nExample1: usize = 0x0; // int32
+                pub const m_nExample2: usize = 0x4; // int32
+            }
+        }
+    }
+}
diff --git a/output/server_dll.cs b/output/server_dll.cs
new file mode 100644
index 0000000..b7639bd
--- /dev/null
+++ b/output/server_dll.cs
@@ -0,0 +1,11069 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: server.dll
+    // Class count: 639
+    // Enum count: 139
+    public static class ServerDll {
+        // Alignment: 4
+        // Member count: 3
+        public enum PropDoorRotatingOpenDirection_e : uint {
+            DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0,
+            DOOR_ROTATING_OPEN_FORWARD = 0x1,
+            DOOR_ROTATING_OPEN_BACKWARD = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum SceneOnPlayerDeath_t : uint {
+            SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0,
+            SCENE_ONPLAYERDEATH_CANCEL = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum LessonPanelLayoutFileTypes_t : uint {
+            LAYOUT_HAND_DEFAULT = 0x0,
+            LAYOUT_WORLD_DEFAULT = 0x1,
+            LAYOUT_CUSTOM = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum TimelineCompression_t : uint {
+            TIMELINE_COMPRESSION_SUM = 0x0,
+            TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1,
+            TIMELINE_COMPRESSION_AVERAGE = 0x2,
+            TIMELINE_COMPRESSION_AVERAGE_BLEND = 0x3,
+            TIMELINE_COMPRESSION_TOTAL = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum SubclassVDataChangeType_t : uint {
+            SUBCLASS_VDATA_CREATED = 0x0,
+            SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1,
+            SUBCLASS_VDATA_RELOADED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum C4LightEffect_t : uint {
+            eLightEffectNone = 0x0,
+            eLightEffectDropped = 0x1,
+            eLightEffectThirdPersonHeld = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum StanceType_t : uint {
+            STANCE_CURRENT = unchecked((uint)-1),
+            STANCE_DEFAULT = 0x0,
+            STANCE_CROUCHING = 0x1,
+            STANCE_PRONE = 0x2,
+            NUM_STANCES = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum Explosions : uint {
+            expRandom = 0x0,
+            expDirected = 0x1,
+            expUsePrecise = 0x2
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum PreviewCharacterMode : uint {
+            DIORAMA = 0x0,
+            MAIN_MENU = 0x1,
+            BUY_MENU = 0x2,
+            TEAM_SELECT = 0x3,
+            END_OF_MATCH = 0x4,
+            INVENTORY_INSPECT = 0x5,
+            WALKING = 0x6,
+            TEAM_INTRO = 0x7,
+            WINGMAN_INTRO = 0x8,
+            BANNER = 0x9
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ObserverInterpState_t : uint {
+            OBSERVER_INTERP_NONE = 0x0,
+            OBSERVER_INTERP_TRAVELING = 0x1,
+            OBSERVER_INTERP_SETTLING = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum WorldTextPanelOrientation_t : uint {
+            WORLDTEXT_ORIENTATION_DEFAULT = 0x0,
+            WORLDTEXT_ORIENTATION_FACEUSER = 0x1,
+            WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum WorldTextPanelHorizontalAlign_t : uint {
+            WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0,
+            WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1,
+            WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum SequenceFinishNotifyState_t : byte {
+            eDoNotNotify = 0x0,
+            eNotifyWhenFinished = 0x1,
+            eNotifyTriggered = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum SoundEventStartType_t : uint {
+            SOUNDEVENT_START_PLAYER = 0x0,
+            SOUNDEVENT_START_WORLD = 0x1,
+            SOUNDEVENT_START_ENTITY = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum TrainOrientationType_t : uint {
+            TrainOrientation_Fixed = 0x0,
+            TrainOrientation_AtPathTracks = 0x1,
+            TrainOrientation_LinearBlend = 0x2,
+            TrainOrientation_EaseInEaseOut = 0x3
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum CSWeaponCategory : uint {
+            WEAPONCATEGORY_OTHER = 0x0,
+            WEAPONCATEGORY_MELEE = 0x1,
+            WEAPONCATEGORY_SECONDARY = 0x2,
+            WEAPONCATEGORY_SMG = 0x3,
+            WEAPONCATEGORY_RIFLE = 0x4,
+            WEAPONCATEGORY_HEAVY = 0x5,
+            WEAPONCATEGORY_COUNT = 0x6
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum BeginDeathLifeStateTransition_t : byte {
+            NO_CHANGE_IN_LIFESTATE = 0x0,
+            TRANSITION_TO_LIFESTATE_DYING = 0x1,
+            TRANSITION_TO_LIFESTATE_DEAD = 0x2
+        }
+        // Alignment: 2
+        // Member count: 14
+        public enum SoundTypes_t : ushort {
+            SOUND_NONE = 0x0,
+            SOUND_COMBAT = 0x1,
+            SOUND_PLAYER = 0x2,
+            SOUND_DANGER = 0x3,
+            SOUND_BULLET_IMPACT = 0x4,
+            SOUND_THUMPER = 0x5,
+            SOUND_PHYSICS_DANGER = 0x6,
+            SOUND_MOVE_AWAY = 0x7,
+            SOUND_PLAYER_VEHICLE = 0x8,
+            SOUND_GLASS_BREAK = 0x9,
+            SOUND_PHYSICS_OBJECT = 0xA,
+            SOUND_WARN_FRIENDS = 0xB,
+            SOUND_FOOD = 0xC,
+            NUM_AI_SOUND_TYPES = 0xD
+        }
+        // Alignment: 4
+        // Member count: 24
+        public enum PlayerAnimEvent_t : uint {
+            PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0,
+            PLAYERANIMEVENT_FIRE_GUN_SECONDARY = 0x1,
+            PLAYERANIMEVENT_GRENADE_PULL_PIN = 0x2,
+            PLAYERANIMEVENT_THROW_GRENADE = 0x3,
+            PLAYERANIMEVENT_JUMP = 0x4,
+            PLAYERANIMEVENT_RELOAD = 0x5,
+            PLAYERANIMEVENT_CLEAR_FIRING = 0x6,
+            PLAYERANIMEVENT_DEPLOY = 0x7,
+            PLAYERANIMEVENT_SILENCER_STATE = 0x8,
+            PLAYERANIMEVENT_SILENCER_TOGGLE = 0x9,
+            PLAYERANIMEVENT_THROW_GRENADE_UNDERHAND = 0xA,
+            PLAYERANIMEVENT_CATCH_WEAPON = 0xB,
+            PLAYERANIMEVENT_LOOKATWEAPON_REQUEST = 0xC,
+            PLAYERANIMEVENT_RELOAD_CANCEL_LOOKATWEAPON = 0xD,
+            PLAYERANIMEVENT_HAULBACK = 0xE,
+            PLAYERANIMEVENT_IDLE = 0xF,
+            PLAYERANIMEVENT_STRIKE_HIT = 0x10,
+            PLAYERANIMEVENT_STRIKE_MISS = 0x11,
+            PLAYERANIMEVENT_BACKSTAB = 0x12,
+            PLAYERANIMEVENT_DRYFIRE = 0x13,
+            PLAYERANIMEVENT_FIDGET = 0x14,
+            PLAYERANIMEVENT_RELEASE = 0x15,
+            PLAYERANIMEVENT_TAUNT = 0x16,
+            PLAYERANIMEVENT_COUNT = 0x17
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum ItemFlagTypes_t : byte {
+            ITEM_FLAG_NONE = 0x0,
+            ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1,
+            ITEM_FLAG_NOAUTORELOAD = 0x2,
+            ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4,
+            ITEM_FLAG_LIMITINWORLD = 0x8,
+            ITEM_FLAG_EXHAUSTIBLE = 0x10,
+            ITEM_FLAG_DOHITLOCATIONDMG = 0x20,
+            ITEM_FLAG_NOAMMOPICKUPS = 0x40,
+            ITEM_FLAG_NOITEMPICKUP = 0x80
+        }
+        // Alignment: 1
+        // Member count: 10
+        public enum SurroundingBoundsType_t : byte {
+            USE_OBB_COLLISION_BOUNDS = 0x0,
+            USE_BEST_COLLISION_BOUNDS = 0x1,
+            USE_HITBOXES = 0x2,
+            USE_SPECIFIED_BOUNDS = 0x3,
+            USE_GAME_CODE = 0x4,
+            USE_ROTATION_EXPANDED_BOUNDS = 0x5,
+            USE_ROTATION_EXPANDED_ORIENTED_BOUNDS = 0x6,
+            USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x7,
+            USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x8,
+            SURROUNDING_TYPE_BIT_COUNT = 0x3
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum LifeState_t : uint {
+            LIFE_ALIVE = 0x0,
+            LIFE_DYING = 0x1,
+            LIFE_DEAD = 0x2,
+            LIFE_RESPAWNABLE = 0x3,
+            LIFE_RESPAWNING = 0x4
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum NPCFollowFormation_t : uint {
+            Default = unchecked((uint)-1),
+            CloseCircle = 0x0,
+            WideCircle = 0x1,
+            MediumCircle = 0x5,
+            Sidekick = 0x6
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum CSWeaponMode : uint {
+            Primary_Mode = 0x0,
+            Secondary_Mode = 0x1,
+            WeaponMode_MAX = 0x2
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum OnFrame : byte {
+            ONFRAME_UNKNOWN = 0x0,
+            ONFRAME_TRUE = 0x1,
+            ONFRAME_FALSE = 0x2
+        }
+        // Alignment: 4
+        // Member count: 12
+        public enum Materials : uint {
+            matGlass = 0x0,
+            matWood = 0x1,
+            matMetal = 0x2,
+            matFlesh = 0x3,
+            matCinderBlock = 0x4,
+            matCeilingTile = 0x5,
+            matComputer = 0x6,
+            matUnbreakableGlass = 0x7,
+            matRocks = 0x8,
+            matWeb = 0x9,
+            matNone = 0xA,
+            matLastMaterial = 0xB
+        }
+        // Alignment: 4
+        // Member count: 9
+        public enum BloodType : uint {
+            None = unchecked((uint)-1),
+            ColorRed = 0x0,
+            ColorYellow = 0x1,
+            ColorGreen = 0x2,
+            ColorRedLVL2 = 0x3,
+            ColorRedLVL3 = 0x4,
+            ColorRedLVL4 = 0x5,
+            ColorRedLVL5 = 0x6,
+            ColorRedLVL6 = 0x7
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum BreakableContentsType_t : uint {
+            BC_DEFAULT = 0x0,
+            BC_EMPTY = 0x1,
+            BC_PROP_GROUP_OVERRIDE = 0x2,
+            BC_PARTICLE_SYSTEM_OVERRIDE = 0x3
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum ScriptedMoveTo_t : uint {
+            eWait = 0x0,
+            eMoveWithGait = 0x3,
+            eTeleport = 0x4,
+            eWaitFacing = 0x5,
+            eObsoleteBackCompat1 = 0x1,
+            eObsoleteBackCompat2 = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum AnimLoopMode_t : uint {
+            ANIM_LOOP_MODE_INVALID = unchecked((uint)-1),
+            ANIM_LOOP_MODE_NOT_LOOPING = 0x0,
+            ANIM_LOOP_MODE_LOOPING = 0x1,
+            ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS = 0x2,
+            ANIM_LOOP_MODE_COUNT = 0x3
+        }
+        // Alignment: 2
+        // Member count: 10
+        public enum SoundFlags_t : ushort {
+            SOUND_FLAGS_NONE = 0x0,
+            SOUND_FLAG_GUNFIRE = 0x1,
+            SOUND_FLAG_COMBINE_ONLY = 0x2,
+            SOUND_FLAG_REACT_TO_SOURCE = 0x4,
+            SOUND_FLAG_EXPLOSION = 0x8,
+            SOUND_FLAG_EXCLUDE_COMBINE = 0x10,
+            SOUND_FLAG_DANGER_APPROACH = 0x20,
+            SOUND_FLAG_ALLIES_ONLY = 0x40,
+            SOUND_FLAG_PANIC_NPCS = 0x80,
+            SOUND_FLAG_SQUAD_ONLY = 0x100
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum Class_T : uint {
+            CLASS_NONE = 0x0,
+            CLASS_PLAYER = 0x1,
+            CLASS_PLAYER_ALLY = 0x2,
+            CLASS_BOMB = 0x3,
+            CLASS_FOOT_CONTACT_SHADOW = 0x4,
+            CLASS_WEAPON = 0x5,
+            CLASS_WATER_SPLASHER = 0x6,
+            CLASS_WEAPON_VIEWMODEL = 0x7,
+            CLASS_DOOR = 0x8,
+            NUM_CLASSIFY_CLASSES = 0x9
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum filter_t : uint {
+            FILTER_AND = 0x0,
+            FILTER_OR = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum CSWeaponSilencerType : uint {
+            WEAPONSILENCER_NONE = 0x0,
+            WEAPONSILENCER_DETACHABLE = 0x1,
+            WEAPONSILENCER_INTEGRATED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum EProceduralRagdollWeightIndexPropagationMethod : uint {
+            Bone = 0x0,
+            BoneAndChildren = 0x1
+        }
+        // Alignment: 4
+        // Member count: 17
+        public enum BaseExplosionTypes_t : uint {
+            EXPLOSION_TYPE_DEFAULT = 0x0,
+            EXPLOSION_TYPE_GRENADE = 0x1,
+            EXPLOSION_TYPE_MOLOTOV = 0x2,
+            EXPLOSION_TYPE_FIREWORKS = 0x3,
+            EXPLOSION_TYPE_GASCAN = 0x4,
+            EXPLOSION_TYPE_GASCYLINDER = 0x5,
+            EXPLOSION_TYPE_EXPLOSIVEBARREL = 0x6,
+            EXPLOSION_TYPE_ELECTRICAL = 0x7,
+            EXPLOSION_TYPE_EMP = 0x8,
+            EXPLOSION_TYPE_SHRAPNEL = 0x9,
+            EXPLOSION_TYPE_SMOKEGRENADE = 0xA,
+            EXPLOSION_TYPE_FLASHBANG = 0xB,
+            EXPLOSION_TYPE_TRIPMINE = 0xC,
+            EXPLOSION_TYPE_ICE = 0xD,
+            EXPLOSION_TYPE_NONE = 0xE,
+            EXPLOSION_TYPE_CUSTOM = 0xF,
+            EXPLOSION_TYPE_COUNT = 0x10
+        }
+        // Alignment: 4
+        // Member count: 47
+        public enum GameAnimEventIndex_t : uint {
+            AE_EMPTY = 0x0,
+            AE_CL_PLAYSOUND = 0x1,
+            AE_CL_PLAYSOUND_ATTACHMENT = 0x2,
+            AE_CL_PLAYSOUND_POSITION = 0x3,
+            AE_SV_PLAYSOUND = 0x4,
+            AE_CL_STOPSOUND = 0x5,
+            AE_CL_PLAYSOUND_LOOPING = 0x6,
+            AE_CL_CREATE_PARTICLE_EFFECT = 0x7,
+            AE_CL_STOP_PARTICLE_EFFECT = 0x8,
+            AE_CL_CREATE_PARTICLE_EFFECT_CFG = 0x9,
+            AE_SV_CREATE_PARTICLE_EFFECT_CFG = 0xA,
+            AE_SV_STOP_PARTICLE_EFFECT = 0xB,
+            AE_FOOTSTEP = 0xC,
+            AE_RAGDOLL = 0xD,
+            AE_CL_STOP_RAGDOLL_CONTROL = 0xE,
+            AE_CL_ENABLE_BODYGROUP = 0xF,
+            AE_CL_DISABLE_BODYGROUP = 0x10,
+            AE_BODYGROUP_SET_VALUE = 0x11,
+            AE_CL_BODYGROUP_SET_VALUE_CMODEL_WPN = 0x12,
+            AE_WEAPON_PERFORM_ATTACK = 0x13,
+            AE_FIRE_INPUT = 0x14,
+            AE_CL_CLOTH_ATTR = 0x15,
+            AE_CL_CLOTH_GROUND_OFFSET = 0x16,
+            AE_CL_CLOTH_STIFFEN = 0x17,
+            AE_CL_CLOTH_EFFECT = 0x18,
+            AE_CL_CREATE_ANIM_SCOPE_PROP = 0x19,
+            AE_SV_IKLOCK = 0x1A,
+            AE_PULSE_GRAPH = 0x1B,
+            AE_PULSE_GRAPH_LOOKAT = 0x1C,
+            AE_PULSE_GRAPH_AIMAT = 0x1D,
+            AE_PULSE_GRAPH_IKLOCKLEFTARM = 0x1E,
+            AE_PULSE_GRAPH_IKLOCKRIGHTARM = 0x1F,
+            AE_DISABLE_PLATFORM = 0x20,
+            AE_ENABLE_PLATFORM = 0x21,
+            AE_ANIMGRAPH_SET_PARAM = 0x22,
+            AE_CL_WEAPON_TRANSITION_INTO_HAND = 0x23,
+            AE_CL_BODYGROUP_SET_TO_CLIP = 0x24,
+            AE_CL_BODYGROUP_SET_TO_NEXTCLIP = 0x25,
+            AE_SV_SHOW_SILENCER = 0x26,
+            AE_SV_ATTACH_SILENCER_COMPLETE = 0x27,
+            AE_SV_HIDE_SILENCER = 0x28,
+            AE_SV_DETACH_SILENCER_COMPLETE = 0x29,
+            AE_CL_EJECT_MAG = 0x2A,
+            AE_WPN_COMPLETE_RELOAD = 0x2B,
+            AE_WPN_HEALTHSHOT_INJECT = 0x2C,
+            AE_CL_C4_SCREEN_TEXT = 0x2D,
+            AE_GRENADE_THROW_COMPLETE = 0x2E
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum FixAngleSet_t : byte {
+            None = 0x0,
+            Absolute = 0x1,
+            Relative = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum IChoreoServices__ScriptState_t : uint {
+            SCRIPT_PLAYING = 0x0,
+            SCRIPT_WAIT = 0x1,
+            SCRIPT_POST_IDLE = 0x2,
+            SCRIPT_CLEANUP = 0x3,
+            SCRIPT_MOVE_TO_MARK = 0x4
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum CommandEntitySpecType_t : uint {
+            SPEC_SEARCH = 0x0,
+            SPEC_TYPES_COUNT = 0x1
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum Touch_t : uint {
+            touch_none = 0x0,
+            touch_player_only = 0x1,
+            touch_npc_only = 0x2,
+            touch_player_or_npc = 0x3,
+            touch_player_or_npc_or_physicsprop = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum TrainVelocityType_t : uint {
+            TrainVelocity_Instantaneous = 0x0,
+            TrainVelocity_LinearBlend = 0x1,
+            TrainVelocity_EaseInEaseOut = 0x2
+        }
+        // Alignment: 4
+        // Member count: 13
+        public enum CSWeaponType : uint {
+            WEAPONTYPE_KNIFE = 0x0,
+            WEAPONTYPE_PISTOL = 0x1,
+            WEAPONTYPE_SUBMACHINEGUN = 0x2,
+            WEAPONTYPE_RIFLE = 0x3,
+            WEAPONTYPE_SHOTGUN = 0x4,
+            WEAPONTYPE_SNIPER_RIFLE = 0x5,
+            WEAPONTYPE_MACHINEGUN = 0x6,
+            WEAPONTYPE_C4 = 0x7,
+            WEAPONTYPE_TASER = 0x8,
+            WEAPONTYPE_GRENADE = 0x9,
+            WEAPONTYPE_EQUIPMENT = 0xA,
+            WEAPONTYPE_STACKABLEITEM = 0xB,
+            WEAPONTYPE_UNKNOWN = 0xC
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum EntFinderMethod_t : uint {
+            ENT_FIND_METHOD_NEAREST = 0x0,
+            ENT_FIND_METHOD_FARTHEST = 0x1,
+            ENT_FIND_METHOD_RANDOM = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PropDoorRotatingSpawnPos_t : uint {
+            DOOR_SPAWN_CLOSED = 0x0,
+            DOOR_SPAWN_OPEN_FORWARD = 0x1,
+            DOOR_SPAWN_OPEN_BACK = 0x2,
+            DOOR_SPAWN_AJAR = 0x3
+        }
+        // Alignment: 1
+        // Member count: 2
+        public enum ShardSolid_t : byte {
+            SHARD_SOLID = 0x0,
+            SHARD_DEBRIS = 0x1
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum EntityPlatformTypes_t : byte {
+            ENTITY_NOT_PLATFORM = 0x0,
+            ENTITY_PLATFORM_PLAYER_FOLLOWS_YAW = 0x1,
+            ENTITY_PLATFORM_PLAYER_IGNORES_YAW = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum PulseNPCCondition_t : uint {
+            COND_SEE_PLAYER = 0x1,
+            COND_LOST_PLAYER = 0x2,
+            COND_HEAR_PLAYER = 0x3,
+            COND_PLAYER_PUSHING = 0x4,
+            COND_NO_PRIMARY_AMMO = 0x5
+        }
+        // Alignment: 1
+        // Member count: 13
+        public enum RenderMode_t : byte {
+            kRenderNormal = 0x0,
+            kRenderTransColor = 0x1,
+            kRenderTransTexture = 0x2,
+            kRenderGlow = 0x3,
+            kRenderTransAlpha = 0x4,
+            kRenderTransAdd = 0x5,
+            kRenderEnvironmental = 0x6,
+            kRenderTransAddFrameBlend = 0x7,
+            kRenderTransAlphaAdd = 0x8,
+            kRenderWorldGlow = 0x9,
+            kRenderNone = 0xA,
+            kRenderDevVisualizer = 0xB,
+            kRenderModeCount = 0xC
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ForcedCrouchState_t : uint {
+            FORCEDCROUCH_NONE = 0x0,
+            FORCEDCROUCH_CROUCHED = 0x1,
+            FORCEDCROUCH_UNCROUCHED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum PerformanceMode_t : uint {
+            PM_NORMAL = 0x0,
+            PM_NO_GIBS = 0x1,
+            PM_FULL_GIBS = 0x2,
+            PM_REDUCED_GIBS = 0x3
+        }
+        // Alignment: 4
+        // Member count: 8
+        public enum TOGGLE_STATE : uint {
+            TS_AT_TOP = 0x0,
+            TS_AT_BOTTOM = 0x1,
+            TS_GOING_UP = 0x2,
+            TS_GOING_DOWN = 0x3,
+            DOOR_OPEN = 0x0,
+            DOOR_CLOSED = 0x1,
+            DOOR_OPENING = 0x2,
+            DOOR_CLOSING = 0x3
+        }
+        // Alignment: 4
+        // Member count: 74
+        public enum loadout_slot_t : uint {
+            LOADOUT_SLOT_PROMOTED = unchecked((uint)-2),
+            LOADOUT_SLOT_INVALID = unchecked((uint)-1),
+            LOADOUT_SLOT_MELEE = 0x0,
+            LOADOUT_SLOT_C4 = 0x1,
+            LOADOUT_SLOT_FIRST_AUTO_BUY_WEAPON = 0x0,
+            LOADOUT_SLOT_LAST_AUTO_BUY_WEAPON = 0x1,
+            LOADOUT_SLOT_SECONDARY0 = 0x2,
+            LOADOUT_SLOT_SECONDARY1 = 0x3,
+            LOADOUT_SLOT_SECONDARY2 = 0x4,
+            LOADOUT_SLOT_SECONDARY3 = 0x5,
+            LOADOUT_SLOT_SECONDARY4 = 0x6,
+            LOADOUT_SLOT_SECONDARY5 = 0x7,
+            LOADOUT_SLOT_SMG0 = 0x8,
+            LOADOUT_SLOT_SMG1 = 0x9,
+            LOADOUT_SLOT_SMG2 = 0xA,
+            LOADOUT_SLOT_SMG3 = 0xB,
+            LOADOUT_SLOT_SMG4 = 0xC,
+            LOADOUT_SLOT_SMG5 = 0xD,
+            LOADOUT_SLOT_RIFLE0 = 0xE,
+            LOADOUT_SLOT_RIFLE1 = 0xF,
+            LOADOUT_SLOT_RIFLE2 = 0x10,
+            LOADOUT_SLOT_RIFLE3 = 0x11,
+            LOADOUT_SLOT_RIFLE4 = 0x12,
+            LOADOUT_SLOT_RIFLE5 = 0x13,
+            LOADOUT_SLOT_HEAVY0 = 0x14,
+            LOADOUT_SLOT_HEAVY1 = 0x15,
+            LOADOUT_SLOT_HEAVY2 = 0x16,
+            LOADOUT_SLOT_HEAVY3 = 0x17,
+            LOADOUT_SLOT_HEAVY4 = 0x18,
+            LOADOUT_SLOT_HEAVY5 = 0x19,
+            LOADOUT_SLOT_FIRST_WHEEL_WEAPON = 0x2,
+            LOADOUT_SLOT_LAST_WHEEL_WEAPON = 0x19,
+            LOADOUT_SLOT_FIRST_PRIMARY_WEAPON = 0x8,
+            LOADOUT_SLOT_LAST_PRIMARY_WEAPON = 0x19,
+            LOADOUT_SLOT_FIRST_WHEEL_GRENADE = 0x1A,
+            LOADOUT_SLOT_GRENADE0 = 0x1A,
+            LOADOUT_SLOT_GRENADE1 = 0x1B,
+            LOADOUT_SLOT_GRENADE2 = 0x1C,
+            LOADOUT_SLOT_GRENADE3 = 0x1D,
+            LOADOUT_SLOT_GRENADE4 = 0x1E,
+            LOADOUT_SLOT_GRENADE5 = 0x1F,
+            LOADOUT_SLOT_LAST_WHEEL_GRENADE = 0x1F,
+            LOADOUT_SLOT_EQUIPMENT0 = 0x20,
+            LOADOUT_SLOT_EQUIPMENT1 = 0x21,
+            LOADOUT_SLOT_EQUIPMENT2 = 0x22,
+            LOADOUT_SLOT_EQUIPMENT3 = 0x23,
+            LOADOUT_SLOT_EQUIPMENT4 = 0x24,
+            LOADOUT_SLOT_EQUIPMENT5 = 0x25,
+            LOADOUT_SLOT_FIRST_WHEEL_EQUIPMENT = 0x20,
+            LOADOUT_SLOT_LAST_WHEEL_EQUIPMENT = 0x25,
+            LOADOUT_SLOT_CLOTHING_CUSTOMPLAYER = 0x26,
+            LOADOUT_SLOT_CLOTHING_CUSTOMHEAD = 0x27,
+            LOADOUT_SLOT_CLOTHING_FACEMASK = 0x28,
+            LOADOUT_SLOT_CLOTHING_HANDS = 0x29,
+            LOADOUT_SLOT_FIRST_COSMETIC = 0x29,
+            LOADOUT_SLOT_LAST_COSMETIC = 0x29,
+            LOADOUT_SLOT_CLOTHING_EYEWEAR = 0x2A,
+            LOADOUT_SLOT_CLOTHING_HAT = 0x2B,
+            LOADOUT_SLOT_CLOTHING_LOWERBODY = 0x2C,
+            LOADOUT_SLOT_CLOTHING_TORSO = 0x2D,
+            LOADOUT_SLOT_CLOTHING_APPEARANCE = 0x2E,
+            LOADOUT_SLOT_MISC0 = 0x2F,
+            LOADOUT_SLOT_MISC1 = 0x30,
+            LOADOUT_SLOT_MISC2 = 0x31,
+            LOADOUT_SLOT_MISC3 = 0x32,
+            LOADOUT_SLOT_MISC4 = 0x33,
+            LOADOUT_SLOT_MISC5 = 0x34,
+            LOADOUT_SLOT_MISC6 = 0x35,
+            LOADOUT_SLOT_MUSICKIT = 0x36,
+            LOADOUT_SLOT_FLAIR0 = 0x37,
+            LOADOUT_SLOT_SPRAY0 = 0x38,
+            LOADOUT_SLOT_FIRST_ALL_CHARACTER = 0x36,
+            LOADOUT_SLOT_LAST_ALL_CHARACTER = 0x38,
+            LOADOUT_SLOT_COUNT = 0x39
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum EDestructiblePartDamagePassThroughType : uint {
+            Normal = 0x0,
+            Absorb = 0x1
+        }
+        // Alignment: 4
+        // Member count: 20
+        public enum NavAttributeEnum : uint {
+            NAV_MESH_AVOID = 0x80,
+            NAV_MESH_STAIRS = 0x1000,
+            NAV_MESH_NON_ZUP = 0x8000,
+            NAV_MESH_SHORT_HEIGHT = 0x10000,
+            NAV_MESH_NON_ZUP_TRANSITION = 0x20000,
+            NAV_MESH_CROUCH = 0x10000,
+            NAV_MESH_JUMP = 0x2,
+            NAV_MESH_PRECISE = 0x4,
+            NAV_MESH_NO_JUMP = 0x8,
+            NAV_MESH_STOP = 0x10,
+            NAV_MESH_RUN = 0x20,
+            NAV_MESH_WALK = 0x40,
+            NAV_MESH_TRANSIENT = 0x100,
+            NAV_MESH_DONT_HIDE = 0x200,
+            NAV_MESH_STAND = 0x400,
+            NAV_MESH_NO_HOSTAGES = 0x800,
+            NAV_MESH_NO_MERGE = 0x2000,
+            NAV_MESH_OBSTACLE_TOP = 0x4000,
+            NAV_ATTR_FIRST_GAME_INDEX = 0x13,
+            NAV_ATTR_LAST_INDEX = 0x1F
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum MoveLinearAuthoredPos_t : uint {
+            MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0,
+            MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1,
+            MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ValueRemapperMomentumType_t : uint {
+            MomentumType_None = 0x0,
+            MomentumType_Friction = 0x1,
+            MomentumType_SpringTowardSnapValue = 0x2,
+            MomentumType_SpringAwayFromSnapValue = 0x3
+        }
+        // Alignment: 4
+        // Member count: 12
+        public enum Hull_t : uint {
+            HULL_HUMAN = 0x0,
+            HULL_SMALL_CENTERED = 0x1,
+            HULL_WIDE_HUMAN = 0x2,
+            HULL_TINY = 0x3,
+            HULL_MEDIUM = 0x4,
+            HULL_TINY_CENTERED = 0x5,
+            HULL_LARGE = 0x6,
+            HULL_LARGE_CENTERED = 0x7,
+            HULL_MEDIUM_TALL = 0x8,
+            HULL_SMALL = 0x9,
+            NUM_HULLS = 0xA,
+            HULL_NONE = 0xB
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum PreviewWeaponState : uint {
+            DROPPED = 0x0,
+            HOLSTERED = 0x1,
+            DEPLOYED = 0x2,
+            PLANTED = 0x3,
+            INSPECT = 0x4,
+            ICON = 0x5
+        }
+        // Alignment: 4
+        // Member count: 9
+        public enum EInButtonState : uint {
+            IN_BUTTON_UP = 0x0,
+            IN_BUTTON_DOWN = 0x1,
+            IN_BUTTON_DOWN_UP = 0x2,
+            IN_BUTTON_UP_DOWN = 0x3,
+            IN_BUTTON_UP_DOWN_UP = 0x4,
+            IN_BUTTON_DOWN_UP_DOWN = 0x5,
+            IN_BUTTON_DOWN_UP_DOWN_UP = 0x6,
+            IN_BUTTON_UP_DOWN_UP_DOWN = 0x7,
+            IN_BUTTON_STATE_COUNT = 0x8
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum BeamClipStyle_t : uint {
+            kNOCLIP = 0x0,
+            kGEOCLIP = 0x1,
+            kMODELCLIP = 0x2,
+            kBEAMCLIPSTYLE_NUMBITS = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum WeaponAttackType_t : uint {
+            eInvalid = unchecked((uint)-1),
+            ePrimary = 0x0,
+            eSecondary = 0x1,
+            eCount = 0x2
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum CSPlayerBlockingUseAction_t : uint {
+            k_CSPlayerBlockingUseAction_None = 0x0,
+            k_CSPlayerBlockingUseAction_DefusingDefault = 0x1,
+            k_CSPlayerBlockingUseAction_DefusingWithKit = 0x2,
+            k_CSPlayerBlockingUseAction_HostageGrabbing = 0x3,
+            k_CSPlayerBlockingUseAction_HostageDropping = 0x4,
+            k_CSPlayerBlockingUseAction_EquippingHeavyArmor = 0x5,
+            k_CSPlayerBlockingUseAction_TakingOffHeavyArmor = 0x6,
+            k_CSPlayerBlockingUseAction_MapLongUseEntity_Pickup = 0x7,
+            k_CSPlayerBlockingUseAction_MapLongUseEntity_Place = 0x8,
+            k_CSPlayerBlockingUseAction_MaxCount = 0x9
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum CSWeaponState_t : uint {
+            WEAPON_NOT_CARRIED = 0x0,
+            WEAPON_IS_CARRIED_BY_PLAYER = 0x1,
+            WEAPON_IS_ACTIVE = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum CommandExecMode_t : uint {
+            EXEC_MANUAL = 0x0,
+            EXEC_LEVELSTART = 0x1,
+            EXEC_PERIODIC = 0x2,
+            EXEC_MODES_COUNT = 0x3
+        }
+        // Alignment: 1
+        // Member count: 5
+        public enum ShatterDamageCause : byte {
+            SHATTERDAMAGE_BULLET = 0x0,
+            SHATTERDAMAGE_MELEE = 0x1,
+            SHATTERDAMAGE_THROWN = 0x2,
+            SHATTERDAMAGE_SCRIPT = 0x3,
+            SHATTERDAMAGE_EXPLOSIVE = 0x4
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ScriptedOnDeath_t : uint {
+            SS_ONDEATH_NOT_APPLICABLE = unchecked((uint)-1),
+            SS_ONDEATH_UNDEFINED = 0x0,
+            SS_ONDEATH_RAGDOLL = 0x1,
+            SS_ONDEATH_ANIMATED_DEATH = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ChoreoLookAtSpeed_t : uint {
+            eInvalid = unchecked((uint)-1),
+            eSlow = 0x0,
+            eMedium = 0x1,
+            eFast = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ScriptedMoveType_t : uint {
+            SCRIPTED_MOVETYPE_NONE = 0x0,
+            SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1,
+            SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2,
+            SCRIPTED_MOVETYPE_SWEEP_TO_AT_MOVEMENT_SPEED = 0x3
+        }
+        // Alignment: 4
+        // Member count: 17
+        public enum gear_slot_t : uint {
+            GEAR_SLOT_INVALID = unchecked((uint)-1),
+            GEAR_SLOT_RIFLE = 0x0,
+            GEAR_SLOT_PISTOL = 0x1,
+            GEAR_SLOT_KNIFE = 0x2,
+            GEAR_SLOT_GRENADES = 0x3,
+            GEAR_SLOT_C4 = 0x4,
+            GEAR_SLOT_RESERVED_SLOT6 = 0x5,
+            GEAR_SLOT_RESERVED_SLOT7 = 0x6,
+            GEAR_SLOT_RESERVED_SLOT8 = 0x7,
+            GEAR_SLOT_RESERVED_SLOT9 = 0x8,
+            GEAR_SLOT_RESERVED_SLOT10 = 0x9,
+            GEAR_SLOT_RESERVED_SLOT11 = 0xA,
+            GEAR_SLOT_BOOSTS = 0xB,
+            GEAR_SLOT_UTILITY = 0xC,
+            GEAR_SLOT_COUNT = 0xD,
+            GEAR_SLOT_FIRST = 0x0,
+            GEAR_SLOT_LAST = 0xC
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum CSPlayerState : uint {
+            STATE_ACTIVE = 0x0,
+            STATE_WELCOME = 0x1,
+            STATE_PICKINGTEAM = 0x2,
+            STATE_PICKINGCLASS = 0x3,
+            STATE_DEATH_ANIM = 0x4,
+            STATE_DEATH_WAIT_FOR_KEY = 0x5,
+            STATE_OBSERVER_MODE = 0x6,
+            STATE_GUNGAME_RESPAWN = 0x7,
+            STATE_DORMANT = 0x8,
+            NUM_PLAYER_STATES = 0x9
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ScriptedConflictResponse_t : uint {
+            SS_CONFLICT_ENQUEUE = 0x0,
+            SS_CONFLICT_INTERRUPT = 0x1
+        }
+        // Alignment: 1
+        // Member count: 7
+        public enum WaterLevel_t : byte {
+            WL_NotInWater = 0x0,
+            WL_Feet = 0x1,
+            WL_Knees = 0x2,
+            WL_Waist = 0x3,
+            WL_Chest = 0x4,
+            WL_FullyUnderwater = 0x5,
+            WL_Count = 0x6
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum WorldTextPanelVerticalAlign_t : uint {
+            WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0,
+            WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1,
+            WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum AmmoPosition_t : uint {
+            AMMO_POSITION_INVALID = unchecked((uint)-1),
+            AMMO_POSITION_PRIMARY = 0x0,
+            AMMO_POSITION_SECONDARY = 0x1,
+            AMMO_POSITION_COUNT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum CDebugOverlayFilterType_t : uint {
+            NONE = 0x0,
+            TEXT = 0x1,
+            ENTITY = 0x2,
+            COUNT = 0x3,
+            TACTICAL_SEARCH = 0x4,
+            AI_SCHEDULE = 0x5,
+            AI_TASK = 0x6,
+            AI_EVENT = 0x7,
+            END_SIM_HISTORY_TYPES = 0x8,
+            COMBINED = unchecked((uint)-1)
+        }
+        // Alignment: 4
+        // Member count: 23
+        public enum PreviewEOMCelebration : uint {
+            WALKUP = 0x0,
+            PUNCHING = 0x1,
+            SWAGGER = 0x2,
+            DROPDOWN = 0x3,
+            STRETCH = 0x4,
+            SWAT_FEMALE = 0x5,
+            MASK_F = 0x6,
+            GUERILLA = 0x7,
+            GUERILLA02 = 0x8,
+            GENDARMERIE = 0x9,
+            SCUBA_FEMALE = 0xA,
+            SCUBA_MALE = 0xB,
+            AVA_DEFEAT = 0xC,
+            GENDARMERIE_DEFEAT = 0xD,
+            MAE_DEFEAT = 0xE,
+            RICKSAW_DEFEAT = 0xF,
+            SCUBA_FEMALE_DEFEAT = 0x10,
+            SCUBA_MALE_DEFEAT = 0x11,
+            CRASSWATER_DEFEAT = 0x12,
+            DARRYL_DEFEAT = 0x13,
+            DOCTOR_DEFEAT = 0x14,
+            MUHLIK_DEFEAT = 0x15,
+            VYPA_DEFEAT = 0x16
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum EntityDisolveType_t : uint {
+            ENTITY_DISSOLVE_INVALID = unchecked((uint)-1),
+            ENTITY_DISSOLVE_NORMAL = 0x0,
+            ENTITY_DISSOLVE_ELECTRICAL = 0x1,
+            ENTITY_DISSOLVE_ELECTRICAL_LIGHT = 0x2,
+            ENTITY_DISSOLVE_CORE = 0x3
+        }
+        // Alignment: 8
+        // Member count: 21
+        public enum InputBitMask_t : ulong {
+            IN_NONE = 0x0,
+            IN_ALL = unchecked((ulong)-1),
+            IN_ATTACK = 0x1,
+            IN_JUMP = 0x2,
+            IN_DUCK = 0x4,
+            IN_FORWARD = 0x8,
+            IN_BACK = 0x10,
+            IN_USE = 0x20,
+            IN_TURNLEFT = 0x80,
+            IN_TURNRIGHT = 0x100,
+            IN_MOVELEFT = 0x200,
+            IN_MOVERIGHT = 0x400,
+            IN_ATTACK2 = 0x800,
+            IN_RELOAD = 0x2000,
+            IN_SPEED = 0x10000,
+            IN_JOYAUTOSPRINT = 0x20000,
+            IN_FIRST_MOD_SPECIFIC_BIT = unchecked((ulong)4294967296),
+            IN_USEORRELOAD = unchecked((ulong)4294967296),
+            IN_SCORE = unchecked((ulong)8589934592),
+            IN_ZOOM = unchecked((ulong)17179869184),
+            IN_LOOK_AT_WEAPON = unchecked((ulong)34359738368)
+        }
+        // Alignment: 4
+        // Member count: 14
+        public enum HitGroup_t : uint {
+            HITGROUP_INVALID = unchecked((uint)-1),
+            HITGROUP_GENERIC = 0x0,
+            HITGROUP_HEAD = 0x1,
+            HITGROUP_CHEST = 0x2,
+            HITGROUP_STOMACH = 0x3,
+            HITGROUP_LEFTARM = 0x4,
+            HITGROUP_RIGHTARM = 0x5,
+            HITGROUP_LEFTLEG = 0x6,
+            HITGROUP_RIGHTLEG = 0x7,
+            HITGROUP_NECK = 0x8,
+            HITGROUP_UNUSED = 0x9,
+            HITGROUP_GEAR = 0xA,
+            HITGROUP_SPECIAL = 0xB,
+            HITGROUP_COUNT = 0xC
+        }
+        // Alignment: 4
+        // Member count: 9
+        public enum ChickenActivity : uint {
+            IDLE = 0x0,
+            SQUAT = 0x1,
+            WALK = 0x2,
+            RUN = 0x3,
+            GLIDE = 0x4,
+            LAND = 0x5,
+            PANIC = 0x6,
+            TRICK = 0x7,
+            TURN_IN_PLACE = 0x8
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum PointWorldTextReorientMode_t : uint {
+            POINT_WORLD_TEXT_REORIENT_NONE = 0x0,
+            POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1
+        }
+        // Alignment: 8
+        // Member count: 40
+        public enum DebugOverlayBits_t : ulong {
+            OVERLAY_TEXT_BIT = 0x1,
+            OVERLAY_NAME_BIT = 0x2,
+            OVERLAY_BBOX_BIT = 0x4,
+            OVERLAY_PIVOT_BIT = 0x8,
+            OVERLAY_MESSAGE_BIT = 0x10,
+            OVERLAY_ABSBOX_BIT = 0x20,
+            OVERLAY_RBOX_BIT = 0x40,
+            OVERLAY_SHOW_BLOCKSLOS = 0x80,
+            OVERLAY_ATTACHMENTS_BIT = 0x100,
+            OVERLAY_INTERPOLATED_ATTACHMENTS_BIT = 0x200,
+            OVERLAY_INTERPOLATED_PIVOT_BIT = 0x400,
+            OVERLAY_SKELETON_BIT = 0x800,
+            OVERLAY_INTERPOLATED_SKELETON_BIT = 0x1000,
+            OVERLAY_TRIGGER_BOUNDS_BIT = 0x2000,
+            OVERLAY_HITBOX_BIT = 0x4000,
+            OVERLAY_INTERPOLATED_HITBOX_BIT = 0x8000,
+            OVERLAY_AUTOAIM_BIT = 0x10000,
+            OVERLAY_NPC_SELECTED_BIT = 0x20000,
+            OVERLAY_JOINT_INFO_BIT = 0x40000,
+            OVERLAY_NPC_ROUTE_BIT = 0x80000,
+            OVERLAY_VISIBILITY_TRACES_BIT = 0x100000,
+            OVERLAY_NPC_ENEMIES_BIT = 0x400000,
+            OVERLAY_NPC_CONDITIONS_BIT = 0x800000,
+            OVERLAY_NPC_COMBAT_BIT = 0x1000000,
+            OVERLAY_NPC_TASK_BIT = 0x2000000,
+            OVERLAY_NPC_BODYLOCATIONS = 0x4000000,
+            OVERLAY_NPC_VIEWCONE_BIT = 0x8000000,
+            OVERLAY_NPC_KILL_BIT = 0x10000000,
+            OVERLAY_WC_CHANGE_ENTITY = 0x20000000,
+            OVERLAY_BUDDHA_MODE = 0x40000000,
+            OVERLAY_NPC_STEERING_REGULATIONS = unchecked((ulong)2147483648),
+            OVERLAY_NPC_TASK_TEXT_BIT = unchecked((ulong)4294967296),
+            OVERLAY_PROP_DEBUG = unchecked((ulong)8589934592),
+            OVERLAY_NPC_RELATION_BIT = unchecked((ulong)17179869184),
+            OVERLAY_VIEWOFFSET = unchecked((ulong)34359738368),
+            OVERLAY_VCOLLIDE_WIREFRAME_BIT = unchecked((ulong)68719476736),
+            OVERLAY_NPC_SCRIPTED_COMMANDS_BIT = unchecked((ulong)137438953472),
+            OVERLAY_ACTORNAME_BIT = unchecked((ulong)274877906944),
+            OVERLAY_NPC_CONDITIONS_TEXT_BIT = unchecked((ulong)549755813888),
+            OVERLAY_NPC_ABILITY_RANGE_DEBUG_BIT = unchecked((ulong)1099511627776)
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum AmmoFlags_t : uint {
+            AMMO_FORCE_DROP_IF_CARRIED = 0x1,
+            AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2,
+            AMMO_FLAG_MAX = 0x2
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum HierarchyType_t : uint {
+            HIERARCHY_NONE = 0x0,
+            HIERARCHY_BONE_MERGE = 0x1,
+            HIERARCHY_ATTACHMENT = 0x2,
+            HIERARCHY_ABSORIGIN = 0x3,
+            HIERARCHY_BONE = 0x4,
+            HIERARCHY_TYPE_COUNT = 0x5
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum doorCheck_e : uint {
+            DOOR_CHECK_FORWARD = 0x0,
+            DOOR_CHECK_BACKWARD = 0x1,
+            DOOR_CHECK_FULL = 0x2
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum BeamType_t : uint {
+            BEAM_INVALID = 0x0,
+            BEAM_POINTS = 0x1,
+            BEAM_ENTPOINT = 0x2,
+            BEAM_ENTS = 0x3,
+            BEAM_HOSE = 0x4,
+            BEAM_SPLINE = 0x5,
+            BEAM_LASER = 0x6
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum EntitySubclassScope_t : uint {
+            SUBCLASS_SCOPE_NONE = unchecked((uint)-1),
+            SUBCLASS_SCOPE_PRECIPITATION = 0x0,
+            SUBCLASS_SCOPE_PLAYER_WEAPONS = 0x1,
+            SUBCLASS_SCOPE_COUNT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum PointTemplateClientOnlyEntityBehavior_t : uint {
+            CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0,
+            CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum CDebugOverlayCombinedTypes_t : uint {
+            ALL = 0x0,
+            ANY = 0x1,
+            COUNT = 0x2
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum ShatterGlassStressType : byte {
+            SHATTERGLASS_BLUNT = 0x0,
+            SHATTERGLASS_BALLISTIC = 0x1,
+            SHATTERGLASS_PULSE = 0x2,
+            SHATTERGLASS_EXPLOSIVE = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum TrackOrientationType_t : uint {
+            TrackOrientation_Fixed = 0x0,
+            TrackOrientation_FacePath = 0x1,
+            TrackOrientation_FacePathAngles = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum WeaponSwitchReason_t : uint {
+            eDrawn = 0x0,
+            eEquipped = 0x1,
+            eUserInitiatedSwitchToLast = 0x2,
+            eUserInitiatedSwitchHands = 0x3
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ValueRemapperRatchetType_t : uint {
+            RatchetType_Absolute = 0x0,
+            RatchetType_EachEngage = 0x1
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum NavDirType : uint {
+            NORTH = 0x0,
+            EAST = 0x1,
+            SOUTH = 0x2,
+            WEST = 0x3,
+            NUM_NAV_DIR_TYPE_DIRECTIONS = 0x4
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum CRR_Response__ResponseEnum_t : uint {
+            MAX_RESPONSE_NAME = 0xC0,
+            MAX_RULE_NAME = 0x80
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum MoveMountingAmount_t : uint {
+            MOVE_MOUNT_NONE = 0x0,
+            MOVE_MOUNT_LOW = 0x1,
+            MOVE_MOUNT_HIGH = 0x2,
+            MOVE_MOUNT_MAXCOUNT = 0x3
+        }
+        // Alignment: 1
+        // Member count: 20
+        public enum RenderFx_t : byte {
+            kRenderFxNone = 0x0,
+            kRenderFxPulseSlow = 0x1,
+            kRenderFxPulseFast = 0x2,
+            kRenderFxPulseSlowWide = 0x3,
+            kRenderFxPulseFastWide = 0x4,
+            kRenderFxFadeSlow = 0x5,
+            kRenderFxFadeFast = 0x6,
+            kRenderFxSolidSlow = 0x7,
+            kRenderFxSolidFast = 0x8,
+            kRenderFxStrobeSlow = 0x9,
+            kRenderFxStrobeFast = 0xA,
+            kRenderFxStrobeFaster = 0xB,
+            kRenderFxFlickerSlow = 0xC,
+            kRenderFxFlickerFast = 0xD,
+            kRenderFxNoDissipation = 0xE,
+            kRenderFxFadeOut = 0xF,
+            kRenderFxFadeIn = 0x10,
+            kRenderFxPulseFastWider = 0x11,
+            kRenderFxGlowShell = 0x12,
+            kRenderFxMax = 0x13
+        }
+        // Alignment: 4
+        // Member count: 35
+        public enum vote_create_failed_t : uint {
+            VOTE_FAILED_GENERIC = 0x0,
+            VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1,
+            VOTE_FAILED_RATE_EXCEEDED = 0x2,
+            VOTE_FAILED_YES_MUST_EXCEED_NO = 0x3,
+            VOTE_FAILED_QUORUM_FAILURE = 0x4,
+            VOTE_FAILED_ISSUE_DISABLED = 0x5,
+            VOTE_FAILED_MAP_NOT_FOUND = 0x6,
+            VOTE_FAILED_MAP_NAME_REQUIRED = 0x7,
+            VOTE_FAILED_FAILED_RECENTLY = 0x8,
+            VOTE_FAILED_TEAM_CANT_CALL = 0x9,
+            VOTE_FAILED_WAITINGFORPLAYERS = 0xA,
+            VOTE_FAILED_PLAYERNOTFOUND = 0xB,
+            VOTE_FAILED_CANNOT_KICK_ADMIN = 0xC,
+            VOTE_FAILED_SCRAMBLE_IN_PROGRESS = 0xD,
+            VOTE_FAILED_SPECTATOR = 0xE,
+            VOTE_FAILED_FAILED_RECENT_KICK = 0xF,
+            VOTE_FAILED_FAILED_RECENT_CHANGEMAP = 0x10,
+            VOTE_FAILED_FAILED_RECENT_SWAPTEAMS = 0x11,
+            VOTE_FAILED_FAILED_RECENT_SCRAMBLETEAMS = 0x12,
+            VOTE_FAILED_FAILED_RECENT_RESTART = 0x13,
+            VOTE_FAILED_SWAP_IN_PROGRESS = 0x14,
+            VOTE_FAILED_DISABLED = 0x15,
+            VOTE_FAILED_NEXTLEVEL_SET = 0x16,
+            VOTE_FAILED_TOO_EARLY_SURRENDER = 0x17,
+            VOTE_FAILED_MATCH_PAUSED = 0x18,
+            VOTE_FAILED_MATCH_NOT_PAUSED = 0x19,
+            VOTE_FAILED_NOT_IN_WARMUP = 0x1A,
+            VOTE_FAILED_NOT_10_PLAYERS = 0x1B,
+            VOTE_FAILED_TIMEOUT_ACTIVE = 0x1C,
+            VOTE_FAILED_TIMEOUT_INACTIVE = 0x1D,
+            VOTE_FAILED_TIMEOUT_EXHAUSTED = 0x1E,
+            VOTE_FAILED_CANT_ROUND_END = 0x1F,
+            VOTE_FAILED_REMATCH = 0x20,
+            VOTE_FAILED_CONTINUE = 0x21,
+            VOTE_FAILED_MAX = 0x22
+        }
+        // Alignment: 4
+        // Member count: 27
+        public enum RumbleEffect_t : uint {
+            RUMBLE_INVALID = unchecked((uint)-1),
+            RUMBLE_STOP_ALL = 0x0,
+            RUMBLE_PISTOL = 0x1,
+            RUMBLE_357 = 0x2,
+            RUMBLE_SMG1 = 0x3,
+            RUMBLE_AR2 = 0x4,
+            RUMBLE_SHOTGUN_SINGLE = 0x5,
+            RUMBLE_SHOTGUN_DOUBLE = 0x6,
+            RUMBLE_AR2_ALT_FIRE = 0x7,
+            RUMBLE_RPG_MISSILE = 0x8,
+            RUMBLE_CROWBAR_SWING = 0x9,
+            RUMBLE_AIRBOAT_GUN = 0xA,
+            RUMBLE_JEEP_ENGINE_LOOP = 0xB,
+            RUMBLE_FLAT_LEFT = 0xC,
+            RUMBLE_FLAT_RIGHT = 0xD,
+            RUMBLE_FLAT_BOTH = 0xE,
+            RUMBLE_DMG_LOW = 0xF,
+            RUMBLE_DMG_MED = 0x10,
+            RUMBLE_DMG_HIGH = 0x11,
+            RUMBLE_FALL_LONG = 0x12,
+            RUMBLE_FALL_SHORT = 0x13,
+            RUMBLE_PHYSCANNON_OPEN = 0x14,
+            RUMBLE_PHYSCANNON_PUNT = 0x15,
+            RUMBLE_PHYSCANNON_LOW = 0x16,
+            RUMBLE_PHYSCANNON_MEDIUM = 0x17,
+            RUMBLE_PHYSCANNON_HIGH = 0x18,
+            NUM_RUMBLE_EFFECTS = 0x19
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum LatchDirtyPermission_t : uint {
+            LATCH_DIRTY_DISALLOW = 0x0,
+            LATCH_DIRTY_SERVER_CONTROLLED = 0x1,
+            LATCH_DIRTY_CLIENT_SIMULATED = 0x2,
+            LATCH_DIRTY_PREDICTION = 0x3,
+            LATCH_DIRTY_FRAMESIMULATE = 0x4,
+            LATCH_DIRTY_PARTICLE_SIMULATE = 0x5
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum DoorState_t : uint {
+            DOOR_STATE_CLOSED = 0x0,
+            DOOR_STATE_OPENING = 0x1,
+            DOOR_STATE_OPEN = 0x2,
+            DOOR_STATE_CLOSING = 0x3,
+            DOOR_STATE_AJAR = 0x4
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ChoreoLookAtMode_t : uint {
+            eInvalid = unchecked((uint)-1),
+            eChest = 0x0,
+            eHead = 0x1,
+            eEyesOnly = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum ChatIgnoreType_t : uint {
+            CHAT_IGNORE_NONE = 0x0,
+            CHAT_IGNORE_ALL = 0x1,
+            CHAT_IGNORE_TEAM = 0x2
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum PlayerConnectedState : uint {
+            PlayerNeverConnected = unchecked((uint)-1),
+            PlayerConnected = 0x0,
+            PlayerConnecting = 0x1,
+            PlayerReconnecting = 0x2,
+            PlayerDisconnecting = 0x3,
+            PlayerDisconnected = 0x4,
+            PlayerReserved = 0x5
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint {
+            kMIN_THRESHOLD = 0x0,
+            kMIN_FULL = 0x1,
+            kHIGHWATER = 0x2
+        }
+        // Alignment: 4
+        // Member count: 1
+        public enum navproperties_t : uint {
+            NAV_IGNORE = 0x1
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum SolidType_t : byte {
+            SOLID_NONE = 0x0,
+            SOLID_BSP = 0x1,
+            SOLID_BBOX = 0x2,
+            SOLID_OBB = 0x3,
+            SOLID_SPHERE = 0x4,
+            SOLID_POINT = 0x5,
+            SOLID_VPHYSICS = 0x6,
+            SOLID_CAPSULE = 0x7,
+            SOLID_LAST = 0x8
+        }
+        // Alignment: 4
+        // Member count: 24
+        public enum DamageTypes_t : uint {
+            DMG_GENERIC = 0x0,
+            DMG_CRUSH = 0x1,
+            DMG_BULLET = 0x2,
+            DMG_SLASH = 0x4,
+            DMG_BURN = 0x8,
+            DMG_VEHICLE = 0x10,
+            DMG_FALL = 0x20,
+            DMG_BLAST = 0x40,
+            DMG_CLUB = 0x80,
+            DMG_SHOCK = 0x100,
+            DMG_SONIC = 0x200,
+            DMG_ENERGYBEAM = 0x400,
+            DMG_DROWN = 0x4000,
+            DMG_POISON = 0x8000,
+            DMG_RADIATION = 0x10000,
+            DMG_DROWNRECOVER = 0x20000,
+            DMG_ACID = 0x40000,
+            DMG_PHYSGUN = 0x100000,
+            DMG_DISSOLVE = 0x200000,
+            DMG_BLAST_SURFACE = 0x400000,
+            DMG_BUCKSHOT = 0x1000000,
+            DMG_LASTGENERICFLAG = 0x1000000,
+            DMG_HEADSHOT = 0x2000000,
+            DMG_DANGERZONE = 0x4000000
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum PointWorldTextJustifyVertical_t : uint {
+            POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0,
+            POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1,
+            POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum attributeprovidertypes_t : uint {
+            PROVIDER_GENERIC = 0x0,
+            PROVIDER_WEAPON = 0x1
+        }
+        // Alignment: 1
+        // Member count: 6
+        public enum MoveCollide_t : byte {
+            MOVECOLLIDE_DEFAULT = 0x0,
+            MOVECOLLIDE_FLY_BOUNCE = 0x1,
+            MOVECOLLIDE_FLY_CUSTOM = 0x2,
+            MOVECOLLIDE_FLY_SLIDE = 0x3,
+            MOVECOLLIDE_COUNT = 0x4,
+            MOVECOLLIDE_MAX_BITS = 0x3
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum IChoreoServices__ChoreoState_t : uint {
+            STATE_PRE_SCRIPT = 0x0,
+            STATE_WAIT_FOR_SCRIPT = 0x1,
+            STATE_WALK_TO_MARK = 0x2,
+            STATE_SYNCHRONIZE_SCRIPT = 0x3,
+            STATE_PLAY_SCRIPT = 0x4,
+            STATE_PLAY_SCRIPT_POST_IDLE = 0x5,
+            STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ValueRemapperOutputType_t : uint {
+            OutputType_AnimationCycle = 0x0,
+            OutputType_RotationX = 0x1,
+            OutputType_RotationY = 0x2,
+            OutputType_RotationZ = 0x3
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum PointTemplateOwnerSpawnGroupType_t : uint {
+            INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0,
+            INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP = 0x1,
+            INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2
+        }
+        // Alignment: 1
+        // Member count: 3
+        public enum EContributionScoreFlag_t : byte {
+            k_EContributionScoreFlag_Default = 0x0,
+            k_EContributionScoreFlag_Objective = 0x1,
+            k_EContributionScoreFlag_Bullets = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum eSplinePushType : uint {
+            k_eSplinePushAlong = 0x0,
+            k_eSplinePushAway = 0x1,
+            k_eSplinePushTowards = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum EntityDistanceMode_t : uint {
+            eOriginToOrigin = 0x0,
+            eCenterToCenter = 0x1,
+            eAxisToAxis = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum PointWorldTextJustifyHorizontal_t : uint {
+            POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0,
+            POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1,
+            POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum ShakeCommand_t : uint {
+            SHAKE_START = 0x0,
+            SHAKE_STOP = 0x1,
+            SHAKE_AMPLITUDE = 0x2,
+            SHAKE_FREQUENCY = 0x3,
+            SHAKE_START_RUMBLEONLY = 0x4,
+            SHAKE_START_NORUMBLE = 0x5
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum TRAIN_CODE : uint {
+            TRAIN_SAFE = 0x0,
+            TRAIN_BLOCKING = 0x1,
+            TRAIN_FOLLOWING = 0x2
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum BrushSolidities_e : uint {
+            BRUSHSOLID_TOGGLE = 0x0,
+            BRUSHSOLID_NEVER = 0x1,
+            BRUSHSOLID_ALWAYS = 0x2
+        }
+        // Alignment: 4
+        // Member count: 13
+        public enum QuestProgress__Reason : uint {
+            QUEST_NONINITIALIZED = 0x0,
+            QUEST_OK = 0x1,
+            QUEST_NOT_ENOUGH_PLAYERS = 0x2,
+            QUEST_WARMUP = 0x3,
+            QUEST_NOT_CONNECTED_TO_STEAM = 0x4,
+            QUEST_NONOFFICIAL_SERVER = 0x5,
+            QUEST_NO_ENTITLEMENT = 0x6,
+            QUEST_NO_QUEST = 0x7,
+            QUEST_PLAYER_IS_BOT = 0x8,
+            QUEST_WRONG_MAP = 0x9,
+            QUEST_WRONG_MODE = 0xA,
+            QUEST_NOT_SYNCED_WITH_SERVER = 0xB,
+            QUEST_REASON_MAX = 0xC
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ModifyDamageReturn_t : uint {
+            CONTINUE_TO_APPLY_DAMAGE = 0x0,
+            ABORT_DO_NOT_APPLY_DAMAGE = 0x1
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ShadowType_t : uint {
+            SHADOWS_NONE = 0x0,
+            SHADOWS_SIMPLE = 0x1
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum ScriptedHeldWeaponBehavior_t : uint {
+            eInvalid = unchecked((uint)-1),
+            eHolster = 0x0,
+            eDeploy = 0x1,
+            eDrop = 0x2
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum GrenadeType_t : uint {
+            GRENADE_TYPE_EXPLOSIVE = 0x0,
+            GRENADE_TYPE_FLASH = 0x1,
+            GRENADE_TYPE_FIRE = 0x2,
+            GRENADE_TYPE_DECOY = 0x3,
+            GRENADE_TYPE_SMOKE = 0x4,
+            GRENADE_TYPE_TOTAL = 0x5
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ValueRemapperInputType_t : uint {
+            InputType_PlayerShootPosition = 0x0,
+            InputType_PlayerShootPositionAroundAxis = 0x1
+        }
+        // Alignment: 1
+        // Member count: 8
+        public enum EKillTypes_t : byte {
+            KILL_NONE = 0x0,
+            KILL_DEFAULT = 0x1,
+            KILL_HEADSHOT = 0x2,
+            KILL_BLAST = 0x3,
+            KILL_BURN = 0x4,
+            KILL_SLASH = 0x5,
+            KILL_SHOCK = 0x6,
+            KILLTYPE_COUNT = 0x7
+        }
+        // Alignment: 4
+        // Member count: 25
+        public enum WeaponSound_t : uint {
+            WEAPON_SOUND_EMPTY = 0x0,
+            WEAPON_SOUND_SECONDARY_EMPTY = 0x1,
+            WEAPON_SOUND_SINGLE = 0x2,
+            WEAPON_SOUND_SECONDARY_ATTACK = 0x3,
+            WEAPON_SOUND_MELEE_MISS = 0x4,
+            WEAPON_SOUND_MELEE_HIT = 0x5,
+            WEAPON_SOUND_MELEE_HIT_WORLD = 0x6,
+            WEAPON_SOUND_MELEE_HIT_PLAYER = 0x7,
+            WEAPON_SOUND_MELEE_HIT_NPC = 0x8,
+            WEAPON_SOUND_SPECIAL1 = 0x9,
+            WEAPON_SOUND_SPECIAL2 = 0xA,
+            WEAPON_SOUND_SPECIAL3 = 0xB,
+            WEAPON_SOUND_NEARLYEMPTY = 0xC,
+            WEAPON_SOUND_IMPACT = 0xD,
+            WEAPON_SOUND_REFLECT = 0xE,
+            WEAPON_SOUND_SECONDARY_IMPACT = 0xF,
+            WEAPON_SOUND_SECONDARY_REFLECT = 0x10,
+            WEAPON_SOUND_RELOAD = 0x11,
+            WEAPON_SOUND_SINGLE_ACCURATE = 0x12,
+            WEAPON_SOUND_ZOOM_IN = 0x13,
+            WEAPON_SOUND_ZOOM_OUT = 0x14,
+            WEAPON_SOUND_MOUSE_PRESSED = 0x15,
+            WEAPON_SOUND_DROP = 0x16,
+            WEAPON_SOUND_RADIO_USE = 0x17,
+            WEAPON_SOUND_NUM_TYPES = 0x18
+        }
+        // Alignment: 8
+        // Member count: 17
+        public enum TakeDamageFlags_t : ulong {
+            DFLAG_NONE = 0x0,
+            DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1,
+            DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2,
+            DFLAG_SUPPRESS_EFFECTS = 0x4,
+            DFLAG_PREVENT_DEATH = 0x8,
+            DFLAG_FORCE_DEATH = 0x10,
+            DFLAG_ALWAYS_GIB = 0x20,
+            DFLAG_NEVER_GIB = 0x40,
+            DFLAG_REMOVE_NO_RAGDOLL = 0x80,
+            DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100,
+            DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200,
+            DFLAG_RADIUS_DMG = 0x400,
+            DFLAG_FORCEREDUCEARMOR_DMG = 0x800,
+            DFLAG_SUPPRESS_INTERRUPT_FLINCH = 0x1000,
+            DMG_LASTDFLAG = 0x1000,
+            DFLAG_IGNORE_ARMOR = 0x2000,
+            DFLAG_SUPPRESS_UTILREMOVE = 0x4000
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum ValueRemapperHapticsType_t : uint {
+            HaticsType_Default = 0x0,
+            HaticsType_None = 0x1
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum Disposition_t : uint {
+            D_ER = 0x0,
+            D_HT = 0x1,
+            D_FR = 0x2,
+            D_LI = 0x3,
+            D_NU = 0x4,
+            D_ERROR = 0x0,
+            D_HATE = 0x1,
+            D_FEAR = 0x2,
+            D_LIKE = 0x3,
+            D_NEUTRAL = 0x4
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum CanPlaySequence_t : uint {
+            CANNOT_PLAY = 0x0,
+            CAN_PLAY_NOW = 0x1,
+            CAN_PLAY_ENQUEUED = 0x2
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum MedalRank_t : uint {
+            MEDAL_RANK_NONE = 0x0,
+            MEDAL_RANK_BRONZE = 0x1,
+            MEDAL_RANK_SILVER = 0x2,
+            MEDAL_RANK_GOLD = 0x3,
+            MEDAL_RANK_COUNT = 0x4
+        }
+        // Alignment: 4
+        // Member count: 7
+        public enum ObserverMode_t : uint {
+            OBS_MODE_NONE = 0x0,
+            OBS_MODE_FIXED = 0x1,
+            OBS_MODE_IN_EYE = 0x2,
+            OBS_MODE_CHASE = 0x3,
+            OBS_MODE_ROAMING = 0x4,
+            OBS_MODE_DIRECTED = 0x5,
+            NUM_OBSERVER_MODES = 0x6
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum FuncDoorSpawnPos_t : uint {
+            FUNC_DOOR_SPAWN_CLOSED = 0x0,
+            FUNC_DOOR_SPAWN_OPEN = 0x1
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum EOverrideBlockLOS_t : uint {
+            BLOCK_LOS_DEFAULT = 0x0,
+            BLOCK_LOS_FORCE_FALSE = 0x1,
+            BLOCK_LOS_FORCE_TRUE = 0x2
+        }
+        // Alignment: 1
+        // Member count: 14
+        public enum MoveType_t : byte {
+            MOVETYPE_NONE = 0x0,
+            MOVETYPE_OBSOLETE = 0x1,
+            MOVETYPE_WALK = 0x2,
+            MOVETYPE_FLY = 0x3,
+            MOVETYPE_FLYGRAVITY = 0x4,
+            MOVETYPE_VPHYSICS = 0x5,
+            MOVETYPE_PUSH = 0x6,
+            MOVETYPE_NOCLIP = 0x7,
+            MOVETYPE_OBSERVER = 0x8,
+            MOVETYPE_LADDER = 0x9,
+            MOVETYPE_CUSTOM = 0xA,
+            MOVETYPE_LAST = 0xB,
+            MOVETYPE_INVALID = 0xB,
+            MOVETYPE_MAX_BITS = 0x5
+        }
+        // Parent: CBaseCombatCharacter
+        // Field count: 1
+        public static class CHostageExpresserShim {
+            public const nint m_pExpresser = 0xAC0; // CAI_Expresser*
+        }
+        // Parent: CBaseTrigger
+        // Field count: 3
+        public static class CTriggerSoundscape {
+            public const nint m_hSoundscape = 0x960; // CHandle<CEnvSoundscapeTriggerable>
+            public const nint m_SoundscapeName = 0x968; // CUtlSymbolLarge
+            public const nint m_spectators = 0x970; // CUtlVector<CHandle<CBasePlayerPawn>>
+        }
+        // Parent: CBreakableProp
+        // Field count: 22
+        //
+        // Metadata:
+        // NetworkVarNames: m_bUseHitboxesForRenderBox (bool)
+        // NetworkVarNames: m_bUseAnimGraph (bool)
+        public static class CDynamicProp {
+            public const nint m_bCreateNavObstacle = 0xB60; // bool
+            public const nint m_bNavObstacleUpdatesOverridden = 0xB61; // bool
+            public const nint m_bUseHitboxesForRenderBox = 0xB62; // bool
+            public const nint m_bUseAnimGraph = 0xB63; // bool
+            public const nint m_pOutputAnimBegun = 0xB68; // CEntityIOOutput
+            public const nint m_pOutputAnimOver = 0xB90; // CEntityIOOutput
+            public const nint m_pOutputAnimLoopCycleOver = 0xBB8; // CEntityIOOutput
+            public const nint m_OnAnimReachedStart = 0xBE0; // CEntityIOOutput
+            public const nint m_OnAnimReachedEnd = 0xC08; // CEntityIOOutput
+            public const nint m_iszIdleAnim = 0xC30; // CUtlSymbolLarge
+            public const nint m_nIdleAnimLoopMode = 0xC38; // AnimLoopMode_t
+            public const nint m_bRandomizeCycle = 0xC3C; // bool
+            public const nint m_bStartDisabled = 0xC3D; // bool
+            public const nint m_bFiredStartEndOutput = 0xC3E; // bool
+            public const nint m_bForceNpcExclude = 0xC3F; // bool
+            public const nint m_bCreateNonSolid = 0xC40; // bool
+            public const nint m_bIsOverrideProp = 0xC41; // bool
+            public const nint m_iInitialGlowState = 0xC44; // int32
+            public const nint m_nGlowRange = 0xC48; // int32
+            public const nint m_nGlowRangeMin = 0xC4C; // int32
+            public const nint m_glowColor = 0xC50; // Color
+            public const nint m_nGlowTeam = 0xC54; // int32
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CFuncIllusionary {
+        }
+        // Parent: CPlayer_MovementServices_Humanoid
+        // Field count: 40
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecLadderNormal (Vector)
+        // NetworkVarNames: m_nLadderSurfacePropIndex (int)
+        // NetworkVarNames: m_flDuckAmount (float)
+        // NetworkVarNames: m_flDuckSpeed (float)
+        // NetworkVarNames: m_bDuckOverride (bool)
+        // NetworkVarNames: m_bDesiresDuck (bool)
+        // NetworkVarNames: m_nDuckTimeMsecs (uint32)
+        // NetworkVarNames: m_nDuckJumpTimeMsecs (uint32)
+        // NetworkVarNames: m_nJumpTimeMsecs (uint32)
+        // NetworkVarNames: m_flLastDuckTime (float)
+        // NetworkVarNames: m_nGameCodeHasMovedPlayerAfterCommand (int)
+        // NetworkVarNames: m_bOldJumpPressed (bool)
+        // NetworkVarNames: m_fStashGrenadeParameterWhen (GameTime_t)
+        // NetworkVarNames: m_nButtonDownMaskPrev (ButtonBitMask_t)
+        // NetworkVarNames: m_flOffsetTickCompleteTime (float)
+        // NetworkVarNames: m_flOffsetTickStashedSpeed (float)
+        // NetworkVarNames: m_flStamina (float)
+        public static class CCSPlayer_MovementServices {
+            public const nint m_vecLadderNormal = 0x228; // Vector
+            public const nint m_nLadderSurfacePropIndex = 0x234; // int32
+            public const nint m_flDuckAmount = 0x238; // float32
+            public const nint m_flDuckSpeed = 0x23C; // float32
+            public const nint m_bDuckOverride = 0x240; // bool
+            public const nint m_bDesiresDuck = 0x241; // bool
+            public const nint m_flDuckOffset = 0x244; // float32
+            public const nint m_nDuckTimeMsecs = 0x248; // uint32
+            public const nint m_nDuckJumpTimeMsecs = 0x24C; // uint32
+            public const nint m_nJumpTimeMsecs = 0x250; // uint32
+            public const nint m_flLastDuckTime = 0x254; // float32
+            public const nint m_vecLastPositionAtFullCrouchSpeed = 0x260; // Vector2D
+            public const nint m_duckUntilOnGround = 0x268; // bool
+            public const nint m_bHasWalkMovedSinceLastJump = 0x269; // bool
+            public const nint m_bInStuckTest = 0x26A; // bool
+            public const nint m_flStuckCheckTime = 0x278; // float32[64][2]
+            public const nint m_nTraceCount = 0x478; // int32
+            public const nint m_StuckLast = 0x47C; // int32
+            public const nint m_bSpeedCropped = 0x480; // bool
+            public const nint m_flGroundMoveEfficiency = 0x484; // float32
+            public const nint m_nOldWaterLevel = 0x488; // int32
+            public const nint m_flWaterEntryTime = 0x48C; // float32
+            public const nint m_vecForward = 0x490; // Vector
+            public const nint m_vecLeft = 0x49C; // Vector
+            public const nint m_vecUp = 0x4A8; // Vector
+            public const nint m_nGameCodeHasMovedPlayerAfterCommand = 0x4B4; // int32
+            public const nint m_bMadeFootstepNoise = 0x4B8; // bool
+            public const nint m_iFootsteps = 0x4BC; // int32
+            public const nint m_bOldJumpPressed = 0x4C0; // bool
+            public const nint m_flJumpPressedTime = 0x4C4; // float32
+            public const nint m_fStashGrenadeParameterWhen = 0x4C8; // GameTime_t
+            public const nint m_nButtonDownMaskPrev = 0x4D0; // uint64
+            public const nint m_flOffsetTickCompleteTime = 0x4D8; // float32
+            public const nint m_flOffsetTickStashedSpeed = 0x4DC; // float32
+            public const nint m_flStamina = 0x4E0; // float32
+            public const nint m_flHeightAtJumpStart = 0x4E4; // float32
+            public const nint m_flMaxJumpHeightThisJump = 0x4E8; // float32
+            public const nint m_flMaxJumpHeightLastJump = 0x4EC; // float32
+            public const nint m_flStaminaAtJumpStart = 0x4F0; // float32
+            public const nint m_flAccumulatedJumpError = 0x4F4; // float32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: scale (int16)
+        // NetworkVarNames: origin (Vector)
+        // NetworkVarNames: bClip3DSkyBoxNearToWorldFar (bool)
+        // NetworkVarNames: flClip3DSkyBoxNearToWorldFarOffset (float32)
+        // NetworkVarNames: fog (fogparams_t)
+        // NetworkVarNames: m_nWorldGroupID (WorldGroupId_t)
+        public static class sky3dparams_t {
+            public const nint scale = 0x8; // int16
+            public const nint origin = 0xC; // Vector
+            public const nint bClip3DSkyBoxNearToWorldFar = 0x18; // bool
+            public const nint flClip3DSkyBoxNearToWorldFarOffset = 0x1C; // float32
+            public const nint fog = 0x20; // fogparams_t
+            public const nint m_nWorldGroupID = 0x88; // WorldGroupId_t
+        }
+        // Parent: CBaseTrigger
+        // Field count: 1
+        public static class CTriggerRemove {
+            public const nint m_OnRemove = 0x960; // CEntityIOOutput
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterName {
+            public const nint m_iFilterName = 0x538; // CUtlSymbolLarge
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CProjectedDecal {
+            public const nint m_nTexture = 0x4E0; // int32
+            public const nint m_flDistance = 0x4E4; // float32
+        }
+        // Parent: CFuncTrackChange
+        // Field count: 0
+        public static class CFuncTrackAuto {
+        }
+        // Parent: CBreakable
+        // Field count: 0
+        public static class CPushable {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 1
+        public static class CTriggerMultiple {
+            public const nint m_OnTrigger = 0x960; // CEntityIOOutput
+        }
+        // Parent: CBodyComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_skeletonInstance (CSkeletonInstance)
+        public static class CBodyComponentSkeletonInstance {
+            public const nint m_skeletonInstance = 0x50; // CSkeletonInstance
+        }
+        // Parent: CBaseTrigger
+        // Field count: 7
+        public static class CTriggerPush {
+            public const nint m_angPushEntitySpace = 0x960; // QAngle
+            public const nint m_vecPushDirEntitySpace = 0x96C; // Vector
+            public const nint m_bTriggerOnStartTouch = 0x978; // bool
+            public const nint m_bUsePathSimple = 0x979; // bool
+            public const nint m_iszPathSimpleName = 0x980; // CUtlSymbolLarge
+            public const nint m_PathSimple = 0x988; // CPathSimple*
+            public const nint m_splinePushType = 0x990; // uint32
+        }
+        // Parent: CBaseFilter
+        // Field count: 3
+        public static class FilterHealth {
+            public const nint m_bAdrenalineActive = 0x538; // bool
+            public const nint m_iHealthMin = 0x53C; // int32
+            public const nint m_iHealthMax = 0x540; // int32
+        }
+        // Parent: CCSGO_TeamSelectCharacterPosition
+        // Field count: 0
+        public static class CCSGO_TeamSelectCounterTerroristPosition {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 5
+        public static class CTriggerProximity {
+            public const nint m_hMeasureTarget = 0x960; // CHandle<CBaseEntity>
+            public const nint m_iszMeasureTarget = 0x968; // CUtlSymbolLarge
+            public const nint m_fRadius = 0x970; // float32
+            public const nint m_nTouchers = 0x974; // int32
+            public const nint m_NearestEntityDistance = 0x978; // CEntityOutputTemplate<float32>
+        }
+        // Parent: CFuncBrush
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_EffectName (string_t)
+        public static class CFuncElectrifiedVolume {
+            public const nint m_EffectName = 0x7B0; // CUtlSymbolLarge
+            public const nint m_EffectInterpenetrateName = 0x7B8; // CUtlSymbolLarge
+            public const nint m_EffectZapName = 0x7C0; // CUtlSymbolLarge
+            public const nint m_iszEffectSource = 0x7C8; // CUtlSymbolLarge
+        }
+        // Parent: CPointEntity
+        // Field count: 1
+        public static class CBaseDMStart {
+            public const nint m_Master = 0x4E0; // CUtlSymbolLarge
+        }
+        // Parent: CGameRulesProxy
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_pGameRules (CCSGameRules*)
+        public static class CCSGameRulesProxy {
+            public const nint m_pGameRules = 0x4E0; // CCSGameRules*
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 5
+        public static class CTriggerBrush {
+            public const nint m_OnStartTouch = 0x790; // CEntityIOOutput
+            public const nint m_OnEndTouch = 0x7B8; // CEntityIOOutput
+            public const nint m_OnUse = 0x7E0; // CEntityIOOutput
+            public const nint m_iInputFilter = 0x808; // int32
+            public const nint m_iDontMessageParent = 0x80C; // int32
+        }
+        // Parent: CBeam
+        // Field count: 19
+        public static class CEnvBeam {
+            public const nint m_active = 0x830; // int32
+            public const nint m_spriteTexture = 0x838; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_iszStartEntity = 0x840; // CUtlSymbolLarge
+            public const nint m_iszEndEntity = 0x848; // CUtlSymbolLarge
+            public const nint m_life = 0x850; // float32
+            public const nint m_boltWidth = 0x854; // float32
+            public const nint m_noiseAmplitude = 0x858; // float32
+            public const nint m_speed = 0x85C; // int32
+            public const nint m_restrike = 0x860; // float32
+            public const nint m_iszSpriteName = 0x868; // CUtlSymbolLarge
+            public const nint m_frameStart = 0x870; // int32
+            public const nint m_vEndPointWorld = 0x874; // Vector
+            public const nint m_vEndPointRelative = 0x880; // Vector
+            public const nint m_radius = 0x88C; // float32
+            public const nint m_TouchType = 0x890; // Touch_t
+            public const nint m_iFilterName = 0x898; // CUtlSymbolLarge
+            public const nint m_hFilter = 0x8A0; // CHandle<CBaseEntity>
+            public const nint m_iszDecal = 0x8A8; // CUtlSymbolLarge
+            public const nint m_OnTouchedByEntity = 0x8B0; // CEntityIOOutput
+        }
+        // Parent: CBaseTrigger
+        // Field count: 2
+        public static class CTonemapTrigger {
+            public const nint m_tonemapControllerName = 0x960; // CUtlSymbolLarge
+            public const nint m_hTonemapController = 0x968; // CEntityHandle
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_iAttributeDefinitionIndex (attrib_definition_index_t)
+        // NetworkVarNames: m_flValue (float)
+        // NetworkVarNames: m_flInitialValue (float)
+        // NetworkVarNames: m_nRefundableCurrency (int)
+        // NetworkVarNames: m_bSetBonus (bool)
+        public static class CEconItemAttribute {
+            public const nint m_iAttributeDefinitionIndex = 0x30; // uint16
+            public const nint m_flValue = 0x34; // float32
+            public const nint m_flInitialValue = 0x38; // float32
+            public const nint m_nRefundableCurrency = 0x3C; // int32
+            public const nint m_bSetBonus = 0x40; // bool
+        }
+        // Parent: CWeaponBaseItem
+        // Field count: 0
+        public static class CItem_Healthshot {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 1
+        public static class CFogTrigger {
+            public const nint m_fog = 0x960; // fogparams_t
+        }
+        // Parent: CLogicalEntity
+        // Field count: 5
+        public static class CLogicCollisionPair {
+            public const nint m_nameAttach1 = 0x4E0; // CUtlSymbolLarge
+            public const nint m_nameAttach2 = 0x4E8; // CUtlSymbolLarge
+            public const nint m_supportMultipleEntitiesWithSameName = 0x4F0; // bool
+            public const nint m_disabled = 0x4F1; // bool
+            public const nint m_succeeded = 0x4F2; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_weapon_cs_base {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CTriggerHostageReset {
+        }
+        // Parent: CServerOnlyPointEntity
+        // Field count: 4
+        public static class CPointTeleport {
+            public const nint m_vSaveOrigin = 0x4E0; // Vector
+            public const nint m_vSaveAngles = 0x4EC; // QAngle
+            public const nint m_bTeleportParentedEntities = 0x4F8; // bool
+            public const nint m_bTeleportUseCurrentAngle = 0x4F9; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoInstructorHintBombTargetB {
+        }
+        // Parent: CBtNodeCondition
+        // Field count: 3
+        public static class CBtNodeConditionInactive {
+            public const nint m_flRoundStartThresholdSeconds = 0x78; // float32
+            public const nint m_flSensorInactivityThresholdSeconds = 0x7C; // float32
+            public const nint m_SensorInactivityTimer = 0x80; // CountdownTimer
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 0
+        public static class CWeaponSawedoff {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFluidDensity (float)
+        public static class CTriggerBuoyancy {
+            public const nint m_BuoyancyHelper = 0x960; // CBuoyancyHelper
+            public const nint m_flFluidDensity = 0x9E0; // float32
+        }
+        // Parent: CPointEntity
+        // Field count: 7
+        public static class CMoverPathNode {
+            public const nint m_vInTangentLocal = 0x4E0; // Vector
+            public const nint m_vOutTangentLocal = 0x4EC; // Vector
+            public const nint m_szParentPathUniqueID = 0x4F8; // CUtlSymbolLarge
+            public const nint m_OnPassThrough = 0x500; // CEntityIOOutput
+            public const nint m_OnPassThroughForward = 0x528; // CEntityIOOutput
+            public const nint m_OnPassThroughReverse = 0x550; // CEntityIOOutput
+            public const nint m_hMover = 0x578; // CHandle<CPathMover>
+        }
+        // Parent: CEnvSoundscape
+        // Field count: 0
+        public static class CEnvSoundscapeTriggerable {
+        }
+        // Parent: CBtNode
+        // Field count: 12
+        public static class CBtActionAim {
+            public const nint m_szSensorInputKey = 0x68; // CUtlString
+            public const nint m_szAimReadyKey = 0x80; // CUtlString
+            public const nint m_flZoomCooldownTimestamp = 0x88; // float32
+            public const nint m_bDoneAiming = 0x8C; // bool
+            public const nint m_flLerpStartTime = 0x90; // float32
+            public const nint m_flNextLookTargetLerpTime = 0x94; // float32
+            public const nint m_flPenaltyReductionRatio = 0x98; // float32
+            public const nint m_NextLookTarget = 0x9C; // QAngle
+            public const nint m_AimTimer = 0xA8; // CountdownTimer
+            public const nint m_SniperHoldTimer = 0xC0; // CountdownTimer
+            public const nint m_FocusIntervalTimer = 0xD8; // CountdownTimer
+            public const nint m_bAcquired = 0xF0; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_ViewModelServices {
+        }
+        // Parent: CCSGO_WingmanIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_WingmanIntroCounterTerroristPosition {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 12
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecCsViewPunchAngle (QAngle)
+        // NetworkVarNames: m_nCsViewPunchAngleTick (GameTick_t)
+        // NetworkVarNames: m_flCsViewPunchAngleTickRatio (float32)
+        // NetworkVarNames: m_PlayerFog (fogplayerparams_t)
+        // NetworkVarNames: m_hColorCorrectionCtrl (CHandle<CColorCorrection>)
+        // NetworkVarNames: m_hViewEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hTonemapController (CHandle<CTonemapController2>)
+        // NetworkVarNames: m_audio (audioparams_t)
+        // NetworkVarNames: m_PostProcessingVolumes (CHandle<CPostProcessingVolume>)
+        public static class CPlayer_CameraServices {
+            public const nint m_vecCsViewPunchAngle = 0x40; // QAngle
+            public const nint m_nCsViewPunchAngleTick = 0x4C; // GameTick_t
+            public const nint m_flCsViewPunchAngleTickRatio = 0x50; // float32
+            public const nint m_PlayerFog = 0x58; // fogplayerparams_t
+            public const nint m_hColorCorrectionCtrl = 0x98; // CHandle<CColorCorrection>
+            public const nint m_hViewEntity = 0x9C; // CHandle<CBaseEntity>
+            public const nint m_hTonemapController = 0xA0; // CHandle<CTonemapController2>
+            public const nint m_audio = 0xA8; // audioparams_t
+            public const nint m_PostProcessingVolumes = 0x120; // CNetworkUtlVectorBase<CHandle<CPostProcessingVolume>>
+            public const nint m_flOldPlayerZ = 0x138; // float32
+            public const nint m_flOldPlayerViewOffsetZ = 0x13C; // float32
+            public const nint m_hTriggerSoundscapeList = 0x158; // CUtlVector<CHandle<CEnvSoundscapeTriggerable>>
+        }
+        // Parent: CBaseEntity
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_fog (fogparams_t)
+        public static class CFogController {
+            public const nint m_fog = 0x4E0; // fogparams_t
+            public const nint m_bUseAngles = 0x548; // bool
+            public const nint m_iChangedVariables = 0x54C; // int32
+        }
+        // Parent: CCSGO_TeamPreviewCharacterPosition
+        // Field count: 0
+        public static class CCSGO_TeamIntroCharacterPosition {
+        }
+        // Parent: CEntityComponent
+        // Field count: 2
+        public static class CBodyComponent {
+            public const nint m_pSceneNode = 0x8; // CGameSceneNode*
+            public const nint __m_pChainEntity = 0x20; // CNetworkVarChainer
+        }
+        // Parent: CBaseCSGrenadeProjectile
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_nDecoyShotTick (int)
+        public static class CDecoyProjectile {
+            public const nint m_nDecoyShotTick = 0xB58; // int32
+            public const nint m_shotsRemaining = 0xB5C; // int32
+            public const nint m_fExpireTime = 0xB60; // GameTime_t
+            public const nint m_decoyWeaponDefIndex = 0xB70; // uint16
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CEnableMotionFixup {
+        }
+        // Parent: CPlayer_MovementServices
+        // Field count: 0
+        public static class CCSObserver_MovementServices {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_duration (float32)
+        // NetworkVarNames: m_timestamp (GameTime_t)
+        // NetworkVarNames: m_timescale (float32)
+        // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+        public static class CountdownTimer {
+            public const nint m_duration = 0x8; // float32
+            public const nint m_timestamp = 0xC; // GameTime_t
+            public const nint m_timescale = 0x10; // float32
+            public const nint m_nWorldGroupId = 0x14; // WorldGroupId_t
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hOwner (CEntityHandle)
+        // NetworkVarNames: m_name (CUtlStringToken)
+        public static class CGameSceneNodeHandle {
+            public const nint m_hOwner = 0x8; // CEntityHandle
+            public const nint m_name = 0xC; // CUtlStringToken
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponMP9 {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 4
+        public static class CPhysicsEntitySolver {
+            public const nint m_hMovingEntity = 0x4E8; // CHandle<CBaseEntity>
+            public const nint m_hPhysicsBlocker = 0x4EC; // CHandle<CBaseEntity>
+            public const nint m_separationDuration = 0x4F0; // float32
+            public const nint m_cancelTime = 0x4F4; // GameTime_t
+        }
+        // Parent: CBaseEntity
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_hPlayer (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hPingedEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_iType (int)
+        // NetworkVarNames: m_bUrgent (bool)
+        // NetworkVarNames: m_szPlaceName (char)
+        public static class CPlayerPing {
+            public const nint m_hPlayer = 0x4E8; // CHandle<CCSPlayerPawn>
+            public const nint m_hPingedEntity = 0x4EC; // CHandle<CBaseEntity>
+            public const nint m_iType = 0x4F0; // int32
+            public const nint m_bUrgent = 0x4F4; // bool
+            public const nint m_szPlaceName = 0x4F5; // char[18]
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: nTagTick (GameTick_t)
+        // NetworkVarNames: flFlinchModSmall (float)
+        // NetworkVarNames: flFlinchModLarge (float)
+        // NetworkVarNames: flFriendlyFireDamageReductionRatio (float)
+        public static class PredictedDamageTag_t {
+            public const nint nTagTick = 0x30; // GameTick_t
+            public const nint flFlinchModSmall = 0x34; // float32
+            public const nint flFlinchModLarge = 0x38; // float32
+            public const nint flFriendlyFireDamageReductionRatio = 0x3C; // float32
+        }
+        // Parent: CCSPointScriptEntity
+        // Field count: 0
+        public static class CCSServerPointScriptEntity {
+        }
+        // Parent: CGameSceneNode
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_modelState (CModelState)
+        // NetworkVarNames: m_bIsAnimationEnabled (bool)
+        // NetworkVarNames: m_bUseParentRenderBounds (bool)
+        // NetworkVarNames: m_materialGroup (CUtlStringToken)
+        // NetworkVarNames: m_nHitboxSet (uint8)
+        public static class CSkeletonInstance {
+            public const nint m_modelState = 0x170; // CModelState
+            public const nint m_bIsAnimationEnabled = 0x3A0; // bool
+            public const nint m_bUseParentRenderBounds = 0x3A1; // bool
+            public const nint m_bDisableSolidCollisionsForHierarchy = 0x3A2; // bool
+            public const nint m_bDirtyMotionType = 0x0; // bitfield:1
+            public const nint m_bIsGeneratingLatchedParentSpaceState = 0x0; // bitfield:1
+            public const nint m_materialGroup = 0x3A4; // CUtlStringToken
+            public const nint m_nHitboxSet = 0x3A8; // uint8
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoLandmark {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponMP7 {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponFiveSeven {
+        }
+        // Parent: CBodyComponentSkeletonInstance
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_animationController (CBaseAnimGraphController)
+        public static class CBodyComponentBaseAnimGraph {
+            public const nint m_animationController = 0x490; // CBaseAnimGraphController
+        }
+        // Parent: CBodyComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_sceneNode (CGameSceneNode)
+        public static class CBodyComponentPoint {
+            public const nint m_sceneNode = 0x50; // CGameSceneNode
+        }
+        // Parent: CBaseEntity
+        // Field count: 8
+        public static class CEnvFireSensor {
+            public const nint m_bEnabled = 0x4E0; // bool
+            public const nint m_bHeatAtLevel = 0x4E1; // bool
+            public const nint m_radius = 0x4E4; // float32
+            public const nint m_targetLevel = 0x4E8; // float32
+            public const nint m_targetTime = 0x4EC; // float32
+            public const nint m_levelTime = 0x4F0; // float32
+            public const nint m_OnHeatLevelStart = 0x4F8; // CEntityIOOutput
+            public const nint m_OnHeatLevelEnd = 0x520; // CEntityIOOutput
+        }
+        // Parent: CCSGO_WingmanIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_WingmanIntroTerroristPosition {
+        }
+        // Parent: None
+        // Field count: 2
+        public static class CEnvWindShared__WindAveEvent_t {
+            public const nint m_flStartWindSpeed = 0x0; // float32
+            public const nint m_flAveWindSpeed = 0x4; // float32
+        }
+        // Parent: CDynamicProp
+        // Field count: 0
+        public static class CDynamicPropAlias_cable_dynamic {
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CPointGamestatsCounter {
+            public const nint m_strStatisticName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_bDisabled = 0x4E8; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 10
+        public static class CEnvShake {
+            public const nint m_limitToEntity = 0x4E0; // CUtlSymbolLarge
+            public const nint m_Amplitude = 0x4E8; // float32
+            public const nint m_Frequency = 0x4EC; // float32
+            public const nint m_Duration = 0x4F0; // float32
+            public const nint m_Radius = 0x4F4; // float32
+            public const nint m_stopTime = 0x4F8; // GameTime_t
+            public const nint m_nextShake = 0x4FC; // GameTime_t
+            public const nint m_currentAmp = 0x500; // float32
+            public const nint m_maxForce = 0x504; // Vector
+            public const nint m_shakeCallback = 0x518; // CPhysicsShake
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CPrecipitationBlocker {
+        }
+        // Parent: CPathKeyFrame
+        // Field count: 11
+        public static class CBaseMoveBehavior {
+            public const nint m_iPositionInterpolator = 0x540; // int32
+            public const nint m_iRotationInterpolator = 0x544; // int32
+            public const nint m_flAnimStartTime = 0x548; // float32
+            public const nint m_flAnimEndTime = 0x54C; // float32
+            public const nint m_flAverageSpeedAcrossFrame = 0x550; // float32
+            public const nint m_pCurrentKeyFrame = 0x558; // CPathKeyFrame*
+            public const nint m_pTargetKeyFrame = 0x560; // CPathKeyFrame*
+            public const nint m_pPreKeyFrame = 0x568; // CPathKeyFrame*
+            public const nint m_pPostKeyFrame = 0x570; // CPathKeyFrame*
+            public const nint m_flTimeIntoFrame = 0x578; // float32
+            public const nint m_iDirection = 0x57C; // int32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CFuncMoverAPI {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CFuncNavObstruction {
+            public const nint m_bDisabled = 0x798; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 4
+        public static class CEnvTilt {
+            public const nint m_Duration = 0x4E0; // float32
+            public const nint m_Radius = 0x4E4; // float32
+            public const nint m_TiltTime = 0x4E8; // float32
+            public const nint m_stopTime = 0x4EC; // GameTime_t
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_bRedraw (bool)
+        // NetworkVarNames: m_bIsHeldByPlayer (bool)
+        // NetworkVarNames: m_bPinPulled (bool)
+        // NetworkVarNames: m_bJumpThrow (bool)
+        // NetworkVarNames: m_bThrowAnimating (bool)
+        // NetworkVarNames: m_fThrowTime (GameTime_t)
+        // NetworkVarNames: m_flThrowStrength (float)
+        // NetworkVarNames: m_flThrowStrengthApproach (float)
+        // NetworkVarNames: m_fDropTime (GameTime_t)
+        // NetworkVarNames: m_fPinPullTime (GameTime_t)
+        // NetworkVarNames: m_bJustPulledPin (bool)
+        // NetworkVarNames: m_nNextHoldTick (GameTick_t)
+        // NetworkVarNames: m_flNextHoldFrac (float)
+        // NetworkVarNames: m_hSwitchToWeaponAfterThrow (CHandle<CCSWeaponBase>)
+        public static class CBaseCSGrenade {
+            public const nint m_bRedraw = 0xF68; // bool
+            public const nint m_bIsHeldByPlayer = 0xF69; // bool
+            public const nint m_bPinPulled = 0xF6A; // bool
+            public const nint m_bJumpThrow = 0xF6B; // bool
+            public const nint m_bThrowAnimating = 0xF6C; // bool
+            public const nint m_fThrowTime = 0xF70; // GameTime_t
+            public const nint m_flThrowStrength = 0xF74; // float32
+            public const nint m_flThrowStrengthApproach = 0xF78; // float32
+            public const nint m_fDropTime = 0xF7C; // GameTime_t
+            public const nint m_fPinPullTime = 0xF80; // GameTime_t
+            public const nint m_bJustPulledPin = 0xF84; // bool
+            public const nint m_nNextHoldTick = 0xF88; // GameTick_t
+            public const nint m_flNextHoldFrac = 0xF8C; // float32
+            public const nint m_hSwitchToWeaponAfterThrow = 0xF90; // CHandle<CCSWeaponBase>
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CItemGenericTriggerHelper {
+            public const nint m_hParentItem = 0x790; // CHandle<CItemGeneric>
+        }
+        // Parent: CLogicalEntity
+        // Field count: 6
+        public static class CLogicBranchList {
+            public const nint m_nLogicBranchNames = 0x4E0; // CUtlSymbolLarge[16]
+            public const nint m_LogicBranchList = 0x560; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_eLastState = 0x578; // CLogicBranchList::LogicBranchListenerLastState_t
+            public const nint m_OnAllTrue = 0x580; // CEntityIOOutput
+            public const nint m_OnAllFalse = 0x5A8; // CEntityIOOutput
+            public const nint m_OnMixed = 0x5D0; // CEntityIOOutput
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_hCtrl (CHandle<CFogController>)
+        public static class fogplayerparams_t {
+            public const nint m_hCtrl = 0x8; // CHandle<CFogController>
+            public const nint m_flTransitionTime = 0xC; // float32
+            public const nint m_OldColor = 0x10; // Color
+            public const nint m_flOldStart = 0x14; // float32
+            public const nint m_flOldEnd = 0x18; // float32
+            public const nint m_flOldMaxDensity = 0x1C; // float32
+            public const nint m_flOldHDRColorScale = 0x20; // float32
+            public const nint m_flOldFarZ = 0x24; // float32
+            public const nint m_NewColor = 0x28; // Color
+            public const nint m_flNewStart = 0x2C; // float32
+            public const nint m_flNewEnd = 0x30; // float32
+            public const nint m_flNewMaxDensity = 0x34; // float32
+            public const nint m_flNewHDRColorScale = 0x38; // float32
+            public const nint m_flNewFarZ = 0x3C; // float32
+        }
+        // Parent: CItemDefuser
+        // Field count: 0
+        public static class CItemDefuserAlias_item_defuser {
+        }
+        // Parent: CModelPointEntity
+        // Field count: 3
+        public static class CRevertSaved {
+            public const nint m_loadTime = 0x790; // float32
+            public const nint m_Duration = 0x794; // float32
+            public const nint m_HoldTime = 0x798; // float32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 8
+        public static class CMultiLightProxy {
+            public const nint m_iszLightNameFilter = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszLightClassFilter = 0x4E8; // CUtlSymbolLarge
+            public const nint m_flLightRadiusFilter = 0x4F0; // float32
+            public const nint m_flBrightnessDelta = 0x4F4; // float32
+            public const nint m_bPerformScreenFade = 0x4F8; // bool
+            public const nint m_flTargetBrightnessMultiplier = 0x4FC; // float32
+            public const nint m_flCurrentBrightnessMultiplier = 0x500; // float32
+            public const nint m_vecLights = 0x508; // CUtlVector<CHandle<CLightEntity>>
+        }
+        // Parent: None
+        // Field count: 21
+        //
+        // Metadata:
+        // NetworkVarNames: m_vOrigin (Vector)
+        // NetworkVarNames: m_vStart (Vector)
+        // NetworkVarNames: m_vNormal (Vector)
+        // NetworkVarNames: m_vAngles (QAngle)
+        // NetworkVarNames: m_hEntity (CEntityHandle)
+        // NetworkVarNames: m_hOtherEntity (CEntityHandle)
+        // NetworkVarNames: m_flScale (float32)
+        // NetworkVarNames: m_flMagnitude (float32)
+        // NetworkVarNames: m_flRadius (float32)
+        // NetworkVarNames: m_nSurfaceProp (CUtlStringToken)
+        // NetworkVarNames: m_nEffectIndex (HParticleSystemDefinition)
+        // NetworkVarNames: m_nDamageType (uint32)
+        // NetworkVarNames: m_nPenetrate (uint8)
+        // NetworkVarNames: m_nMaterial (uint16)
+        // NetworkVarNames: m_nHitBox (uint16)
+        // NetworkVarNames: m_nColor (uint8)
+        // NetworkVarNames: m_fFlags (uint8)
+        // NetworkVarNames: m_nAttachmentIndex (AttachmentHandle_t)
+        // NetworkVarNames: m_nAttachmentName (CUtlStringToken)
+        // NetworkVarNames: m_iEffectName (uint16)
+        // NetworkVarNames: m_nExplosionType (uint8)
+        public static class CEffectData {
+            public const nint m_vOrigin = 0x8; // Vector
+            public const nint m_vStart = 0x14; // Vector
+            public const nint m_vNormal = 0x20; // Vector
+            public const nint m_vAngles = 0x2C; // QAngle
+            public const nint m_hEntity = 0x38; // CEntityHandle
+            public const nint m_hOtherEntity = 0x3C; // CEntityHandle
+            public const nint m_flScale = 0x40; // float32
+            public const nint m_flMagnitude = 0x44; // float32
+            public const nint m_flRadius = 0x48; // float32
+            public const nint m_nSurfaceProp = 0x4C; // CUtlStringToken
+            public const nint m_nEffectIndex = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_nDamageType = 0x58; // uint32
+            public const nint m_nPenetrate = 0x5C; // uint8
+            public const nint m_nMaterial = 0x5E; // uint16
+            public const nint m_nHitBox = 0x60; // uint16
+            public const nint m_nColor = 0x62; // uint8
+            public const nint m_fFlags = 0x63; // uint8
+            public const nint m_nAttachmentIndex = 0x64; // AttachmentHandle_t
+            public const nint m_nAttachmentName = 0x68; // CUtlStringToken
+            public const nint m_iEffectName = 0x6C; // uint16
+            public const nint m_nExplosionType = 0x6E; // uint8
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CEntityBlocker {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 6
+        public static class CLogicCase {
+            public const nint m_nCase = 0x4E0; // CUtlSymbolLarge[32]
+            public const nint m_nShuffleCases = 0x5E0; // int32
+            public const nint m_nLastShuffleCase = 0x5E4; // int32
+            public const nint m_uchShuffleCaseMap = 0x5E8; // uint8[32]
+            public const nint m_OnCase = 0x608; // CEntityIOOutput[32]
+            public const nint m_OnDefault = 0xB08; // CEntityOutputTemplate<CVariantBase<CVariantDefaultAllocator>>
+        }
+        // Parent: CItem
+        // Field count: 2
+        public static class CItemDefuser {
+            public const nint m_entitySpottedState = 0xA80; // EntitySpottedState_t
+            public const nint m_nSpotRules = 0xA98; // int32
+        }
+        // Parent: CRuleEntity
+        // Field count: 0
+        public static class CRuleBrushEntity {
+        }
+        // Parent: CInferno
+        // Field count: 0
+        public static class CFireCrackerBlast {
+        }
+        // Parent: CBaseEntity
+        // Field count: 14
+        public static class CSoundEventEntity {
+            public const nint m_bStartOnSpawn = 0x4E0; // bool
+            public const nint m_bToLocalPlayer = 0x4E1; // bool
+            public const nint m_bStopOnNew = 0x4E2; // bool
+            public const nint m_bSaveRestore = 0x4E3; // bool
+            public const nint m_bSavedIsPlaying = 0x4E4; // bool
+            public const nint m_flSavedElapsedTime = 0x4E8; // float32
+            public const nint m_iszSourceEntityName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_iszAttachmentName = 0x4F8; // CUtlSymbolLarge
+            public const nint m_onGUIDChanged = 0x500; // CEntityOutputTemplate<uint64>
+            public const nint m_onSoundFinished = 0x528; // CEntityIOOutput
+            public const nint m_flClientCullRadius = 0x550; // float32
+            public const nint m_iszSoundName = 0x580; // CUtlSymbolLarge
+            public const nint m_hSource = 0x590; // CEntityHandle
+            public const nint m_nEntityIndexSelection = 0x594; // int32
+        }
+        // Parent: CPlayer_ViewModelServices
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_hViewModel (CHandle<CBaseViewModel>)
+        public static class CCSPlayer_ViewModelServices {
+            public const nint m_hViewModel = 0x40; // CHandle<CBaseViewModel>[3]
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_SequenceCompleteTimer (CountdownTimer)
+        // NetworkVarNames: m_bRedraw (bool)
+        public static class CWeaponBaseItem {
+            public const nint m_SequenceCompleteTimer = 0xF68; // CountdownTimer
+            public const nint m_bRedraw = 0xF80; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoParticleTarget {
+        }
+        // Parent: CBaseEntity
+        // Field count: 34
+        //
+        // Metadata:
+        // NetworkVarNames: m_flScattering (float)
+        // NetworkVarNames: m_flAnisotropy (float)
+        // NetworkVarNames: m_flFadeSpeed (float)
+        // NetworkVarNames: m_flDrawDistance (float)
+        // NetworkVarNames: m_flFadeInStart (float)
+        // NetworkVarNames: m_flFadeInEnd (float)
+        // NetworkVarNames: m_flIndirectStrength (float)
+        // NetworkVarNames: m_nVolumeDepth (int)
+        // NetworkVarNames: m_fFirstVolumeSliceThickness (float)
+        // NetworkVarNames: m_nIndirectTextureDimX (int)
+        // NetworkVarNames: m_nIndirectTextureDimY (int)
+        // NetworkVarNames: m_nIndirectTextureDimZ (int)
+        // NetworkVarNames: m_vBoxMins (Vector)
+        // NetworkVarNames: m_vBoxMaxs (Vector)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_flStartAnisoTime (GameTime_t)
+        // NetworkVarNames: m_flStartScatterTime (GameTime_t)
+        // NetworkVarNames: m_flStartDrawDistanceTime (GameTime_t)
+        // NetworkVarNames: m_flStartAnisotropy (float)
+        // NetworkVarNames: m_flStartScattering (float)
+        // NetworkVarNames: m_flStartDrawDistance (float)
+        // NetworkVarNames: m_flDefaultAnisotropy (float)
+        // NetworkVarNames: m_flDefaultScattering (float)
+        // NetworkVarNames: m_flDefaultDrawDistance (float)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_bEnableIndirect (bool)
+        // NetworkVarNames: m_bIndirectUseLPVs (bool)
+        // NetworkVarNames: m_bIsMaster (bool)
+        // NetworkVarNames: m_hFogIndirectTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_nForceRefreshCount (int)
+        // NetworkVarNames: m_fNoiseSpeed (float)
+        // NetworkVarNames: m_fNoiseStrength (float)
+        // NetworkVarNames: m_vNoiseScale (Vector)
+        public static class CEnvVolumetricFogController {
+            public const nint m_flScattering = 0x4E0; // float32
+            public const nint m_flAnisotropy = 0x4E4; // float32
+            public const nint m_flFadeSpeed = 0x4E8; // float32
+            public const nint m_flDrawDistance = 0x4EC; // float32
+            public const nint m_flFadeInStart = 0x4F0; // float32
+            public const nint m_flFadeInEnd = 0x4F4; // float32
+            public const nint m_flIndirectStrength = 0x4F8; // float32
+            public const nint m_nVolumeDepth = 0x4FC; // int32
+            public const nint m_fFirstVolumeSliceThickness = 0x500; // float32
+            public const nint m_nIndirectTextureDimX = 0x504; // int32
+            public const nint m_nIndirectTextureDimY = 0x508; // int32
+            public const nint m_nIndirectTextureDimZ = 0x50C; // int32
+            public const nint m_vBoxMins = 0x510; // Vector
+            public const nint m_vBoxMaxs = 0x51C; // Vector
+            public const nint m_bActive = 0x528; // bool
+            public const nint m_flStartAnisoTime = 0x52C; // GameTime_t
+            public const nint m_flStartScatterTime = 0x530; // GameTime_t
+            public const nint m_flStartDrawDistanceTime = 0x534; // GameTime_t
+            public const nint m_flStartAnisotropy = 0x538; // float32
+            public const nint m_flStartScattering = 0x53C; // float32
+            public const nint m_flStartDrawDistance = 0x540; // float32
+            public const nint m_flDefaultAnisotropy = 0x544; // float32
+            public const nint m_flDefaultScattering = 0x548; // float32
+            public const nint m_flDefaultDrawDistance = 0x54C; // float32
+            public const nint m_bStartDisabled = 0x550; // bool
+            public const nint m_bEnableIndirect = 0x551; // bool
+            public const nint m_bIndirectUseLPVs = 0x552; // bool
+            public const nint m_bIsMaster = 0x553; // bool
+            public const nint m_hFogIndirectTexture = 0x558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_nForceRefreshCount = 0x560; // int32
+            public const nint m_fNoiseSpeed = 0x564; // float32
+            public const nint m_fNoiseStrength = 0x568; // float32
+            public const nint m_vNoiseScale = 0x56C; // Vector
+            public const nint m_bFirstTime = 0x578; // bool
+        }
+        // Parent: CPlayer_MovementServices
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFallVelocity (float32)
+        // NetworkVarNames: m_bInCrouch (bool)
+        // NetworkVarNames: m_nCrouchState (uint32)
+        // NetworkVarNames: m_flCrouchTransitionStartTime (GameTime_t)
+        // NetworkVarNames: m_bDucked (bool)
+        // NetworkVarNames: m_bDucking (bool)
+        // NetworkVarNames: m_bInDuckJump (bool)
+        public static class CPlayer_MovementServices_Humanoid {
+            public const nint m_flStepSoundTime = 0x1D8; // float32
+            public const nint m_flFallVelocity = 0x1DC; // float32
+            public const nint m_bInCrouch = 0x1E0; // bool
+            public const nint m_nCrouchState = 0x1E4; // uint32
+            public const nint m_flCrouchTransitionStartTime = 0x1E8; // GameTime_t
+            public const nint m_bDucked = 0x1EC; // bool
+            public const nint m_bDucking = 0x1ED; // bool
+            public const nint m_bInDuckJump = 0x1EE; // bool
+            public const nint m_groundNormal = 0x1F0; // Vector
+            public const nint m_flSurfaceFriction = 0x1FC; // float32
+            public const nint m_surfaceProps = 0x200; // CUtlStringToken
+            public const nint m_nStepside = 0x210; // int32
+            public const nint m_iTargetVolume = 0x214; // int32
+            public const nint m_vecSmoothedVelocity = 0x218; // Vector
+        }
+        // Parent: CPhysicsProp
+        // Field count: 5
+        public static class CPhysicsPropRespawnable {
+            public const nint m_vOriginalSpawnOrigin = 0xD00; // Vector
+            public const nint m_vOriginalSpawnAngles = 0xD0C; // QAngle
+            public const nint m_vOriginalMins = 0xD18; // Vector
+            public const nint m_vOriginalMaxs = 0xD24; // Vector
+            public const nint m_flRespawnDuration = 0xD30; // float32
+        }
+        // Parent: CEnvSoundscapeProxy
+        // Field count: 0
+        public static class CEnvSoundscapeProxyAlias_snd_soundscape_proxy {
+        }
+        // Parent: CPhysConstraint
+        // Field count: 6
+        public static class CPhysBallSocket {
+            public const nint m_flJointFriction = 0x558; // float32
+            public const nint m_bEnableSwingLimit = 0x55C; // bool
+            public const nint m_flSwingLimit = 0x560; // float32
+            public const nint m_bEnableTwistLimit = 0x564; // bool
+            public const nint m_flMinTwistAngle = 0x568; // float32
+            public const nint m_flMaxTwistAngle = 0x56C; // float32
+        }
+        // Parent: CCSGameModeRules
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_flDMBonusStartTime (GameTime_t)
+        // NetworkVarNames: m_flDMBonusTimeLength (float)
+        // NetworkVarNames: m_sDMBonusWeapon (CUtlString)
+        public static class CCSGameModeRules_Deathmatch {
+            public const nint m_flDMBonusStartTime = 0x30; // GameTime_t
+            public const nint m_flDMBonusTimeLength = 0x34; // float32
+            public const nint m_sDMBonusWeapon = 0x38; // CUtlString
+        }
+        // Parent: CItemAssaultSuit
+        // Field count: 0
+        public static class CItemHeavyAssaultSuit {
+        }
+        // Parent: CPointEntity
+        // Field count: 3
+        public static class CInfoPlayerStart {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_bIsMaster = 0x4E1; // bool
+            public const nint m_pPawnSubclass = 0x4E8; // CGlobalSymbol
+        }
+        // Parent: CSoundOpvarSetPointBase
+        // Field count: 8
+        public static class CSoundOpvarSetOBBWindEntity {
+            public const nint m_vMins = 0x578; // Vector
+            public const nint m_vMaxs = 0x584; // Vector
+            public const nint m_vDistanceMins = 0x590; // Vector
+            public const nint m_vDistanceMaxs = 0x59C; // Vector
+            public const nint m_flWindMin = 0x5A8; // float32
+            public const nint m_flWindMax = 0x5AC; // float32
+            public const nint m_flWindMapMin = 0x5B0; // float32
+            public const nint m_flWindMapMax = 0x5B4; // float32
+        }
+        // Parent: CRagdollProp
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_boneIndexAttached (uint32)
+        // NetworkVarNames: m_ragdollAttachedObjectIndex (uint32)
+        // NetworkVarNames: m_attachmentPointBoneSpace (Vector)
+        // NetworkVarNames: m_attachmentPointRagdollSpace (Vector)
+        public static class CRagdollPropAttached {
+            public const nint m_boneIndexAttached = 0xB48; // uint32
+            public const nint m_ragdollAttachedObjectIndex = 0xB4C; // uint32
+            public const nint m_attachmentPointBoneSpace = 0xB50; // Vector
+            public const nint m_attachmentPointRagdollSpace = 0xB5C; // Vector
+            public const nint m_bShouldDetach = 0xB68; // bool
+            public const nint m_bShouldDeleteAttachedActivationRecord = 0xB78; // bool
+        }
+        // Parent: CItem
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_OwningPlayer (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_KillingPlayer (CHandle<CCSPlayerPawn>)
+        public static class CItemDogtags {
+            public const nint m_OwningPlayer = 0xA80; // CHandle<CCSPlayerPawn>
+            public const nint m_KillingPlayer = 0xA84; // CHandle<CCSPlayerPawn>
+        }
+        // Parent: CItem
+        // Field count: 32
+        public static class CItemGeneric {
+            public const nint m_bHasTriggerRadius = 0xA88; // bool
+            public const nint m_bHasPickupRadius = 0xA89; // bool
+            public const nint m_flPickupRadiusSqr = 0xA8C; // float32
+            public const nint m_flTriggerRadiusSqr = 0xA90; // float32
+            public const nint m_flLastPickupCheck = 0xA94; // GameTime_t
+            public const nint m_bPlayerCounterListenerAdded = 0xA98; // bool
+            public const nint m_bPlayerInTriggerRadius = 0xA99; // bool
+            public const nint m_hSpawnParticleEffect = 0xAA0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_pAmbientSoundEffect = 0xAA8; // CUtlSymbolLarge
+            public const nint m_bAutoStartAmbientSound = 0xAB0; // bool
+            public const nint m_pSpawnScriptFunction = 0xAB8; // CUtlSymbolLarge
+            public const nint m_hPickupParticleEffect = 0xAC0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_pPickupSoundEffect = 0xAC8; // CUtlSymbolLarge
+            public const nint m_pPickupScriptFunction = 0xAD0; // CUtlSymbolLarge
+            public const nint m_hTimeoutParticleEffect = 0xAD8; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_pTimeoutSoundEffect = 0xAE0; // CUtlSymbolLarge
+            public const nint m_pTimeoutScriptFunction = 0xAE8; // CUtlSymbolLarge
+            public const nint m_pPickupFilterName = 0xAF0; // CUtlSymbolLarge
+            public const nint m_hPickupFilter = 0xAF8; // CHandle<CBaseFilter>
+            public const nint m_OnPickup = 0xB00; // CEntityIOOutput
+            public const nint m_OnTimeout = 0xB28; // CEntityIOOutput
+            public const nint m_OnTriggerStartTouch = 0xB50; // CEntityIOOutput
+            public const nint m_OnTriggerTouch = 0xB78; // CEntityIOOutput
+            public const nint m_OnTriggerEndTouch = 0xBA0; // CEntityIOOutput
+            public const nint m_pAllowPickupScriptFunction = 0xBC8; // CUtlSymbolLarge
+            public const nint m_flPickupRadius = 0xBD0; // float32
+            public const nint m_flTriggerRadius = 0xBD4; // float32
+            public const nint m_pTriggerSoundEffect = 0xBD8; // CUtlSymbolLarge
+            public const nint m_bGlowWhenInTrigger = 0xBE0; // bool
+            public const nint m_glowColor = 0xBE1; // Color
+            public const nint m_bUseable = 0xBE5; // bool
+            public const nint m_hTriggerHelper = 0xBE8; // CHandle<CItemGenericTriggerHelper>
+        }
+        // Parent: CLightEntity
+        // Field count: 0
+        public static class CLightSpotEntity {
+        }
+        // Parent: CPlayer_WaterServices
+        // Field count: 6
+        public static class CCSPlayer_WaterServices {
+            public const nint m_NextDrownDamageTime = 0x40; // float32
+            public const nint m_nDrownDmgRate = 0x44; // int32
+            public const nint m_AirFinishedTime = 0x48; // GameTime_t
+            public const nint m_flWaterJumpTime = 0x4C; // float32
+            public const nint m_vecWaterJumpVel = 0x50; // Vector
+            public const nint m_flSwimSoundTime = 0x5C; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 2
+        public static class CSkyboxReference {
+            public const nint m_worldGroupId = 0x4E0; // WorldGroupId_t
+            public const nint m_hSkyCamera = 0x4E4; // CHandle<CSkyCamera>
+        }
+        // Parent: CBasePropDoor
+        // Field count: 17
+        public static class CPropDoorRotating {
+            public const nint m_vecAxis = 0xEE8; // Vector
+            public const nint m_flDistance = 0xEF4; // float32
+            public const nint m_eSpawnPosition = 0xEF8; // PropDoorRotatingSpawnPos_t
+            public const nint m_eOpenDirection = 0xEFC; // PropDoorRotatingOpenDirection_e
+            public const nint m_eCurrentOpenDirection = 0xF00; // PropDoorRotatingOpenDirection_e
+            public const nint m_flAjarAngle = 0xF04; // float32
+            public const nint m_angRotationAjarDeprecated = 0xF08; // QAngle
+            public const nint m_angRotationClosed = 0xF14; // QAngle
+            public const nint m_angRotationOpenForward = 0xF20; // QAngle
+            public const nint m_angRotationOpenBack = 0xF2C; // QAngle
+            public const nint m_angGoal = 0xF38; // QAngle
+            public const nint m_vecForwardBoundsMin = 0xF44; // Vector
+            public const nint m_vecForwardBoundsMax = 0xF50; // Vector
+            public const nint m_vecBackBoundsMin = 0xF5C; // Vector
+            public const nint m_vecBackBoundsMax = 0xF68; // Vector
+            public const nint m_bAjarDoorShouldntAlwaysOpen = 0xF74; // bool
+            public const nint m_hEntityBlocker = 0xF78; // CHandle<CEntityBlocker>
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 21
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_RopeFlags (uint16)
+        // NetworkVarNames: m_Slack (int16)
+        // NetworkVarNames: m_Width (float32)
+        // NetworkVarNames: m_TextureScale (float32)
+        // NetworkVarNames: m_nSegments (uint8)
+        // NetworkVarNames: m_bConstrainBetweenEndpoints (bool)
+        // NetworkVarNames: m_iRopeMaterialModelIndex (HMaterialStrong)
+        // NetworkVarNames: m_Subdiv (uint8)
+        // NetworkVarNames: m_nChangeCount (uint8)
+        // NetworkVarNames: m_RopeLength (int16)
+        // NetworkVarNames: m_fLockedPoints (uint8)
+        // NetworkVarNames: m_flScrollSpeed (float32)
+        // NetworkVarNames: m_hStartPoint (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hEndPoint (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_iStartAttachment (AttachmentHandle_t)
+        // NetworkVarNames: m_iEndAttachment (AttachmentHandle_t)
+        public static class CRopeKeyframe {
+            public const nint m_RopeFlags = 0x798; // uint16
+            public const nint m_iNextLinkName = 0x7A0; // CUtlSymbolLarge
+            public const nint m_Slack = 0x7A8; // int16
+            public const nint m_Width = 0x7AC; // float32
+            public const nint m_TextureScale = 0x7B0; // float32
+            public const nint m_nSegments = 0x7B4; // uint8
+            public const nint m_bConstrainBetweenEndpoints = 0x7B5; // bool
+            public const nint m_strRopeMaterialModel = 0x7B8; // CUtlSymbolLarge
+            public const nint m_iRopeMaterialModelIndex = 0x7C0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_Subdiv = 0x7C8; // uint8
+            public const nint m_nChangeCount = 0x7C9; // uint8
+            public const nint m_RopeLength = 0x7CA; // int16
+            public const nint m_fLockedPoints = 0x7CC; // uint8
+            public const nint m_bCreatedFromMapFile = 0x7CD; // bool
+            public const nint m_flScrollSpeed = 0x7D0; // float32
+            public const nint m_bStartPointValid = 0x7D4; // bool
+            public const nint m_bEndPointValid = 0x7D5; // bool
+            public const nint m_hStartPoint = 0x7D8; // CHandle<CBaseEntity>
+            public const nint m_hEndPoint = 0x7DC; // CHandle<CBaseEntity>
+            public const nint m_iStartAttachment = 0x7E0; // AttachmentHandle_t
+            public const nint m_iEndAttachment = 0x7E1; // AttachmentHandle_t
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 73
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_nColorMode (int)
+        // NetworkVarNames: m_Color (Color)
+        // NetworkVarNames: m_flColorTemperature (float)
+        // NetworkVarNames: m_flBrightness (float)
+        // NetworkVarNames: m_flBrightnessScale (float)
+        // NetworkVarNames: m_nDirectLight (int)
+        // NetworkVarNames: m_nBakedShadowIndex (int)
+        // NetworkVarNames: m_nLuminaireShape (int)
+        // NetworkVarNames: m_flLuminaireSize (float)
+        // NetworkVarNames: m_flLuminaireAnisotropy (float)
+        // NetworkVarNames: m_LightStyleString (CUtlString)
+        // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+        // NetworkVarNames: m_QueuedLightStyleStrings (CUtlString)
+        // NetworkVarNames: m_LightStyleEvents (CUtlString)
+        // NetworkVarNames: m_LightStyleTargets (CHandle<CBaseModelEntity>)
+        // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+        // NetworkVarNames: m_flShape (float)
+        // NetworkVarNames: m_flSoftX (float)
+        // NetworkVarNames: m_flSoftY (float)
+        // NetworkVarNames: m_flSkirt (float)
+        // NetworkVarNames: m_flSkirtNear (float)
+        // NetworkVarNames: m_vSizeParams (Vector)
+        // NetworkVarNames: m_flRange (float)
+        // NetworkVarNames: m_vShear (Vector)
+        // NetworkVarNames: m_nBakeSpecularToCubemaps (int)
+        // NetworkVarNames: m_vBakeSpecularToCubemapsSize (Vector)
+        // NetworkVarNames: m_nCastShadows (int)
+        // NetworkVarNames: m_nShadowMapSize (int)
+        // NetworkVarNames: m_nShadowPriority (int)
+        // NetworkVarNames: m_bContactShadow (bool)
+        // NetworkVarNames: m_nBounceLight (int)
+        // NetworkVarNames: m_flBounceScale (float)
+        // NetworkVarNames: m_flMinRoughness (float)
+        // NetworkVarNames: m_vAlternateColor (Vector)
+        // NetworkVarNames: m_fAlternateColorBrightness (float)
+        // NetworkVarNames: m_nFog (int)
+        // NetworkVarNames: m_flFogStrength (float)
+        // NetworkVarNames: m_nFogShadows (int)
+        // NetworkVarNames: m_flFogScale (float)
+        // NetworkVarNames: m_bFogMixedShadows (bool)
+        // NetworkVarNames: m_flFadeSizeStart (float)
+        // NetworkVarNames: m_flFadeSizeEnd (float)
+        // NetworkVarNames: m_flShadowFadeSizeStart (float)
+        // NetworkVarNames: m_flShadowFadeSizeEnd (float)
+        // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+        // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+        // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+        // NetworkVarNames: m_nPrecomputedSubFrusta (int)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin0 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles0 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent0 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin1 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles1 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent1 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin2 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles2 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent2 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin3 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles3 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent3 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin4 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles4 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent4 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin5 (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles5 (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent5 (Vector)
+        // NetworkVarNames: m_VisClusters (uint16)
+        public static class CBarnLight {
+            public const nint m_bEnabled = 0x790; // bool
+            public const nint m_nColorMode = 0x794; // int32
+            public const nint m_Color = 0x798; // Color
+            public const nint m_flColorTemperature = 0x79C; // float32
+            public const nint m_flBrightness = 0x7A0; // float32
+            public const nint m_flBrightnessScale = 0x7A4; // float32
+            public const nint m_nDirectLight = 0x7A8; // int32
+            public const nint m_nBakedShadowIndex = 0x7AC; // int32
+            public const nint m_nLuminaireShape = 0x7B0; // int32
+            public const nint m_flLuminaireSize = 0x7B4; // float32
+            public const nint m_flLuminaireAnisotropy = 0x7B8; // float32
+            public const nint m_LightStyleString = 0x7C0; // CUtlString
+            public const nint m_flLightStyleStartTime = 0x7C8; // GameTime_t
+            public const nint m_QueuedLightStyleStrings = 0x7D0; // CNetworkUtlVectorBase<CUtlString>
+            public const nint m_LightStyleEvents = 0x7E8; // CNetworkUtlVectorBase<CUtlString>
+            public const nint m_LightStyleTargets = 0x800; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+            public const nint m_StyleEvent = 0x818; // CEntityIOOutput[4]
+            public const nint m_hLightCookie = 0x8D8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_flShape = 0x8E0; // float32
+            public const nint m_flSoftX = 0x8E4; // float32
+            public const nint m_flSoftY = 0x8E8; // float32
+            public const nint m_flSkirt = 0x8EC; // float32
+            public const nint m_flSkirtNear = 0x8F0; // float32
+            public const nint m_vSizeParams = 0x8F4; // Vector
+            public const nint m_flRange = 0x900; // float32
+            public const nint m_vShear = 0x904; // Vector
+            public const nint m_nBakeSpecularToCubemaps = 0x910; // int32
+            public const nint m_vBakeSpecularToCubemapsSize = 0x914; // Vector
+            public const nint m_nCastShadows = 0x920; // int32
+            public const nint m_nShadowMapSize = 0x924; // int32
+            public const nint m_nShadowPriority = 0x928; // int32
+            public const nint m_bContactShadow = 0x92C; // bool
+            public const nint m_nBounceLight = 0x930; // int32
+            public const nint m_flBounceScale = 0x934; // float32
+            public const nint m_flMinRoughness = 0x938; // float32
+            public const nint m_vAlternateColor = 0x93C; // Vector
+            public const nint m_fAlternateColorBrightness = 0x948; // float32
+            public const nint m_nFog = 0x94C; // int32
+            public const nint m_flFogStrength = 0x950; // float32
+            public const nint m_nFogShadows = 0x954; // int32
+            public const nint m_flFogScale = 0x958; // float32
+            public const nint m_bFogMixedShadows = 0x95C; // bool
+            public const nint m_flFadeSizeStart = 0x960; // float32
+            public const nint m_flFadeSizeEnd = 0x964; // float32
+            public const nint m_flShadowFadeSizeStart = 0x968; // float32
+            public const nint m_flShadowFadeSizeEnd = 0x96C; // float32
+            public const nint m_bPrecomputedFieldsValid = 0x970; // bool
+            public const nint m_vPrecomputedBoundsMins = 0x974; // Vector
+            public const nint m_vPrecomputedBoundsMaxs = 0x980; // Vector
+            public const nint m_vPrecomputedOBBOrigin = 0x98C; // Vector
+            public const nint m_vPrecomputedOBBAngles = 0x998; // QAngle
+            public const nint m_vPrecomputedOBBExtent = 0x9A4; // Vector
+            public const nint m_nPrecomputedSubFrusta = 0x9B0; // int32
+            public const nint m_vPrecomputedOBBOrigin0 = 0x9B4; // Vector
+            public const nint m_vPrecomputedOBBAngles0 = 0x9C0; // QAngle
+            public const nint m_vPrecomputedOBBExtent0 = 0x9CC; // Vector
+            public const nint m_vPrecomputedOBBOrigin1 = 0x9D8; // Vector
+            public const nint m_vPrecomputedOBBAngles1 = 0x9E4; // QAngle
+            public const nint m_vPrecomputedOBBExtent1 = 0x9F0; // Vector
+            public const nint m_vPrecomputedOBBOrigin2 = 0x9FC; // Vector
+            public const nint m_vPrecomputedOBBAngles2 = 0xA08; // QAngle
+            public const nint m_vPrecomputedOBBExtent2 = 0xA14; // Vector
+            public const nint m_vPrecomputedOBBOrigin3 = 0xA20; // Vector
+            public const nint m_vPrecomputedOBBAngles3 = 0xA2C; // QAngle
+            public const nint m_vPrecomputedOBBExtent3 = 0xA38; // Vector
+            public const nint m_vPrecomputedOBBOrigin4 = 0xA44; // Vector
+            public const nint m_vPrecomputedOBBAngles4 = 0xA50; // QAngle
+            public const nint m_vPrecomputedOBBExtent4 = 0xA5C; // Vector
+            public const nint m_vPrecomputedOBBOrigin5 = 0xA68; // Vector
+            public const nint m_vPrecomputedOBBAngles5 = 0xA74; // QAngle
+            public const nint m_vPrecomputedOBBExtent5 = 0xA80; // Vector
+            public const nint m_bPvsModifyEntity = 0xA8C; // bool
+            public const nint m_VisClusters = 0xA90; // CNetworkUtlVectorBase<uint16>
+        }
+        // Parent: SpawnPoint
+        // Field count: 0
+        public static class CInfoDeathmatchSpawn {
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CEnvViewPunch {
+            public const nint m_flRadius = 0x4E0; // float32
+            public const nint m_angViewPunch = 0x4E4; // QAngle
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CDEagle {
+        }
+        // Parent: CPointEntity
+        // Field count: 3
+        public static class CPathCorner {
+            public const nint m_flWait = 0x4E0; // float32
+            public const nint m_flRadius = 0x4E4; // float32
+            public const nint m_OnPass = 0x4E8; // CEntityIOOutput
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_unMusicID (item_definition_index_t)
+        // NetworkVarNames: m_rank (MedalRank_t)
+        // NetworkVarNames: m_nPersonaDataPublicLevel (int)
+        // NetworkVarNames: m_nPersonaDataPublicCommendsLeader (int)
+        // NetworkVarNames: m_nPersonaDataPublicCommendsTeacher (int)
+        // NetworkVarNames: m_nPersonaDataPublicCommendsFriendly (int)
+        // NetworkVarNames: m_nPersonaDataXpTrailLevel (int)
+        // NetworkVarNames: m_vecServerAuthoritativeWeaponSlots (ServerAuthoritativeWeaponSlot_t)
+        public static class CCSPlayerController_InventoryServices {
+            public const nint m_unMusicID = 0x40; // uint16
+            public const nint m_rank = 0x44; // MedalRank_t[6]
+            public const nint m_nPersonaDataPublicLevel = 0x5C; // int32
+            public const nint m_nPersonaDataPublicCommendsLeader = 0x60; // int32
+            public const nint m_nPersonaDataPublicCommendsTeacher = 0x64; // int32
+            public const nint m_nPersonaDataPublicCommendsFriendly = 0x68; // int32
+            public const nint m_nPersonaDataXpTrailLevel = 0x6C; // int32
+            public const nint m_unEquippedPlayerSprayIDs = 0xF48; // uint32[1]
+            public const nint m_vecServerAuthoritativeWeaponSlots = 0xF50; // CUtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
+        }
+        // Parent: CAttributeManager
+        // Field count: 1
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_Item (CEconItemView)
+        public static class CAttributeContainer {
+            public const nint m_Item = 0x50; // CEconItemView
+        }
+        // Parent: CHostage
+        // Field count: 0
+        public static class CHostageAlias_info_hostage_spawn {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 5
+        public static class CMultiSource {
+            public const nint m_rgEntities = 0x4E0; // CHandle<CBaseEntity>[32]
+            public const nint m_rgTriggered = 0x560; // int32[32]
+            public const nint m_OnTrigger = 0x5E0; // CEntityIOOutput
+            public const nint m_iTotal = 0x608; // int32
+            public const nint m_globalstate = 0x610; // CUtlSymbolLarge
+        }
+        // Parent: CLogicalEntity
+        // Field count: 2
+        public static class CLogicNavigation {
+            public const nint m_isOn = 0x4E8; // bool
+            public const nint m_navProperty = 0x4EC; // navproperties_t
+        }
+        // Parent: CPointEntity
+        // Field count: 12
+        public static class CEnvEntityMaker {
+            public const nint m_vecEntityMins = 0x4E0; // Vector
+            public const nint m_vecEntityMaxs = 0x4EC; // Vector
+            public const nint m_hCurrentInstance = 0x4F8; // CHandle<CBaseEntity>
+            public const nint m_hCurrentBlocker = 0x4FC; // CHandle<CBaseEntity>
+            public const nint m_vecBlockerOrigin = 0x500; // Vector
+            public const nint m_angPostSpawnDirection = 0x50C; // QAngle
+            public const nint m_flPostSpawnDirectionVariance = 0x518; // float32
+            public const nint m_flPostSpawnSpeed = 0x51C; // float32
+            public const nint m_bPostSpawnUseAngles = 0x520; // bool
+            public const nint m_iszTemplate = 0x528; // CUtlSymbolLarge
+            public const nint m_pOutputOnSpawned = 0x530; // CEntityIOOutput
+            public const nint m_pOutputOnFailedSpawn = 0x558; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CPointEntity {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 4
+        public static class CLogicEventListener {
+            public const nint m_strEventName = 0x4F0; // CUtlString
+            public const nint m_bIsEnabled = 0x4F8; // bool
+            public const nint m_nTeam = 0x4FC; // int32
+            public const nint m_OnEventFired = 0x500; // CEntityIOOutput
+        }
+        // Parent: CBaseFilter
+        // Field count: 4
+        public static class CFilterMultiple {
+            public const nint m_nFilterType = 0x538; // filter_t
+            public const nint m_iFilterName = 0x540; // CUtlSymbolLarge[10]
+            public const nint m_hFilter = 0x590; // CHandle<CBaseEntity>[10]
+            public const nint m_nFilterCount = 0x5B8; // int32
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_UseServices {
+        }
+        // Parent: CBasePulseGraphInstance
+        // Field count: 1
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        // MPulseDomainOptInFeatureTag
+        // MPulseDomainOptInGameBlackboard
+        // MPulseDomainOptInValueType
+        public static class CPulseGraphInstance_ServerEntity {
+            public const nint m_pComponent = 0x100; // CPulseGraphComponentBase*
+        }
+        // Parent: CEntityComponent
+        // Field count: 1
+        public static class CScriptComponent {
+            public const nint m_scriptClassName = 0x30; // CUtlSymbolLarge
+        }
+        // Parent: CBaseEntity
+        // Field count: 1
+        public static class CPhysicsWire {
+            public const nint m_nDensity = 0x4E0; // int32
+        }
+        // Parent: CPropDoorRotating
+        // Field count: 4
+        public static class CPropDoorRotatingBreakable {
+            public const nint m_bBreakable = 0xF80; // bool
+            public const nint m_isAbleToCloseAreaPortals = 0xF81; // bool
+            public const nint m_currentDamageState = 0xF84; // int32
+            public const nint m_damageStates = 0xF88; // CUtlVector<CUtlSymbolLarge>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_player_controller {
+        }
+        // Parent: CBaseFire
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_nFlameModelIndex (int32)
+        // NetworkVarNames: m_nFlameFromAboveModelIndex (int32)
+        public static class CFireSmoke {
+            public const nint m_nFlameModelIndex = 0x4F0; // int32
+            public const nint m_nFlameFromAboveModelIndex = 0x4F4; // int32
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 7
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_nHorizontalSize (uint32)
+        // NetworkVarNames: m_nVerticalSize (uint32)
+        // NetworkVarNames: m_nMinDist (uint32)
+        // NetworkVarNames: m_nMaxDist (uint32)
+        // NetworkVarNames: m_nOuterMaxDist (uint32)
+        // NetworkVarNames: m_flGlowProxySize (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        public static class CLightGlow {
+            public const nint m_nHorizontalSize = 0x790; // uint32
+            public const nint m_nVerticalSize = 0x794; // uint32
+            public const nint m_nMinDist = 0x798; // uint32
+            public const nint m_nMaxDist = 0x79C; // uint32
+            public const nint m_nOuterMaxDist = 0x7A0; // uint32
+            public const nint m_flGlowProxySize = 0x7A4; // float32
+            public const nint m_flHDRColorScale = 0x7A8; // float32
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_iKills (int)
+        // NetworkVarNames: m_iDeaths (int)
+        // NetworkVarNames: m_iAssists (int)
+        // NetworkVarNames: m_iDamage (int)
+        // NetworkVarNames: m_iEquipmentValue (int)
+        // NetworkVarNames: m_iMoneySaved (int)
+        // NetworkVarNames: m_iKillReward (int)
+        // NetworkVarNames: m_iLiveTime (int)
+        // NetworkVarNames: m_iHeadShotKills (int)
+        // NetworkVarNames: m_iObjective (int)
+        // NetworkVarNames: m_iCashEarned (int)
+        // NetworkVarNames: m_iUtilityDamage (int)
+        // NetworkVarNames: m_iEnemiesFlashed (int)
+        public static class CSPerRoundStats_t {
+            public const nint m_iKills = 0x30; // int32
+            public const nint m_iDeaths = 0x34; // int32
+            public const nint m_iAssists = 0x38; // int32
+            public const nint m_iDamage = 0x3C; // int32
+            public const nint m_iEquipmentValue = 0x40; // int32
+            public const nint m_iMoneySaved = 0x44; // int32
+            public const nint m_iKillReward = 0x48; // int32
+            public const nint m_iLiveTime = 0x4C; // int32
+            public const nint m_iHeadShotKills = 0x50; // int32
+            public const nint m_iObjective = 0x54; // int32
+            public const nint m_iCashEarned = 0x58; // int32
+            public const nint m_iUtilityDamage = 0x5C; // int32
+            public const nint m_iEnemiesFlashed = 0x60; // int32
+        }
+        // Parent: CDynamicProp
+        // Field count: 37
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_eDoorState (DoorState_t)
+        // NetworkVarNames: m_bLocked (bool)
+        // NetworkVarNames: m_closedPosition (Vector)
+        // NetworkVarNames: m_closedAngles (QAngle)
+        // NetworkVarNames: m_hMaster (CHandle<CBasePropDoor>)
+        public static class CBasePropDoor {
+            public const nint m_flAutoReturnDelay = 0xC68; // float32
+            public const nint m_hDoorList = 0xC70; // CUtlVector<CHandle<CBasePropDoor>>
+            public const nint m_nHardwareType = 0xC88; // int32
+            public const nint m_bNeedsHardware = 0xC8C; // bool
+            public const nint m_eDoorState = 0xC90; // DoorState_t
+            public const nint m_bLocked = 0xC94; // bool
+            public const nint m_closedPosition = 0xC98; // Vector
+            public const nint m_closedAngles = 0xCA4; // QAngle
+            public const nint m_hBlocker = 0xCB0; // CHandle<CBaseEntity>
+            public const nint m_bFirstBlocked = 0xCB4; // bool
+            public const nint m_ls = 0xCB8; // locksound_t
+            public const nint m_bForceClosed = 0xCD8; // bool
+            public const nint m_vecLatchWorldPosition = 0xCDC; // Vector
+            public const nint m_hActivator = 0xCE8; // CHandle<CBaseEntity>
+            public const nint m_SoundMoving = 0xCF8; // CUtlSymbolLarge
+            public const nint m_SoundOpen = 0xD00; // CUtlSymbolLarge
+            public const nint m_SoundClose = 0xD08; // CUtlSymbolLarge
+            public const nint m_SoundLock = 0xD10; // CUtlSymbolLarge
+            public const nint m_SoundUnlock = 0xD18; // CUtlSymbolLarge
+            public const nint m_SoundLatch = 0xD20; // CUtlSymbolLarge
+            public const nint m_SoundPound = 0xD28; // CUtlSymbolLarge
+            public const nint m_SoundJiggle = 0xD30; // CUtlSymbolLarge
+            public const nint m_SoundLockedAnim = 0xD38; // CUtlSymbolLarge
+            public const nint m_numCloseAttempts = 0xD40; // int32
+            public const nint m_nPhysicsMaterial = 0xD44; // CUtlStringToken
+            public const nint m_SlaveName = 0xD48; // CUtlSymbolLarge
+            public const nint m_hMaster = 0xD50; // CHandle<CBasePropDoor>
+            public const nint m_OnBlockedClosing = 0xD58; // CEntityIOOutput
+            public const nint m_OnBlockedOpening = 0xD80; // CEntityIOOutput
+            public const nint m_OnUnblockedClosing = 0xDA8; // CEntityIOOutput
+            public const nint m_OnUnblockedOpening = 0xDD0; // CEntityIOOutput
+            public const nint m_OnFullyClosed = 0xDF8; // CEntityIOOutput
+            public const nint m_OnFullyOpen = 0xE20; // CEntityIOOutput
+            public const nint m_OnClose = 0xE48; // CEntityIOOutput
+            public const nint m_OnOpen = 0xE70; // CEntityIOOutput
+            public const nint m_OnLockedUse = 0xE98; // CEntityIOOutput
+            public const nint m_OnAjarOpen = 0xEC0; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_iCurrentMaxRagdollCount (int8)
+        public static class CRagdollManager {
+            public const nint m_iCurrentMaxRagdollCount = 0x4E0; // int8
+            public const nint m_iMaxRagdollCount = 0x4E4; // int32
+            public const nint m_bSaveImportant = 0x4E8; // bool
+            public const nint m_bCanTakeDamage = 0x4E9; // bool
+        }
+        // Parent: CBaseTrigger
+        // Field count: 12
+        public static class CTriggerFan {
+            public const nint m_vFanOrigin = 0x960; // Vector
+            public const nint m_vFanEnd = 0x96C; // Vector
+            public const nint m_vNoise = 0x978; // Vector
+            public const nint m_flForce = 0x984; // float32
+            public const nint m_flRopeForceScale = 0x988; // float32
+            public const nint m_flPlayerForce = 0x98C; // float32
+            public const nint m_flRampTime = 0x990; // float32
+            public const nint m_bFalloff = 0x994; // bool
+            public const nint m_bPushPlayer = 0x995; // bool
+            public const nint m_bRampDown = 0x996; // bool
+            public const nint m_bAddNoise = 0x997; // bool
+            public const nint m_RampTimer = 0x998; // CountdownTimer
+        }
+        // Parent: CMolotovGrenade
+        // Field count: 0
+        public static class CIncendiaryGrenade {
+        }
+        // Parent: CPathCorner
+        // Field count: 0
+        public static class CPathCornerCrash {
+        }
+        // Parent: CBaseEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_Handle (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bSendHandle (bool)
+        public static class CHandleTest {
+            public const nint m_Handle = 0x4E0; // CHandle<CBaseEntity>
+            public const nint m_bSendHandle = 0x4E4; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 8
+        public static class CSoundOpvarSetEntity {
+            public const nint m_iszStackName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszOperatorName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_iszOpvarName = 0x4F8; // CUtlSymbolLarge
+            public const nint m_nOpvarType = 0x500; // int32
+            public const nint m_nOpvarIndex = 0x504; // int32
+            public const nint m_flOpvarValue = 0x508; // float32
+            public const nint m_OpvarValueString = 0x510; // CUtlSymbolLarge
+            public const nint m_bSetOnSpawn = 0x518; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_nItemDefIndex (uint16)
+        // NetworkVarNames: m_nCount (uint16)
+        public static class WeaponPurchaseCount_t {
+            public const nint m_nItemDefIndex = 0x30; // uint16
+            public const nint m_nCount = 0x32; // uint16
+        }
+        // Parent: CPointEntity
+        // Field count: 1
+        public static class CNavSpaceInfo {
+            public const nint m_bCreateFlightSpace = 0x4E0; // bool
+        }
+        // Parent: CLogicalEntity
+        // Field count: 3
+        public static class CLogicAchievement {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_iszAchievementEventID = 0x4E8; // CUtlSymbolLarge
+            public const nint m_OnFired = 0x4F0; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_pathString (CUtlString)
+        public static class CPathSimple {
+            public const nint m_pathString = 0x538; // CUtlString
+        }
+        // Parent: CBtNode
+        // Field count: 1
+        public static class CBtActionParachutePositioning {
+            public const nint m_ActionTimer = 0x58; // CountdownTimer
+        }
+        // Parent: CPlayer_CameraServices
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_iFOV (uint32)
+        // NetworkVarNames: m_iFOVStart (uint32)
+        // NetworkVarNames: m_flFOVTime (GameTime_t)
+        // NetworkVarNames: m_flFOVRate (float32)
+        // NetworkVarNames: m_hZoomOwner (CHandle<CBaseEntity>)
+        public static class CCSPlayerBase_CameraServices {
+            public const nint m_iFOV = 0x170; // uint32
+            public const nint m_iFOVStart = 0x174; // uint32
+            public const nint m_flFOVTime = 0x178; // GameTime_t
+            public const nint m_flFOVRate = 0x17C; // float32
+            public const nint m_hZoomOwner = 0x180; // CHandle<CBaseEntity>
+            public const nint m_hTriggerFogList = 0x188; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_hLastFogTrigger = 0x1A0; // CHandle<CBaseEntity>
+        }
+        // Parent: CEntityComponent
+        // Field count: 0
+        public static class CTouchExpansionComponent {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 8
+        public static class CItem {
+            public const nint m_OnPlayerTouch = 0x9B0; // CEntityIOOutput
+            public const nint m_OnPlayerPickup = 0x9D8; // CEntityIOOutput
+            public const nint m_bActivateWhenAtRest = 0xA00; // bool
+            public const nint m_OnCacheInteraction = 0xA08; // CEntityIOOutput
+            public const nint m_OnGlovePulled = 0xA30; // CEntityIOOutput
+            public const nint m_vOriginalSpawnOrigin = 0xA58; // Vector
+            public const nint m_vOriginalSpawnAngles = 0xA64; // QAngle
+            public const nint m_bPhysStartAsleep = 0xA70; // bool
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_DialogXMLName (string_t)
+        // NetworkVarNames: m_PanelClassName (string_t)
+        // NetworkVarNames: m_PanelID (string_t)
+        public static class CBaseClientUIEntity {
+            public const nint m_bEnabled = 0x790; // bool
+            public const nint m_DialogXMLName = 0x798; // CUtlSymbolLarge
+            public const nint m_PanelClassName = 0x7A0; // CUtlSymbolLarge
+            public const nint m_PanelID = 0x7A8; // CUtlSymbolLarge
+            public const nint m_CustomOutput0 = 0x7B0; // CEntityIOOutput
+            public const nint m_CustomOutput1 = 0x7D8; // CEntityIOOutput
+            public const nint m_CustomOutput2 = 0x800; // CEntityIOOutput
+            public const nint m_CustomOutput3 = 0x828; // CEntityIOOutput
+            public const nint m_CustomOutput4 = 0x850; // CEntityIOOutput
+            public const nint m_CustomOutput5 = 0x878; // CEntityIOOutput
+            public const nint m_CustomOutput6 = 0x8A0; // CEntityIOOutput
+            public const nint m_CustomOutput7 = 0x8C8; // CEntityIOOutput
+            public const nint m_CustomOutput8 = 0x8F0; // CEntityIOOutput
+            public const nint m_CustomOutput9 = 0x918; // CEntityIOOutput
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_hDecalMaterial (HMaterialStrong)
+        // NetworkVarNames: m_flWidth (float)
+        // NetworkVarNames: m_flHeight (float)
+        // NetworkVarNames: m_flDepth (float)
+        // NetworkVarNames: m_nRenderOrder (uint32)
+        // NetworkVarNames: m_bProjectOnWorld (bool)
+        // NetworkVarNames: m_bProjectOnCharacters (bool)
+        // NetworkVarNames: m_bProjectOnWater (bool)
+        // NetworkVarNames: m_flDepthSortBias (float)
+        public static class CEnvDecal {
+            public const nint m_hDecalMaterial = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_flWidth = 0x798; // float32
+            public const nint m_flHeight = 0x79C; // float32
+            public const nint m_flDepth = 0x7A0; // float32
+            public const nint m_nRenderOrder = 0x7A4; // uint32
+            public const nint m_bProjectOnWorld = 0x7A8; // bool
+            public const nint m_bProjectOnCharacters = 0x7A9; // bool
+            public const nint m_bProjectOnWater = 0x7AA; // bool
+            public const nint m_flDepthSortBias = 0x7AC; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_entity {
+        }
+        // Parent: CBodyComponentSkeletonInstance
+        // Field count: 0
+        public static class CBodyComponentBaseModelEntity {
+        }
+        // Parent: CBaseEntity
+        // Field count: 11
+        public static class CLogicAuto {
+            public const nint m_OnMapSpawn = 0x4E0; // CEntityIOOutput
+            public const nint m_OnDemoMapSpawn = 0x508; // CEntityIOOutput
+            public const nint m_OnNewGame = 0x530; // CEntityIOOutput
+            public const nint m_OnLoadGame = 0x558; // CEntityIOOutput
+            public const nint m_OnMapTransition = 0x580; // CEntityIOOutput
+            public const nint m_OnBackgroundMap = 0x5A8; // CEntityIOOutput
+            public const nint m_OnMultiNewMap = 0x5D0; // CEntityIOOutput
+            public const nint m_OnMultiNewRound = 0x5F8; // CEntityIOOutput
+            public const nint m_OnVREnabled = 0x620; // CEntityIOOutput
+            public const nint m_OnVRNotEnabled = 0x648; // CEntityIOOutput
+            public const nint m_globalstate = 0x670; // CUtlSymbolLarge
+        }
+        // Parent: CBaseEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszStackName (string_t)
+        // NetworkVarNames: m_iszOperatorName (string_t)
+        // NetworkVarNames: m_iszOpvarName (string_t)
+        // NetworkVarNames: m_iOpvarIndex (int)
+        // NetworkVarNames: m_bUseAutoCompare (bool)
+        public static class CSoundOpvarSetPointBase {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_hSource = 0x4E4; // CEntityHandle
+            public const nint m_iszSourceEntityName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_vLastPosition = 0x548; // Vector
+            public const nint m_iszStackName = 0x558; // CUtlSymbolLarge
+            public const nint m_iszOperatorName = 0x560; // CUtlSymbolLarge
+            public const nint m_iszOpvarName = 0x568; // CUtlSymbolLarge
+            public const nint m_iOpvarIndex = 0x570; // int32
+            public const nint m_bUseAutoCompare = 0x574; // bool
+        }
+        // Parent: CLightEntity
+        // Field count: 0
+        public static class CLightDirectionalEntity {
+        }
+        // Parent: CLogicNPCCounterAABB
+        // Field count: 0
+        public static class CLogicNPCCounterOBB {
+        }
+        // Parent: CPlayer_UseServices
+        // Field count: 0
+        public static class CCSObserver_UseServices {
+        }
+        // Parent: CFuncPlatRot
+        // Field count: 9
+        public static class CFuncTrackChange {
+            public const nint m_trackTop = 0x858; // CPathTrack*
+            public const nint m_trackBottom = 0x860; // CPathTrack*
+            public const nint m_train = 0x868; // CFuncTrackTrain*
+            public const nint m_trackTopName = 0x870; // CUtlSymbolLarge
+            public const nint m_trackBottomName = 0x878; // CUtlSymbolLarge
+            public const nint m_trainName = 0x880; // CUtlSymbolLarge
+            public const nint m_code = 0x888; // TRAIN_CODE
+            public const nint m_targetState = 0x88C; // int32
+            public const nint m_use = 0x890; // int32
+        }
+        // Parent: CRuleBrushEntity
+        // Field count: 4
+        public static class CGamePlayerZone {
+            public const nint m_OnPlayerInZone = 0x798; // CEntityIOOutput
+            public const nint m_OnPlayerOutZone = 0x7C0; // CEntityIOOutput
+            public const nint m_PlayersInCount = 0x7E8; // CEntityOutputTemplate<int32>
+            public const nint m_PlayersOutCount = 0x810; // CEntityOutputTemplate<int32>
+        }
+        // Parent: CRuleEntity
+        // Field count: 1
+        public static class CRulePointEntity {
+            public const nint m_Score = 0x798; // int32
+        }
+        // Parent: CPointEntity
+        // Field count: 5
+        public static class CMessageEntity {
+            public const nint m_radius = 0x4E0; // int32
+            public const nint m_messageText = 0x4E8; // CUtlSymbolLarge
+            public const nint m_drawText = 0x4F0; // bool
+            public const nint m_bDeveloperOnly = 0x4F1; // bool
+            public const nint m_bEnabled = 0x4F2; // bool
+        }
+        // Parent: CBaseCSGrenade
+        // Field count: 0
+        public static class CSmokeGrenade {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 11
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkOverride
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_nViewModelIndex (uint32)
+        // NetworkVarNames: m_nAnimationParity (uint32)
+        // NetworkVarNames: m_flAnimationStartTime (float32)
+        // NetworkVarNames: m_hWeapon (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+        public static class CBaseViewModel {
+            public const nint m_vecLastFacing = 0x9B0; // Vector
+            public const nint m_nViewModelIndex = 0x9BC; // uint32
+            public const nint m_nAnimationParity = 0x9C0; // uint32
+            public const nint m_flAnimationStartTime = 0x9C4; // float32
+            public const nint m_hWeapon = 0x9C8; // CHandle<CBasePlayerWeapon>
+            public const nint m_sVMName = 0x9D0; // CUtlSymbolLarge
+            public const nint m_sAnimationPrefix = 0x9D8; // CUtlSymbolLarge
+            public const nint m_hOldLayerSequence = 0x9E0; // HSequence
+            public const nint m_oldLayer = 0x9E4; // int32
+            public const nint m_oldLayerStartTime = 0x9E8; // float32
+            public const nint m_hControlPanel = 0x9EC; // CHandle<CBaseEntity>
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hPlayerPing (CHandle<CBaseEntity>)
+        public static class CCSPlayer_PingServices {
+            public const nint m_flPlayerPingTokens = 0x40; // GameTime_t[5]
+            public const nint m_hPlayerPing = 0x54; // CHandle<CBaseEntity>
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_FlashlightServices {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CServerOnlyModelEntity {
+        }
+        // Parent: CBtNode
+        // Field count: 4
+        public static class CBtActionCombatPositioning {
+            public const nint m_szSensorInputKey = 0x68; // CUtlString
+            public const nint m_szIsAttackingKey = 0x80; // CUtlString
+            public const nint m_ActionTimer = 0x88; // CountdownTimer
+            public const nint m_bCrouching = 0xA0; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_flScale (float32)
+        // NetworkVarNames: m_flStartScale (float32)
+        // NetworkVarNames: m_flScaleTime (float32)
+        // NetworkVarNames: m_nFlags (uint32)
+        public static class CBaseFire {
+            public const nint m_flScale = 0x4E0; // float32
+            public const nint m_flStartScale = 0x4E4; // float32
+            public const nint m_flScaleTime = 0x4E8; // float32
+            public const nint m_nFlags = 0x4EC; // uint32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponMAC10 {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponGlock {
+        }
+        // Parent: CBaseViewModel
+        // Field count: 0
+        public static class CPredictedViewModel {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 2
+        public static class CTriggerActiveWeaponDetect {
+            public const nint m_OnTouchedActiveWeapon = 0x960; // CEntityIOOutput
+            public const nint m_iszWeaponClassName = 0x988; // CUtlSymbolLarge
+        }
+        // Parent: CPointEntity
+        // Field count: 18
+        public static class CEnvMicrophone {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_hMeasureTarget = 0x4E4; // CHandle<CBaseEntity>
+            public const nint m_nSoundType = 0x4E8; // SoundTypes_t
+            public const nint m_nSoundFlags = 0x4EA; // SoundFlags_t
+            public const nint m_flSensitivity = 0x4EC; // float32
+            public const nint m_flSmoothFactor = 0x4F0; // float32
+            public const nint m_flMaxRange = 0x4F4; // float32
+            public const nint m_iszSpeakerName = 0x4F8; // CUtlSymbolLarge
+            public const nint m_hSpeaker = 0x500; // CHandle<CBaseEntity>
+            public const nint m_bAvoidFeedback = 0x504; // bool
+            public const nint m_iSpeakerDSPPreset = 0x508; // int32
+            public const nint m_iszListenFilter = 0x510; // CUtlSymbolLarge
+            public const nint m_hListenFilter = 0x518; // CHandle<CBaseFilter>
+            public const nint m_SoundLevel = 0x520; // CEntityOutputTemplate<float32>
+            public const nint m_OnRoutedSound = 0x548; // CEntityIOOutput
+            public const nint m_OnHeardSound = 0x570; // CEntityIOOutput
+            public const nint m_szLastSound = 0x598; // char[256]
+            public const nint m_iLastRoutedFrame = 0x698; // int32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 11
+        public static class CInfoSpawnGroupLoadUnload {
+            public const nint m_OnSpawnGroupLoadStarted = 0x4E0; // CEntityIOOutput
+            public const nint m_OnSpawnGroupLoadFinished = 0x508; // CEntityIOOutput
+            public const nint m_OnSpawnGroupUnloadStarted = 0x530; // CEntityIOOutput
+            public const nint m_OnSpawnGroupUnloadFinished = 0x558; // CEntityIOOutput
+            public const nint m_iszSpawnGroupName = 0x580; // CUtlSymbolLarge
+            public const nint m_iszSpawnGroupFilterName = 0x588; // CUtlSymbolLarge
+            public const nint m_iszLandmarkName = 0x590; // CUtlSymbolLarge
+            public const nint m_sFixedSpawnGroupName = 0x598; // CUtlString
+            public const nint m_flTimeoutInterval = 0x5A0; // float32
+            public const nint m_bStreamingStarted = 0x5A4; // bool
+            public const nint m_bUnloadingStarted = 0x5A5; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 23
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // MNetworkIncludeByUserGroup
+        // NetworkVarNames: m_nTickBase (uint32)
+        // NetworkVarNames: m_hPawn (CHandle<CBasePlayerPawn>)
+        // NetworkVarNames: m_bKnownTeamMismatch (bool)
+        // NetworkVarNames: m_iConnected (PlayerConnectedState)
+        // NetworkVarNames: m_iszPlayerName (char)
+        // NetworkVarNames: m_steamID (uint64)
+        // NetworkVarNames: m_iDesiredFOV (uint32)
+        public static class CBasePlayerController {
+            public const nint m_nInButtonsWhichAreToggles = 0x4E8; // uint64
+            public const nint m_nTickBase = 0x4F0; // uint32
+            public const nint m_hPawn = 0x520; // CHandle<CBasePlayerPawn>
+            public const nint m_bKnownTeamMismatch = 0x524; // bool
+            public const nint m_nSplitScreenSlot = 0x528; // CSplitScreenSlot
+            public const nint m_hSplitOwner = 0x52C; // CHandle<CBasePlayerController>
+            public const nint m_hSplitScreenPlayers = 0x530; // CUtlVector<CHandle<CBasePlayerController>>
+            public const nint m_bIsHLTV = 0x548; // bool
+            public const nint m_iConnected = 0x54C; // PlayerConnectedState
+            public const nint m_iszPlayerName = 0x550; // char[128]
+            public const nint m_szNetworkIDString = 0x5D0; // CUtlString
+            public const nint m_fLerpTime = 0x5D8; // float32
+            public const nint m_bLagCompensation = 0x5DC; // bool
+            public const nint m_bPredict = 0x5DD; // bool
+            public const nint m_bIsLowViolence = 0x5E4; // bool
+            public const nint m_bGamePaused = 0x5E5; // bool
+            public const nint m_iIgnoreGlobalChat = 0x720; // ChatIgnoreType_t
+            public const nint m_flLastPlayerTalkTime = 0x724; // float32
+            public const nint m_flLastEntitySteadyState = 0x728; // float32
+            public const nint m_nAvailableEntitySteadyState = 0x72C; // int32
+            public const nint m_bHasAnySteadyStateEnts = 0x730; // bool
+            public const nint m_steamID = 0x740; // uint64
+            public const nint m_iDesiredFOV = 0x748; // uint32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CPointTemplateAPI {
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bFirstAttack (bool)
+        public static class CKnife {
+            public const nint m_bFirstAttack = 0xF68; // bool
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 37
+        public static class CFuncTrackTrain {
+            public const nint m_ppath = 0x790; // CHandle<CPathTrack>
+            public const nint m_length = 0x794; // float32
+            public const nint m_vPosPrev = 0x798; // Vector
+            public const nint m_angPrev = 0x7A4; // QAngle
+            public const nint m_controlMins = 0x7B0; // Vector
+            public const nint m_controlMaxs = 0x7BC; // Vector
+            public const nint m_lastBlockPos = 0x7C8; // Vector
+            public const nint m_lastBlockTick = 0x7D4; // int32
+            public const nint m_flVolume = 0x7D8; // float32
+            public const nint m_flBank = 0x7DC; // float32
+            public const nint m_oldSpeed = 0x7E0; // float32
+            public const nint m_flBlockDamage = 0x7E4; // float32
+            public const nint m_height = 0x7E8; // float32
+            public const nint m_maxSpeed = 0x7EC; // float32
+            public const nint m_dir = 0x7F0; // float32
+            public const nint m_iszSoundMove = 0x7F8; // CUtlSymbolLarge
+            public const nint m_iszSoundMovePing = 0x800; // CUtlSymbolLarge
+            public const nint m_iszSoundStart = 0x808; // CUtlSymbolLarge
+            public const nint m_iszSoundStop = 0x810; // CUtlSymbolLarge
+            public const nint m_strPathTarget = 0x818; // CUtlSymbolLarge
+            public const nint m_flMoveSoundMinDuration = 0x820; // float32
+            public const nint m_flMoveSoundMaxDuration = 0x824; // float32
+            public const nint m_flNextMoveSoundTime = 0x828; // GameTime_t
+            public const nint m_flMoveSoundMinPitch = 0x82C; // float32
+            public const nint m_flMoveSoundMaxPitch = 0x830; // float32
+            public const nint m_eOrientationType = 0x834; // TrainOrientationType_t
+            public const nint m_eVelocityType = 0x838; // TrainVelocityType_t
+            public const nint m_OnStart = 0x848; // CEntityIOOutput
+            public const nint m_OnNext = 0x870; // CEntityIOOutput
+            public const nint m_OnArrivedAtDestinationNode = 0x898; // CEntityIOOutput
+            public const nint m_bManualSpeedChanges = 0x8C0; // bool
+            public const nint m_flDesiredSpeed = 0x8C4; // float32
+            public const nint m_flSpeedChangeTime = 0x8C8; // GameTime_t
+            public const nint m_flAccelSpeed = 0x8CC; // float32
+            public const nint m_flDecelSpeed = 0x8D0; // float32
+            public const nint m_bAccelToSpeed = 0x8D4; // bool
+            public const nint m_flNextMPSoundTime = 0x8D8; // GameTime_t
+        }
+        // Parent: CServerOnlyModelEntity
+        // Field count: 5
+        public static class CFogVolume {
+            public const nint m_fogName = 0x790; // CUtlSymbolLarge
+            public const nint m_postProcessName = 0x798; // CUtlSymbolLarge
+            public const nint m_colorCorrectionName = 0x7A0; // CUtlSymbolLarge
+            public const nint m_bDisabled = 0x7B0; // bool
+            public const nint m_bInFogVolumesList = 0x7B1; // bool
+        }
+        // Parent: SpawnPoint
+        // Field count: 0
+        public static class CInfoPlayerCounterterrorist {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 19
+        public static class CFire {
+            public const nint m_hEffect = 0x790; // CHandle<CBaseFire>
+            public const nint m_hOwner = 0x794; // CHandle<CBaseEntity>
+            public const nint m_nFireType = 0x798; // int32
+            public const nint m_flFuel = 0x79C; // float32
+            public const nint m_flDamageTime = 0x7A0; // GameTime_t
+            public const nint m_lastDamage = 0x7A4; // GameTime_t
+            public const nint m_flFireSize = 0x7A8; // float32
+            public const nint m_flLastNavUpdateTime = 0x7AC; // GameTime_t
+            public const nint m_flHeatLevel = 0x7B0; // float32
+            public const nint m_flHeatAbsorb = 0x7B4; // float32
+            public const nint m_flDamageScale = 0x7B8; // float32
+            public const nint m_flMaxHeat = 0x7BC; // float32
+            public const nint m_flLastHeatLevel = 0x7C0; // float32
+            public const nint m_flAttackTime = 0x7C4; // float32
+            public const nint m_bEnabled = 0x7C8; // bool
+            public const nint m_bStartDisabled = 0x7C9; // bool
+            public const nint m_bDidActivate = 0x7CA; // bool
+            public const nint m_OnIgnited = 0x7D0; // CEntityIOOutput
+            public const nint m_OnExtinguished = 0x7F8; // CEntityIOOutput
+        }
+        // Parent: CSkeletonAnimationController
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_animGraphNetworkedVars (CAnimGraphNetworkedVariables)
+        // NetworkVarNames: m_hSequence (HSequence)
+        // NetworkVarNames: m_flSeqStartTime (GameTime_t)
+        // NetworkVarNames: m_flSeqFixedCycle (float)
+        // NetworkVarNames: m_nAnimLoopMode (AnimLoopMode_t)
+        public static class CBaseAnimGraphController {
+            public const nint m_animGraphNetworkedVars = 0x18; // CAnimGraphNetworkedVariables
+            public const nint m_bSequenceFinished = 0x220; // bool
+            public const nint m_flSoundSyncTime = 0x224; // float32
+            public const nint m_nActiveIKChainMask = 0x228; // uint32
+            public const nint m_hSequence = 0x22C; // HSequence
+            public const nint m_flSeqStartTime = 0x230; // GameTime_t
+            public const nint m_flSeqFixedCycle = 0x234; // float32
+            public const nint m_nAnimLoopMode = 0x238; // AnimLoopMode_t
+            public const nint m_flPlaybackRate = 0x23C; // CNetworkedQuantizedFloat
+            public const nint m_nNotifyState = 0x248; // SequenceFinishNotifyState_t
+            public const nint m_bNetworkedAnimationInputsChanged = 0x24A; // bool
+            public const nint m_bNetworkedSequenceChanged = 0x24B; // bool
+            public const nint m_bLastUpdateSkipped = 0x24C; // bool
+            public const nint m_flPrevAnimUpdateTime = 0x250; // GameTime_t
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CCSPointScriptEntity {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponBizon {
+        }
+        // Parent: CBasePlatTrain
+        // Field count: 1
+        public static class CFuncPlat {
+            public const nint m_sNoise = 0x838; // CUtlSymbolLarge
+        }
+        // Parent: CPhysConstraint
+        // Field count: 48
+        public static class CGenericConstraint {
+            public const nint m_nLinearMotionX = 0x560; // JointMotion_t
+            public const nint m_nLinearMotionY = 0x564; // JointMotion_t
+            public const nint m_nLinearMotionZ = 0x568; // JointMotion_t
+            public const nint m_flLinearFrequencyX = 0x56C; // float32
+            public const nint m_flLinearFrequencyY = 0x570; // float32
+            public const nint m_flLinearFrequencyZ = 0x574; // float32
+            public const nint m_flLinearDampingRatioX = 0x578; // float32
+            public const nint m_flLinearDampingRatioY = 0x57C; // float32
+            public const nint m_flLinearDampingRatioZ = 0x580; // float32
+            public const nint m_flMaxLinearImpulseX = 0x584; // float32
+            public const nint m_flMaxLinearImpulseY = 0x588; // float32
+            public const nint m_flMaxLinearImpulseZ = 0x58C; // float32
+            public const nint m_flBreakAfterTimeX = 0x590; // float32
+            public const nint m_flBreakAfterTimeY = 0x594; // float32
+            public const nint m_flBreakAfterTimeZ = 0x598; // float32
+            public const nint m_flBreakAfterTimeStartTimeX = 0x59C; // GameTime_t
+            public const nint m_flBreakAfterTimeStartTimeY = 0x5A0; // GameTime_t
+            public const nint m_flBreakAfterTimeStartTimeZ = 0x5A4; // GameTime_t
+            public const nint m_flBreakAfterTimeThresholdX = 0x5A8; // float32
+            public const nint m_flBreakAfterTimeThresholdY = 0x5AC; // float32
+            public const nint m_flBreakAfterTimeThresholdZ = 0x5B0; // float32
+            public const nint m_flNotifyForceX = 0x5B4; // float32
+            public const nint m_flNotifyForceY = 0x5B8; // float32
+            public const nint m_flNotifyForceZ = 0x5BC; // float32
+            public const nint m_flNotifyForceMinTimeX = 0x5C0; // float32
+            public const nint m_flNotifyForceMinTimeY = 0x5C4; // float32
+            public const nint m_flNotifyForceMinTimeZ = 0x5C8; // float32
+            public const nint m_flNotifyForceLastTimeX = 0x5CC; // GameTime_t
+            public const nint m_flNotifyForceLastTimeY = 0x5D0; // GameTime_t
+            public const nint m_flNotifyForceLastTimeZ = 0x5D4; // GameTime_t
+            public const nint m_bAxisNotifiedX = 0x5D8; // bool
+            public const nint m_bAxisNotifiedY = 0x5D9; // bool
+            public const nint m_bAxisNotifiedZ = 0x5DA; // bool
+            public const nint m_nAngularMotionX = 0x5DC; // JointMotion_t
+            public const nint m_nAngularMotionY = 0x5E0; // JointMotion_t
+            public const nint m_nAngularMotionZ = 0x5E4; // JointMotion_t
+            public const nint m_flAngularFrequencyX = 0x5E8; // float32
+            public const nint m_flAngularFrequencyY = 0x5EC; // float32
+            public const nint m_flAngularFrequencyZ = 0x5F0; // float32
+            public const nint m_flAngularDampingRatioX = 0x5F4; // float32
+            public const nint m_flAngularDampingRatioY = 0x5F8; // float32
+            public const nint m_flAngularDampingRatioZ = 0x5FC; // float32
+            public const nint m_flMaxAngularImpulseX = 0x600; // float32
+            public const nint m_flMaxAngularImpulseY = 0x604; // float32
+            public const nint m_flMaxAngularImpulseZ = 0x608; // float32
+            public const nint m_NotifyForceReachedX = 0x610; // CEntityIOOutput
+            public const nint m_NotifyForceReachedY = 0x638; // CEntityIOOutput
+            public const nint m_NotifyForceReachedZ = 0x660; // CEntityIOOutput
+        }
+        // Parent: CBaseCSGrenade
+        // Field count: 0
+        public static class CDecoyGrenade {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponG3SG1 {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 11
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_bInitiallyPopulateInterpHistory (bool)
+        // NetworkVarNames: m_bAnimGraphUpdateEnabled (bool)
+        // NetworkVarNames: m_vecForce (Vector)
+        // NetworkVarNames: m_nForceBone (int32)
+        // NetworkVarNames: m_RagdollPose (PhysicsRagdollPose_t)
+        // NetworkVarNames: m_bRagdollClientSide (bool)
+        public static class CBaseAnimGraph {
+            public const nint m_bInitiallyPopulateInterpHistory = 0x808; // bool
+            public const nint m_pChoreoServices = 0x810; // IChoreoServices*
+            public const nint m_bAnimGraphUpdateEnabled = 0x818; // bool
+            public const nint m_flMaxSlopeDistance = 0x81C; // float32
+            public const nint m_vLastSlopeCheckPos = 0x820; // Vector
+            public const nint m_bAnimationUpdateScheduled = 0x82C; // bool
+            public const nint m_vecForce = 0x830; // Vector
+            public const nint m_nForceBone = 0x83C; // int32
+            public const nint m_RagdollPose = 0x850; // PhysicsRagdollPose_t
+            public const nint m_bRagdollClientSide = 0x878; // bool
+            public const nint m_nLastDestructiblePartDestroyedAnimgraphSetTick = 0x9A0; // int32
+        }
+        // Parent: CPhysForce
+        // Field count: 1
+        public static class CPhysTorque {
+            public const nint m_axis = 0x540; // Vector
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 27
+        //
+        // Metadata:
+        // NetworkVarNames: m_ragPos (Vector)
+        // NetworkVarNames: m_ragAngles (QAngle)
+        // NetworkVarNames: m_hRagdollSource (EHANDLE)
+        // NetworkVarNames: m_flBlendWeight (float32)
+        public static class CRagdollProp {
+            public const nint m_ragdoll = 0x9B0; // ragdoll_t
+            public const nint m_bStartDisabled = 0x9E8; // bool
+            public const nint m_ragPos = 0x9F0; // CNetworkUtlVectorBase<Vector>
+            public const nint m_ragAngles = 0xA08; // CNetworkUtlVectorBase<QAngle>
+            public const nint m_hRagdollSource = 0xA20; // CHandle<CBaseEntity>
+            public const nint m_lastUpdateTickCount = 0xA24; // uint32
+            public const nint m_allAsleep = 0xA28; // bool
+            public const nint m_bFirstCollisionAfterLaunch = 0xA29; // bool
+            public const nint m_hDamageEntity = 0xA2C; // CHandle<CBaseEntity>
+            public const nint m_hKiller = 0xA30; // CHandle<CBaseEntity>
+            public const nint m_hPhysicsAttacker = 0xA34; // CHandle<CBasePlayerPawn>
+            public const nint m_flLastPhysicsInfluenceTime = 0xA38; // GameTime_t
+            public const nint m_flFadeOutStartTime = 0xA3C; // GameTime_t
+            public const nint m_flFadeTime = 0xA40; // float32
+            public const nint m_vecLastOrigin = 0xA44; // Vector
+            public const nint m_flAwakeTime = 0xA50; // GameTime_t
+            public const nint m_flLastOriginChangeTime = 0xA54; // GameTime_t
+            public const nint m_strOriginClassName = 0xA58; // CUtlSymbolLarge
+            public const nint m_strSourceClassName = 0xA60; // CUtlSymbolLarge
+            public const nint m_bHasBeenPhysgunned = 0xA68; // bool
+            public const nint m_bShouldTeleportPhysics = 0xA69; // bool
+            public const nint m_flBlendWeight = 0xA6C; // float32
+            public const nint m_flDefaultFadeScale = 0xA70; // float32
+            public const nint m_ragdollMins = 0xA78; // CUtlVector<Vector>
+            public const nint m_ragdollMaxs = 0xA90; // CUtlVector<Vector>
+            public const nint m_bShouldDeleteActivationRecord = 0xAA8; // bool
+            public const nint m_bValidatePoweredRagdollPose = 0xB08; // bool
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class CItemSoda {
+        }
+        // Parent: CEnvCubemap
+        // Field count: 0
+        public static class CEnvCubemapBox {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CBasePlayerControllerAPI {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_CCSWeaponBaseVData {
+        }
+        // Parent: CBaseEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFadeStartDist (float32)
+        // NetworkVarNames: m_flFadeEndDist (float32)
+        public static class CEnvDetailController {
+            public const nint m_flFadeStartDist = 0x4E0; // float32
+            public const nint m_flFadeEndDist = 0x4E4; // float32
+        }
+        // Parent: CTriggerOnce
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_bTestOcclusion (bool)
+        public static class CTriggerLook {
+            public const nint m_hLookTarget = 0x988; // CHandle<CBaseEntity>
+            public const nint m_flFieldOfView = 0x98C; // float32
+            public const nint m_flLookTime = 0x990; // float32
+            public const nint m_flLookTimeTotal = 0x994; // float32
+            public const nint m_flLookTimeLast = 0x998; // GameTime_t
+            public const nint m_flTimeoutDuration = 0x99C; // float32
+            public const nint m_bTimeoutFired = 0x9A0; // bool
+            public const nint m_bIsLooking = 0x9A1; // bool
+            public const nint m_b2DFOV = 0x9A2; // bool
+            public const nint m_bUseVelocity = 0x9A3; // bool
+            public const nint m_bTestOcclusion = 0x9A4; // bool
+            public const nint m_OnTimeout = 0x9A8; // CEntityIOOutput
+            public const nint m_OnStartLook = 0x9D0; // CEntityIOOutput
+            public const nint m_OnEndLook = 0x9F8; // CEntityIOOutput
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoTeleportDestination {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 11
+        public static class CMathRemap {
+            public const nint m_flInMin = 0x4E0; // float32
+            public const nint m_flInMax = 0x4E4; // float32
+            public const nint m_flOut1 = 0x4E8; // float32
+            public const nint m_flOut2 = 0x4EC; // float32
+            public const nint m_flOldInValue = 0x4F0; // float32
+            public const nint m_bEnabled = 0x4F4; // bool
+            public const nint m_OutValue = 0x4F8; // CEntityOutputTemplate<float32>
+            public const nint m_OnRoseAboveMin = 0x520; // CEntityIOOutput
+            public const nint m_OnRoseAboveMax = 0x548; // CEntityIOOutput
+            public const nint m_OnFellBelowMin = 0x570; // CEntityIOOutput
+            public const nint m_OnFellBelowMax = 0x598; // CEntityIOOutput
+        }
+        // Parent: CPointEntity
+        // Field count: 3
+        public static class CInstructorEventEntity {
+            public const nint m_iszName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszHintTargetEntity = 0x4E8; // CUtlSymbolLarge
+            public const nint m_hTargetPlayer = 0x4F0; // CHandle<CBasePlayerPawn>
+        }
+        // Parent: CBaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_hGradientFogTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_flFogStartDistance (float)
+        // NetworkVarNames: m_flFogEndDistance (float)
+        // NetworkVarNames: m_bHeightFogEnabled (bool)
+        // NetworkVarNames: m_flFogStartHeight (float)
+        // NetworkVarNames: m_flFogEndHeight (float)
+        // NetworkVarNames: m_flFarZ (float)
+        // NetworkVarNames: m_flFogMaxOpacity (float)
+        // NetworkVarNames: m_flFogFalloffExponent (float)
+        // NetworkVarNames: m_flFogVerticalExponent (float)
+        // NetworkVarNames: m_fogColor (Color)
+        // NetworkVarNames: m_flFogStrength (float)
+        // NetworkVarNames: m_flFadeTime (float)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_bIsEnabled (bool)
+        public static class CGradientFog {
+            public const nint m_hGradientFogTexture = 0x4E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_flFogStartDistance = 0x4E8; // float32
+            public const nint m_flFogEndDistance = 0x4EC; // float32
+            public const nint m_bHeightFogEnabled = 0x4F0; // bool
+            public const nint m_flFogStartHeight = 0x4F4; // float32
+            public const nint m_flFogEndHeight = 0x4F8; // float32
+            public const nint m_flFarZ = 0x4FC; // float32
+            public const nint m_flFogMaxOpacity = 0x500; // float32
+            public const nint m_flFogFalloffExponent = 0x504; // float32
+            public const nint m_flFogVerticalExponent = 0x508; // float32
+            public const nint m_fogColor = 0x50C; // Color
+            public const nint m_flFogStrength = 0x510; // float32
+            public const nint m_flFadeTime = 0x514; // float32
+            public const nint m_bStartDisabled = 0x518; // bool
+            public const nint m_bIsEnabled = 0x519; // bool
+            public const nint m_bGradientFogNeedsTextures = 0x51A; // bool
+        }
+        // Parent: CBaseTrigger
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_source (string_t)
+        // NetworkVarNames: m_destination (string_t)
+        public static class CFootstepControl {
+            public const nint m_source = 0x960; // CUtlSymbolLarge
+            public const nint m_destination = 0x968; // CUtlSymbolLarge
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 2
+        public static class CTriggerVolume {
+            public const nint m_iFilterName = 0x790; // CUtlSymbolLarge
+            public const nint m_hFilter = 0x798; // CHandle<CBaseFilter>
+        }
+        // Parent: CEnvSoundscape
+        // Field count: 0
+        public static class CEnvSoundscapeAlias_snd_soundscape {
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoInstructorHintHostageRescueZone {
+        }
+        // Parent: CBaseEntity
+        // Field count: 7
+        public static class CFishPool {
+            public const nint m_fishCount = 0x4F0; // int32
+            public const nint m_maxRange = 0x4F4; // float32
+            public const nint m_swimDepth = 0x4F8; // float32
+            public const nint m_waterLevel = 0x4FC; // float32
+            public const nint m_isDormant = 0x500; // bool
+            public const nint m_fishes = 0x508; // CUtlVector<CHandle<CFish>>
+            public const nint m_visTimer = 0x520; // CountdownTimer
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CPointClientCommand {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CFuncVPhysicsClip {
+            public const nint m_bDisabled = 0x790; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 5
+        public static class CCSPlayer_RadioServices {
+            public const nint m_flGotHostageTalkTimer = 0x40; // GameTime_t
+            public const nint m_flDefusingTalkTimer = 0x44; // GameTime_t
+            public const nint m_flC4PlantTalkTimer = 0x48; // GameTime_t
+            public const nint m_flRadioTokenSlots = 0x4C; // GameTime_t[3]
+            public const nint m_bIgnoreRadio = 0x58; // bool
+        }
+        // Parent: CSceneEntity
+        // Field count: 7
+        public static class CInstancedSceneEntity {
+            public const nint m_hOwner = 0xA40; // CHandle<CBaseEntity>
+            public const nint m_bHadOwner = 0xA44; // bool
+            public const nint m_flPostSpeakDelay = 0xA48; // float32
+            public const nint m_flPreDelay = 0xA4C; // float32
+            public const nint m_bIsBackground = 0xA50; // bool
+            public const nint m_bRemoveOnCompletion = 0xA51; // bool
+            public const nint m_hTarget = 0xA54; // CHandle<CBaseEntity>
+        }
+        // Parent: CPointEntity
+        // Field count: 1
+        public static class CEnvHudHint {
+            public const nint m_iszMessage = 0x4E0; // CUtlSymbolLarge
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 22
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_szSnapshotFileName (char)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_bFrozen (bool)
+        // NetworkVarNames: m_flFreezeTransitionDuration (float)
+        // NetworkVarNames: m_nStopType (int)
+        // NetworkVarNames: m_bAnimateDuringGameplayPause (bool)
+        // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_flPreSimTime (float32)
+        // NetworkVarNames: m_vServerControlPoints (Vector)
+        // NetworkVarNames: m_iServerControlPointAssignments (uint8)
+        // NetworkVarNames: m_hControlPointEnts (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bNoSave (bool)
+        // NetworkVarNames: m_bNoFreeze (bool)
+        // NetworkVarNames: m_bNoRamp (bool)
+        public static class CParticleSystem {
+            public const nint m_szSnapshotFileName = 0x790; // char[512]
+            public const nint m_bActive = 0x990; // bool
+            public const nint m_bFrozen = 0x991; // bool
+            public const nint m_flFreezeTransitionDuration = 0x994; // float32
+            public const nint m_nStopType = 0x998; // int32
+            public const nint m_bAnimateDuringGameplayPause = 0x99C; // bool
+            public const nint m_iEffectIndex = 0x9A0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_flStartTime = 0x9A8; // GameTime_t
+            public const nint m_flPreSimTime = 0x9AC; // float32
+            public const nint m_vServerControlPoints = 0x9B0; // Vector[4]
+            public const nint m_iServerControlPointAssignments = 0x9E0; // uint8[4]
+            public const nint m_hControlPointEnts = 0x9E4; // CHandle<CBaseEntity>[64]
+            public const nint m_bNoSave = 0xAE4; // bool
+            public const nint m_bNoFreeze = 0xAE5; // bool
+            public const nint m_bNoRamp = 0xAE6; // bool
+            public const nint m_bStartActive = 0xAE7; // bool
+            public const nint m_iszEffectName = 0xAE8; // CUtlSymbolLarge
+            public const nint m_iszControlPointNames = 0xAF0; // CUtlSymbolLarge[64]
+            public const nint m_nDataCP = 0xCF0; // int32
+            public const nint m_vecDataCPValue = 0xCF4; // Vector
+            public const nint m_nTintCP = 0xD00; // int32
+            public const nint m_clrTint = 0xD04; // Color
+        }
+        // Parent: CEntitySubclassVDataBase
+        // Field count: 22
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBasePlayerWeaponVData {
+            public const nint m_szWorldModel = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_sToolsOnlyOwnerModelName = 0x108; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_bBuiltRightHanded = 0x1E8; // bool
+            public const nint m_bAllowFlipping = 0x1E9; // bool
+            public const nint m_sMuzzleAttachment = 0x1F0; // CAttachmentNameSymbolWithStorage
+            public const nint m_szMuzzleFlashParticle = 0x210; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_bLinkedCooldowns = 0x2F0; // bool
+            public const nint m_iFlags = 0x2F1; // ItemFlagTypes_t
+            public const nint m_nPrimaryAmmoType = 0x2F2; // AmmoIndex_t
+            public const nint m_nSecondaryAmmoType = 0x2F3; // AmmoIndex_t
+            public const nint m_iMaxClip1 = 0x2F4; // int32
+            public const nint m_iMaxClip2 = 0x2F8; // int32
+            public const nint m_iDefaultClip1 = 0x2FC; // int32
+            public const nint m_iDefaultClip2 = 0x300; // int32
+            public const nint m_bReserveAmmoAsClips = 0x304; // bool
+            public const nint m_iWeight = 0x308; // int32
+            public const nint m_bAutoSwitchTo = 0x30C; // bool
+            public const nint m_bAutoSwitchFrom = 0x30D; // bool
+            public const nint m_iRumbleEffect = 0x310; // RumbleEffect_t
+            public const nint m_iSlot = 0x314; // int32
+            public const nint m_iPosition = 0x318; // int32
+            public const nint m_aShootSounds = 0x320; // CUtlOrderedMap<WeaponSound_t,CSoundEventName>
+        }
+        // Parent: CCSPlayerPawnBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        public static class CCSObserverPawn {
+        }
+        // Parent: CItem
+        // Field count: 1
+        public static class CScriptItem {
+            public const nint m_MoveTypeOverride = 0xA80; // MoveType_t
+        }
+        // Parent: IntervalTimer
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_flValues (float)
+        // NetworkVarNames: m_nValueCounts (int)
+        // NetworkVarNames: m_nBucketCount (int)
+        // NetworkVarNames: m_flInterval (float)
+        // NetworkVarNames: m_flFinalValue (float)
+        // NetworkVarNames: m_nCompressionType (TimelineCompression_t)
+        // NetworkVarNames: m_bStopped (bool)
+        public static class CTimeline {
+            public const nint m_flValues = 0x10; // float32[64]
+            public const nint m_nValueCounts = 0x110; // int32[64]
+            public const nint m_nBucketCount = 0x210; // int32
+            public const nint m_flInterval = 0x214; // float32
+            public const nint m_flFinalValue = 0x218; // float32
+            public const nint m_nCompressionType = 0x21C; // TimelineCompression_t
+            public const nint m_bStopped = 0x220; // bool
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponSG556 {
+        }
+        // Parent: CPointEntity
+        // Field count: 10
+        public static class CAmbientGeneric {
+            public const nint m_radius = 0x4E0; // float32
+            public const nint m_flMaxRadius = 0x4E4; // float32
+            public const nint m_iSoundLevel = 0x4E8; // soundlevel_t
+            public const nint m_dpv = 0x4EC; // dynpitchvol_t
+            public const nint m_fActive = 0x550; // bool
+            public const nint m_fLooping = 0x551; // bool
+            public const nint m_iszSound = 0x558; // CUtlSymbolLarge
+            public const nint m_sSourceEntName = 0x560; // CUtlSymbolLarge
+            public const nint m_hSoundSource = 0x568; // CHandle<CBaseEntity>
+            public const nint m_nSoundSourceEntIndex = 0x56C; // CEntityIndex
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_Flags (uint8)
+        // NetworkVarNames: m_LightStyle (uint8)
+        // NetworkVarNames: m_Radius (float32)
+        // NetworkVarNames: m_Exponent (int32)
+        // NetworkVarNames: m_InnerAngle (float32)
+        // NetworkVarNames: m_OuterAngle (float32)
+        // NetworkVarNames: m_SpotRadius (float32)
+        public static class CDynamicLight {
+            public const nint m_ActualFlags = 0x790; // uint8
+            public const nint m_Flags = 0x791; // uint8
+            public const nint m_LightStyle = 0x792; // uint8
+            public const nint m_On = 0x793; // bool
+            public const nint m_Radius = 0x794; // float32
+            public const nint m_Exponent = 0x798; // int32
+            public const nint m_InnerAngle = 0x79C; // float32
+            public const nint m_OuterAngle = 0x7A0; // float32
+            public const nint m_SpotRadius = 0x7A4; // float32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponP90 {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CTriggerToggleSave {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CPrecipitation {
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CPointServerCommand {
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_iReapplyProvisionParity (int)
+        // NetworkVarNames: m_hOuter (EHANDLE)
+        // NetworkVarNames: m_ProviderType (attributeprovidertypes_t)
+        public static class CAttributeManager {
+            public const nint m_Providers = 0x8; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_iReapplyProvisionParity = 0x20; // int32
+            public const nint m_hOuter = 0x24; // CHandle<CBaseEntity>
+            public const nint m_bPreventLoopback = 0x28; // bool
+            public const nint m_ProviderType = 0x2C; // attributeprovidertypes_t
+            public const nint m_CachedResults = 0x30; // CUtlVector<CAttributeManager::cached_attribute_float_t>
+        }
+        // Parent: CServerOnlyEntity
+        // Field count: 0
+        public static class CLogicalEntity {
+        }
+        // Parent: None
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_PredNetBoolVariables (uint32)
+        // NetworkVarNames: m_PredNetByteVariables (byte)
+        // NetworkVarNames: m_PredNetUInt16Variables (uint16)
+        // NetworkVarNames: m_PredNetIntVariables (int32)
+        // NetworkVarNames: m_PredNetUInt32Variables (uint32)
+        // NetworkVarNames: m_PredNetUInt64Variables (uint64)
+        // NetworkVarNames: m_PredNetFloatVariables (float)
+        // NetworkVarNames: m_PredNetVectorVariables (Vector)
+        // NetworkVarNames: m_PredNetQuaternionVariables (Quaternion)
+        // NetworkVarNames: m_PredNetGlobalSymbolVariables (CGlobalSymbol)
+        // NetworkVarNames: m_OwnerOnlyPredNetBoolVariables (uint32)
+        // NetworkVarNames: m_OwnerOnlyPredNetByteVariables (byte)
+        // NetworkVarNames: m_OwnerOnlyPredNetUInt16Variables (uint16)
+        // NetworkVarNames: m_OwnerOnlyPredNetIntVariables (int32)
+        // NetworkVarNames: m_OwnerOnlyPredNetUInt32Variables (uint32)
+        // NetworkVarNames: m_OwnerOnlyPredNetUInt64Variables (uint64)
+        // NetworkVarNames: m_OwnerOnlyPredNetFloatVariables (float)
+        // NetworkVarNames: m_OwnerOnlyPredNetVectorVariables (Vector)
+        // NetworkVarNames: m_OwnerOnlyPredNetQuaternionVariables (Quaternion)
+        // NetworkVarNames: m_OwnerOnlyPredNetGlobalSymbolVariables (CGlobalSymbol)
+        // NetworkVarNames: m_nBoolVariablesCount (int)
+        // NetworkVarNames: m_nOwnerOnlyBoolVariablesCount (int)
+        // NetworkVarNames: m_nRandomSeedOffset (int)
+        // NetworkVarNames: m_flLastTeleportTime (float)
+        public static class CAnimGraphNetworkedVariables {
+            public const nint m_PredNetBoolVariables = 0x8; // CNetworkUtlVectorBase<uint32>
+            public const nint m_PredNetByteVariables = 0x20; // CNetworkUtlVectorBase<uint8>
+            public const nint m_PredNetUInt16Variables = 0x38; // CNetworkUtlVectorBase<uint16>
+            public const nint m_PredNetIntVariables = 0x50; // CNetworkUtlVectorBase<int32>
+            public const nint m_PredNetUInt32Variables = 0x68; // CNetworkUtlVectorBase<uint32>
+            public const nint m_PredNetUInt64Variables = 0x80; // CNetworkUtlVectorBase<uint64>
+            public const nint m_PredNetFloatVariables = 0x98; // CNetworkUtlVectorBase<float32>
+            public const nint m_PredNetVectorVariables = 0xB0; // CNetworkUtlVectorBase<Vector>
+            public const nint m_PredNetQuaternionVariables = 0xC8; // CNetworkUtlVectorBase<Quaternion>
+            public const nint m_PredNetGlobalSymbolVariables = 0xE0; // CNetworkUtlVectorBase<CGlobalSymbol>
+            public const nint m_OwnerOnlyPredNetBoolVariables = 0xF8; // CNetworkUtlVectorBase<uint32>
+            public const nint m_OwnerOnlyPredNetByteVariables = 0x110; // CNetworkUtlVectorBase<uint8>
+            public const nint m_OwnerOnlyPredNetUInt16Variables = 0x128; // CNetworkUtlVectorBase<uint16>
+            public const nint m_OwnerOnlyPredNetIntVariables = 0x140; // CNetworkUtlVectorBase<int32>
+            public const nint m_OwnerOnlyPredNetUInt32Variables = 0x158; // CNetworkUtlVectorBase<uint32>
+            public const nint m_OwnerOnlyPredNetUInt64Variables = 0x170; // CNetworkUtlVectorBase<uint64>
+            public const nint m_OwnerOnlyPredNetFloatVariables = 0x188; // CNetworkUtlVectorBase<float32>
+            public const nint m_OwnerOnlyPredNetVectorVariables = 0x1A0; // CNetworkUtlVectorBase<Vector>
+            public const nint m_OwnerOnlyPredNetQuaternionVariables = 0x1B8; // CNetworkUtlVectorBase<Quaternion>
+            public const nint m_OwnerOnlyPredNetGlobalSymbolVariables = 0x1D0; // CNetworkUtlVectorBase<CGlobalSymbol>
+            public const nint m_nBoolVariablesCount = 0x1E8; // int32
+            public const nint m_nOwnerOnlyBoolVariablesCount = 0x1EC; // int32
+            public const nint m_nRandomSeedOffset = 0x1F0; // int32
+            public const nint m_flLastTeleportTime = 0x1F4; // float32
+        }
+        // Parent: CBreakableProp
+        // Field count: 37
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_bAwake (bool)
+        public static class CPhysicsProp {
+            public const nint m_MotionEnabled = 0xB60; // CEntityIOOutput
+            public const nint m_OnAwakened = 0xB88; // CEntityIOOutput
+            public const nint m_OnAwake = 0xBB0; // CEntityIOOutput
+            public const nint m_OnAsleep = 0xBD8; // CEntityIOOutput
+            public const nint m_OnPlayerUse = 0xC00; // CEntityIOOutput
+            public const nint m_OnOutOfWorld = 0xC28; // CEntityIOOutput
+            public const nint m_OnPlayerPickup = 0xC50; // CEntityIOOutput
+            public const nint m_bForceNavIgnore = 0xC78; // bool
+            public const nint m_bNoNavmeshBlocker = 0xC79; // bool
+            public const nint m_bForceNpcExclude = 0xC7A; // bool
+            public const nint m_massScale = 0xC7C; // float32
+            public const nint m_inertiaScale = 0xC80; // float32
+            public const nint m_buoyancyScale = 0xC84; // float32
+            public const nint m_damageType = 0xC88; // int32
+            public const nint m_damageToEnableMotion = 0xC8C; // int32
+            public const nint m_flForceToEnableMotion = 0xC90; // float32
+            public const nint m_bThrownByPlayer = 0xC94; // bool
+            public const nint m_bDroppedByPlayer = 0xC95; // bool
+            public const nint m_bTouchedByPlayer = 0xC96; // bool
+            public const nint m_bFirstCollisionAfterLaunch = 0xC97; // bool
+            public const nint m_iExploitableByPlayer = 0xC98; // int32
+            public const nint m_bHasBeenAwakened = 0xC9C; // bool
+            public const nint m_bIsOverrideProp = 0xC9D; // bool
+            public const nint m_fNextCheckDisableMotionContactsTime = 0xCA0; // GameTime_t
+            public const nint m_iInitialGlowState = 0xCA4; // int32
+            public const nint m_nGlowRange = 0xCA8; // int32
+            public const nint m_nGlowRangeMin = 0xCAC; // int32
+            public const nint m_glowColor = 0xCB0; // Color
+            public const nint m_bShouldAutoConvertBackFromDebris = 0xCB4; // bool
+            public const nint m_bMuteImpactEffects = 0xCB5; // bool
+            public const nint m_bAcceptDamageFromHeldObjects = 0xCBF; // bool
+            public const nint m_bEnableUseOutput = 0xCC0; // bool
+            public const nint m_CrateType = 0xCC4; // CPhysicsProp::CrateType_t
+            public const nint m_strItemClass = 0xCC8; // CUtlSymbolLarge[4]
+            public const nint m_nItemCount = 0xCE8; // int32[4]
+            public const nint m_bRemovableForAmmoBalancing = 0xCF8; // bool
+            public const nint m_bAwake = 0xCF9; // bool
+        }
+        // Parent: CFuncWall
+        // Field count: 0
+        public static class CFuncWallToggle {
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_bSpotted (bool)
+        // NetworkVarNames: m_bSpottedByMask (uint32)
+        public static class EntitySpottedState_t {
+            public const nint m_bSpotted = 0x8; // bool
+            public const nint m_bSpottedByMask = 0xC; // uint32[2]
+        }
+        // Parent: CCSPlayerBase_CameraServices
+        // Field count: 0
+        public static class CCSPlayer_CameraServices {
+        }
+        // Parent: CCSGO_TeamIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_WingmanIntroCharacterPosition {
+        }
+        // Parent: CSPerRoundStats_t
+        // Field count: 21
+        //
+        // Metadata:
+        // NetworkVarNames: m_iEnemy5Ks (int)
+        // NetworkVarNames: m_iEnemy4Ks (int)
+        // NetworkVarNames: m_iEnemy3Ks (int)
+        // NetworkVarNames: m_iEnemyKnifeKills (int)
+        // NetworkVarNames: m_iEnemyTaserKills (int)
+        public static class CSMatchStats_t {
+            public const nint m_iEnemy5Ks = 0x68; // int32
+            public const nint m_iEnemy4Ks = 0x6C; // int32
+            public const nint m_iEnemy3Ks = 0x70; // int32
+            public const nint m_iEnemyKnifeKills = 0x74; // int32
+            public const nint m_iEnemyTaserKills = 0x78; // int32
+            public const nint m_iEnemy2Ks = 0x7C; // int32
+            public const nint m_iUtility_Count = 0x80; // int32
+            public const nint m_iUtility_Successes = 0x84; // int32
+            public const nint m_iUtility_Enemies = 0x88; // int32
+            public const nint m_iFlash_Count = 0x8C; // int32
+            public const nint m_iFlash_Successes = 0x90; // int32
+            public const nint m_nHealthPointsRemovedTotal = 0x94; // int32
+            public const nint m_nHealthPointsDealtTotal = 0x98; // int32
+            public const nint m_nShotsFiredTotal = 0x9C; // int32
+            public const nint m_nShotsOnTargetTotal = 0xA0; // int32
+            public const nint m_i1v1Count = 0xA4; // int32
+            public const nint m_i1v1Wins = 0xA8; // int32
+            public const nint m_i1v2Count = 0xAC; // int32
+            public const nint m_i1v2Wins = 0xB0; // int32
+            public const nint m_iEntryCount = 0xB4; // int32
+            public const nint m_iEntryWins = 0xB8; // int32
+        }
+        // Parent: CFuncLadder
+        // Field count: 0
+        public static class CFuncLadderAlias_func_useableladder {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 14
+        public static class CTriggerSndSosOpvar {
+            public const nint m_hTouchingPlayers = 0x960; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_flPosition = 0x978; // Vector
+            public const nint m_flCenterSize = 0x984; // float32
+            public const nint m_flMinVal = 0x988; // float32
+            public const nint m_flMaxVal = 0x98C; // float32
+            public const nint m_opvarName = 0x990; // CUtlSymbolLarge
+            public const nint m_stackName = 0x998; // CUtlSymbolLarge
+            public const nint m_operatorName = 0x9A0; // CUtlSymbolLarge
+            public const nint m_bVolIs2D = 0x9A8; // bool
+            public const nint m_opvarNameChar = 0x9A9; // char[256]
+            public const nint m_stackNameChar = 0xAA9; // char[256]
+            public const nint m_operatorNameChar = 0xBA9; // char[256]
+            public const nint m_VecNormPos = 0xCAC; // Vector
+            public const nint m_flNormCenterSize = 0xCB8; // float32
+        }
+        // Parent: CItem
+        // Field count: 0
+        public static class CItemAssaultSuit {
+        }
+        // Parent: CBaseEntity
+        // Field count: 72
+        public static class CScriptedSequence {
+            public const nint m_iszEntry = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszPreIdle = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszPlay = 0x4F0; // CUtlSymbolLarge
+            public const nint m_iszPostIdle = 0x4F8; // CUtlSymbolLarge
+            public const nint m_iszModifierToAddOnPlay = 0x500; // CUtlSymbolLarge
+            public const nint m_iszNextScript = 0x508; // CUtlSymbolLarge
+            public const nint m_iszEntity = 0x510; // CUtlSymbolLarge
+            public const nint m_iszSyncGroup = 0x518; // CUtlSymbolLarge
+            public const nint m_nMoveTo = 0x520; // ScriptedMoveTo_t
+            public const nint m_nMoveToGait = 0x524; // MovementGait_t
+            public const nint m_nHeldWeaponBehavior = 0x528; // ScriptedHeldWeaponBehavior_t
+            public const nint m_bIsPlayingPreIdle = 0x52C; // bool
+            public const nint m_bIsPlayingEntry = 0x52D; // bool
+            public const nint m_bIsPlayingAction = 0x52E; // bool
+            public const nint m_bIsPlayingPostIdle = 0x52F; // bool
+            public const nint m_bDontRotateOther = 0x530; // bool
+            public const nint m_bIsRepeatable = 0x531; // bool
+            public const nint m_bShouldLeaveCorpse = 0x532; // bool
+            public const nint m_bStartOnSpawn = 0x533; // bool
+            public const nint m_bDisallowInterrupts = 0x534; // bool
+            public const nint m_bCanOverrideNPCState = 0x535; // bool
+            public const nint m_bDontTeleportAtEnd = 0x536; // bool
+            public const nint m_bHighPriority = 0x537; // bool
+            public const nint m_bHideDebugComplaints = 0x538; // bool
+            public const nint m_bContinueOnDeath = 0x539; // bool
+            public const nint m_bLoopPreIdleSequence = 0x53A; // bool
+            public const nint m_bLoopActionSequence = 0x53B; // bool
+            public const nint m_bLoopPostIdleSequence = 0x53C; // bool
+            public const nint m_bSynchPostIdles = 0x53D; // bool
+            public const nint m_bIgnoreLookAt = 0x53E; // bool
+            public const nint m_bIgnoreGravity = 0x53F; // bool
+            public const nint m_bDisableNPCCollisions = 0x540; // bool
+            public const nint m_bKeepAnimgraphLockedPost = 0x541; // bool
+            public const nint m_bDontAddModifiers = 0x542; // bool
+            public const nint m_flRadius = 0x544; // float32
+            public const nint m_flRepeat = 0x548; // float32
+            public const nint m_flPlayAnimFadeInTime = 0x54C; // float32
+            public const nint m_flMoveInterpTime = 0x550; // float32
+            public const nint m_flAngRate = 0x554; // float32
+            public const nint m_bWaitUntilMoveCompletesToStartAnimation = 0x558; // bool
+            public const nint m_nNotReadySequenceCount = 0x55C; // int32
+            public const nint m_startTime = 0x560; // GameTime_t
+            public const nint m_bWaitForBeginSequence = 0x564; // bool
+            public const nint m_saved_effects = 0x568; // int32
+            public const nint m_savedFlags = 0x56C; // int32
+            public const nint m_savedCollisionGroup = 0x570; // int32
+            public const nint m_bInterruptable = 0x574; // bool
+            public const nint m_sequenceStarted = 0x575; // bool
+            public const nint m_bPositionRelativeToOtherEntity = 0x576; // bool
+            public const nint m_hTargetEnt = 0x578; // CHandle<CBaseEntity>
+            public const nint m_hNextCine = 0x57C; // CHandle<CScriptedSequence>
+            public const nint m_bThinking = 0x580; // bool
+            public const nint m_bInitiatedSelfDelete = 0x581; // bool
+            public const nint m_bIsTeleportingDueToMoveTo = 0x582; // bool
+            public const nint m_bAllowCustomInterruptConditions = 0x583; // bool
+            public const nint m_hForcedTarget = 0x584; // CHandle<CBaseAnimGraph>
+            public const nint m_bDontCancelOtherSequences = 0x588; // bool
+            public const nint m_bForceSynch = 0x589; // bool
+            public const nint m_bPreventUpdateYawOnFinish = 0x58A; // bool
+            public const nint m_bEnsureOnNavmeshOnFinish = 0x58B; // bool
+            public const nint m_onDeathBehavior = 0x58C; // ScriptedOnDeath_t
+            public const nint m_ConflictResponse = 0x590; // ScriptedConflictResponse_t
+            public const nint m_OnBeginSequence = 0x598; // CEntityIOOutput
+            public const nint m_OnActionStartOrLoop = 0x5C0; // CEntityIOOutput
+            public const nint m_OnEndSequence = 0x5E8; // CEntityIOOutput
+            public const nint m_OnPostIdleEndSequence = 0x610; // CEntityIOOutput
+            public const nint m_OnCancelSequence = 0x638; // CEntityIOOutput
+            public const nint m_OnCancelFailedSequence = 0x660; // CEntityIOOutput
+            public const nint m_OnScriptEvent = 0x688; // CEntityIOOutput[8]
+            public const nint m_matOtherToMain = 0x7D0; // CTransform
+            public const nint m_hInteractionMainEntity = 0x7F0; // CHandle<CBaseEntity>
+            public const nint m_iPlayerDeathBehavior = 0x7F4; // int32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponNegev {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponGalilAR {
+        }
+        // Parent: CModelPointEntity
+        // Field count: 30
+        //
+        // Metadata:
+        // NetworkVarNames: m_hTargetEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bState (bool)
+        // NetworkVarNames: m_bAlwaysUpdate (bool)
+        // NetworkVarNames: m_flLightFOV (float32)
+        // NetworkVarNames: m_bEnableShadows (bool)
+        // NetworkVarNames: m_bSimpleProjection (bool)
+        // NetworkVarNames: m_bLightOnlyTarget (bool)
+        // NetworkVarNames: m_bLightWorld (bool)
+        // NetworkVarNames: m_bCameraSpace (bool)
+        // NetworkVarNames: m_flBrightnessScale (float32)
+        // NetworkVarNames: m_LightColor (Color)
+        // NetworkVarNames: m_flIntensity (float32)
+        // NetworkVarNames: m_flLinearAttenuation (float32)
+        // NetworkVarNames: m_flQuadraticAttenuation (float32)
+        // NetworkVarNames: m_bVolumetric (bool)
+        // NetworkVarNames: m_flNoiseStrength (float32)
+        // NetworkVarNames: m_flFlashlightTime (float32)
+        // NetworkVarNames: m_nNumPlanes (uint32)
+        // NetworkVarNames: m_flPlaneOffset (float32)
+        // NetworkVarNames: m_flVolumetricIntensity (float32)
+        // NetworkVarNames: m_flColorTransitionTime (float32)
+        // NetworkVarNames: m_flAmbient (float32)
+        // NetworkVarNames: m_SpotlightTextureName (char)
+        // NetworkVarNames: m_nSpotlightTextureFrame (int32)
+        // NetworkVarNames: m_nShadowQuality (uint32)
+        // NetworkVarNames: m_flNearZ (float32)
+        // NetworkVarNames: m_flFarZ (float32)
+        // NetworkVarNames: m_flProjectionSize (float32)
+        // NetworkVarNames: m_flRotation (float32)
+        // NetworkVarNames: m_bFlipHorizontal (bool)
+        public static class CEnvProjectedTexture {
+            public const nint m_hTargetEntity = 0x790; // CHandle<CBaseEntity>
+            public const nint m_bState = 0x794; // bool
+            public const nint m_bAlwaysUpdate = 0x795; // bool
+            public const nint m_flLightFOV = 0x798; // float32
+            public const nint m_bEnableShadows = 0x79C; // bool
+            public const nint m_bSimpleProjection = 0x79D; // bool
+            public const nint m_bLightOnlyTarget = 0x79E; // bool
+            public const nint m_bLightWorld = 0x79F; // bool
+            public const nint m_bCameraSpace = 0x7A0; // bool
+            public const nint m_flBrightnessScale = 0x7A4; // float32
+            public const nint m_LightColor = 0x7A8; // Color
+            public const nint m_flIntensity = 0x7AC; // float32
+            public const nint m_flLinearAttenuation = 0x7B0; // float32
+            public const nint m_flQuadraticAttenuation = 0x7B4; // float32
+            public const nint m_bVolumetric = 0x7B8; // bool
+            public const nint m_flNoiseStrength = 0x7BC; // float32
+            public const nint m_flFlashlightTime = 0x7C0; // float32
+            public const nint m_nNumPlanes = 0x7C4; // uint32
+            public const nint m_flPlaneOffset = 0x7C8; // float32
+            public const nint m_flVolumetricIntensity = 0x7CC; // float32
+            public const nint m_flColorTransitionTime = 0x7D0; // float32
+            public const nint m_flAmbient = 0x7D4; // float32
+            public const nint m_SpotlightTextureName = 0x7D8; // char[512]
+            public const nint m_nSpotlightTextureFrame = 0x9D8; // int32
+            public const nint m_nShadowQuality = 0x9DC; // uint32
+            public const nint m_flNearZ = 0x9E0; // float32
+            public const nint m_flFarZ = 0x9E4; // float32
+            public const nint m_flProjectionSize = 0x9E8; // float32
+            public const nint m_flRotation = 0x9EC; // float32
+            public const nint m_bFlipHorizontal = 0x9F0; // bool
+        }
+        // Parent: CDynamicProp
+        // Field count: 0
+        public static class CDynamicPropAlias_prop_dynamic_override {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 3
+        public static class CSceneListManager {
+            public const nint m_hListManagers = 0x4E0; // CUtlVector<CHandle<CSceneListManager>>
+            public const nint m_iszScenes = 0x4F8; // CUtlSymbolLarge[16]
+            public const nint m_hScenes = 0x578; // CHandle<CBaseEntity>[16]
+        }
+        // Parent: CPhysConstraint
+        // Field count: 1
+        public static class CSplineConstraint {
+            public const nint m_vAnchorOffsetRestore = 0x5A0; // Vector
+        }
+        // Parent: CPlayer_ViewModelServices
+        // Field count: 0
+        public static class CCSObserver_ViewModelServices {
+        }
+        // Parent: CDynamicProp
+        // Field count: 0
+        public static class CDynamicPropAlias_dynamic_prop {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_Handle (ModelConfigHandle_t)
+        // NetworkVarNames: m_Name (string_t)
+        // NetworkVarNames: m_AssociatedEntities (CHandle<CBaseModelEntity>)
+        // NetworkVarNames: m_AssociatedEntityNames (string_t)
+        public static class ActiveModelConfig_t {
+            public const nint m_Handle = 0x28; // ModelConfigHandle_t
+            public const nint m_Name = 0x30; // CUtlSymbolLarge
+            public const nint m_AssociatedEntities = 0x38; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+            public const nint m_AssociatedEntityNames = 0x50; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+        }
+        // Parent: CPhysicsProp
+        // Field count: 0
+        public static class CPhysicsPropMultiplayer {
+        }
+        // Parent: CBaseToggle
+        // Field count: 5
+        public static class CBasePlatTrain {
+            public const nint m_NoiseMoving = 0x810; // CUtlSymbolLarge
+            public const nint m_NoiseArrived = 0x818; // CUtlSymbolLarge
+            public const nint m_volume = 0x828; // float32
+            public const nint m_flTWidth = 0x82C; // float32
+            public const nint m_flTLength = 0x830; // float32
+        }
+        // Parent: CMarkupVolumeTagged
+        // Field count: 0
+        public static class CSimpleMarkupVolumeTagged {
+        }
+        // Parent: SpawnPoint
+        // Field count: 0
+        public static class CInfoPlayerTerrorist {
+        }
+        // Parent: CPhysHinge
+        // Field count: 0
+        public static class CPhysHingeAlias_phys_hinge_local {
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CTankTargetChange {
+            public const nint m_newTarget = 0x4E0; // CVariantBase<CVariantDefaultAllocator>
+            public const nint m_newTargetName = 0x4F0; // CUtlSymbolLarge
+        }
+        // Parent: CLogicalEntity
+        // Field count: 6
+        public static class CLogicCompare {
+            public const nint m_flInValue = 0x4E0; // float32
+            public const nint m_flCompareValue = 0x4E4; // float32
+            public const nint m_OnLessThan = 0x4E8; // CEntityOutputTemplate<float32>
+            public const nint m_OnEqualTo = 0x510; // CEntityOutputTemplate<float32>
+            public const nint m_OnNotEqualTo = 0x538; // CEntityOutputTemplate<float32>
+            public const nint m_OnGreaterThan = 0x560; // CEntityOutputTemplate<float32>
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_totalHitsOnServer (int32)
+        public static class CCSPlayer_BulletServices {
+            public const nint m_totalHitsOnServer = 0x40; // int32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 7
+        public static class CLogicRelay {
+            public const nint m_OnTrigger = 0x4E0; // CEntityIOOutput
+            public const nint m_OnSpawn = 0x508; // CEntityIOOutput
+            public const nint m_bDisabled = 0x530; // bool
+            public const nint m_bWaitForRefire = 0x531; // bool
+            public const nint m_bTriggerOnce = 0x532; // bool
+            public const nint m_bFastRetrigger = 0x533; // bool
+            public const nint m_bPassthoughCaller = 0x534; // bool
+        }
+        // Parent: CPlayer_ItemServices
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_bHasDefuser (bool)
+        // NetworkVarNames: m_bHasHelmet (bool)
+        // NetworkVarNames: m_bHasHeavyArmor (bool)
+        public static class CCSPlayer_ItemServices {
+            public const nint m_bHasDefuser = 0x40; // bool
+            public const nint m_bHasHelmet = 0x41; // bool
+            public const nint m_bHasHeavyArmor = 0x42; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 7
+        public static class CKeepUpright {
+            public const nint m_worldGoalAxis = 0x4E8; // Vector
+            public const nint m_localTestAxis = 0x4F4; // Vector
+            public const nint m_nameAttach = 0x508; // CUtlSymbolLarge
+            public const nint m_attachedObject = 0x510; // CHandle<CBaseEntity>
+            public const nint m_angularLimit = 0x514; // float32
+            public const nint m_bActive = 0x518; // bool
+            public const nint m_bDampAllRotation = 0x519; // bool
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CModelPointEntity {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CFuncWater {
+            public const nint m_BuoyancyHelper = 0x790; // CBuoyancyHelper
+        }
+        // Parent: CBaseEntity
+        // Field count: 5
+        public static class CFuncTimescale {
+            public const nint m_flDesiredTimescale = 0x4E0; // float32
+            public const nint m_flAcceleration = 0x4E4; // float32
+            public const nint m_flMinBlendRate = 0x4E8; // float32
+            public const nint m_flBlendDeltaMultiplier = 0x4EC; // float32
+            public const nint m_isStarted = 0x4F0; // bool
+        }
+        // Parent: CBtNode
+        // Field count: 14
+        public static class CBtActionMoveTo {
+            public const nint m_szDestinationInputKey = 0x60; // CUtlString
+            public const nint m_szHidingSpotInputKey = 0x68; // CUtlString
+            public const nint m_szThreatInputKey = 0x70; // CUtlString
+            public const nint m_vecDestination = 0x78; // Vector
+            public const nint m_bAutoLookAdjust = 0x84; // bool
+            public const nint m_bComputePath = 0x85; // bool
+            public const nint m_flDamagingAreasPenaltyCost = 0x88; // float32
+            public const nint m_CheckApproximateCornersTimer = 0x90; // CountdownTimer
+            public const nint m_CheckHighPriorityItem = 0xA8; // CountdownTimer
+            public const nint m_RepathTimer = 0xC0; // CountdownTimer
+            public const nint m_flArrivalEpsilon = 0xD8; // float32
+            public const nint m_flAdditionalArrivalEpsilon2D = 0xDC; // float32
+            public const nint m_flHidingSpotCheckDistanceThreshold = 0xE0; // float32
+            public const nint m_flNearestAreaDistanceThreshold = 0xE4; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_flAutoExposureMin (float)
+        // NetworkVarNames: m_flAutoExposureMax (float)
+        // NetworkVarNames: m_flTonemapPercentTarget (float)
+        // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+        // NetworkVarNames: m_flTonemapMinAvgLum (float)
+        // NetworkVarNames: m_flExposureAdaptationSpeedUp (float)
+        // NetworkVarNames: m_flExposureAdaptationSpeedDown (float)
+        // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+        public static class CTonemapController2 {
+            public const nint m_flAutoExposureMin = 0x4E0; // float32
+            public const nint m_flAutoExposureMax = 0x4E4; // float32
+            public const nint m_flTonemapPercentTarget = 0x4E8; // float32
+            public const nint m_flTonemapPercentBrightPixels = 0x4EC; // float32
+            public const nint m_flTonemapMinAvgLum = 0x4F0; // float32
+            public const nint m_flExposureAdaptationSpeedUp = 0x4F4; // float32
+            public const nint m_flExposureAdaptationSpeedDown = 0x4F8; // float32
+            public const nint m_flTonemapEVSmoothingRange = 0x4FC; // float32
+        }
+        // Parent: CRopeKeyframe
+        // Field count: 0
+        public static class CRopeKeyframeAlias_move_rope {
+        }
+        // Parent: CPointEntity
+        // Field count: 9
+        public static class CEnvInstructorVRHint {
+            public const nint m_iszName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszHintTargetEntity = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iTimeout = 0x4F0; // int32
+            public const nint m_iszCaption = 0x4F8; // CUtlSymbolLarge
+            public const nint m_iszStartSound = 0x500; // CUtlSymbolLarge
+            public const nint m_iLayoutFileType = 0x508; // int32
+            public const nint m_iszCustomLayoutFile = 0x510; // CUtlSymbolLarge
+            public const nint m_iAttachType = 0x518; // int32
+            public const nint m_flHeightOffset = 0x51C; // float32
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 0
+        public static class CWeaponXM1014 {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CPlatTrigger {
+            public const nint m_pPlatform = 0x790; // CHandle<CFuncPlat>
+        }
+        // Parent: None
+        // Field count: 31
+        //
+        // Metadata:
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_iWindSeed (uint32)
+        // NetworkVarNames: m_iMinWind (uint16)
+        // NetworkVarNames: m_iMaxWind (uint16)
+        // NetworkVarNames: m_windRadius (int32)
+        // NetworkVarNames: m_iMinGust (uint16)
+        // NetworkVarNames: m_iMaxGust (uint16)
+        // NetworkVarNames: m_flMinGustDelay (float32)
+        // NetworkVarNames: m_flMaxGustDelay (float32)
+        // NetworkVarNames: m_flGustDuration (float32)
+        // NetworkVarNames: m_iGustDirChange (uint16)
+        // NetworkVarNames: m_location (Vector)
+        // NetworkVarNames: m_iInitialWindDir (uint16)
+        // NetworkVarNames: m_flInitialWindSpeed (float32)
+        public static class CEnvWindShared {
+            public const nint m_flStartTime = 0x8; // GameTime_t
+            public const nint m_iWindSeed = 0xC; // uint32
+            public const nint m_iMinWind = 0x10; // uint16
+            public const nint m_iMaxWind = 0x12; // uint16
+            public const nint m_windRadius = 0x14; // int32
+            public const nint m_iMinGust = 0x18; // uint16
+            public const nint m_iMaxGust = 0x1A; // uint16
+            public const nint m_flMinGustDelay = 0x1C; // float32
+            public const nint m_flMaxGustDelay = 0x20; // float32
+            public const nint m_flGustDuration = 0x24; // float32
+            public const nint m_iGustDirChange = 0x28; // uint16
+            public const nint m_location = 0x2C; // Vector
+            public const nint m_iszGustSound = 0x38; // int32
+            public const nint m_iWindDir = 0x3C; // int32
+            public const nint m_flWindSpeed = 0x40; // float32
+            public const nint m_currentWindVector = 0x44; // Vector
+            public const nint m_CurrentSwayVector = 0x50; // Vector
+            public const nint m_PrevSwayVector = 0x5C; // Vector
+            public const nint m_iInitialWindDir = 0x68; // uint16
+            public const nint m_flInitialWindSpeed = 0x6C; // float32
+            public const nint m_OnGustStart = 0x70; // CEntityIOOutput
+            public const nint m_OnGustEnd = 0x98; // CEntityIOOutput
+            public const nint m_flVariationTime = 0xC0; // GameTime_t
+            public const nint m_flSwayTime = 0xC4; // GameTime_t
+            public const nint m_flSimTime = 0xC8; // GameTime_t
+            public const nint m_flSwitchTime = 0xCC; // GameTime_t
+            public const nint m_flAveWindSpeed = 0xD0; // float32
+            public const nint m_bGusting = 0xD4; // bool
+            public const nint m_flWindAngleVariation = 0xD8; // float32
+            public const nint m_flWindSpeedVariation = 0xDC; // float32
+            public const nint m_hEntOwner = 0xE0; // CHandle<CBaseEntity>
+        }
+        // Parent: CBaseCSGrenade
+        // Field count: 0
+        public static class CMolotovGrenade {
+        }
+        // Parent: CPointEntity
+        // Field count: 6
+        public static class CPointHurt {
+            public const nint m_nDamage = 0x4E0; // int32
+            public const nint m_bitsDamageType = 0x4E4; // DamageTypes_t
+            public const nint m_flRadius = 0x4E8; // float32
+            public const nint m_flDelay = 0x4EC; // float32
+            public const nint m_strTarget = 0x4F0; // CUtlSymbolLarge
+            public const nint m_pActivator = 0x4F8; // CHandle<CBaseEntity>
+        }
+        // Parent: CBaseEntity
+        // Field count: 44
+        //
+        // Metadata:
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_bUpdateOnClient (bool)
+        // NetworkVarNames: m_nInputType (ValueRemapperInputType_t)
+        // NetworkVarNames: m_hRemapLineStart (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hRemapLineEnd (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_flMaximumChangePerSecond (float)
+        // NetworkVarNames: m_flDisengageDistance (float)
+        // NetworkVarNames: m_flEngageDistance (float)
+        // NetworkVarNames: m_bRequiresUseKey (bool)
+        // NetworkVarNames: m_nOutputType (ValueRemapperOutputType_t)
+        // NetworkVarNames: m_hOutputEntities (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nHapticsType (ValueRemapperHapticsType_t)
+        // NetworkVarNames: m_nMomentumType (ValueRemapperMomentumType_t)
+        // NetworkVarNames: m_flMomentumModifier (float)
+        // NetworkVarNames: m_flSnapValue (float)
+        // NetworkVarNames: m_nRatchetType (ValueRemapperRatchetType_t)
+        // NetworkVarNames: m_flInputOffset (float)
+        public static class CPointValueRemapper {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_bUpdateOnClient = 0x4E1; // bool
+            public const nint m_nInputType = 0x4E4; // ValueRemapperInputType_t
+            public const nint m_iszRemapLineStartName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszRemapLineEndName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_hRemapLineStart = 0x4F8; // CHandle<CBaseEntity>
+            public const nint m_hRemapLineEnd = 0x4FC; // CHandle<CBaseEntity>
+            public const nint m_flMaximumChangePerSecond = 0x500; // float32
+            public const nint m_flDisengageDistance = 0x504; // float32
+            public const nint m_flEngageDistance = 0x508; // float32
+            public const nint m_bRequiresUseKey = 0x50C; // bool
+            public const nint m_nOutputType = 0x510; // ValueRemapperOutputType_t
+            public const nint m_iszOutputEntityName = 0x518; // CUtlSymbolLarge
+            public const nint m_iszOutputEntity2Name = 0x520; // CUtlSymbolLarge
+            public const nint m_iszOutputEntity3Name = 0x528; // CUtlSymbolLarge
+            public const nint m_iszOutputEntity4Name = 0x530; // CUtlSymbolLarge
+            public const nint m_hOutputEntities = 0x538; // CNetworkUtlVectorBase<CHandle<CBaseEntity>>
+            public const nint m_nHapticsType = 0x550; // ValueRemapperHapticsType_t
+            public const nint m_nMomentumType = 0x554; // ValueRemapperMomentumType_t
+            public const nint m_flMomentumModifier = 0x558; // float32
+            public const nint m_flSnapValue = 0x55C; // float32
+            public const nint m_flCurrentMomentum = 0x560; // float32
+            public const nint m_nRatchetType = 0x564; // ValueRemapperRatchetType_t
+            public const nint m_flRatchetOffset = 0x568; // float32
+            public const nint m_flInputOffset = 0x56C; // float32
+            public const nint m_bEngaged = 0x570; // bool
+            public const nint m_bFirstUpdate = 0x571; // bool
+            public const nint m_flPreviousValue = 0x574; // float32
+            public const nint m_flPreviousUpdateTickTime = 0x578; // GameTime_t
+            public const nint m_vecPreviousTestPoint = 0x57C; // Vector
+            public const nint m_hUsingPlayer = 0x588; // CHandle<CBasePlayerPawn>
+            public const nint m_flCustomOutputValue = 0x58C; // float32
+            public const nint m_iszSoundEngage = 0x590; // CUtlSymbolLarge
+            public const nint m_iszSoundDisengage = 0x598; // CUtlSymbolLarge
+            public const nint m_iszSoundReachedValueZero = 0x5A0; // CUtlSymbolLarge
+            public const nint m_iszSoundReachedValueOne = 0x5A8; // CUtlSymbolLarge
+            public const nint m_iszSoundMovingLoop = 0x5B0; // CUtlSymbolLarge
+            public const nint m_Position = 0x5C0; // CEntityOutputTemplate<float32>
+            public const nint m_PositionDelta = 0x5E8; // CEntityOutputTemplate<float32>
+            public const nint m_OnReachedValueZero = 0x610; // CEntityIOOutput
+            public const nint m_OnReachedValueOne = 0x638; // CEntityIOOutput
+            public const nint m_OnReachedValueCustom = 0x660; // CEntityIOOutput
+            public const nint m_OnEngage = 0x688; // CEntityIOOutput
+            public const nint m_OnDisengage = 0x6B0; // CEntityIOOutput
+        }
+        // Parent: CLogicNPCCounter
+        // Field count: 4
+        public static class CLogicNPCCounterAABB {
+            public const nint m_vDistanceOuterMins = 0x820; // Vector
+            public const nint m_vDistanceOuterMaxs = 0x82C; // Vector
+            public const nint m_vOuterMins = 0x838; // Vector
+            public const nint m_vOuterMaxs = 0x844; // Vector
+        }
+        // Parent: CEnvSoundscapeTriggerable
+        // Field count: 0
+        public static class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable {
+        }
+        // Parent: CLightEntity
+        // Field count: 0
+        public static class CLightOrthoEntity {
+        }
+        // Parent: CSoundOpvarSetPointBase
+        // Field count: 24
+        public static class CSoundOpvarSetPointEntity {
+            public const nint m_OnEnter = 0x578; // CEntityIOOutput
+            public const nint m_OnExit = 0x5A0; // CEntityIOOutput
+            public const nint m_bAutoDisable = 0x5C8; // bool
+            public const nint m_flDistanceMin = 0x60C; // float32
+            public const nint m_flDistanceMax = 0x610; // float32
+            public const nint m_flDistanceMapMin = 0x614; // float32
+            public const nint m_flDistanceMapMax = 0x618; // float32
+            public const nint m_flOcclusionRadius = 0x61C; // float32
+            public const nint m_flOcclusionMin = 0x620; // float32
+            public const nint m_flOcclusionMax = 0x624; // float32
+            public const nint m_flValSetOnDisable = 0x628; // float32
+            public const nint m_bSetValueOnDisable = 0x62C; // bool
+            public const nint m_bReloading = 0x62D; // bool
+            public const nint m_nSimulationMode = 0x630; // int32
+            public const nint m_nVisibilitySamples = 0x634; // int32
+            public const nint m_vDynamicProxyPoint = 0x638; // Vector
+            public const nint m_flDynamicMaximumOcclusion = 0x644; // float32
+            public const nint m_hDynamicEntity = 0x648; // CEntityHandle
+            public const nint m_iszDynamicEntityName = 0x650; // CUtlSymbolLarge
+            public const nint m_flPathingDistanceNormFactor = 0x658; // float32
+            public const nint m_vPathingSourcePos = 0x65C; // Vector
+            public const nint m_vPathingListenerPos = 0x668; // Vector
+            public const nint m_vPathingDirection = 0x674; // Vector
+            public const nint m_nPathingSourceIndex = 0x680; // int32
+        }
+        // Parent: CBaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_skyboxData (sky3dparams_t)
+        // NetworkVarNames: m_skyboxSlotToken (CUtlStringToken)
+        public static class CSkyCamera {
+            public const nint m_skyboxData = 0x4E0; // sky3dparams_t
+            public const nint m_skyboxSlotToken = 0x570; // CUtlStringToken
+            public const nint m_bUseAngles = 0x574; // bool
+            public const nint m_pNext = 0x578; // CSkyCamera*
+        }
+        // Parent: CRulePointEntity
+        // Field count: 4
+        public static class CGameMoney {
+            public const nint m_OnMoneySpent = 0x7A0; // CEntityIOOutput
+            public const nint m_OnMoneySpentFail = 0x7C8; // CEntityIOOutput
+            public const nint m_nMoney = 0x7F0; // int32
+            public const nint m_strAwardText = 0x7F8; // CUtlString
+        }
+        // Parent: CLogicalEntity
+        // Field count: 5
+        public static class CLogicPlayerProxy {
+            public const nint m_hPlayer = 0x4E0; // CHandle<CBaseEntity>
+            public const nint m_PlayerHasAmmo = 0x4E8; // CEntityIOOutput
+            public const nint m_PlayerHasNoAmmo = 0x510; // CEntityIOOutput
+            public const nint m_PlayerDied = 0x538; // CEntityIOOutput
+            public const nint m_RequestedPlayerHealth = 0x560; // CEntityOutputTemplate<int32>
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_iObserverMode (uint8)
+        // NetworkVarNames: m_hObserverTarget (CHandle<CBaseEntity>)
+        public static class CPlayer_ObserverServices {
+            public const nint m_iObserverMode = 0x40; // uint8
+            public const nint m_hObserverTarget = 0x44; // CHandle<CBaseEntity>
+            public const nint m_iObserverLastMode = 0x48; // ObserverMode_t
+            public const nint m_bForcedObserverMode = 0x4C; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 3
+        public static class CPhysImpact {
+            public const nint m_damage = 0x4E0; // float32
+            public const nint m_distance = 0x4E4; // float32
+            public const nint m_directionEntityName = 0x4E8; // CUtlSymbolLarge
+        }
+        // Parent: CBaseEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_Entity_Color (Color)
+        // NetworkVarNames: m_Entity_flBrightness (float)
+        // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+        // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_vBoxMins (Vector)
+        // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+        // NetworkVarNames: m_Entity_bMoveable (bool)
+        // NetworkVarNames: m_Entity_nHandshake (int)
+        // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+        // NetworkVarNames: m_Entity_nPriority (int)
+        // NetworkVarNames: m_Entity_bStartDisabled (bool)
+        // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+        // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+        // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+        // NetworkVarNames: m_Entity_bEnabled (bool)
+        public static class CEnvCombinedLightProbeVolume {
+            public const nint m_Entity_Color = 0x1540; // Color
+            public const nint m_Entity_flBrightness = 0x1544; // float32
+            public const nint m_Entity_hCubemapTexture = 0x1548; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_bCustomCubemapTexture = 0x1550; // bool
+            public const nint m_Entity_hLightProbeTexture = 0x1558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightIndicesTexture = 0x1560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightScalarsTexture = 0x1568; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightShadowsTexture = 0x1570; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_vBoxMins = 0x1578; // Vector
+            public const nint m_Entity_vBoxMaxs = 0x1584; // Vector
+            public const nint m_Entity_bMoveable = 0x1590; // bool
+            public const nint m_Entity_nHandshake = 0x1594; // int32
+            public const nint m_Entity_nEnvCubeMapArrayIndex = 0x1598; // int32
+            public const nint m_Entity_nPriority = 0x159C; // int32
+            public const nint m_Entity_bStartDisabled = 0x15A0; // bool
+            public const nint m_Entity_flEdgeFadeDist = 0x15A4; // float32
+            public const nint m_Entity_vEdgeFadeDists = 0x15A8; // Vector
+            public const nint m_Entity_nLightProbeSizeX = 0x15B4; // int32
+            public const nint m_Entity_nLightProbeSizeY = 0x15B8; // int32
+            public const nint m_Entity_nLightProbeSizeZ = 0x15BC; // int32
+            public const nint m_Entity_nLightProbeAtlasX = 0x15C0; // int32
+            public const nint m_Entity_nLightProbeAtlasY = 0x15C4; // int32
+            public const nint m_Entity_nLightProbeAtlasZ = 0x15C8; // int32
+            public const nint m_Entity_bEnabled = 0x15E1; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_WaterServices {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponM249 {
+        }
+        // Parent: CParticleSystem
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_flAlphaScale (float32)
+        // NetworkVarNames: m_flRadiusScale (float32)
+        // NetworkVarNames: m_flSelfIllumScale (float32)
+        // NetworkVarNames: m_ColorTint (Color)
+        // NetworkVarNames: m_hTextureOverride (HRenderTextureStrong)
+        public static class CEnvParticleGlow {
+            public const nint m_flAlphaScale = 0xD08; // float32
+            public const nint m_flRadiusScale = 0xD0C; // float32
+            public const nint m_flSelfIllumScale = 0xD10; // float32
+            public const nint m_ColorTint = 0xD14; // Color
+            public const nint m_hTextureOverride = 0xD18; // CStrongHandle<InfoForResourceTypeCTextureBase>
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CFuncVehicleClip {
+        }
+        // Parent: CSoundAreaEntityBase
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_flRadius (float)
+        public static class CSoundAreaEntitySphere {
+            public const nint m_flRadius = 0x500; // float32
+        }
+        // Parent: CFuncBrush
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_targetCamera (CUtlString)
+        // NetworkVarNames: m_nResolutionEnum (int)
+        // NetworkVarNames: m_bRenderShadows (bool)
+        // NetworkVarNames: m_bUseUniqueColorTarget (bool)
+        // NetworkVarNames: m_brushModelName (CUtlString)
+        // NetworkVarNames: m_hTargetCamera (EHANDLE)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bDraw3DSkybox (bool)
+        public static class CFuncMonitor {
+            public const nint m_targetCamera = 0x7B0; // CUtlString
+            public const nint m_nResolutionEnum = 0x7B8; // int32
+            public const nint m_bRenderShadows = 0x7BC; // bool
+            public const nint m_bUseUniqueColorTarget = 0x7BD; // bool
+            public const nint m_brushModelName = 0x7C0; // CUtlString
+            public const nint m_hTargetCamera = 0x7C8; // CHandle<CBaseEntity>
+            public const nint m_bEnabled = 0x7CC; // bool
+            public const nint m_bDraw3DSkybox = 0x7CD; // bool
+            public const nint m_bStartEnabled = 0x7CE; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CEnvFunnel {
+        }
+        // Parent: None
+        // Field count: 6
+        public static class SequenceHistory_t {
+            public const nint m_hSequence = 0x0; // HSequence
+            public const nint m_flSeqStartTime = 0x4; // GameTime_t
+            public const nint m_flSeqFixedCycle = 0x8; // float32
+            public const nint m_nSeqLoopMode = 0xC; // AnimLoopMode_t
+            public const nint m_flPlaybackRate = 0x10; // float32
+            public const nint m_flCyclesPerSecond = 0x14; // float32
+        }
+        // Parent: CCSGameModeRules
+        // Field count: 0
+        public static class CCSGameModeRules_Noop {
+        }
+        // Parent: CPointEntity
+        // Field count: 16
+        public static class CPointAngularVelocitySensor {
+            public const nint m_hTargetEntity = 0x4E0; // CHandle<CBaseEntity>
+            public const nint m_flThreshold = 0x4E4; // float32
+            public const nint m_nLastCompareResult = 0x4E8; // int32
+            public const nint m_nLastFireResult = 0x4EC; // int32
+            public const nint m_flFireTime = 0x4F0; // GameTime_t
+            public const nint m_flFireInterval = 0x4F4; // float32
+            public const nint m_flLastAngVelocity = 0x4F8; // float32
+            public const nint m_lastOrientation = 0x4FC; // QAngle
+            public const nint m_vecAxis = 0x508; // Vector
+            public const nint m_bUseHelper = 0x514; // bool
+            public const nint m_AngularVelocity = 0x518; // CEntityOutputTemplate<float32>
+            public const nint m_OnLessThan = 0x540; // CEntityIOOutput
+            public const nint m_OnLessThanOrEqualTo = 0x568; // CEntityIOOutput
+            public const nint m_OnGreaterThan = 0x590; // CEntityIOOutput
+            public const nint m_OnGreaterThanOrEqualTo = 0x5B8; // CEntityIOOutput
+            public const nint m_OnEqualTo = 0x5E0; // CEntityIOOutput
+        }
+        // Parent: CBaseCSGrenadeProjectile
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsIncGrenade (bool)
+        public static class CMolotovProjectile {
+            public const nint m_bIsIncGrenade = 0xB50; // bool
+            public const nint m_bDetonated = 0xB5C; // bool
+            public const nint m_stillTimer = 0xB60; // IntervalTimer
+            public const nint m_bHasBouncedOffPlayer = 0xC40; // bool
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CHostageRescueZoneShim {
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CPointPulse {
+        }
+        // Parent: CPointEntity
+        // Field count: 24
+        public static class CEnvInstructorHint {
+            public const nint m_iszName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszReplace_Key = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszHintTargetEntity = 0x4F0; // CUtlSymbolLarge
+            public const nint m_iTimeout = 0x4F8; // int32
+            public const nint m_iDisplayLimit = 0x4FC; // int32
+            public const nint m_iszIcon_Onscreen = 0x500; // CUtlSymbolLarge
+            public const nint m_iszIcon_Offscreen = 0x508; // CUtlSymbolLarge
+            public const nint m_iszCaption = 0x510; // CUtlSymbolLarge
+            public const nint m_iszActivatorCaption = 0x518; // CUtlSymbolLarge
+            public const nint m_Color = 0x520; // Color
+            public const nint m_fIconOffset = 0x524; // float32
+            public const nint m_fRange = 0x528; // float32
+            public const nint m_iPulseOption = 0x52C; // uint8
+            public const nint m_iAlphaOption = 0x52D; // uint8
+            public const nint m_iShakeOption = 0x52E; // uint8
+            public const nint m_bStatic = 0x52F; // bool
+            public const nint m_bNoOffscreen = 0x530; // bool
+            public const nint m_bForceCaption = 0x531; // bool
+            public const nint m_iInstanceType = 0x534; // int32
+            public const nint m_bSuppressRest = 0x538; // bool
+            public const nint m_iszBinding = 0x540; // CUtlSymbolLarge
+            public const nint m_bAllowNoDrawTarget = 0x548; // bool
+            public const nint m_bAutoStart = 0x549; // bool
+            public const nint m_bLocalPlayerOnly = 0x54A; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CEnvTracer {
+            public const nint m_vecEnd = 0x4E0; // Vector
+            public const nint m_flDelay = 0x4EC; // float32
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CInfoGameEventProxy {
+            public const nint m_iszEventName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_flRange = 0x4E8; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 26
+        //
+        // Metadata:
+        // NetworkVarNames: m_FOV (float)
+        // NetworkVarNames: m_Resolution (float)
+        // NetworkVarNames: m_bFogEnable (bool)
+        // NetworkVarNames: m_FogColor (Color)
+        // NetworkVarNames: m_flFogStart (float)
+        // NetworkVarNames: m_flFogEnd (float)
+        // NetworkVarNames: m_flFogMaxDensity (float)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_bUseScreenAspectRatio (bool)
+        // NetworkVarNames: m_flAspectRatio (float)
+        // NetworkVarNames: m_bNoSky (bool)
+        // NetworkVarNames: m_fBrightness (float)
+        // NetworkVarNames: m_flZFar (float)
+        // NetworkVarNames: m_flZNear (float)
+        // NetworkVarNames: m_bCanHLTVUse (bool)
+        // NetworkVarNames: m_bAlignWithParent (bool)
+        // NetworkVarNames: m_bDofEnabled (bool)
+        // NetworkVarNames: m_flDofNearBlurry (float)
+        // NetworkVarNames: m_flDofNearCrisp (float)
+        // NetworkVarNames: m_flDofFarCrisp (float)
+        // NetworkVarNames: m_flDofFarBlurry (float)
+        // NetworkVarNames: m_flDofTiltToGround (float)
+        public static class CPointCamera {
+            public const nint m_FOV = 0x4E0; // float32
+            public const nint m_Resolution = 0x4E4; // float32
+            public const nint m_bFogEnable = 0x4E8; // bool
+            public const nint m_FogColor = 0x4E9; // Color
+            public const nint m_flFogStart = 0x4F0; // float32
+            public const nint m_flFogEnd = 0x4F4; // float32
+            public const nint m_flFogMaxDensity = 0x4F8; // float32
+            public const nint m_bActive = 0x4FC; // bool
+            public const nint m_bUseScreenAspectRatio = 0x4FD; // bool
+            public const nint m_flAspectRatio = 0x500; // float32
+            public const nint m_bNoSky = 0x504; // bool
+            public const nint m_fBrightness = 0x508; // float32
+            public const nint m_flZFar = 0x50C; // float32
+            public const nint m_flZNear = 0x510; // float32
+            public const nint m_bCanHLTVUse = 0x514; // bool
+            public const nint m_bAlignWithParent = 0x515; // bool
+            public const nint m_bDofEnabled = 0x516; // bool
+            public const nint m_flDofNearBlurry = 0x518; // float32
+            public const nint m_flDofNearCrisp = 0x51C; // float32
+            public const nint m_flDofFarCrisp = 0x520; // float32
+            public const nint m_flDofFarBlurry = 0x524; // float32
+            public const nint m_flDofTiltToGround = 0x528; // float32
+            public const nint m_TargetFOV = 0x52C; // float32
+            public const nint m_DegreesPerSecond = 0x530; // float32
+            public const nint m_bIsOn = 0x534; // bool
+            public const nint m_pNext = 0x538; // CPointCamera*
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_hModel (HModelStrong)
+        // NetworkVarNames: m_bClientClothCreationSuppressed (bool)
+        // NetworkVarNames: m_MeshGroupMask (MeshGroupMask_t)
+        // NetworkVarNames: m_nIdealMotionType (int8)
+        public static class CModelState {
+            public const nint m_hModel = 0xA0; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_ModelName = 0xA8; // CUtlSymbolLarge
+            public const nint m_bClientClothCreationSuppressed = 0xE8; // bool
+            public const nint m_MeshGroupMask = 0x198; // uint64
+            public const nint m_nIdealMotionType = 0x21A; // int8
+            public const nint m_nForceLOD = 0x21B; // int8
+            public const nint m_nClothUpdateFlags = 0x21C; // int8
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 12
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecLadderDir (Vector)
+        // NetworkVarNames: m_vecPlayerMountPositionTop (Vector)
+        // NetworkVarNames: m_vecPlayerMountPositionBottom (Vector)
+        // NetworkVarNames: m_flAutoRideSpeed (float)
+        // NetworkVarNames: m_bFakeLadder (bool)
+        public static class CFuncLadder {
+            public const nint m_vecLadderDir = 0x790; // Vector
+            public const nint m_Dismounts = 0x7A0; // CUtlVector<CHandle<CInfoLadderDismount>>
+            public const nint m_vecLocalTop = 0x7B8; // Vector
+            public const nint m_vecPlayerMountPositionTop = 0x7C4; // Vector
+            public const nint m_vecPlayerMountPositionBottom = 0x7D0; // Vector
+            public const nint m_flAutoRideSpeed = 0x7DC; // float32
+            public const nint m_bDisabled = 0x7E0; // bool
+            public const nint m_bFakeLadder = 0x7E1; // bool
+            public const nint m_bHasSlack = 0x7E2; // bool
+            public const nint m_surfacePropName = 0x7E8; // CUtlSymbolLarge
+            public const nint m_OnPlayerGotOnLadder = 0x7F0; // CEntityIOOutput
+            public const nint m_OnPlayerGotOffLadder = 0x818; // CEntityIOOutput
+        }
+        // Parent: CLogicalEntity
+        // Field count: 8
+        public static class CPathKeyFrame {
+            public const nint m_Origin = 0x4E0; // Vector
+            public const nint m_Angles = 0x4EC; // QAngle
+            public const nint m_qAngle = 0x500; // Quaternion
+            public const nint m_iNextKey = 0x510; // CUtlSymbolLarge
+            public const nint m_flNextTime = 0x518; // float32
+            public const nint m_pNextKey = 0x520; // CPathKeyFrame*
+            public const nint m_pPrevKey = 0x528; // CPathKeyFrame*
+            public const nint m_flMoveSpeed = 0x530; // float32
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 3
+        public static class CFuncInteractionLayerClip {
+            public const nint m_bDisabled = 0x790; // bool
+            public const nint m_iszInteractsAs = 0x798; // CUtlSymbolLarge
+            public const nint m_iszInteractsWith = 0x7A0; // CUtlSymbolLarge
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_Attributes (CEconItemAttribute)
+        public static class CAttributeList {
+            public const nint m_Attributes = 0x8; // CUtlVectorEmbeddedNetworkVar<CEconItemAttribute>
+            public const nint m_pManager = 0x58; // CAttributeManager*
+        }
+        // Parent: CGameRules
+        // Field count: 0
+        public static class CMultiplayRules {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponRevolver {
+        }
+        // Parent: CDynamicProp
+        // Field count: 1
+        public static class COrnamentProp {
+            public const nint m_initialOwner = 0xC58; // CUtlSymbolLarge
+        }
+        // Parent: CLogicalEntity
+        // Field count: 1
+        public static class CLogicGameEvent {
+            public const nint m_iszEventName = 0x4E0; // CUtlSymbolLarge
+        }
+        // Parent: CPointEntity
+        // Field count: 2
+        public static class CEnvMuzzleFlash {
+            public const nint m_flScale = 0x4E0; // float32
+            public const nint m_iszParentAttachment = 0x4E8; // CUtlSymbolLarge
+        }
+        // Parent: CModelPointEntity
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_nUniqueID (int)
+        // NetworkVarNames: m_unAccountID (uint32)
+        // NetworkVarNames: m_unTraceID (uint32)
+        // NetworkVarNames: m_rtGcTime (uint32)
+        // NetworkVarNames: m_vecEndPos (Vector)
+        // NetworkVarNames: m_vecStart (Vector)
+        // NetworkVarNames: m_vecLeft (Vector)
+        // NetworkVarNames: m_vecNormal (Vector)
+        // NetworkVarNames: m_nPlayer (int)
+        // NetworkVarNames: m_nEntity (int)
+        // NetworkVarNames: m_nHitbox (int)
+        // NetworkVarNames: m_flCreationTime (float)
+        // NetworkVarNames: m_nTintID (int)
+        // NetworkVarNames: m_nVersion (uint8)
+        // NetworkVarNames: m_ubSignature (uint8)
+        public static class CPlayerSprayDecal {
+            public const nint m_nUniqueID = 0x790; // int32
+            public const nint m_unAccountID = 0x794; // uint32
+            public const nint m_unTraceID = 0x798; // uint32
+            public const nint m_rtGcTime = 0x79C; // uint32
+            public const nint m_vecEndPos = 0x7A0; // Vector
+            public const nint m_vecStart = 0x7AC; // Vector
+            public const nint m_vecLeft = 0x7B8; // Vector
+            public const nint m_vecNormal = 0x7C4; // Vector
+            public const nint m_nPlayer = 0x7D0; // int32
+            public const nint m_nEntity = 0x7D4; // int32
+            public const nint m_nHitbox = 0x7D8; // int32
+            public const nint m_flCreationTime = 0x7DC; // float32
+            public const nint m_nTintID = 0x7E0; // int32
+            public const nint m_nVersion = 0x7E4; // uint8
+            public const nint m_ubSignature = 0x7E5; // uint8[128]
+        }
+        // Parent: CBaseTrigger
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_bBombPlantedHere (bool)
+        public static class CBombTarget {
+            public const nint m_OnBombExplode = 0x960; // CEntityIOOutput
+            public const nint m_OnBombPlanted = 0x988; // CEntityIOOutput
+            public const nint m_OnBombDefused = 0x9B0; // CEntityIOOutput
+            public const nint m_bIsBombSiteB = 0x9D8; // bool
+            public const nint m_bIsHeistBombTarget = 0x9D9; // bool
+            public const nint m_bBombPlantedHere = 0x9DA; // bool
+            public const nint m_szMountTarget = 0x9E0; // CUtlSymbolLarge
+            public const nint m_hInstructorHint = 0x9E8; // CHandle<CBaseEntity>
+            public const nint m_nBombSiteDesignation = 0x9EC; // int32
+        }
+        // Parent: CBaseEntity
+        // Field count: 8
+        public static class CPhysicsSpring {
+            public const nint m_flFrequency = 0x4E8; // float32
+            public const nint m_flDampingRatio = 0x4EC; // float32
+            public const nint m_flRestLength = 0x4F0; // float32
+            public const nint m_nameAttachStart = 0x4F8; // CUtlSymbolLarge
+            public const nint m_nameAttachEnd = 0x500; // CUtlSymbolLarge
+            public const nint m_start = 0x508; // Vector
+            public const nint m_end = 0x514; // Vector
+            public const nint m_teleportTick = 0x520; // uint32
+        }
+        // Parent: CBaseEntity
+        // Field count: 17
+        //
+        // Metadata:
+        // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_vBoxMins (Vector)
+        // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+        // NetworkVarNames: m_Entity_bMoveable (bool)
+        // NetworkVarNames: m_Entity_nHandshake (int)
+        // NetworkVarNames: m_Entity_nPriority (int)
+        // NetworkVarNames: m_Entity_bStartDisabled (bool)
+        // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+        // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+        // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+        // NetworkVarNames: m_Entity_bEnabled (bool)
+        public static class CEnvLightProbeVolume {
+            public const nint m_Entity_hLightProbeTexture = 0x14C0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightIndicesTexture = 0x14C8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightScalarsTexture = 0x14D0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_hLightProbeDirectLightShadowsTexture = 0x14D8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_vBoxMins = 0x14E0; // Vector
+            public const nint m_Entity_vBoxMaxs = 0x14EC; // Vector
+            public const nint m_Entity_bMoveable = 0x14F8; // bool
+            public const nint m_Entity_nHandshake = 0x14FC; // int32
+            public const nint m_Entity_nPriority = 0x1500; // int32
+            public const nint m_Entity_bStartDisabled = 0x1504; // bool
+            public const nint m_Entity_nLightProbeSizeX = 0x1508; // int32
+            public const nint m_Entity_nLightProbeSizeY = 0x150C; // int32
+            public const nint m_Entity_nLightProbeSizeZ = 0x1510; // int32
+            public const nint m_Entity_nLightProbeAtlasX = 0x1514; // int32
+            public const nint m_Entity_nLightProbeAtlasY = 0x1518; // int32
+            public const nint m_Entity_nLightProbeAtlasZ = 0x151C; // int32
+            public const nint m_Entity_bEnabled = 0x1529; // bool
+        }
+        // Parent: CCSGameModeRules
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_WeaponSequence (CUtlString)
+        public static class CCSGameModeRules_ArmsRace {
+            public const nint m_WeaponSequence = 0x30; // CNetworkUtlVectorBase<CUtlString>
+        }
+        // Parent: CTriggerPush
+        // Field count: 1
+        public static class CScriptTriggerPush {
+            public const nint m_vExtent = 0x998; // Vector
+        }
+        // Parent: CBaseEntity
+        // Field count: 1
+        public static class CEnvEntityIgniter {
+            public const nint m_flLifetime = 0x4E0; // float32
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CFuncWall {
+            public const nint m_nState = 0x790; // int32
+        }
+        // Parent: CPointEntity
+        // Field count: 1
+        public static class CPointChildModifier {
+            public const nint m_bOrphanInsteadOfDeletingChildrenOnRemove = 0x4E0; // bool
+        }
+        // Parent: None
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_PlayerDamager (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_PlayerRecipient (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hPlayerControllerDamager (CHandle<CCSPlayerController>)
+        // NetworkVarNames: m_hPlayerControllerRecipient (CHandle<CCSPlayerController>)
+        // NetworkVarNames: m_szPlayerDamagerName (CUtlString)
+        // NetworkVarNames: m_szPlayerRecipientName (CUtlString)
+        // NetworkVarNames: m_DamagerXuid (uint64)
+        // NetworkVarNames: m_RecipientXuid (uint64)
+        // NetworkVarNames: m_iDamage (int)
+        // NetworkVarNames: m_iActualHealthRemoved (int)
+        // NetworkVarNames: m_iNumHits (int)
+        // NetworkVarNames: m_iLastBulletUpdate (int)
+        // NetworkVarNames: m_bIsOtherEnemy (bool)
+        // NetworkVarNames: m_killType (EKillTypes_t)
+        public static class CDamageRecord {
+            public const nint m_PlayerDamager = 0x28; // CHandle<CCSPlayerPawn>
+            public const nint m_PlayerRecipient = 0x2C; // CHandle<CCSPlayerPawn>
+            public const nint m_hPlayerControllerDamager = 0x30; // CHandle<CCSPlayerController>
+            public const nint m_hPlayerControllerRecipient = 0x34; // CHandle<CCSPlayerController>
+            public const nint m_szPlayerDamagerName = 0x38; // CUtlString
+            public const nint m_szPlayerRecipientName = 0x40; // CUtlString
+            public const nint m_DamagerXuid = 0x48; // uint64
+            public const nint m_RecipientXuid = 0x50; // uint64
+            public const nint m_iBulletsDamage = 0x58; // int32
+            public const nint m_iDamage = 0x5C; // int32
+            public const nint m_iActualHealthRemoved = 0x60; // int32
+            public const nint m_iNumHits = 0x64; // int32
+            public const nint m_iLastBulletUpdate = 0x68; // int32
+            public const nint m_bIsOtherEnemy = 0x6C; // bool
+            public const nint m_killType = 0x6D; // EKillTypes_t
+        }
+        // Parent: CLogicalEntity
+        // Field count: 3
+        public static class CLogicAutosave {
+            public const nint m_bForceNewLevelUnit = 0x4E0; // bool
+            public const nint m_minHitPoints = 0x4E4; // int32
+            public const nint m_minHitPointsToCommit = 0x4E8; // int32
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_nSendUpdate (int)
+        // NetworkVarNames: m_DamageList (CDamageRecord)
+        public static class CCSPlayerController_DamageServices {
+            public const nint m_nSendUpdate = 0x40; // int32
+            public const nint m_DamageList = 0x48; // CUtlVectorEmbeddedNetworkVar<CDamageRecord>
+        }
+        // Parent: CEntityComponent
+        // Field count: 5
+        public static class CRenderComponent {
+            public const nint __m_pChainEntity = 0x10; // CNetworkVarChainer
+            public const nint m_bIsRenderingWithViewModels = 0x50; // bool
+            public const nint m_nSplitscreenFlags = 0x54; // uint32
+            public const nint m_bEnableRendering = 0x60; // bool
+            public const nint m_bInterpolationReadyToDraw = 0xB0; // bool
+        }
+        // Parent: CEnvSoundscape
+        // Field count: 1
+        public static class CEnvSoundscapeProxy {
+            public const nint m_MainSoundscapeName = 0x580; // CUtlSymbolLarge
+        }
+        // Parent: CSoundEventEntity
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecCornerPairsNetworked (SoundeventPathCornerPairNetworked_t)
+        public static class CSoundEventPathCornerEntity {
+            public const nint m_iszPathCorner = 0x598; // CUtlSymbolLarge
+            public const nint m_iCountMax = 0x5A0; // int32
+            public const nint m_flDistanceMax = 0x5A4; // float32
+            public const nint m_flDistMaxSqr = 0x5A8; // float32
+            public const nint m_flDotProductMax = 0x5AC; // float32
+            public const nint m_bPlaying = 0x5B0; // bool
+            public const nint m_vecCornerPairsNetworked = 0x5D8; // CNetworkUtlVectorBase<SoundeventPathCornerPairNetworked_t>
+        }
+        // Parent: CEntityComponent
+        // Field count: 67
+        //
+        // Metadata:
+        // NetworkVarNames: m_Color (Color)
+        // NetworkVarNames: m_SecondaryColor (Color)
+        // NetworkVarNames: m_flBrightness (float)
+        // NetworkVarNames: m_flBrightnessScale (float)
+        // NetworkVarNames: m_flBrightnessMult (float)
+        // NetworkVarNames: m_flRange (float)
+        // NetworkVarNames: m_flFalloff (float)
+        // NetworkVarNames: m_flAttenuation0 (float)
+        // NetworkVarNames: m_flAttenuation1 (float)
+        // NetworkVarNames: m_flAttenuation2 (float)
+        // NetworkVarNames: m_flTheta (float)
+        // NetworkVarNames: m_flPhi (float)
+        // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+        // NetworkVarNames: m_nCascades (int)
+        // NetworkVarNames: m_nCastShadows (int)
+        // NetworkVarNames: m_nShadowWidth (int)
+        // NetworkVarNames: m_nShadowHeight (int)
+        // NetworkVarNames: m_bRenderDiffuse (bool)
+        // NetworkVarNames: m_nRenderSpecular (int)
+        // NetworkVarNames: m_bRenderTransmissive (bool)
+        // NetworkVarNames: m_flOrthoLightWidth (float)
+        // NetworkVarNames: m_flOrthoLightHeight (float)
+        // NetworkVarNames: m_nStyle (int)
+        // NetworkVarNames: m_Pattern (CUtlString)
+        // NetworkVarNames: m_nCascadeRenderStaticObjects (int)
+        // NetworkVarNames: m_flShadowCascadeCrossFade (float)
+        // NetworkVarNames: m_flShadowCascadeDistanceFade (float)
+        // NetworkVarNames: m_flShadowCascadeDistance0 (float)
+        // NetworkVarNames: m_flShadowCascadeDistance1 (float)
+        // NetworkVarNames: m_flShadowCascadeDistance2 (float)
+        // NetworkVarNames: m_flShadowCascadeDistance3 (float)
+        // NetworkVarNames: m_nShadowCascadeResolution0 (int)
+        // NetworkVarNames: m_nShadowCascadeResolution1 (int)
+        // NetworkVarNames: m_nShadowCascadeResolution2 (int)
+        // NetworkVarNames: m_nShadowCascadeResolution3 (int)
+        // NetworkVarNames: m_bUsesBakedShadowing (bool)
+        // NetworkVarNames: m_nShadowPriority (int)
+        // NetworkVarNames: m_nBakedShadowIndex (int)
+        // NetworkVarNames: m_bRenderToCubemaps (bool)
+        // NetworkVarNames: m_nDirectLight (int)
+        // NetworkVarNames: m_nIndirectLight (int)
+        // NetworkVarNames: m_flFadeMinDist (float)
+        // NetworkVarNames: m_flFadeMaxDist (float)
+        // NetworkVarNames: m_flShadowFadeMinDist (float)
+        // NetworkVarNames: m_flShadowFadeMaxDist (float)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bFlicker (bool)
+        // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+        // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+        // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+        // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+        // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+        // NetworkVarNames: m_flPrecomputedMaxRange (float)
+        // NetworkVarNames: m_nFogLightingMode (int)
+        // NetworkVarNames: m_flFogContributionStength (float)
+        // NetworkVarNames: m_flNearClipPlane (float)
+        // NetworkVarNames: m_SkyColor (Color)
+        // NetworkVarNames: m_flSkyIntensity (float)
+        // NetworkVarNames: m_SkyAmbientBounce (Color)
+        // NetworkVarNames: m_bUseSecondaryColor (bool)
+        // NetworkVarNames: m_bMixedShadows (bool)
+        // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+        // NetworkVarNames: m_flCapsuleLength (float)
+        // NetworkVarNames: m_flMinRoughness (float)
+        public static class CLightComponent {
+            public const nint __m_pChainEntity = 0x38; // CNetworkVarChainer
+            public const nint m_Color = 0x75; // Color
+            public const nint m_SecondaryColor = 0x79; // Color
+            public const nint m_flBrightness = 0x80; // float32
+            public const nint m_flBrightnessScale = 0x84; // float32
+            public const nint m_flBrightnessMult = 0x88; // float32
+            public const nint m_flRange = 0x8C; // float32
+            public const nint m_flFalloff = 0x90; // float32
+            public const nint m_flAttenuation0 = 0x94; // float32
+            public const nint m_flAttenuation1 = 0x98; // float32
+            public const nint m_flAttenuation2 = 0x9C; // float32
+            public const nint m_flTheta = 0xA0; // float32
+            public const nint m_flPhi = 0xA4; // float32
+            public const nint m_hLightCookie = 0xA8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_nCascades = 0xB0; // int32
+            public const nint m_nCastShadows = 0xB4; // int32
+            public const nint m_nShadowWidth = 0xB8; // int32
+            public const nint m_nShadowHeight = 0xBC; // int32
+            public const nint m_bRenderDiffuse = 0xC0; // bool
+            public const nint m_nRenderSpecular = 0xC4; // int32
+            public const nint m_bRenderTransmissive = 0xC8; // bool
+            public const nint m_flOrthoLightWidth = 0xCC; // float32
+            public const nint m_flOrthoLightHeight = 0xD0; // float32
+            public const nint m_nStyle = 0xD4; // int32
+            public const nint m_Pattern = 0xD8; // CUtlString
+            public const nint m_nCascadeRenderStaticObjects = 0xE0; // int32
+            public const nint m_flShadowCascadeCrossFade = 0xE4; // float32
+            public const nint m_flShadowCascadeDistanceFade = 0xE8; // float32
+            public const nint m_flShadowCascadeDistance0 = 0xEC; // float32
+            public const nint m_flShadowCascadeDistance1 = 0xF0; // float32
+            public const nint m_flShadowCascadeDistance2 = 0xF4; // float32
+            public const nint m_flShadowCascadeDistance3 = 0xF8; // float32
+            public const nint m_nShadowCascadeResolution0 = 0xFC; // int32
+            public const nint m_nShadowCascadeResolution1 = 0x100; // int32
+            public const nint m_nShadowCascadeResolution2 = 0x104; // int32
+            public const nint m_nShadowCascadeResolution3 = 0x108; // int32
+            public const nint m_bUsesBakedShadowing = 0x10C; // bool
+            public const nint m_nShadowPriority = 0x110; // int32
+            public const nint m_nBakedShadowIndex = 0x114; // int32
+            public const nint m_bRenderToCubemaps = 0x118; // bool
+            public const nint m_nDirectLight = 0x11C; // int32
+            public const nint m_nIndirectLight = 0x120; // int32
+            public const nint m_flFadeMinDist = 0x124; // float32
+            public const nint m_flFadeMaxDist = 0x128; // float32
+            public const nint m_flShadowFadeMinDist = 0x12C; // float32
+            public const nint m_flShadowFadeMaxDist = 0x130; // float32
+            public const nint m_bEnabled = 0x134; // bool
+            public const nint m_bFlicker = 0x135; // bool
+            public const nint m_bPrecomputedFieldsValid = 0x136; // bool
+            public const nint m_vPrecomputedBoundsMins = 0x138; // Vector
+            public const nint m_vPrecomputedBoundsMaxs = 0x144; // Vector
+            public const nint m_vPrecomputedOBBOrigin = 0x150; // Vector
+            public const nint m_vPrecomputedOBBAngles = 0x15C; // QAngle
+            public const nint m_vPrecomputedOBBExtent = 0x168; // Vector
+            public const nint m_flPrecomputedMaxRange = 0x174; // float32
+            public const nint m_nFogLightingMode = 0x178; // int32
+            public const nint m_flFogContributionStength = 0x17C; // float32
+            public const nint m_flNearClipPlane = 0x180; // float32
+            public const nint m_SkyColor = 0x184; // Color
+            public const nint m_flSkyIntensity = 0x188; // float32
+            public const nint m_SkyAmbientBounce = 0x18C; // Color
+            public const nint m_bUseSecondaryColor = 0x190; // bool
+            public const nint m_bMixedShadows = 0x191; // bool
+            public const nint m_flLightStyleStartTime = 0x194; // GameTime_t
+            public const nint m_flCapsuleLength = 0x198; // float32
+            public const nint m_flMinRoughness = 0x19C; // float32
+            public const nint m_bPvsModifyEntity = 0x1B0; // bool
+        }
+        // Parent: CBaseCSGrenadeProjectile
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_nSmokeEffectTickBegin (int)
+        // NetworkVarNames: m_bDidSmokeEffect (bool)
+        // NetworkVarNames: m_nRandomSeed (int)
+        // NetworkVarNames: m_vSmokeColor (Vector)
+        // NetworkVarNames: m_vSmokeDetonationPos (Vector)
+        // NetworkVarNames: m_VoxelFrameData (uint8)
+        // NetworkVarNames: m_nVoxelFrameDataSize (int)
+        // NetworkVarNames: m_nVoxelUpdate (int)
+        public static class CSmokeGrenadeProjectile {
+            public const nint m_nSmokeEffectTickBegin = 0xB68; // int32
+            public const nint m_bDidSmokeEffect = 0xB6C; // bool
+            public const nint m_nRandomSeed = 0xB70; // int32
+            public const nint m_vSmokeColor = 0xB74; // Vector
+            public const nint m_vSmokeDetonationPos = 0xB80; // Vector
+            public const nint m_VoxelFrameData = 0xB90; // CNetworkUtlVectorBase<uint8>
+            public const nint m_nVoxelFrameDataSize = 0xBA8; // int32
+            public const nint m_nVoxelUpdate = 0xBAC; // int32
+            public const nint m_flLastBounce = 0xBB0; // GameTime_t
+            public const nint m_fllastSimulationTime = 0xBB4; // GameTime_t
+            public const nint m_bExplodeFromInferno = 0x2E38; // bool
+        }
+        // Parent: CTriggerMultiple
+        // Field count: 1
+        public static class CScriptTriggerMultiple {
+            public const nint m_vExtent = 0x988; // Vector
+        }
+        // Parent: CSoundOpvarSetPointEntity
+        // Field count: 5
+        public static class CSoundOpvarSetAutoRoomEntity {
+            public const nint m_traceResults = 0x688; // CUtlVector<SoundOpvarTraceResult_t>
+            public const nint m_doorwayPairs = 0x6A0; // CUtlVector<AutoRoomDoorwayPairs_t>
+            public const nint m_flSize = 0x6B8; // float32
+            public const nint m_flHeightTolerance = 0x6BC; // float32
+            public const nint m_flSizeSqr = 0x6C0; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        public static class CEntityComponent {
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class FilterDamageType {
+            public const nint m_iDamageType = 0x538; // int32
+        }
+        // Parent: CBot
+        // Field count: 139
+        public static class CCSBot {
+            public const nint m_eyePosition = 0x108; // Vector
+            public const nint m_name = 0x114; // char[64]
+            public const nint m_combatRange = 0x154; // float32
+            public const nint m_isRogue = 0x158; // bool
+            public const nint m_rogueTimer = 0x160; // CountdownTimer
+            public const nint m_diedLastRound = 0x17C; // bool
+            public const nint m_safeTime = 0x180; // float32
+            public const nint m_wasSafe = 0x184; // bool
+            public const nint m_blindFire = 0x18C; // bool
+            public const nint m_surpriseTimer = 0x190; // CountdownTimer
+            public const nint m_bAllowActive = 0x1A8; // bool
+            public const nint m_isFollowing = 0x1A9; // bool
+            public const nint m_leader = 0x1AC; // CHandle<CCSPlayerPawn>
+            public const nint m_followTimestamp = 0x1B0; // float32
+            public const nint m_allowAutoFollowTime = 0x1B4; // float32
+            public const nint m_hurryTimer = 0x1B8; // CountdownTimer
+            public const nint m_alertTimer = 0x1D0; // CountdownTimer
+            public const nint m_sneakTimer = 0x1E8; // CountdownTimer
+            public const nint m_panicTimer = 0x200; // CountdownTimer
+            public const nint m_stateTimestamp = 0x4D0; // float32
+            public const nint m_isAttacking = 0x4D4; // bool
+            public const nint m_isOpeningDoor = 0x4D5; // bool
+            public const nint m_taskEntity = 0x4DC; // CHandle<CBaseEntity>
+            public const nint m_goalPosition = 0x4EC; // Vector
+            public const nint m_goalEntity = 0x4F8; // CHandle<CBaseEntity>
+            public const nint m_avoid = 0x4FC; // CHandle<CBaseEntity>
+            public const nint m_avoidTimestamp = 0x500; // float32
+            public const nint m_isStopping = 0x504; // bool
+            public const nint m_hasVisitedEnemySpawn = 0x505; // bool
+            public const nint m_stillTimer = 0x508; // IntervalTimer
+            public const nint m_bEyeAnglesUnderPathFinderControl = 0x518; // bool
+            public const nint m_pathIndex = 0x5610; // int32
+            public const nint m_areaEnteredTimestamp = 0x5614; // GameTime_t
+            public const nint m_repathTimer = 0x5618; // CountdownTimer
+            public const nint m_avoidFriendTimer = 0x5630; // CountdownTimer
+            public const nint m_isFriendInTheWay = 0x5648; // bool
+            public const nint m_politeTimer = 0x5650; // CountdownTimer
+            public const nint m_isWaitingBehindFriend = 0x5668; // bool
+            public const nint m_pathLadderEnd = 0x5694; // float32
+            public const nint m_mustRunTimer = 0x56E0; // CountdownTimer
+            public const nint m_waitTimer = 0x56F8; // CountdownTimer
+            public const nint m_updateTravelDistanceTimer = 0x5710; // CountdownTimer
+            public const nint m_playerTravelDistance = 0x5728; // float32[64]
+            public const nint m_travelDistancePhase = 0x5828; // uint8
+            public const nint m_hostageEscortCount = 0x59C0; // uint8
+            public const nint m_hostageEscortCountTimestamp = 0x59C4; // float32
+            public const nint m_desiredTeam = 0x59C8; // int32
+            public const nint m_hasJoined = 0x59CC; // bool
+            public const nint m_isWaitingForHostage = 0x59CD; // bool
+            public const nint m_inhibitWaitingForHostageTimer = 0x59D0; // CountdownTimer
+            public const nint m_waitForHostageTimer = 0x59E8; // CountdownTimer
+            public const nint m_noisePosition = 0x5A00; // Vector
+            public const nint m_noiseTravelDistance = 0x5A0C; // float32
+            public const nint m_noiseTimestamp = 0x5A10; // float32
+            public const nint m_noiseSource = 0x5A18; // CCSPlayerPawn*
+            public const nint m_noiseBendTimer = 0x5A30; // CountdownTimer
+            public const nint m_bentNoisePosition = 0x5A48; // Vector
+            public const nint m_bendNoisePositionValid = 0x5A54; // bool
+            public const nint m_lookAroundStateTimestamp = 0x5A58; // float32
+            public const nint m_lookAheadAngle = 0x5A5C; // float32
+            public const nint m_forwardAngle = 0x5A60; // float32
+            public const nint m_inhibitLookAroundTimestamp = 0x5A64; // float32
+            public const nint m_lookAtSpot = 0x5A6C; // Vector
+            public const nint m_lookAtSpotDuration = 0x5A7C; // float32
+            public const nint m_lookAtSpotTimestamp = 0x5A80; // float32
+            public const nint m_lookAtSpotAngleTolerance = 0x5A84; // float32
+            public const nint m_lookAtSpotClearIfClose = 0x5A88; // bool
+            public const nint m_lookAtSpotAttack = 0x5A89; // bool
+            public const nint m_lookAtDesc = 0x5A90; // char*
+            public const nint m_peripheralTimestamp = 0x5A98; // float32
+            public const nint m_approachPointCount = 0x5C20; // uint8
+            public const nint m_approachPointViewPosition = 0x5C24; // Vector
+            public const nint m_viewSteadyTimer = 0x5C30; // IntervalTimer
+            public const nint m_tossGrenadeTimer = 0x5C48; // CountdownTimer
+            public const nint m_isAvoidingGrenade = 0x5C68; // CountdownTimer
+            public const nint m_spotCheckTimestamp = 0x5C88; // float32
+            public const nint m_checkedHidingSpotCount = 0x6090; // int32
+            public const nint m_lookPitch = 0x6094; // float32
+            public const nint m_lookPitchVel = 0x6098; // float32
+            public const nint m_lookYaw = 0x609C; // float32
+            public const nint m_lookYawVel = 0x60A0; // float32
+            public const nint m_targetSpot = 0x60A4; // Vector
+            public const nint m_targetSpotVelocity = 0x60B0; // Vector
+            public const nint m_targetSpotPredicted = 0x60BC; // Vector
+            public const nint m_aimError = 0x60C8; // QAngle
+            public const nint m_aimGoal = 0x60D4; // QAngle
+            public const nint m_targetSpotTime = 0x60E0; // GameTime_t
+            public const nint m_aimFocus = 0x60E4; // float32
+            public const nint m_aimFocusInterval = 0x60E8; // float32
+            public const nint m_aimFocusNextUpdate = 0x60EC; // GameTime_t
+            public const nint m_ignoreEnemiesTimer = 0x60F8; // CountdownTimer
+            public const nint m_enemy = 0x6110; // CHandle<CCSPlayerPawn>
+            public const nint m_isEnemyVisible = 0x6114; // bool
+            public const nint m_visibleEnemyParts = 0x6115; // uint8
+            public const nint m_lastEnemyPosition = 0x6118; // Vector
+            public const nint m_lastSawEnemyTimestamp = 0x6124; // float32
+            public const nint m_firstSawEnemyTimestamp = 0x6128; // float32
+            public const nint m_currentEnemyAcquireTimestamp = 0x612C; // float32
+            public const nint m_enemyDeathTimestamp = 0x6130; // float32
+            public const nint m_friendDeathTimestamp = 0x6134; // float32
+            public const nint m_isLastEnemyDead = 0x6138; // bool
+            public const nint m_nearbyEnemyCount = 0x613C; // int32
+            public const nint m_bomber = 0x6348; // CHandle<CCSPlayerPawn>
+            public const nint m_nearbyFriendCount = 0x634C; // int32
+            public const nint m_closestVisibleFriend = 0x6350; // CHandle<CCSPlayerPawn>
+            public const nint m_closestVisibleHumanFriend = 0x6354; // CHandle<CCSPlayerPawn>
+            public const nint m_attentionInterval = 0x6358; // IntervalTimer
+            public const nint m_attacker = 0x6368; // CHandle<CCSPlayerPawn>
+            public const nint m_attackedTimestamp = 0x636C; // float32
+            public const nint m_burnedByFlamesTimer = 0x6370; // IntervalTimer
+            public const nint m_lastVictimID = 0x6380; // int32
+            public const nint m_isAimingAtEnemy = 0x6384; // bool
+            public const nint m_isRapidFiring = 0x6385; // bool
+            public const nint m_equipTimer = 0x6388; // IntervalTimer
+            public const nint m_zoomTimer = 0x6398; // CountdownTimer
+            public const nint m_fireWeaponTimestamp = 0x63B0; // GameTime_t
+            public const nint m_lookForWeaponsOnGroundTimer = 0x63B8; // CountdownTimer
+            public const nint m_bIsSleeping = 0x63D0; // bool
+            public const nint m_isEnemySniperVisible = 0x63D1; // bool
+            public const nint m_sawEnemySniperTimer = 0x63D8; // CountdownTimer
+            public const nint m_enemyQueueIndex = 0x6490; // uint8
+            public const nint m_enemyQueueCount = 0x6491; // uint8
+            public const nint m_enemyQueueAttendIndex = 0x6492; // uint8
+            public const nint m_isStuck = 0x6493; // bool
+            public const nint m_stuckTimestamp = 0x6494; // GameTime_t
+            public const nint m_stuckSpot = 0x6498; // Vector
+            public const nint m_wiggleTimer = 0x64A8; // CountdownTimer
+            public const nint m_stuckJumpTimer = 0x64C0; // CountdownTimer
+            public const nint m_nextCleanupCheckTimestamp = 0x64D8; // GameTime_t
+            public const nint m_avgVel = 0x64DC; // float32[10]
+            public const nint m_avgVelIndex = 0x6504; // int32
+            public const nint m_avgVelCount = 0x6508; // int32
+            public const nint m_lastOrigin = 0x650C; // Vector
+            public const nint m_lastRadioRecievedTimestamp = 0x651C; // float32
+            public const nint m_lastRadioSentTimestamp = 0x6520; // float32
+            public const nint m_radioSubject = 0x6524; // CHandle<CCSPlayerPawn>
+            public const nint m_radioPosition = 0x6528; // Vector
+            public const nint m_voiceEndTimestamp = 0x6534; // float32
+            public const nint m_lastValidReactionQueueFrame = 0x6540; // int32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 7
+        public static class CPhysMotor {
+            public const nint m_nameAttach = 0x4E0; // CUtlSymbolLarge
+            public const nint m_hAttachedObject = 0x4E8; // CHandle<CBaseEntity>
+            public const nint m_spinUp = 0x4EC; // float32
+            public const nint m_additionalAcceleration = 0x4F0; // float32
+            public const nint m_angularAcceleration = 0x4F4; // float32
+            public const nint m_lastTime = 0x4F8; // GameTime_t
+            public const nint m_motor = 0x510; // CMotorController
+        }
+        // Parent: CBaseEntity
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_iszSoundAreaType (string_t)
+        // NetworkVarNames: m_vPos (Vector)
+        public static class CSoundAreaEntityBase {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_iszSoundAreaType = 0x4E8; // CUtlSymbolLarge
+            public const nint m_vPos = 0x4F0; // Vector
+        }
+        // Parent: CPlayer_UseServices
+        // Field count: 3
+        public static class CCSPlayer_UseServices {
+            public const nint m_hLastKnownUseEntity = 0x40; // CHandle<CBaseEntity>
+            public const nint m_flLastUseTimeStamp = 0x44; // GameTime_t
+            public const nint m_flTimeLastUsedWindow = 0x48; // GameTime_t
+        }
+        // Parent: CCSGO_TeamPreviewCharacterPosition
+        // Field count: 0
+        public static class CCSGO_TeamSelectCharacterPosition {
+        }
+        // Parent: CItem
+        // Field count: 0
+        public static class CItemKevlar {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 14
+        public static class CTriggerHurt {
+            public const nint m_flOriginalDamage = 0x960; // float32
+            public const nint m_flDamage = 0x964; // float32
+            public const nint m_flDamageCap = 0x968; // float32
+            public const nint m_flLastDmgTime = 0x96C; // GameTime_t
+            public const nint m_flForgivenessDelay = 0x970; // float32
+            public const nint m_bitsDamageInflict = 0x974; // DamageTypes_t
+            public const nint m_damageModel = 0x978; // int32
+            public const nint m_bNoDmgForce = 0x97C; // bool
+            public const nint m_vDamageForce = 0x980; // Vector
+            public const nint m_thinkAlways = 0x98C; // bool
+            public const nint m_hurtThinkPeriod = 0x990; // float32
+            public const nint m_OnHurt = 0x998; // CEntityIOOutput
+            public const nint m_OnHurtPlayer = 0x9C0; // CEntityIOOutput
+            public const nint m_hurtEntities = 0x9E8; // CUtlVector<CHandle<CBaseEntity>>
+        }
+        // Parent: CLogicalEntity
+        // Field count: 13
+        public static class CPhysConstraint {
+            public const nint m_nameAttach1 = 0x4E8; // CUtlSymbolLarge
+            public const nint m_nameAttach2 = 0x4F0; // CUtlSymbolLarge
+            public const nint m_hAttach1 = 0x4F8; // CHandle<CBaseEntity>
+            public const nint m_hAttach2 = 0x4FC; // CHandle<CBaseEntity>
+            public const nint m_nameAttachment1 = 0x500; // CUtlSymbolLarge
+            public const nint m_nameAttachment2 = 0x508; // CUtlSymbolLarge
+            public const nint m_breakSound = 0x510; // CUtlSymbolLarge
+            public const nint m_forceLimit = 0x518; // float32
+            public const nint m_torqueLimit = 0x51C; // float32
+            public const nint m_teleportTick = 0x520; // uint32
+            public const nint m_minTeleportDistance = 0x524; // float32
+            public const nint m_bSnapObjectPositions = 0x528; // bool
+            public const nint m_OnBreak = 0x530; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // NetworkVarNames: m_nDraftType (int)
+        // NetworkVarNames: m_nTeamWinningCoinToss (int)
+        // NetworkVarNames: m_nTeamWithFirstChoice (int)
+        // NetworkVarNames: m_nVoteMapIdsList (int)
+        // NetworkVarNames: m_nAccountIDs (int)
+        // NetworkVarNames: m_nMapId0 (int)
+        // NetworkVarNames: m_nMapId1 (int)
+        // NetworkVarNames: m_nMapId2 (int)
+        // NetworkVarNames: m_nMapId3 (int)
+        // NetworkVarNames: m_nMapId4 (int)
+        // NetworkVarNames: m_nMapId5 (int)
+        // NetworkVarNames: m_nStartingSide0 (int)
+        // NetworkVarNames: m_nCurrentPhase (int)
+        // NetworkVarNames: m_nPhaseStartTick (int)
+        // NetworkVarNames: m_nPhaseDurationTicks (int)
+        public static class CMapVetoPickController {
+            public const nint m_bPlayedIntroVcd = 0x4E0; // bool
+            public const nint m_bNeedToPlayFiveSecondsRemaining = 0x4E1; // bool
+            public const nint m_dblPreMatchDraftSequenceTime = 0x500; // float64
+            public const nint m_bPreMatchDraftStateChanged = 0x508; // bool
+            public const nint m_nDraftType = 0x50C; // int32
+            public const nint m_nTeamWinningCoinToss = 0x510; // int32
+            public const nint m_nTeamWithFirstChoice = 0x514; // int32[64]
+            public const nint m_nVoteMapIdsList = 0x614; // int32[7]
+            public const nint m_nAccountIDs = 0x630; // int32[64]
+            public const nint m_nMapId0 = 0x730; // int32[64]
+            public const nint m_nMapId1 = 0x830; // int32[64]
+            public const nint m_nMapId2 = 0x930; // int32[64]
+            public const nint m_nMapId3 = 0xA30; // int32[64]
+            public const nint m_nMapId4 = 0xB30; // int32[64]
+            public const nint m_nMapId5 = 0xC30; // int32[64]
+            public const nint m_nStartingSide0 = 0xD30; // int32[64]
+            public const nint m_nCurrentPhase = 0xE30; // int32
+            public const nint m_nPhaseStartTick = 0xE34; // int32
+            public const nint m_nPhaseDurationTicks = 0xE38; // int32
+            public const nint m_OnMapVetoed = 0xE40; // CEntityOutputTemplate<CUtlSymbolLarge>
+            public const nint m_OnMapPicked = 0xE68; // CEntityOutputTemplate<CUtlSymbolLarge>
+            public const nint m_OnSidesPicked = 0xE90; // CEntityOutputTemplate<int32>
+            public const nint m_OnNewPhaseStarted = 0xEB8; // CEntityOutputTemplate<int32>
+            public const nint m_OnLevelTransition = 0xEE0; // CEntityOutputTemplate<int32>
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CCSMinimapBoundary {
+        }
+        // Parent: CPointEntity
+        // Field count: 4
+        public static class CSoundEnt {
+            public const nint m_iFreeSound = 0x4E0; // int32
+            public const nint m_iActiveSound = 0x4E4; // int32
+            public const nint m_cLastActiveSounds = 0x4E8; // int32
+            public const nint m_SoundPool = 0x4EC; // CSound[128]
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoSpawnGroupLandmark {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_nToggleButtonDownMask (ButtonBitMask_t)
+        // NetworkVarNames: m_flMaxspeed (float32)
+        // NetworkVarNames: m_arrForceSubtickMoveWhen (float32)
+        public static class CPlayer_MovementServices {
+            public const nint m_nImpulse = 0x40; // int32
+            public const nint m_nButtons = 0x48; // CInButtonState
+            public const nint m_nQueuedButtonDownMask = 0x68; // uint64
+            public const nint m_nQueuedButtonChangeMask = 0x70; // uint64
+            public const nint m_nButtonDoublePressed = 0x78; // uint64
+            public const nint m_pButtonPressedCmdNumber = 0x80; // uint32[64]
+            public const nint m_nLastCommandNumberProcessed = 0x180; // uint32
+            public const nint m_nToggleButtonDownMask = 0x188; // uint64
+            public const nint m_flMaxspeed = 0x198; // float32
+            public const nint m_arrForceSubtickMoveWhen = 0x19C; // float32[4]
+            public const nint m_flForwardMove = 0x1AC; // float32
+            public const nint m_flLeftMove = 0x1B0; // float32
+            public const nint m_flUpMove = 0x1B4; // float32
+            public const nint m_vecLastMovementImpulses = 0x1B8; // Vector
+            public const nint m_vecOldViewAngles = 0x1C4; // QAngle
+        }
+        // Parent: CBaseTrigger
+        // Field count: 3
+        public static class CTriggerSave {
+            public const nint m_bForceNewLevelUnit = 0x960; // bool
+            public const nint m_fDangerousTimer = 0x964; // float32
+            public const nint m_minHitPoints = 0x968; // int32
+        }
+        // Parent: CPhysConstraint
+        // Field count: 11
+        public static class CPhysWheelConstraint {
+            public const nint m_flSuspensionFrequency = 0x558; // float32
+            public const nint m_flSuspensionDampingRatio = 0x55C; // float32
+            public const nint m_flSuspensionHeightOffset = 0x560; // float32
+            public const nint m_bEnableSuspensionLimit = 0x564; // bool
+            public const nint m_flMinSuspensionOffset = 0x568; // float32
+            public const nint m_flMaxSuspensionOffset = 0x56C; // float32
+            public const nint m_bEnableSteeringLimit = 0x570; // bool
+            public const nint m_flMinSteeringAngle = 0x574; // float32
+            public const nint m_flMaxSteeringAngle = 0x578; // float32
+            public const nint m_flSteeringAxisFriction = 0x57C; // float32
+            public const nint m_flSpinAxisFriction = 0x580; // float32
+        }
+        // Parent: CPhysConstraint
+        // Field count: 6
+        public static class CPhysFixed {
+            public const nint m_flLinearFrequency = 0x558; // float32
+            public const nint m_flLinearDampingRatio = 0x55C; // float32
+            public const nint m_flAngularFrequency = 0x560; // float32
+            public const nint m_flAngularDampingRatio = 0x564; // float32
+            public const nint m_bEnableLinearConstraint = 0x568; // bool
+            public const nint m_bEnableAngularConstraint = 0x569; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 11
+        public static class CEnvSoundscape {
+            public const nint m_OnPlay = 0x4E0; // CEntityIOOutput
+            public const nint m_flRadius = 0x508; // float32
+            public const nint m_soundEventName = 0x510; // CUtlSymbolLarge
+            public const nint m_bOverrideWithEvent = 0x518; // bool
+            public const nint m_soundscapeIndex = 0x51C; // int32
+            public const nint m_soundscapeEntityListId = 0x520; // int32
+            public const nint m_positionNames = 0x528; // CUtlSymbolLarge[8]
+            public const nint m_hProxySoundscape = 0x568; // CHandle<CEnvSoundscape>
+            public const nint m_bDisabled = 0x56C; // bool
+            public const nint m_soundscapeName = 0x570; // CUtlSymbolLarge
+            public const nint m_soundEventHash = 0x578; // uint32
+        }
+        // Parent: CEntitySubclassVDataBase
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CBasePlayerVData {
+            public const nint m_sModelName = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_flHeadDamageMultiplier = 0x108; // CSkillFloat
+            public const nint m_flChestDamageMultiplier = 0x118; // CSkillFloat
+            public const nint m_flStomachDamageMultiplier = 0x128; // CSkillFloat
+            public const nint m_flArmDamageMultiplier = 0x138; // CSkillFloat
+            public const nint m_flLegDamageMultiplier = 0x148; // CSkillFloat
+            public const nint m_flHoldBreathTime = 0x158; // float32
+            public const nint m_flDrowningDamageInterval = 0x15C; // float32
+            public const nint m_nDrowningDamageInitial = 0x160; // int32
+            public const nint m_nDrowningDamageMax = 0x164; // int32
+            public const nint m_nWaterSpeed = 0x168; // int32
+            public const nint m_flUseRange = 0x16C; // float32
+            public const nint m_flUseAngleTolerance = 0x170; // float32
+            public const nint m_flCrouchTime = 0x174; // float32
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_iAccount (int)
+        // NetworkVarNames: m_iStartAccount (int)
+        // NetworkVarNames: m_iTotalCashSpent (int)
+        // NetworkVarNames: m_iCashSpentThisRound (int)
+        public static class CCSPlayerController_InGameMoneyServices {
+            public const nint m_bReceivesMoneyNextRound = 0x40; // bool
+            public const nint m_iMoneyEarnedForNextRound = 0x44; // int32
+            public const nint m_iAccount = 0x48; // int32
+            public const nint m_iStartAccount = 0x4C; // int32
+            public const nint m_iTotalCashSpent = 0x50; // int32
+            public const nint m_iCashSpentThisRound = 0x54; // int32
+        }
+        // Parent: CSprite
+        // Field count: 0
+        public static class CSpriteOriented {
+        }
+        // Parent: CSoundOpvarSetAABBEntity
+        // Field count: 0
+        public static class CSoundOpvarSetOBBEntity {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponM4A1 {
+        }
+        // Parent: CBeam
+        // Field count: 5
+        public static class CEnvLaser {
+            public const nint m_iszLaserTarget = 0x830; // CUtlSymbolLarge
+            public const nint m_pSprite = 0x838; // CSprite*
+            public const nint m_iszSpriteName = 0x840; // CUtlSymbolLarge
+            public const nint m_firePosition = 0x848; // Vector
+            public const nint m_flStartFrame = 0x854; // float32
+        }
+        // Parent: CSprite
+        // Field count: 0
+        public static class CCommentaryViewPosition {
+        }
+        // Parent: CTonemapController2
+        // Field count: 0
+        public static class CTonemapController2Alias_env_tonemap_controller2 {
+        }
+        // Parent: CPhysConstraint
+        // Field count: 4
+        public static class CPhysPulley {
+            public const nint m_position2 = 0x558; // Vector
+            public const nint m_offset = 0x564; // Vector[2]
+            public const nint m_addLength = 0x57C; // float32
+            public const nint m_gearRatio = 0x580; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CGameRulesProxy {
+        }
+        // Parent: CEconEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkIncludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkUserGroupProxy
+        // NetworkVarNames: m_nNextPrimaryAttackTick (GameTick_t)
+        // NetworkVarNames: m_flNextPrimaryAttackTickRatio (float32)
+        // NetworkVarNames: m_nNextSecondaryAttackTick (GameTick_t)
+        // NetworkVarNames: m_flNextSecondaryAttackTickRatio (float32)
+        // NetworkVarNames: m_iClip1 (int32)
+        // NetworkVarNames: m_iClip2 (int32)
+        // NetworkVarNames: m_pReserveAmmo (int)
+        public static class CBasePlayerWeapon {
+            public const nint m_nNextPrimaryAttackTick = 0xD30; // GameTick_t
+            public const nint m_flNextPrimaryAttackTickRatio = 0xD34; // float32
+            public const nint m_nNextSecondaryAttackTick = 0xD38; // GameTick_t
+            public const nint m_flNextSecondaryAttackTickRatio = 0xD3C; // float32
+            public const nint m_iClip1 = 0xD40; // int32
+            public const nint m_iClip2 = 0xD44; // int32
+            public const nint m_pReserveAmmo = 0xD48; // int32[2]
+            public const nint m_OnPlayerUse = 0xD50; // CEntityIOOutput
+        }
+        // Parent: CPlayerControllerComponent
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_perRoundStats (CSPerRoundStats_t)
+        // NetworkVarNames: m_matchStats (CSMatchStats_t)
+        // NetworkVarNames: m_iNumRoundKills (int)
+        // NetworkVarNames: m_iNumRoundKillsHeadshots (int)
+        // NetworkVarNames: m_unTotalRoundDamageDealt (uint32)
+        public static class CCSPlayerController_ActionTrackingServices {
+            public const nint m_perRoundStats = 0x40; // CUtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
+            public const nint m_matchStats = 0xB0; // CSMatchStats_t
+            public const nint m_iNumRoundKills = 0x170; // int32
+            public const nint m_iNumRoundKillsHeadshots = 0x174; // int32
+            public const nint m_unTotalRoundDamageDealt = 0x178; // uint32
+        }
+        // Parent: CEntityComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bvDisabledHitGroups (uint32)
+        public static class CHitboxComponent {
+            public const nint m_bvDisabledHitGroups = 0x24; // uint32[1]
+        }
+        // Parent: CBaseFlex
+        // Field count: 0
+        public static class CBaseFlexAlias_funCBaseFlex {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 24
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_x (float32)
+        // NetworkVarNames: m_y (float32)
+        // NetworkVarNames: m_z (float32)
+        // NetworkVarNames: m_angle (float32)
+        // NetworkVarNames: m_poolOrigin (Vector)
+        // NetworkVarNames: m_waterLevel (float32)
+        public static class CFish {
+            public const nint m_pool = 0x9A8; // CHandle<CFishPool>
+            public const nint m_id = 0x9AC; // uint32
+            public const nint m_x = 0x9B0; // float32
+            public const nint m_y = 0x9B4; // float32
+            public const nint m_z = 0x9B8; // float32
+            public const nint m_angle = 0x9BC; // float32
+            public const nint m_angleChange = 0x9C0; // float32
+            public const nint m_forward = 0x9C4; // Vector
+            public const nint m_perp = 0x9D0; // Vector
+            public const nint m_poolOrigin = 0x9DC; // Vector
+            public const nint m_waterLevel = 0x9E8; // float32
+            public const nint m_speed = 0x9EC; // float32
+            public const nint m_desiredSpeed = 0x9F0; // float32
+            public const nint m_calmSpeed = 0x9F4; // float32
+            public const nint m_panicSpeed = 0x9F8; // float32
+            public const nint m_avoidRange = 0x9FC; // float32
+            public const nint m_turnTimer = 0xA00; // CountdownTimer
+            public const nint m_turnClockwise = 0xA18; // bool
+            public const nint m_goTimer = 0xA20; // CountdownTimer
+            public const nint m_moveTimer = 0xA38; // CountdownTimer
+            public const nint m_panicTimer = 0xA50; // CountdownTimer
+            public const nint m_disperseTimer = 0xA68; // CountdownTimer
+            public const nint m_proximityTimer = 0xA80; // CountdownTimer
+            public const nint m_visible = 0xA98; // CUtlVector<CFish*>
+        }
+        // Parent: CBaseEntity
+        // Field count: 3
+        public static class CEnvFireSource {
+            public const nint m_bEnabled = 0x4E0; // bool
+            public const nint m_radius = 0x4E4; // float32
+            public const nint m_damage = 0x4E8; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CInfoLadderDismount {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_strStartTouchEventName (CUtlString)
+        // NetworkVarNames: m_strEndTouchEventName (CUtlString)
+        // NetworkVarNames: m_strTriggerID (CUtlString)
+        public static class CTriggerGameEvent {
+            public const nint m_strStartTouchEventName = 0x960; // CUtlString
+            public const nint m_strEndTouchEventName = 0x968; // CUtlString
+            public const nint m_strTriggerID = 0x970; // CUtlString
+        }
+        // Parent: CPhysConstraint
+        // Field count: 10
+        public static class CPhysSlideConstraint {
+            public const nint m_axisEnd = 0x560; // Vector
+            public const nint m_slideFriction = 0x56C; // float32
+            public const nint m_systemLoadScale = 0x570; // float32
+            public const nint m_initialOffset = 0x574; // float32
+            public const nint m_bEnableLinearConstraint = 0x578; // bool
+            public const nint m_bEnableAngularConstraint = 0x579; // bool
+            public const nint m_flMotorFrequency = 0x57C; // float32
+            public const nint m_flMotorDampingRatio = 0x580; // float32
+            public const nint m_bUseEntityPivot = 0x584; // bool
+            public const nint m_soundInfo = 0x588; // ConstraintSoundInfo
+        }
+        // Parent: CBaseEntity
+        // Field count: 1
+        public static class CDebugHistory {
+            public const nint m_nNpcEvents = 0x3E8520; // int32
+        }
+        // Parent: CServerOnlyEntity
+        // Field count: 0
+        public static class CInfoData {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class CHostageCarriableProp {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_CLightComponent (CLightComponent::Storage_t)
+        public static class CLightEntity {
+            public const nint m_CLightComponent = 0x790; // CLightComponent*
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // MNetworkOverride
+        // MNetworkOverride
+        public static class CFuncRotating {
+            public const nint m_OnStopped = 0x790; // CEntityIOOutput
+            public const nint m_OnStarted = 0x7B8; // CEntityIOOutput
+            public const nint m_OnReachedStart = 0x7E0; // CEntityIOOutput
+            public const nint m_localRotationVector = 0x808; // RotationVector
+            public const nint m_flFanFriction = 0x814; // float32
+            public const nint m_flAttenuation = 0x818; // float32
+            public const nint m_flVolume = 0x81C; // float32
+            public const nint m_flTargetSpeed = 0x820; // float32
+            public const nint m_flMaxSpeed = 0x824; // float32
+            public const nint m_flBlockDamage = 0x828; // float32
+            public const nint m_NoiseRunning = 0x830; // CUtlSymbolLarge
+            public const nint m_bReversed = 0x838; // bool
+            public const nint m_bAccelDecel = 0x839; // bool
+            public const nint m_prevLocalAngles = 0x844; // QAngle
+            public const nint m_angStart = 0x850; // QAngle
+            public const nint m_bStopAtStartPos = 0x85C; // bool
+            public const nint m_vecClientOrigin = 0x860; // Vector
+            public const nint m_vecClientAngles = 0x86C; // QAngle
+        }
+        // Parent: CBaseGrenade
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_vInitialPosition (Vector)
+        // NetworkVarNames: m_vInitialVelocity (Vector)
+        // NetworkVarNames: m_nBounces (int)
+        // NetworkVarNames: m_nExplodeEffectIndex (HParticleSystemDefinitionStrong)
+        // NetworkVarNames: m_nExplodeEffectTickBegin (int)
+        // NetworkVarNames: m_vecExplodeEffectOrigin (Vector)
+        public static class CBaseCSGrenadeProjectile {
+            public const nint m_vInitialPosition = 0xAE0; // Vector
+            public const nint m_vInitialVelocity = 0xAEC; // Vector
+            public const nint m_nBounces = 0xAF8; // int32
+            public const nint m_nExplodeEffectIndex = 0xB00; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_nExplodeEffectTickBegin = 0xB08; // int32
+            public const nint m_vecExplodeEffectOrigin = 0xB0C; // Vector
+            public const nint m_flSpawnTime = 0xB18; // GameTime_t
+            public const nint m_unOGSExtraFlags = 0xB1C; // uint8
+            public const nint m_bDetonationRecorded = 0xB1D; // bool
+            public const nint m_nItemIndex = 0xB1E; // uint16
+            public const nint m_vecOriginalSpawnLocation = 0xB20; // Vector
+            public const nint m_flLastBounceSoundTime = 0xB2C; // GameTime_t
+            public const nint m_vecGrenadeSpin = 0xB30; // RotationVector
+            public const nint m_vecLastHitSurfaceNormal = 0xB3C; // Vector
+            public const nint m_nTicksAtZeroVelocity = 0xB48; // int32
+            public const nint m_bHasEverHitEnemy = 0xB4C; // bool
+        }
+        // Parent: CServerOnlyModelEntity
+        // Field count: 1
+        public static class CCSPlace {
+            public const nint m_name = 0x798; // CUtlSymbolLarge
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CFuncTrainControls {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_flFadeInStart (float32)
+        // NetworkVarNames: m_flFadeInLength (float32)
+        // NetworkVarNames: m_flFadeOutModelStart (float32)
+        // NetworkVarNames: m_flFadeOutModelLength (float32)
+        // NetworkVarNames: m_flFadeOutStart (float32)
+        // NetworkVarNames: m_flFadeOutLength (float32)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_nDissolveType (EntityDisolveType_t)
+        // NetworkVarNames: m_vDissolverOrigin (Vector)
+        // NetworkVarNames: m_nMagnitude (uint32)
+        public static class CEntityDissolve {
+            public const nint m_flFadeInStart = 0x790; // float32
+            public const nint m_flFadeInLength = 0x794; // float32
+            public const nint m_flFadeOutModelStart = 0x798; // float32
+            public const nint m_flFadeOutModelLength = 0x79C; // float32
+            public const nint m_flFadeOutStart = 0x7A0; // float32
+            public const nint m_flFadeOutLength = 0x7A4; // float32
+            public const nint m_flStartTime = 0x7A8; // GameTime_t
+            public const nint m_nDissolveType = 0x7AC; // EntityDisolveType_t
+            public const nint m_vDissolverOrigin = 0x7B0; // Vector
+            public const nint m_nMagnitude = 0x7BC; // uint32
+        }
+        // Parent: CPointEntity
+        // Field count: 12
+        public static class CPointAngleSensor {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_nLookAtName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_hTargetEntity = 0x4F0; // CHandle<CBaseEntity>
+            public const nint m_hLookAtEntity = 0x4F4; // CHandle<CBaseEntity>
+            public const nint m_flDuration = 0x4F8; // float32
+            public const nint m_flDotTolerance = 0x4FC; // float32
+            public const nint m_flFacingTime = 0x500; // GameTime_t
+            public const nint m_bFired = 0x504; // bool
+            public const nint m_OnFacingLookat = 0x508; // CEntityIOOutput
+            public const nint m_OnNotFacingLookat = 0x530; // CEntityIOOutput
+            public const nint m_TargetDir = 0x558; // CEntityOutputTemplate<Vector>
+            public const nint m_FacingPercentage = 0x580; // CEntityOutputTemplate<float32>
+        }
+        // Parent: CSoundEventEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_vMins (Vector)
+        // NetworkVarNames: m_vMaxs (Vector)
+        public static class CSoundEventOBBEntity {
+            public const nint m_vMins = 0x598; // Vector
+            public const nint m_vMaxs = 0x5A4; // Vector
+        }
+        // Parent: CBtNodeDecorator
+        // Field count: 1
+        public static class CBtNodeCondition {
+            public const nint m_bNegated = 0x58; // bool
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGapTypeQueriesForScopeSingleton
+        public static class CSharedGapTypeQueryRegistration {
+        }
+        // Parent: CBaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_vBoxMins (Vector)
+        // NetworkVarNames: m_vBoxMaxs (Vector)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_flStrength (float)
+        // NetworkVarNames: m_nFalloffShape (int)
+        // NetworkVarNames: m_flFalloffExponent (float)
+        // NetworkVarNames: m_flHeightFogDepth (float)
+        // NetworkVarNames: m_fHeightFogEdgeWidth (float)
+        // NetworkVarNames: m_fIndirectLightStrength (float)
+        // NetworkVarNames: m_fSunLightStrength (float)
+        // NetworkVarNames: m_fNoiseStrength (float)
+        // NetworkVarNames: m_bOverrideIndirectLightStrength (bool)
+        // NetworkVarNames: m_bOverrideSunLightStrength (bool)
+        // NetworkVarNames: m_bOverrideNoiseStrength (bool)
+        // NetworkVarNames: m_bAllowLPVIndirect (bool)
+        public static class CEnvVolumetricFogVolume {
+            public const nint m_bActive = 0x4E0; // bool
+            public const nint m_vBoxMins = 0x4E4; // Vector
+            public const nint m_vBoxMaxs = 0x4F0; // Vector
+            public const nint m_bStartDisabled = 0x4FC; // bool
+            public const nint m_flStrength = 0x500; // float32
+            public const nint m_nFalloffShape = 0x504; // int32
+            public const nint m_flFalloffExponent = 0x508; // float32
+            public const nint m_flHeightFogDepth = 0x50C; // float32
+            public const nint m_fHeightFogEdgeWidth = 0x510; // float32
+            public const nint m_fIndirectLightStrength = 0x514; // float32
+            public const nint m_fSunLightStrength = 0x518; // float32
+            public const nint m_fNoiseStrength = 0x51C; // float32
+            public const nint m_bOverrideIndirectLightStrength = 0x520; // bool
+            public const nint m_bOverrideSunLightStrength = 0x521; // bool
+            public const nint m_bOverrideNoiseStrength = 0x522; // bool
+            public const nint m_bAllowLPVIndirect = 0x523; // bool
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 24
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        // NetworkVarNames: m_flFrameRate (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        // NetworkVarNames: m_nNumBeamEnts (uint8)
+        // NetworkVarNames: m_hBaseMaterial (HMaterialStrong)
+        // NetworkVarNames: m_nHaloIndex (HMaterialStrong)
+        // NetworkVarNames: m_nBeamType (BeamType_t)
+        // NetworkVarNames: m_nBeamFlags (uint32)
+        // NetworkVarNames: m_hAttachEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nAttachIndex (AttachmentHandle_t)
+        // NetworkVarNames: m_fWidth (float32)
+        // NetworkVarNames: m_fEndWidth (float32)
+        // NetworkVarNames: m_fFadeLength (float32)
+        // NetworkVarNames: m_fHaloScale (float32)
+        // NetworkVarNames: m_fAmplitude (float32)
+        // NetworkVarNames: m_fStartFrame (float32)
+        // NetworkVarNames: m_fSpeed (float32)
+        // NetworkVarNames: m_flFrame (float32)
+        // NetworkVarNames: m_nClipStyle (BeamClipStyle_t)
+        // NetworkVarNames: m_bTurnedOff (bool)
+        // NetworkVarNames: m_vecEndPos (Vector)
+        public static class CBeam {
+            public const nint m_flFrameRate = 0x790; // float32
+            public const nint m_flHDRColorScale = 0x794; // float32
+            public const nint m_flFireTime = 0x798; // GameTime_t
+            public const nint m_flDamage = 0x79C; // float32
+            public const nint m_nNumBeamEnts = 0x7A0; // uint8
+            public const nint m_hBaseMaterial = 0x7A8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nHaloIndex = 0x7B0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nBeamType = 0x7B8; // BeamType_t
+            public const nint m_nBeamFlags = 0x7BC; // uint32
+            public const nint m_hAttachEntity = 0x7C0; // CHandle<CBaseEntity>[10]
+            public const nint m_nAttachIndex = 0x7E8; // AttachmentHandle_t[10]
+            public const nint m_fWidth = 0x7F4; // float32
+            public const nint m_fEndWidth = 0x7F8; // float32
+            public const nint m_fFadeLength = 0x7FC; // float32
+            public const nint m_fHaloScale = 0x800; // float32
+            public const nint m_fAmplitude = 0x804; // float32
+            public const nint m_fStartFrame = 0x808; // float32
+            public const nint m_fSpeed = 0x80C; // float32
+            public const nint m_flFrame = 0x810; // float32
+            public const nint m_nClipStyle = 0x814; // BeamClipStyle_t
+            public const nint m_bTurnedOff = 0x818; // bool
+            public const nint m_vecEndPos = 0x81C; // Vector
+            public const nint m_hEndEntity = 0x828; // CHandle<CBaseEntity>
+            public const nint m_nDissolveType = 0x82C; // int32
+        }
+        // Parent: CBaseEntity
+        // Field count: 33
+        //
+        // Metadata:
+        // NetworkVarNames: m_CRenderComponent (CRenderComponent::Storage_t)
+        // NetworkVarNames: m_CHitboxComponent (CHitboxComponent::Storage_t)
+        // NetworkVarNames: m_nRenderMode (RenderMode_t)
+        // NetworkVarNames: m_nRenderFX (RenderFx_t)
+        // NetworkVarNames: m_clrRender (Color)
+        // NetworkVarNames: m_vecRenderAttributes (EntityRenderAttribute_t)
+        // NetworkVarNames: m_bRenderToCubemaps (bool)
+        // NetworkVarNames: m_bNoInterpolate (bool)
+        // NetworkVarNames: m_Collision (CCollisionProperty)
+        // NetworkVarNames: m_Glow (CGlowProperty)
+        // NetworkVarNames: m_flGlowBackfaceMult (float)
+        // NetworkVarNames: m_fadeMinDist (float32)
+        // NetworkVarNames: m_fadeMaxDist (float32)
+        // NetworkVarNames: m_flFadeScale (float32)
+        // NetworkVarNames: m_flShadowStrength (float32)
+        // NetworkVarNames: m_nObjectCulling (uint8)
+        // NetworkVarNames: m_nAddDecal (int)
+        // NetworkVarNames: m_vDecalPosition (Vector)
+        // NetworkVarNames: m_vDecalForwardAxis (Vector)
+        // NetworkVarNames: m_flDecalHealBloodRate (float)
+        // NetworkVarNames: m_flDecalHealHeightRate (float)
+        // NetworkVarNames: m_ConfigEntitiesToPropagateMaterialDecalsTo (CHandle<CBaseModelEntity>)
+        // NetworkVarNames: m_vecViewOffset (CNetworkViewOffsetVector)
+        public static class CBaseModelEntity {
+            public const nint m_CRenderComponent = 0x4E0; // CRenderComponent*
+            public const nint m_CHitboxComponent = 0x4E8; // CHitboxComponent
+            public const nint m_nDestructiblePartInitialStateDestructed0 = 0x510; // HitGroup_t
+            public const nint m_nDestructiblePartInitialStateDestructed1 = 0x514; // HitGroup_t
+            public const nint m_nDestructiblePartInitialStateDestructed2 = 0x518; // HitGroup_t
+            public const nint m_nDestructiblePartInitialStateDestructed3 = 0x51C; // HitGroup_t
+            public const nint m_nDestructiblePartInitialStateDestructed4 = 0x520; // HitGroup_t
+            public const nint m_nLastHitDestructiblePartIndex = 0x524; // int32
+            public const nint m_LastHitGroup = 0x550; // HitGroup_t
+            public const nint m_flDissolveStartTime = 0x554; // GameTime_t
+            public const nint m_OnIgnite = 0x558; // CEntityIOOutput
+            public const nint m_nRenderMode = 0x580; // RenderMode_t
+            public const nint m_nRenderFX = 0x581; // RenderFx_t
+            public const nint m_bAllowFadeInView = 0x582; // bool
+            public const nint m_clrRender = 0x5A0; // Color
+            public const nint m_vecRenderAttributes = 0x5A8; // CUtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
+            public const nint m_bRenderToCubemaps = 0x5F8; // bool
+            public const nint m_bNoInterpolate = 0x5F9; // bool
+            public const nint m_Collision = 0x600; // CCollisionProperty
+            public const nint m_Glow = 0x6B0; // CGlowProperty
+            public const nint m_flGlowBackfaceMult = 0x708; // float32
+            public const nint m_fadeMinDist = 0x70C; // float32
+            public const nint m_fadeMaxDist = 0x710; // float32
+            public const nint m_flFadeScale = 0x714; // float32
+            public const nint m_flShadowStrength = 0x718; // float32
+            public const nint m_nObjectCulling = 0x71C; // uint8
+            public const nint m_nAddDecal = 0x720; // int32
+            public const nint m_vDecalPosition = 0x724; // Vector
+            public const nint m_vDecalForwardAxis = 0x730; // Vector
+            public const nint m_flDecalHealBloodRate = 0x73C; // float32
+            public const nint m_flDecalHealHeightRate = 0x740; // float32
+            public const nint m_ConfigEntitiesToPropagateMaterialDecalsTo = 0x748; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+            public const nint m_vecViewOffset = 0x760; // CNetworkViewOffsetVector
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 12
+        public static class CPhysMagnet {
+            public const nint m_OnMagnetAttach = 0x9A8; // CEntityIOOutput
+            public const nint m_OnMagnetDetach = 0x9D0; // CEntityIOOutput
+            public const nint m_massScale = 0x9F8; // float32
+            public const nint m_forceLimit = 0x9FC; // float32
+            public const nint m_torqueLimit = 0xA00; // float32
+            public const nint m_MagnettedEntities = 0xA08; // CUtlVector<magnetted_objects_t>
+            public const nint m_bActive = 0xA20; // bool
+            public const nint m_bHasHitSomething = 0xA21; // bool
+            public const nint m_flTotalMass = 0xA24; // float32
+            public const nint m_flRadius = 0xA28; // float32
+            public const nint m_flNextSuckTime = 0xA2C; // GameTime_t
+            public const nint m_iMaxObjectsAttached = 0xA30; // int32
+        }
+        // Parent: CSceneEntity
+        // Field count: 0
+        public static class CSceneEntityAlias_logic_choreographed_scene {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 2
+        public static class CFuncNavBlocker {
+            public const nint m_bDisabled = 0x790; // bool
+            public const nint m_nBlockedTeamNumber = 0x794; // int32
+        }
+        // Parent: CPointEntity
+        // Field count: 4
+        public static class CRagdollMagnet {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_radius = 0x4E4; // float32
+            public const nint m_force = 0x4E8; // float32
+            public const nint m_axis = 0x4EC; // Vector
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 6
+        public static class CFuncBrush {
+            public const nint m_iSolidity = 0x790; // BrushSolidities_e
+            public const nint m_iDisabled = 0x794; // int32
+            public const nint m_bSolidBsp = 0x798; // bool
+            public const nint m_iszExcludedClass = 0x7A0; // CUtlSymbolLarge
+            public const nint m_bInvertExclusion = 0x7A8; // bool
+            public const nint m_bScriptedMovement = 0x7A9; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 3
+        public static class CPointProximitySensor {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_hTargetEntity = 0x4E4; // CHandle<CBaseEntity>
+            public const nint m_Distance = 0x4E8; // CEntityOutputTemplate<float32>
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_weaponPurchases (WeaponPurchaseCount_t)
+        public static class WeaponPurchaseTracker_t {
+            public const nint m_weaponPurchases = 0x8; // CUtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterClass {
+            public const nint m_iFilterClass = 0x538; // CUtlSymbolLarge
+        }
+        // Parent: CMultiplayRules
+        // Field count: 0
+        public static class CTeamplayRules {
+        }
+        // Parent: CBaseFilter
+        // Field count: 0
+        public static class CFilterLOS {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_duration (float32)
+        // NetworkVarNames: m_timestamp (float32)
+        // NetworkVarNames: m_timescale (float32)
+        public static class EngineCountdownTimer {
+            public const nint m_duration = 0x8; // float32
+            public const nint m_timestamp = 0xC; // float32
+            public const nint m_timescale = 0x10; // float32
+        }
+        // Parent: CBreakable
+        // Field count: 14
+        public static class CPhysBox {
+            public const nint m_damageType = 0x868; // int32
+            public const nint m_damageToEnableMotion = 0x86C; // int32
+            public const nint m_flForceToEnableMotion = 0x870; // float32
+            public const nint m_angPreferredCarryAngles = 0x874; // QAngle
+            public const nint m_bNotSolidToWorld = 0x880; // bool
+            public const nint m_bEnableUseOutput = 0x881; // bool
+            public const nint m_iExploitableByPlayer = 0x884; // int32
+            public const nint m_flTouchOutputPerEntityDelay = 0x888; // float32
+            public const nint m_OnDamaged = 0x890; // CEntityIOOutput
+            public const nint m_OnAwakened = 0x8B8; // CEntityIOOutput
+            public const nint m_OnMotionEnabled = 0x8E0; // CEntityIOOutput
+            public const nint m_OnPlayerUse = 0x908; // CEntityIOOutput
+            public const nint m_OnStartTouch = 0x930; // CEntityIOOutput
+            public const nint m_hCarryingPlayer = 0x958; // CHandle<CBasePlayerPawn>
+        }
+        // Parent: CBaseFlex
+        // Field count: 14
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_bIsLive (bool)
+        // NetworkVarNames: m_DmgRadius (float32)
+        // NetworkVarNames: m_flDetonateTime (GameTime_t)
+        // NetworkVarNames: m_flDamage (float32)
+        // NetworkVarNames: m_hThrower (CHandle<CCSPlayerPawn>)
+        public static class CBaseGrenade {
+            public const nint m_OnPlayerPickup = 0xA40; // CEntityIOOutput
+            public const nint m_OnExplode = 0xA68; // CEntityIOOutput
+            public const nint m_bHasWarnedAI = 0xA90; // bool
+            public const nint m_bIsSmokeGrenade = 0xA91; // bool
+            public const nint m_bIsLive = 0xA92; // bool
+            public const nint m_DmgRadius = 0xA94; // float32
+            public const nint m_flDetonateTime = 0xA98; // GameTime_t
+            public const nint m_flWarnAITime = 0xA9C; // float32
+            public const nint m_flDamage = 0xAA0; // float32
+            public const nint m_iszBounceSound = 0xAA8; // CUtlSymbolLarge
+            public const nint m_ExplosionSound = 0xAB0; // CUtlString
+            public const nint m_hThrower = 0xABC; // CHandle<CCSPlayerPawn>
+            public const nint m_flNextAttack = 0xAD4; // GameTime_t
+            public const nint m_hOriginalThrower = 0xAD8; // CHandle<CCSPlayerPawn>
+        }
+        // Parent: CLogicalEntity
+        // Field count: 13
+        public static class CTimerEntity {
+            public const nint m_OnTimer = 0x4E0; // CEntityIOOutput
+            public const nint m_OnTimerHigh = 0x508; // CEntityIOOutput
+            public const nint m_OnTimerLow = 0x530; // CEntityIOOutput
+            public const nint m_iDisabled = 0x558; // int32
+            public const nint m_flInitialDelay = 0x55C; // float32
+            public const nint m_flRefireTime = 0x560; // float32
+            public const nint m_bUpDownState = 0x564; // bool
+            public const nint m_iUseRandomTime = 0x568; // int32
+            public const nint m_bPauseAfterFiring = 0x56C; // bool
+            public const nint m_flLowerRandomBound = 0x570; // float32
+            public const nint m_flUpperRandomBound = 0x574; // float32
+            public const nint m_flRemainingTime = 0x578; // float32
+            public const nint m_bPaused = 0x57C; // bool
+        }
+        // Parent: CCSGO_TeamIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_TeamIntroCounterTerroristPosition {
+        }
+        // Parent: CBaseCSGrenadeProjectile
+        // Field count: 0
+        public static class CHEGrenadeProjectile {
+        }
+        // Parent: CBaseEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+        public static class CEnvWind {
+            public const nint m_EnvWindShared = 0x4E0; // CEnvWindShared
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_timestamp (GameTime_t)
+        // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+        public static class IntervalTimer {
+            public const nint m_timestamp = 0x8; // GameTime_t
+            public const nint m_nWorldGroupId = 0xC; // WorldGroupId_t
+        }
+        // Parent: CBasePlayerWeapon
+        // Field count: 64
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_flFireSequenceStartTime (float)
+        // NetworkVarNames: m_nFireSequenceStartTimeChange (int)
+        // NetworkVarNames: m_ePlayerFireEvent (PlayerAnimEvent_t)
+        // NetworkVarNames: m_ePlayerFireEventAttackType (WeaponAttackType_t)
+        // NetworkVarNames: m_iState (CSWeaponState_t)
+        // NetworkVarNames: m_nViewModelIndex (uint32)
+        // NetworkVarNames: m_flTimeWeaponIdle (GameTime_t)
+        // NetworkVarNames: m_weaponMode (CSWeaponMode)
+        // NetworkVarNames: m_fAccuracyPenalty (float)
+        // NetworkVarNames: m_iRecoilIndex (int)
+        // NetworkVarNames: m_flRecoilIndex (float)
+        // NetworkVarNames: m_bBurstMode (bool)
+        // NetworkVarNames: m_nPostponeFireReadyTicks (GameTick_t)
+        // NetworkVarNames: m_flPostponeFireReadyFrac (float)
+        // NetworkVarNames: m_bInReload (bool)
+        // NetworkVarNames: m_bReloadVisuallyComplete (bool)
+        // NetworkVarNames: m_flDroppedAtTime (GameTime_t)
+        // NetworkVarNames: m_bIsHauledBack (bool)
+        // NetworkVarNames: m_bSilencerOn (bool)
+        // NetworkVarNames: m_flTimeSilencerSwitchComplete (GameTime_t)
+        // NetworkVarNames: m_iOriginalTeamNumber (int)
+        // NetworkVarNames: m_iMostRecentTeamNumber (int)
+        // NetworkVarNames: m_bDroppedNearBuyZone (bool)
+        // NetworkVarNames: m_nextPrevOwnerUseTime (GameTime_t)
+        // NetworkVarNames: m_hPrevOwner (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_nDropTick (GameTick_t)
+        // NetworkVarNames: m_fLastShotTime (GameTime_t)
+        // NetworkVarNames: m_iIronSightMode (int)
+        // NetworkVarNames: m_iNumEmptyAttacks (int)
+        public static class CCSWeaponBase {
+            public const nint m_bRemoveable = 0xDA0; // bool
+            public const nint m_flFireSequenceStartTime = 0xDA8; // float32
+            public const nint m_nFireSequenceStartTimeChange = 0xDAC; // int32
+            public const nint m_nFireSequenceStartTimeAck = 0xDB0; // int32
+            public const nint m_ePlayerFireEvent = 0xDB4; // PlayerAnimEvent_t
+            public const nint m_ePlayerFireEventAttackType = 0xDB8; // WeaponAttackType_t
+            public const nint m_seqIdle = 0xDBC; // HSequence
+            public const nint m_seqFirePrimary = 0xDC0; // HSequence
+            public const nint m_seqFireSecondary = 0xDC4; // HSequence
+            public const nint m_thirdPersonFireSequences = 0xDC8; // CUtlVector<HSequence>
+            public const nint m_hCurrentThirdPersonSequence = 0xDE0; // HSequence
+            public const nint m_nSilencerBoneIndex = 0xDE4; // int32
+            public const nint m_thirdPersonSequences = 0xDE8; // HSequence[7]
+            public const nint m_bPlayerAmmoStockOnPickup = 0xE10; // bool
+            public const nint m_bRequireUseToTouch = 0xE11; // bool
+            public const nint m_iState = 0xE14; // CSWeaponState_t
+            public const nint m_flLastTimeInAir = 0xE18; // GameTime_t
+            public const nint m_nLastEmptySoundCmdNum = 0xE1C; // int32
+            public const nint m_nViewModelIndex = 0xE20; // uint32
+            public const nint m_bReloadsWithClips = 0xE24; // bool
+            public const nint m_flTimeWeaponIdle = 0xE40; // GameTime_t
+            public const nint m_bFireOnEmpty = 0xE44; // bool
+            public const nint m_OnPlayerPickup = 0xE48; // CEntityIOOutput
+            public const nint m_weaponMode = 0xE70; // CSWeaponMode
+            public const nint m_flTurningInaccuracyDelta = 0xE74; // float32
+            public const nint m_vecTurningInaccuracyEyeDirLast = 0xE78; // Vector
+            public const nint m_flTurningInaccuracy = 0xE84; // float32
+            public const nint m_fAccuracyPenalty = 0xE88; // float32
+            public const nint m_flLastAccuracyUpdateTime = 0xE8C; // GameTime_t
+            public const nint m_fAccuracySmoothedForZoom = 0xE90; // float32
+            public const nint m_fScopeZoomEndTime = 0xE94; // GameTime_t
+            public const nint m_iRecoilIndex = 0xE98; // int32
+            public const nint m_flRecoilIndex = 0xE9C; // float32
+            public const nint m_bBurstMode = 0xEA0; // bool
+            public const nint m_nPostponeFireReadyTicks = 0xEA4; // GameTick_t
+            public const nint m_flPostponeFireReadyFrac = 0xEA8; // float32
+            public const nint m_bInReload = 0xEAC; // bool
+            public const nint m_bReloadVisuallyComplete = 0xEAD; // bool
+            public const nint m_flDroppedAtTime = 0xEB0; // GameTime_t
+            public const nint m_bIsHauledBack = 0xEB4; // bool
+            public const nint m_bSilencerOn = 0xEB5; // bool
+            public const nint m_flTimeSilencerSwitchComplete = 0xEB8; // GameTime_t
+            public const nint m_iOriginalTeamNumber = 0xEBC; // int32
+            public const nint m_iMostRecentTeamNumber = 0xEC0; // int32
+            public const nint m_bDroppedNearBuyZone = 0xEC4; // bool
+            public const nint m_flNextAttackRenderTimeOffset = 0xEC8; // float32
+            public const nint m_bCanBePickedUp = 0xEE0; // bool
+            public const nint m_bUseCanOverrideNextOwnerTouchTime = 0xEE1; // bool
+            public const nint m_nextOwnerTouchTime = 0xEE4; // GameTime_t
+            public const nint m_nextPrevOwnerTouchTime = 0xEE8; // GameTime_t
+            public const nint m_nextPrevOwnerUseTime = 0xEF0; // GameTime_t
+            public const nint m_hPrevOwner = 0xEF4; // CHandle<CCSPlayerPawn>
+            public const nint m_nDropTick = 0xEF8; // GameTick_t
+            public const nint m_donated = 0xF1C; // bool
+            public const nint m_fLastShotTime = 0xF20; // GameTime_t
+            public const nint m_bWasOwnedByCT = 0xF24; // bool
+            public const nint m_bWasOwnedByTerrorist = 0xF25; // bool
+            public const nint m_bFiredOutOfAmmoEvent = 0xF26; // bool
+            public const nint m_numRemoveUnownedWeaponThink = 0xF28; // int32
+            public const nint m_IronSightController = 0xF30; // CIronSightController
+            public const nint m_iIronSightMode = 0xF48; // int32
+            public const nint m_flLastLOSTraceFailureTime = 0xF4C; // GameTime_t
+            public const nint m_iNumEmptyAttacks = 0xF50; // int32
+            public const nint m_flWatTickOffset = 0xF54; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CHandleDummy {
+        }
+        // Parent: CPhysConstraint
+        // Field count: 9
+        public static class CRagdollConstraint {
+            public const nint m_xmin = 0x558; // float32
+            public const nint m_xmax = 0x55C; // float32
+            public const nint m_ymin = 0x560; // float32
+            public const nint m_ymax = 0x564; // float32
+            public const nint m_zmin = 0x568; // float32
+            public const nint m_zmax = 0x56C; // float32
+            public const nint m_xfriction = 0x570; // float32
+            public const nint m_yfriction = 0x574; // float32
+            public const nint m_zfriction = 0x578; // float32
+        }
+        // Parent: CPointEntity
+        // Field count: 9
+        public static class CPhysExplosion {
+            public const nint m_bExplodeOnSpawn = 0x4E0; // bool
+            public const nint m_flMagnitude = 0x4E4; // float32
+            public const nint m_flDamage = 0x4E8; // float32
+            public const nint m_radius = 0x4EC; // float32
+            public const nint m_targetEntityName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_flInnerRadius = 0x4F8; // float32
+            public const nint m_flPushScale = 0x4FC; // float32
+            public const nint m_bConvertToDebrisWhenPossible = 0x500; // bool
+            public const nint m_OnPushedPlayer = 0x508; // CEntityIOOutput
+        }
+        // Parent: CPointEntity
+        // Field count: 7
+        public static class CPointPush {
+            public const nint m_bEnabled = 0x4E0; // bool
+            public const nint m_flMagnitude = 0x4E4; // float32
+            public const nint m_flRadius = 0x4E8; // float32
+            public const nint m_flInnerRadius = 0x4EC; // float32
+            public const nint m_flConeOfInfluence = 0x4F0; // float32
+            public const nint m_iszFilterName = 0x4F8; // CUtlSymbolLarge
+            public const nint m_hFilter = 0x500; // CHandle<CBaseFilter>
+        }
+        // Parent: CPointEntity
+        // Field count: 3
+        public static class CCredits {
+            public const nint m_OnCreditsDone = 0x4E0; // CEntityIOOutput
+            public const nint m_bRolledOutroCredits = 0x508; // bool
+            public const nint m_flLogoLength = 0x50C; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_bHostageAlive (bool)
+        // NetworkVarNames: m_isHostageFollowingSomeone (bool)
+        // NetworkVarNames: m_iHostageEntityIDs (CEntityIndex)
+        // NetworkVarNames: m_bombsiteCenterA (Vector)
+        // NetworkVarNames: m_bombsiteCenterB (Vector)
+        // NetworkVarNames: m_hostageRescueX (int)
+        // NetworkVarNames: m_hostageRescueY (int)
+        // NetworkVarNames: m_hostageRescueZ (int)
+        // NetworkVarNames: m_bEndMatchNextMapAllVoted (bool)
+        public static class CCSPlayerResource {
+            public const nint m_bHostageAlive = 0x4E0; // bool[12]
+            public const nint m_isHostageFollowingSomeone = 0x4EC; // bool[12]
+            public const nint m_iHostageEntityIDs = 0x4F8; // CEntityIndex[12]
+            public const nint m_bombsiteCenterA = 0x528; // Vector
+            public const nint m_bombsiteCenterB = 0x534; // Vector
+            public const nint m_hostageRescueX = 0x540; // int32[4]
+            public const nint m_hostageRescueY = 0x550; // int32[4]
+            public const nint m_hostageRescueZ = 0x560; // int32[4]
+            public const nint m_bEndMatchNextMapAllVoted = 0x570; // bool
+            public const nint m_foundGoalPositions = 0x571; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_hMyWeapons (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_hActiveWeapon (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_hLastWeapon (CHandle<CBasePlayerWeapon>)
+        // NetworkVarNames: m_iAmmo (uint16)
+        public static class CPlayer_WeaponServices {
+            public const nint m_hMyWeapons = 0x40; // CNetworkUtlVectorBase<CHandle<CBasePlayerWeapon>>
+            public const nint m_hActiveWeapon = 0x58; // CHandle<CBasePlayerWeapon>
+            public const nint m_hLastWeapon = 0x5C; // CHandle<CBasePlayerWeapon>
+            public const nint m_iAmmo = 0x60; // uint16[32]
+            public const nint m_bPreventWeaponPickup = 0xA0; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        public static class CAttributeManager__cached_attribute_float_t {
+            public const nint flIn = 0x0; // float32
+            public const nint iAttribHook = 0x8; // CUtlSymbolLarge
+            public const nint flOut = 0x10; // float32
+        }
+        // Parent: CTeam
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_bSurrendered (bool)
+        // NetworkVarNames: m_szTeamMatchStat (char)
+        // NetworkVarNames: m_numMapVictories (int)
+        // NetworkVarNames: m_scoreFirstHalf (int32)
+        // NetworkVarNames: m_scoreSecondHalf (int32)
+        // NetworkVarNames: m_scoreOvertime (int32)
+        // NetworkVarNames: m_szClanTeamname (char)
+        // NetworkVarNames: m_iClanID (uint32)
+        // NetworkVarNames: m_szTeamFlagImage (char)
+        // NetworkVarNames: m_szTeamLogoImage (char)
+        public static class CCSTeam {
+            public const nint m_nLastRecievedShorthandedRoundBonus = 0x598; // int32
+            public const nint m_nShorthandedRoundBonusStartRound = 0x59C; // int32
+            public const nint m_bSurrendered = 0x5A0; // bool
+            public const nint m_szTeamMatchStat = 0x5A1; // char[512]
+            public const nint m_numMapVictories = 0x7A4; // int32
+            public const nint m_scoreFirstHalf = 0x7A8; // int32
+            public const nint m_scoreSecondHalf = 0x7AC; // int32
+            public const nint m_scoreOvertime = 0x7B0; // int32
+            public const nint m_szClanTeamname = 0x7B4; // char[129]
+            public const nint m_iClanID = 0x838; // uint32
+            public const nint m_szTeamFlagImage = 0x83C; // char[8]
+            public const nint m_szTeamLogoImage = 0x844; // char[8]
+            public const nint m_flNextResourceTime = 0x84C; // float32
+            public const nint m_iLastUpdateSentAt = 0x850; // int32
+        }
+        // Parent: None
+        // Field count: 1
+        public static class CCSGameModeRules {
+            public const nint __m_pChainEntity = 0x8; // CNetworkVarChainer
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_nInteractsAs (uint64)
+        // NetworkVarNames: m_nInteractsWith (uint64)
+        // NetworkVarNames: m_nInteractsExclude (uint64)
+        // NetworkVarNames: m_nEntityId (uint32)
+        // NetworkVarNames: m_nOwnerId (uint32)
+        // NetworkVarNames: m_nHierarchyId (uint16)
+        // NetworkVarNames: m_nCollisionGroup (uint8)
+        // NetworkVarNames: m_nCollisionFunctionMask (uint8)
+        public static class VPhysicsCollisionAttribute_t {
+            public const nint m_nInteractsAs = 0x8; // uint64
+            public const nint m_nInteractsWith = 0x10; // uint64
+            public const nint m_nInteractsExclude = 0x18; // uint64
+            public const nint m_nEntityId = 0x20; // uint32
+            public const nint m_nOwnerId = 0x24; // uint32
+            public const nint m_nHierarchyId = 0x28; // uint16
+            public const nint m_nCollisionGroup = 0x2A; // uint8
+            public const nint m_nCollisionFunctionMask = 0x2B; // uint8
+        }
+        // Parent: CTriggerMultiple
+        // Field count: 4
+        public static class CTriggerImpact {
+            public const nint m_flMagnitude = 0x988; // float32
+            public const nint m_flNoise = 0x98C; // float32
+            public const nint m_flViewkick = 0x990; // float32
+            public const nint m_pOutputForce = 0x998; // CEntityOutputTemplate<Vector>
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 14
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_vDirection (Vector)
+        // NetworkVarNames: m_clrOverlay (Color)
+        // NetworkVarNames: m_iszEffectName (string_t)
+        // NetworkVarNames: m_iszSSEffectName (string_t)
+        // NetworkVarNames: m_bOn (bool)
+        // NetworkVarNames: m_bmaxColor (bool)
+        // NetworkVarNames: m_flSize (float32)
+        // NetworkVarNames: m_flRotation (float32)
+        // NetworkVarNames: m_flHazeScale (float32)
+        // NetworkVarNames: m_flAlphaHaze (float32)
+        // NetworkVarNames: m_flAlphaHdr (float32)
+        // NetworkVarNames: m_flAlphaScale (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        // NetworkVarNames: m_flFarZScale (float32)
+        public static class CSun {
+            public const nint m_vDirection = 0x790; // Vector
+            public const nint m_clrOverlay = 0x79C; // Color
+            public const nint m_iszEffectName = 0x7A0; // CUtlSymbolLarge
+            public const nint m_iszSSEffectName = 0x7A8; // CUtlSymbolLarge
+            public const nint m_bOn = 0x7B0; // bool
+            public const nint m_bmaxColor = 0x7B1; // bool
+            public const nint m_flSize = 0x7B4; // float32
+            public const nint m_flRotation = 0x7B8; // float32
+            public const nint m_flHazeScale = 0x7BC; // float32
+            public const nint m_flAlphaHaze = 0x7C0; // float32
+            public const nint m_flAlphaHdr = 0x7C4; // float32
+            public const nint m_flAlphaScale = 0x7C8; // float32
+            public const nint m_flHDRColorScale = 0x7CC; // float32
+            public const nint m_flFarZScale = 0x7D0; // float32
+        }
+        // Parent: CBaseTrigger
+        // Field count: 2
+        public static class CTriggerDetectBulletFire {
+            public const nint m_bPlayerFireOnly = 0x960; // bool
+            public const nint m_OnDetectedBulletFire = 0x968; // CEntityIOOutput
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 0
+        public static class CWorld {
+        }
+        // Parent: CPointEntity
+        // Field count: 1
+        public static class CPointGiveAmmo {
+            public const nint m_pActivator = 0x4E0; // CHandle<CBaseEntity>
+        }
+        // Parent: CFuncMoveLinear
+        // Field count: 0
+        public static class CFuncMoveLinearAlias_momentary_door {
+        }
+        // Parent: CBaseEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_flParticleSpacing (float)
+        // NetworkVarNames: m_flSlack (float)
+        // NetworkVarNames: m_flRadius (float)
+        // NetworkVarNames: m_ColorTint (Color)
+        // NetworkVarNames: m_nEffectState (int)
+        // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+        // NetworkVarNames: m_PathNodes_Position (Vector)
+        // NetworkVarNames: m_PathNodes_TangentIn (Vector)
+        // NetworkVarNames: m_PathNodes_TangentOut (Vector)
+        // NetworkVarNames: m_PathNodes_Color (Vector)
+        // NetworkVarNames: m_PathNodes_PinEnabled (bool)
+        // NetworkVarNames: m_PathNodes_RadiusScale (float)
+        public static class CPathParticleRope {
+            public const nint m_bStartActive = 0x4E8; // bool
+            public const nint m_flMaxSimulationTime = 0x4EC; // float32
+            public const nint m_iszEffectName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_PathNodes_Name = 0x4F8; // CUtlVector<CUtlSymbolLarge>
+            public const nint m_flParticleSpacing = 0x510; // float32
+            public const nint m_flSlack = 0x514; // float32
+            public const nint m_flRadius = 0x518; // float32
+            public const nint m_ColorTint = 0x51C; // Color
+            public const nint m_nEffectState = 0x520; // int32
+            public const nint m_iEffectIndex = 0x528; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+            public const nint m_PathNodes_Position = 0x530; // CNetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_TangentIn = 0x548; // CNetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_TangentOut = 0x560; // CNetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_Color = 0x578; // CNetworkUtlVectorBase<Vector>
+            public const nint m_PathNodes_PinEnabled = 0x590; // CNetworkUtlVectorBase<bool>
+            public const nint m_PathNodes_RadiusScale = 0x5A8; // CNetworkUtlVectorBase<float32>
+        }
+        // Parent: CBaseEntity
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_flVisibilityStrength (float)
+        // NetworkVarNames: m_flFogDistanceMultiplier (float)
+        // NetworkVarNames: m_flFogMaxDensityMultiplier (float)
+        // NetworkVarNames: m_flFadeTime (float)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_bIsEnabled (bool)
+        public static class CPlayerVisibility {
+            public const nint m_flVisibilityStrength = 0x4E0; // float32
+            public const nint m_flFogDistanceMultiplier = 0x4E4; // float32
+            public const nint m_flFogMaxDensityMultiplier = 0x4E8; // float32
+            public const nint m_flFadeTime = 0x4EC; // float32
+            public const nint m_bStartDisabled = 0x4F0; // bool
+            public const nint m_bIsEnabled = 0x4F1; // bool
+        }
+        // Parent: CServerOnlyEntity
+        // Field count: 0
+        public static class CServerOnlyPointEntity {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CAK47 {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 4
+        public static class CTriggerTeleport {
+            public const nint m_iLandmark = 0x960; // CUtlSymbolLarge
+            public const nint m_bUseLandmarkAngles = 0x968; // bool
+            public const nint m_bMirrorPlayer = 0x969; // bool
+            public const nint m_bCheckDestIfClearForPlayer = 0x96A; // bool
+        }
+        // Parent: CCSPlayerBase_CameraServices
+        // Field count: 0
+        public static class CCSObserver_CameraServices {
+        }
+        // Parent: CCSGO_TeamIntroCharacterPosition
+        // Field count: 0
+        public static class CCSGO_TeamIntroTerroristPosition {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 38
+        public static class CFuncMover {
+            public const nint m_bCreateMovableNavMesh = 0x790; // bool
+            public const nint m_iszPathName = 0x798; // CUtlSymbolLarge
+            public const nint m_hPathMover = 0x7A0; // CHandle<CPathMover>
+            public const nint m_iszPathNodeStart = 0x7A8; // CUtlSymbolLarge
+            public const nint m_eMoveType = 0x7B0; // CFuncMover::Move_t
+            public const nint m_bIsReversing = 0x7B4; // bool
+            public const nint m_vTarget = 0x7B8; // Vector
+            public const nint m_flStartSpeed = 0x7C4; // float32
+            public const nint m_flPathLocation = 0x7C8; // float32
+            public const nint m_flT = 0x7CC; // float32
+            public const nint m_nCurrentNodeIndex = 0x7D0; // int32
+            public const nint m_nPreviousNodeIndex = 0x7D4; // int32
+            public const nint m_bFixedOrientation = 0x7D8; // bool
+            public const nint m_bFixedPitch = 0x7D9; // bool
+            public const nint m_eSolidType = 0x7DA; // SolidType_t
+            public const nint m_bIsMoving = 0x7DB; // bool
+            public const nint m_flTimeToReachMaxSpeed = 0x7DC; // float32
+            public const nint m_flDistanceToReachMaxSpeed = 0x7E0; // float32
+            public const nint m_flTimeToReachZeroSpeed = 0x7E4; // float32
+            public const nint m_flDistanceToReachZeroSpeed = 0x7E8; // float32
+            public const nint m_flTimeMovementStart = 0x7EC; // GameTime_t
+            public const nint m_flTimeMovementStop = 0x7F0; // GameTime_t
+            public const nint m_hStopAtNode = 0x7F4; // CHandle<CMoverPathNode>
+            public const nint m_flPathLocationToBeginStop = 0x7F8; // float32
+            public const nint m_iszStartForwardSound = 0x800; // CUtlSymbolLarge
+            public const nint m_iszLoopForwardSound = 0x808; // CUtlSymbolLarge
+            public const nint m_iszStopForwardSound = 0x810; // CUtlSymbolLarge
+            public const nint m_iszStartReverseSound = 0x818; // CUtlSymbolLarge
+            public const nint m_iszLoopReverseSound = 0x820; // CUtlSymbolLarge
+            public const nint m_iszStopReverseSound = 0x828; // CUtlSymbolLarge
+            public const nint m_iszArriveAtDestinationSound = 0x830; // CUtlSymbolLarge
+            public const nint m_OnMovementEnd = 0x840; // CEntityIOOutput
+            public const nint m_bStartAtEnd = 0x868; // bool
+            public const nint m_eOrientationUpdate = 0x86C; // CFuncMover::OrientationUpdate_t
+            public const nint m_flTimeStartOrientationChange = 0x870; // GameTime_t
+            public const nint m_flTimeToBlendToNewOrientation = 0x874; // float32
+            public const nint m_flDurationBlendToNewOrientationRan = 0x878; // float32
+            public const nint m_qOriginalOrientation = 0x880; // Quaternion
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: localSound (Vector)
+        // NetworkVarNames: soundscapeIndex (int32)
+        // NetworkVarNames: localBits (uint8)
+        // NetworkVarNames: soundscapeEntityListIndex (int)
+        // NetworkVarNames: soundEventHash (uint32)
+        public static class audioparams_t {
+            public const nint localSound = 0x8; // Vector[8]
+            public const nint soundscapeIndex = 0x68; // int32
+            public const nint localBits = 0x6C; // uint8
+            public const nint soundscapeEntityListIndex = 0x70; // int32
+            public const nint soundEventHash = 0x74; // uint32
+        }
+        // Parent: CBaseCSGrenade
+        // Field count: 0
+        public static class CHEGrenade {
+        }
+        // Parent: CRulePointEntity
+        // Field count: 0
+        public static class CGameEnd {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CTriggerCallback {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 3
+        public static class CBubbling {
+            public const nint m_density = 0x790; // int32
+            public const nint m_frequency = 0x794; // int32
+            public const nint m_state = 0x798; // int32
+        }
+        // Parent: CTeamplayRules
+        // Field count: 190
+        //
+        // Metadata:
+        // NetworkVarNames: m_bFreezePeriod (bool)
+        // NetworkVarNames: m_bWarmupPeriod (bool)
+        // NetworkVarNames: m_fWarmupPeriodEnd (GameTime_t)
+        // NetworkVarNames: m_fWarmupPeriodStart (GameTime_t)
+        // NetworkVarNames: m_bServerPaused (bool)
+        // NetworkVarNames: m_bTerroristTimeOutActive (bool)
+        // NetworkVarNames: m_bCTTimeOutActive (bool)
+        // NetworkVarNames: m_flTerroristTimeOutRemaining (float)
+        // NetworkVarNames: m_flCTTimeOutRemaining (float)
+        // NetworkVarNames: m_nTerroristTimeOuts (int)
+        // NetworkVarNames: m_nCTTimeOuts (int)
+        // NetworkVarNames: m_bTechnicalTimeOut (bool)
+        // NetworkVarNames: m_bMatchWaitingForResume (bool)
+        // NetworkVarNames: m_iRoundTime (int)
+        // NetworkVarNames: m_fMatchStartTime (float)
+        // NetworkVarNames: m_fRoundStartTime (GameTime_t)
+        // NetworkVarNames: m_flRestartRoundTime (GameTime_t)
+        // NetworkVarNames: m_bGameRestart (bool)
+        // NetworkVarNames: m_flGameStartTime (float)
+        // NetworkVarNames: m_timeUntilNextPhaseStarts (float)
+        // NetworkVarNames: m_gamePhase (int)
+        // NetworkVarNames: m_totalRoundsPlayed (int)
+        // NetworkVarNames: m_nRoundsPlayedThisPhase (int)
+        // NetworkVarNames: m_nOvertimePlaying (int)
+        // NetworkVarNames: m_iHostagesRemaining (int)
+        // NetworkVarNames: m_bAnyHostageReached (bool)
+        // NetworkVarNames: m_bMapHasBombTarget (bool)
+        // NetworkVarNames: m_bMapHasRescueZone (bool)
+        // NetworkVarNames: m_bMapHasBuyZone (bool)
+        // NetworkVarNames: m_bIsQueuedMatchmaking (bool)
+        // NetworkVarNames: m_nQueuedMatchmakingMode (int)
+        // NetworkVarNames: m_bIsValveDS (bool)
+        // NetworkVarNames: m_bLogoMap (bool)
+        // NetworkVarNames: m_bPlayAllStepSoundsOnServer (bool)
+        // NetworkVarNames: m_iSpectatorSlotCount (int)
+        // NetworkVarNames: m_MatchDevice (int)
+        // NetworkVarNames: m_bHasMatchStarted (bool)
+        // NetworkVarNames: m_nNextMapInMapgroup (int)
+        // NetworkVarNames: m_szTournamentEventName (char)
+        // NetworkVarNames: m_szTournamentEventStage (char)
+        // NetworkVarNames: m_szMatchStatTxt (char)
+        // NetworkVarNames: m_szTournamentPredictionsTxt (char)
+        // NetworkVarNames: m_nTournamentPredictionsPct (int)
+        // NetworkVarNames: m_flCMMItemDropRevealStartTime (GameTime_t)
+        // NetworkVarNames: m_flCMMItemDropRevealEndTime (GameTime_t)
+        // NetworkVarNames: m_bIsDroppingItems (bool)
+        // NetworkVarNames: m_bIsQuestEligible (bool)
+        // NetworkVarNames: m_bIsHltvActive (bool)
+        // NetworkVarNames: m_arrProhibitedItemIndices (uint16)
+        // NetworkVarNames: m_arrTournamentActiveCasterAccounts (uint32)
+        // NetworkVarNames: m_numBestOfMaps (int)
+        // NetworkVarNames: m_nHalloweenMaskListSeed (int)
+        // NetworkVarNames: m_bBombDropped (bool)
+        // NetworkVarNames: m_bBombPlanted (bool)
+        // NetworkVarNames: m_iRoundWinStatus (int)
+        // NetworkVarNames: m_eRoundWinReason (int)
+        // NetworkVarNames: m_bTCantBuy (bool)
+        // NetworkVarNames: m_bCTCantBuy (bool)
+        // NetworkVarNames: m_iMatchStats_RoundResults (int)
+        // NetworkVarNames: m_iMatchStats_PlayersAlive_CT (int)
+        // NetworkVarNames: m_iMatchStats_PlayersAlive_T (int)
+        // NetworkVarNames: m_TeamRespawnWaveTimes (float)
+        // NetworkVarNames: m_flNextRespawnWave (GameTime_t)
+        // NetworkVarNames: m_nServerQuestID (int)
+        // NetworkVarNames: m_vMinimapMins (Vector)
+        // NetworkVarNames: m_vMinimapMaxs (Vector)
+        // NetworkVarNames: m_MinimapVerticalSectionHeights (float)
+        // NetworkVarNames: m_nEndMatchMapGroupVoteTypes (int)
+        // NetworkVarNames: m_nEndMatchMapGroupVoteOptions (int)
+        // NetworkVarNames: m_nEndMatchMapVoteWinner (int)
+        // NetworkVarNames: m_iNumConsecutiveCTLoses (int)
+        // NetworkVarNames: m_iNumConsecutiveTerroristLoses (int)
+        // NetworkVarNames: m_nMatchAbortedEarlyReason (int)
+        // NetworkVarNames: m_pGameModeRules (CCSGameModeRules*)
+        // NetworkVarNames: m_RetakeRules (CRetakeGameRules)
+        // NetworkVarNames: m_nMatchEndCount (uint8)
+        // NetworkVarNames: m_nTTeamIntroVariant (int)
+        // NetworkVarNames: m_nCTTeamIntroVariant (int)
+        // NetworkVarNames: m_bTeamIntroPeriod (bool)
+        // NetworkVarNames: m_iRoundEndWinnerTeam (int)
+        // NetworkVarNames: m_eRoundEndReason (int)
+        // NetworkVarNames: m_bRoundEndShowTimerDefend (bool)
+        // NetworkVarNames: m_iRoundEndTimerTime (int)
+        // NetworkVarNames: m_sRoundEndFunFactToken (CUtlString)
+        // NetworkVarNames: m_iRoundEndFunFactPlayerSlot (CPlayerSlot)
+        // NetworkVarNames: m_iRoundEndFunFactData1 (int)
+        // NetworkVarNames: m_iRoundEndFunFactData2 (int)
+        // NetworkVarNames: m_iRoundEndFunFactData3 (int)
+        // NetworkVarNames: m_sRoundEndMessage (CUtlString)
+        // NetworkVarNames: m_iRoundEndPlayerCount (int)
+        // NetworkVarNames: m_bRoundEndNoMusic (bool)
+        // NetworkVarNames: m_iRoundEndLegacy (int)
+        // NetworkVarNames: m_nRoundEndCount (uint8)
+        // NetworkVarNames: m_iRoundStartRoundNumber (int)
+        // NetworkVarNames: m_nRoundStartCount (uint8)
+        public static class CCSGameRules {
+            public const nint m_bFreezePeriod = 0xC8; // bool
+            public const nint m_bWarmupPeriod = 0xC9; // bool
+            public const nint m_fWarmupPeriodEnd = 0xCC; // GameTime_t
+            public const nint m_fWarmupPeriodStart = 0xD0; // GameTime_t
+            public const nint m_bServerPaused = 0xD4; // bool
+            public const nint m_bTerroristTimeOutActive = 0xD5; // bool
+            public const nint m_bCTTimeOutActive = 0xD6; // bool
+            public const nint m_flTerroristTimeOutRemaining = 0xD8; // float32
+            public const nint m_flCTTimeOutRemaining = 0xDC; // float32
+            public const nint m_nTerroristTimeOuts = 0xE0; // int32
+            public const nint m_nCTTimeOuts = 0xE4; // int32
+            public const nint m_bTechnicalTimeOut = 0xE8; // bool
+            public const nint m_bMatchWaitingForResume = 0xE9; // bool
+            public const nint m_iRoundTime = 0xEC; // int32
+            public const nint m_fMatchStartTime = 0xF0; // float32
+            public const nint m_fRoundStartTime = 0xF4; // GameTime_t
+            public const nint m_flRestartRoundTime = 0xF8; // GameTime_t
+            public const nint m_bGameRestart = 0xFC; // bool
+            public const nint m_flGameStartTime = 0x100; // float32
+            public const nint m_timeUntilNextPhaseStarts = 0x104; // float32
+            public const nint m_gamePhase = 0x108; // int32
+            public const nint m_totalRoundsPlayed = 0x10C; // int32
+            public const nint m_nRoundsPlayedThisPhase = 0x110; // int32
+            public const nint m_nOvertimePlaying = 0x114; // int32
+            public const nint m_iHostagesRemaining = 0x118; // int32
+            public const nint m_bAnyHostageReached = 0x11C; // bool
+            public const nint m_bMapHasBombTarget = 0x11D; // bool
+            public const nint m_bMapHasRescueZone = 0x11E; // bool
+            public const nint m_bMapHasBuyZone = 0x11F; // bool
+            public const nint m_bIsQueuedMatchmaking = 0x120; // bool
+            public const nint m_nQueuedMatchmakingMode = 0x124; // int32
+            public const nint m_bIsValveDS = 0x128; // bool
+            public const nint m_bLogoMap = 0x129; // bool
+            public const nint m_bPlayAllStepSoundsOnServer = 0x12A; // bool
+            public const nint m_iSpectatorSlotCount = 0x12C; // int32
+            public const nint m_MatchDevice = 0x130; // int32
+            public const nint m_bHasMatchStarted = 0x134; // bool
+            public const nint m_nNextMapInMapgroup = 0x138; // int32
+            public const nint m_szTournamentEventName = 0x13C; // char[512]
+            public const nint m_szTournamentEventStage = 0x33C; // char[512]
+            public const nint m_szMatchStatTxt = 0x53C; // char[512]
+            public const nint m_szTournamentPredictionsTxt = 0x73C; // char[512]
+            public const nint m_nTournamentPredictionsPct = 0x93C; // int32
+            public const nint m_flCMMItemDropRevealStartTime = 0x940; // GameTime_t
+            public const nint m_flCMMItemDropRevealEndTime = 0x944; // GameTime_t
+            public const nint m_bIsDroppingItems = 0x948; // bool
+            public const nint m_bIsQuestEligible = 0x949; // bool
+            public const nint m_bIsHltvActive = 0x94A; // bool
+            public const nint m_arrProhibitedItemIndices = 0x94C; // uint16[100]
+            public const nint m_arrTournamentActiveCasterAccounts = 0xA14; // uint32[4]
+            public const nint m_numBestOfMaps = 0xA24; // int32
+            public const nint m_nHalloweenMaskListSeed = 0xA28; // int32
+            public const nint m_bBombDropped = 0xA2C; // bool
+            public const nint m_bBombPlanted = 0xA2D; // bool
+            public const nint m_iRoundWinStatus = 0xA30; // int32
+            public const nint m_eRoundWinReason = 0xA34; // int32
+            public const nint m_bTCantBuy = 0xA38; // bool
+            public const nint m_bCTCantBuy = 0xA39; // bool
+            public const nint m_iMatchStats_RoundResults = 0xA3C; // int32[30]
+            public const nint m_iMatchStats_PlayersAlive_CT = 0xAB4; // int32[30]
+            public const nint m_iMatchStats_PlayersAlive_T = 0xB2C; // int32[30]
+            public const nint m_TeamRespawnWaveTimes = 0xBA4; // float32[32]
+            public const nint m_flNextRespawnWave = 0xC24; // GameTime_t[32]
+            public const nint m_nServerQuestID = 0xCA4; // int32
+            public const nint m_vMinimapMins = 0xCA8; // Vector
+            public const nint m_vMinimapMaxs = 0xCB4; // Vector
+            public const nint m_MinimapVerticalSectionHeights = 0xCC0; // float32[8]
+            public const nint m_bSpawnedTerrorHuntHeavy = 0xCE0; // bool
+            public const nint m_ullLocalMatchID = 0xCE8; // uint64
+            public const nint m_nEndMatchMapGroupVoteTypes = 0xCF0; // int32[10]
+            public const nint m_nEndMatchMapGroupVoteOptions = 0xD18; // int32[10]
+            public const nint m_nEndMatchMapVoteWinner = 0xD40; // int32
+            public const nint m_iNumConsecutiveCTLoses = 0xD44; // int32
+            public const nint m_iNumConsecutiveTerroristLoses = 0xD48; // int32
+            public const nint m_bHasHostageBeenTouched = 0xD68; // bool
+            public const nint m_flIntermissionStartTime = 0xD6C; // GameTime_t
+            public const nint m_flIntermissionEndTime = 0xD70; // GameTime_t
+            public const nint m_bLevelInitialized = 0xD74; // bool
+            public const nint m_iTotalRoundsPlayed = 0xD78; // int32
+            public const nint m_iUnBalancedRounds = 0xD7C; // int32
+            public const nint m_endMatchOnRoundReset = 0xD80; // bool
+            public const nint m_endMatchOnThink = 0xD81; // bool
+            public const nint m_iFreezeTime = 0xD84; // int32
+            public const nint m_iNumTerrorist = 0xD88; // int32
+            public const nint m_iNumCT = 0xD8C; // int32
+            public const nint m_iNumSpawnableTerrorist = 0xD90; // int32
+            public const nint m_iNumSpawnableCT = 0xD94; // int32
+            public const nint m_arrSelectedHostageSpawnIndices = 0xD98; // CUtlVector<int32>
+            public const nint m_nSpawnPointsRandomSeed = 0xDB0; // int32
+            public const nint m_bFirstConnected = 0xDB4; // bool
+            public const nint m_bCompleteReset = 0xDB5; // bool
+            public const nint m_bPickNewTeamsOnReset = 0xDB6; // bool
+            public const nint m_bScrambleTeamsOnRestart = 0xDB7; // bool
+            public const nint m_bSwapTeamsOnRestart = 0xDB8; // bool
+            public const nint m_nEndMatchTiedVotes = 0xDC0; // CUtlVector<int32>
+            public const nint m_bNeedToAskPlayersForContinueVote = 0xDDC; // bool
+            public const nint m_numQueuedMatchmakingAccounts = 0xDE0; // uint32
+            public const nint m_fAvgPlayerRank = 0xDE4; // float32
+            public const nint m_pQueuedMatchmakingReservationString = 0xDE8; // char*
+            public const nint m_numTotalTournamentDrops = 0xDF0; // uint32
+            public const nint m_numSpectatorsCountMax = 0xDF4; // uint32
+            public const nint m_numSpectatorsCountMaxTV = 0xDF8; // uint32
+            public const nint m_numSpectatorsCountMaxLnk = 0xDFC; // uint32
+            public const nint m_bForceTeamChangeSilent = 0xE08; // bool
+            public const nint m_bLoadingRoundBackupData = 0xE09; // bool
+            public const nint m_nMatchInfoShowType = 0xE40; // int32
+            public const nint m_flMatchInfoDecidedTime = 0xE44; // float32
+            public const nint mTeamDMLastWinningTeamNumber = 0xE60; // int32
+            public const nint mTeamDMLastThinkTime = 0xE64; // float32
+            public const nint m_flTeamDMLastAnnouncementTime = 0xE68; // float32
+            public const nint m_iAccountTerrorist = 0xE6C; // int32
+            public const nint m_iAccountCT = 0xE70; // int32
+            public const nint m_iSpawnPointCount_Terrorist = 0xE74; // int32
+            public const nint m_iSpawnPointCount_CT = 0xE78; // int32
+            public const nint m_iMaxNumTerrorists = 0xE7C; // int32
+            public const nint m_iMaxNumCTs = 0xE80; // int32
+            public const nint m_iLoserBonusMostRecentTeam = 0xE84; // int32
+            public const nint m_tmNextPeriodicThink = 0xE88; // float32
+            public const nint m_bVoiceWonMatchBragFired = 0xE8C; // bool
+            public const nint m_fWarmupNextChatNoticeTime = 0xE90; // float32
+            public const nint m_iHostagesRescued = 0xE98; // int32
+            public const nint m_iHostagesTouched = 0xE9C; // int32
+            public const nint m_flNextHostageAnnouncement = 0xEA0; // float32
+            public const nint m_bNoTerroristsKilled = 0xEA4; // bool
+            public const nint m_bNoCTsKilled = 0xEA5; // bool
+            public const nint m_bNoEnemiesKilled = 0xEA6; // bool
+            public const nint m_bCanDonateWeapons = 0xEA7; // bool
+            public const nint m_firstKillTime = 0xEAC; // float32
+            public const nint m_firstBloodTime = 0xEB4; // float32
+            public const nint m_hostageWasInjured = 0xED0; // bool
+            public const nint m_hostageWasKilled = 0xED1; // bool
+            public const nint m_bVoteCalled = 0xEE0; // bool
+            public const nint m_bServerVoteOnReset = 0xEE1; // bool
+            public const nint m_flVoteCheckThrottle = 0xEE4; // float32
+            public const nint m_bBuyTimeEnded = 0xEE8; // bool
+            public const nint m_nLastFreezeEndBeep = 0xEEC; // int32
+            public const nint m_bTargetBombed = 0xEF0; // bool
+            public const nint m_bBombDefused = 0xEF1; // bool
+            public const nint m_bMapHasBombZone = 0xEF2; // bool
+            public const nint m_vecMainCTSpawnPos = 0xF40; // Vector
+            public const nint m_CTSpawnPointsMasterList = 0xF50; // CUtlVector<SpawnPoint*>
+            public const nint m_TerroristSpawnPointsMasterList = 0xF68; // CUtlVector<SpawnPoint*>
+            public const nint m_bRespawningAllRespawnablePlayers = 0xF80; // bool
+            public const nint m_iNextCTSpawnPoint = 0xF84; // int32
+            public const nint m_flCTSpawnPointUsedTime = 0xF88; // float32
+            public const nint m_iNextTerroristSpawnPoint = 0xF8C; // int32
+            public const nint m_flTerroristSpawnPointUsedTime = 0xF90; // float32
+            public const nint m_CTSpawnPoints = 0xF98; // CUtlVector<SpawnPoint*>
+            public const nint m_TerroristSpawnPoints = 0xFB0; // CUtlVector<SpawnPoint*>
+            public const nint m_bIsUnreservedGameServer = 0xFC8; // bool
+            public const nint m_fAutobalanceDisplayTime = 0xFCC; // float32
+            public const nint m_bAllowWeaponSwitch = 0x1238; // bool
+            public const nint m_bRoundTimeWarningTriggered = 0x1239; // bool
+            public const nint m_phaseChangeAnnouncementTime = 0x123C; // GameTime_t
+            public const nint m_fNextUpdateTeamClanNamesTime = 0x1240; // float32
+            public const nint m_flLastThinkTime = 0x1244; // GameTime_t
+            public const nint m_fAccumulatedRoundOffDamage = 0x1248; // float32
+            public const nint m_nShorthandedBonusLastEvalRound = 0x124C; // int32
+            public const nint m_nMatchAbortedEarlyReason = 0x14C8; // int32
+            public const nint m_bHasTriggeredRoundStartMusic = 0x14CC; // bool
+            public const nint m_bSwitchingTeamsAtRoundReset = 0x14CD; // bool
+            public const nint m_pGameModeRules = 0x14E8; // CCSGameModeRules*
+            public const nint m_BtGlobalBlackboard = 0x14F0; // KeyValues3
+            public const nint m_hPlayerResource = 0x1580; // CHandle<CBaseEntity>
+            public const nint m_RetakeRules = 0x1588; // CRetakeGameRules
+            public const nint m_arrTeamUniqueKillWeaponsMatch = 0x1720; // CUtlVector<int32>[4]
+            public const nint m_bTeamLastKillUsedUniqueWeaponMatch = 0x1780; // bool[4]
+            public const nint m_nMatchEndCount = 0x17A8; // uint8
+            public const nint m_nTTeamIntroVariant = 0x17AC; // int32
+            public const nint m_nCTTeamIntroVariant = 0x17B0; // int32
+            public const nint m_bTeamIntroPeriod = 0x17B4; // bool
+            public const nint m_fTeamIntroPeriodEnd = 0x17B8; // GameTime_t
+            public const nint m_bPlayedTeamIntroVO = 0x17BC; // bool
+            public const nint m_iRoundEndWinnerTeam = 0x17C0; // int32
+            public const nint m_eRoundEndReason = 0x17C4; // int32
+            public const nint m_bRoundEndShowTimerDefend = 0x17C8; // bool
+            public const nint m_iRoundEndTimerTime = 0x17CC; // int32
+            public const nint m_sRoundEndFunFactToken = 0x17D0; // CUtlString
+            public const nint m_iRoundEndFunFactPlayerSlot = 0x17D8; // CPlayerSlot
+            public const nint m_iRoundEndFunFactData1 = 0x17DC; // int32
+            public const nint m_iRoundEndFunFactData2 = 0x17E0; // int32
+            public const nint m_iRoundEndFunFactData3 = 0x17E4; // int32
+            public const nint m_sRoundEndMessage = 0x17E8; // CUtlString
+            public const nint m_iRoundEndPlayerCount = 0x17F0; // int32
+            public const nint m_bRoundEndNoMusic = 0x17F4; // bool
+            public const nint m_iRoundEndLegacy = 0x17F8; // int32
+            public const nint m_nRoundEndCount = 0x17FC; // uint8
+            public const nint m_iRoundStartRoundNumber = 0x1800; // int32
+            public const nint m_nRoundStartCount = 0x1804; // uint8
+            public const nint m_flLastPerfSampleTime = 0x5810; // float64
+        }
+        // Parent: CPhysicsProp
+        // Field count: 0
+        public static class CPhysicsPropOverride {
+        }
+        // Parent: CBaseEntity
+        // Field count: 4
+        public static class CAI_ChangeHintGroup {
+            public const nint m_iSearchType = 0x4E0; // int32
+            public const nint m_strSearchName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_strNewHintGroup = 0x4F0; // CUtlSymbolLarge
+            public const nint m_flRadius = 0x4F8; // float32
+        }
+        // Parent: CBaseTrigger
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_MaxWeight (float32)
+        // NetworkVarNames: m_FadeDuration (float32)
+        // NetworkVarNames: m_Weight (float32)
+        // NetworkVarNames: m_lookupFilename (char)
+        public static class CColorCorrectionVolume {
+            public const nint m_bEnabled = 0x960; // bool
+            public const nint m_MaxWeight = 0x964; // float32
+            public const nint m_FadeDuration = 0x968; // float32
+            public const nint m_bStartDisabled = 0x96C; // bool
+            public const nint m_Weight = 0x970; // float32
+            public const nint m_lookupFilename = 0x974; // char[512]
+            public const nint m_LastEnterWeight = 0xB74; // float32
+            public const nint m_LastEnterTime = 0xB78; // GameTime_t
+            public const nint m_LastExitWeight = 0xB7C; // float32
+            public const nint m_LastExitTime = 0xB80; // GameTime_t
+        }
+        // Parent: CBaseFilter
+        // Field count: 5
+        public static class CFilterEnemy {
+            public const nint m_iszEnemyName = 0x538; // CUtlSymbolLarge
+            public const nint m_flRadius = 0x540; // float32
+            public const nint m_flOuterRadius = 0x544; // float32
+            public const nint m_nMaxSquadmatesPerEnemy = 0x548; // int32
+            public const nint m_iszPlayerName = 0x550; // CUtlSymbolLarge
+        }
+        // Parent: CModelPointEntity
+        // Field count: 0
+        public static class CShower {
+        }
+        // Parent: CBaseEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // NetworkVarNames: m_flEndDistance (float)
+        // NetworkVarNames: m_flStartDistance (float)
+        // NetworkVarNames: m_flFogFalloffExponent (float)
+        // NetworkVarNames: m_bHeightFogEnabled (bool)
+        // NetworkVarNames: m_flFogHeightWidth (float)
+        // NetworkVarNames: m_flFogHeightEnd (float)
+        // NetworkVarNames: m_flFogHeightStart (float)
+        // NetworkVarNames: m_flFogHeightExponent (float)
+        // NetworkVarNames: m_flLODBias (float)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_flFogMaxOpacity (float)
+        // NetworkVarNames: m_nCubemapSourceType (int)
+        // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+        // NetworkVarNames: m_iszSkyEntity (string_t)
+        // NetworkVarNames: m_hFogCubemapTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_bHasHeightFogEnd (bool)
+        public static class CEnvCubemapFog {
+            public const nint m_flEndDistance = 0x4E0; // float32
+            public const nint m_flStartDistance = 0x4E4; // float32
+            public const nint m_flFogFalloffExponent = 0x4E8; // float32
+            public const nint m_bHeightFogEnabled = 0x4EC; // bool
+            public const nint m_flFogHeightWidth = 0x4F0; // float32
+            public const nint m_flFogHeightEnd = 0x4F4; // float32
+            public const nint m_flFogHeightStart = 0x4F8; // float32
+            public const nint m_flFogHeightExponent = 0x4FC; // float32
+            public const nint m_flLODBias = 0x500; // float32
+            public const nint m_bActive = 0x504; // bool
+            public const nint m_bStartDisabled = 0x505; // bool
+            public const nint m_flFogMaxOpacity = 0x508; // float32
+            public const nint m_nCubemapSourceType = 0x50C; // int32
+            public const nint m_hSkyMaterial = 0x510; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_iszSkyEntity = 0x518; // CUtlSymbolLarge
+            public const nint m_hFogCubemapTexture = 0x520; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_bHasHeightFogEnd = 0x528; // bool
+            public const nint m_bFirstTime = 0x529; // bool
+        }
+        // Parent: CBaseButton
+        // Field count: 0
+        public static class CPhysicalButton {
+        }
+        // Parent: CModelPointEntity
+        // Field count: 16
+        public static class CEnvExplosion {
+            public const nint m_iMagnitude = 0x790; // int32
+            public const nint m_flPlayerDamage = 0x794; // float32
+            public const nint m_iRadiusOverride = 0x798; // int32
+            public const nint m_flInnerRadius = 0x79C; // float32
+            public const nint m_spriteScale = 0x7A0; // int32
+            public const nint m_flDamageForce = 0x7A4; // float32
+            public const nint m_hInflictor = 0x7A8; // CHandle<CBaseEntity>
+            public const nint m_iCustomDamageType = 0x7AC; // DamageTypes_t
+            public const nint m_bCreateDebris = 0x7B0; // bool
+            public const nint m_iszExplosionType = 0x7B8; // CUtlSymbolLarge
+            public const nint m_iszCustomEffectName = 0x7C0; // CUtlSymbolLarge
+            public const nint m_iszCustomSoundName = 0x7C8; // CUtlSymbolLarge
+            public const nint m_iClassIgnore = 0x7D0; // Class_T
+            public const nint m_iClassIgnore2 = 0x7D4; // Class_T
+            public const nint m_iszEntityIgnoreName = 0x7D8; // CUtlSymbolLarge
+            public const nint m_hEntityIgnore = 0x7E0; // CHandle<CBaseEntity>
+        }
+        // Parent: CSoundEventEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_vMins (Vector)
+        // NetworkVarNames: m_vMaxs (Vector)
+        public static class CSoundEventAABBEntity {
+            public const nint m_vMins = 0x598; // Vector
+            public const nint m_vMaxs = 0x5A4; // Vector
+        }
+        // Parent: CTriggerMultiple
+        // Field count: 0
+        public static class CTriggerOnce {
+        }
+        // Parent: CEntitySubclassVDataBase
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CPrecipitationVData {
+            public const nint m_szParticlePrecipitationEffect = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_flInnerDistance = 0x108; // float32
+            public const nint m_nAttachType = 0x10C; // ParticleAttachment_t
+            public const nint m_bBatchSameVolumeType = 0x110; // bool
+            public const nint m_nRTEnvCP = 0x114; // int32
+            public const nint m_nRTEnvCPComponent = 0x118; // int32
+            public const nint m_szModifier = 0x120; // CUtlString
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CLogicProximity {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 30
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszCommentaryFile (string_t)
+        // NetworkVarNames: m_hViewPosition (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bActive (bool)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_flStartTimeInCommentary (float32)
+        // NetworkVarNames: m_iszTitle (string_t)
+        // NetworkVarNames: m_iszSpeakers (string_t)
+        // NetworkVarNames: m_iNodeNumber (int)
+        // NetworkVarNames: m_iNodeNumberMax (int)
+        // NetworkVarNames: m_bListenedTo (bool)
+        public static class CPointCommentaryNode {
+            public const nint m_iszPreCommands = 0x9A8; // CUtlSymbolLarge
+            public const nint m_iszPostCommands = 0x9B0; // CUtlSymbolLarge
+            public const nint m_iszCommentaryFile = 0x9B8; // CUtlSymbolLarge
+            public const nint m_iszViewTarget = 0x9C0; // CUtlSymbolLarge
+            public const nint m_hViewTarget = 0x9C8; // CHandle<CBaseEntity>
+            public const nint m_hViewTargetAngles = 0x9CC; // CHandle<CBaseEntity>
+            public const nint m_iszViewPosition = 0x9D0; // CUtlSymbolLarge
+            public const nint m_hViewPosition = 0x9D8; // CHandle<CBaseEntity>
+            public const nint m_hViewPositionMover = 0x9DC; // CHandle<CBaseEntity>
+            public const nint m_bPreventMovement = 0x9E0; // bool
+            public const nint m_bUnderCrosshair = 0x9E1; // bool
+            public const nint m_bUnstoppable = 0x9E2; // bool
+            public const nint m_flFinishedTime = 0x9E4; // GameTime_t
+            public const nint m_vecFinishOrigin = 0x9E8; // Vector
+            public const nint m_vecOriginalAngles = 0x9F4; // QAngle
+            public const nint m_vecFinishAngles = 0xA00; // QAngle
+            public const nint m_bPreventChangesWhileMoving = 0xA0C; // bool
+            public const nint m_bDisabled = 0xA0D; // bool
+            public const nint m_vecTeleportOrigin = 0xA10; // Vector
+            public const nint m_flAbortedPlaybackAt = 0xA1C; // GameTime_t
+            public const nint m_pOnCommentaryStarted = 0xA20; // CEntityIOOutput
+            public const nint m_pOnCommentaryStopped = 0xA48; // CEntityIOOutput
+            public const nint m_bActive = 0xA70; // bool
+            public const nint m_flStartTime = 0xA74; // GameTime_t
+            public const nint m_flStartTimeInCommentary = 0xA78; // float32
+            public const nint m_iszTitle = 0xA80; // CUtlSymbolLarge
+            public const nint m_iszSpeakers = 0xA88; // CUtlSymbolLarge
+            public const nint m_iNodeNumber = 0xA90; // int32
+            public const nint m_iNodeNumberMax = 0xA94; // int32
+            public const nint m_bListenedTo = 0xA98; // bool
+        }
+        // Parent: CBaseClientUIEntity
+        // Field count: 23
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIgnoreInput (bool)
+        // NetworkVarNames: m_bLit (bool)
+        // NetworkVarNames: m_bFollowPlayerAcrossTeleport (bool)
+        // NetworkVarNames: m_flWidth (float)
+        // NetworkVarNames: m_flHeight (float)
+        // NetworkVarNames: m_flDPI (float)
+        // NetworkVarNames: m_flInteractDistance (float)
+        // NetworkVarNames: m_flDepthOffset (float)
+        // NetworkVarNames: m_unOwnerContext (uint32)
+        // NetworkVarNames: m_unHorizontalAlign (uint32)
+        // NetworkVarNames: m_unVerticalAlign (uint32)
+        // NetworkVarNames: m_unOrientation (uint32)
+        // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+        // NetworkVarNames: m_vecCSSClasses (string_t)
+        // NetworkVarNames: m_bOpaque (bool)
+        // NetworkVarNames: m_bNoDepth (bool)
+        // NetworkVarNames: m_bRenderBackface (bool)
+        // NetworkVarNames: m_bUseOffScreenIndicator (bool)
+        // NetworkVarNames: m_bExcludeFromSaveGames (bool)
+        // NetworkVarNames: m_bGrabbable (bool)
+        // NetworkVarNames: m_bOnlyRenderToTexture (bool)
+        // NetworkVarNames: m_bDisableMipGen (bool)
+        // NetworkVarNames: m_nExplicitImageLayout (int32)
+        public static class CPointClientUIWorldPanel {
+            public const nint m_bIgnoreInput = 0x940; // bool
+            public const nint m_bLit = 0x941; // bool
+            public const nint m_bFollowPlayerAcrossTeleport = 0x942; // bool
+            public const nint m_flWidth = 0x944; // float32
+            public const nint m_flHeight = 0x948; // float32
+            public const nint m_flDPI = 0x94C; // float32
+            public const nint m_flInteractDistance = 0x950; // float32
+            public const nint m_flDepthOffset = 0x954; // float32
+            public const nint m_unOwnerContext = 0x958; // uint32
+            public const nint m_unHorizontalAlign = 0x95C; // uint32
+            public const nint m_unVerticalAlign = 0x960; // uint32
+            public const nint m_unOrientation = 0x964; // uint32
+            public const nint m_bAllowInteractionFromAllSceneWorlds = 0x968; // bool
+            public const nint m_vecCSSClasses = 0x970; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+            public const nint m_bOpaque = 0x988; // bool
+            public const nint m_bNoDepth = 0x989; // bool
+            public const nint m_bRenderBackface = 0x98A; // bool
+            public const nint m_bUseOffScreenIndicator = 0x98B; // bool
+            public const nint m_bExcludeFromSaveGames = 0x98C; // bool
+            public const nint m_bGrabbable = 0x98D; // bool
+            public const nint m_bOnlyRenderToTexture = 0x98E; // bool
+            public const nint m_bDisableMipGen = 0x98F; // bool
+            public const nint m_nExplicitImageLayout = 0x990; // int32
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterContext {
+            public const nint m_iFilterContext = 0x538; // CUtlSymbolLarge
+        }
+        // Parent: CPathParticleRope
+        // Field count: 0
+        public static class CPathParticleRopeAlias_path_particle_rope_clientside {
+        }
+        // Parent: None
+        // Field count: 6
+        public static class CBuoyancyHelper {
+            public const nint m_nFluidType = 0x18; // CUtlStringToken
+            public const nint m_flFluidDensity = 0x1C; // float32
+            public const nint m_vecFractionOfWheelSubmergedForWheelFriction = 0x20; // CUtlVector<float32>
+            public const nint m_vecWheelFrictionScales = 0x38; // CUtlVector<float32>
+            public const nint m_vecFractionOfWheelSubmergedForWheelDrag = 0x50; // CUtlVector<float32>
+            public const nint m_vecWheelDrag = 0x68; // CUtlVector<float32>
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterAttributeInt {
+            public const nint m_sAttributeName = 0x538; // CUtlStringToken
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsRescuing (bool)
+        // NetworkVarNames: m_weaponPurchasesThisMatch (WeaponPurchaseTracker_t)
+        // NetworkVarNames: m_weaponPurchasesThisRound (WeaponPurchaseTracker_t)
+        public static class CCSPlayer_ActionTrackingServices {
+            public const nint m_hLastWeaponBeforeC4AutoSwitch = 0x218; // CHandle<CBasePlayerWeapon>
+            public const nint m_bIsRescuing = 0x244; // bool
+            public const nint m_weaponPurchasesThisMatch = 0x248; // WeaponPurchaseTracker_t
+            public const nint m_weaponPurchasesThisRound = 0x2A0; // WeaponPurchaseTracker_t
+        }
+        // Parent: CPointEntity
+        // Field count: 6
+        public static class CAISound {
+            public const nint m_iSoundType = 0x4E0; // SoundTypes_t
+            public const nint m_iSoundFlags = 0x4E2; // SoundFlags_t
+            public const nint m_iVolume = 0x4E4; // int32
+            public const nint m_iSoundIndex = 0x4E8; // int32
+            public const nint m_flDuration = 0x4EC; // float32
+            public const nint m_iszProxyEntityName = 0x4F0; // CUtlSymbolLarge
+        }
+        // Parent: CBaseEntity
+        // Field count: 7
+        public static class CPointEntityFinder {
+            public const nint m_hEntity = 0x4E0; // CHandle<CBaseEntity>
+            public const nint m_iFilterName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_hFilter = 0x4F0; // CHandle<CBaseFilter>
+            public const nint m_iRefName = 0x4F8; // CUtlSymbolLarge
+            public const nint m_hReference = 0x500; // CHandle<CBaseEntity>
+            public const nint m_FindMethod = 0x504; // EntFinderMethod_t
+            public const nint m_OnFoundEntity = 0x508; // CEntityIOOutput
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_nModelID (int32)
+        // NetworkVarNames: m_hMaterialBase (HMaterialStrong)
+        // NetworkVarNames: m_hMaterialDamageOverlay (HMaterialStrong)
+        // NetworkVarNames: m_solid (ShardSolid_t)
+        // NetworkVarNames: m_vecPanelSize (Vector2D)
+        // NetworkVarNames: m_vecStressPositionA (Vector2D)
+        // NetworkVarNames: m_vecStressPositionB (Vector2D)
+        // NetworkVarNames: m_vecPanelVertices (Vector2D)
+        // NetworkVarNames: m_vInitialPanelVertices (Vector4D)
+        // NetworkVarNames: m_flGlassHalfThickness (float)
+        // NetworkVarNames: m_bHasParent (bool)
+        // NetworkVarNames: m_bParentFrozen (bool)
+        // NetworkVarNames: m_SurfacePropStringToken (CUtlStringToken)
+        public static class shard_model_desc_t {
+            public const nint m_nModelID = 0x8; // int32
+            public const nint m_hMaterialBase = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_hMaterialDamageOverlay = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_solid = 0x20; // ShardSolid_t
+            public const nint m_vecPanelSize = 0x24; // Vector2D
+            public const nint m_vecStressPositionA = 0x2C; // Vector2D
+            public const nint m_vecStressPositionB = 0x34; // Vector2D
+            public const nint m_vecPanelVertices = 0x40; // CNetworkUtlVectorBase<Vector2D>
+            public const nint m_vInitialPanelVertices = 0x58; // CNetworkUtlVectorBase<Vector4D>
+            public const nint m_flGlassHalfThickness = 0x70; // float32
+            public const nint m_bHasParent = 0x74; // bool
+            public const nint m_bParentFrozen = 0x75; // bool
+            public const nint m_SurfacePropStringToken = 0x78; // CUtlStringToken
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 4
+        public static class CBaseProp {
+            public const nint m_bModelOverrodeBlockLOS = 0x9A8; // bool
+            public const nint m_iShapeType = 0x9AC; // int32
+            public const nint m_bConformToCollisionBounds = 0x9B0; // bool
+            public const nint m_mPreferredCatchTransform = 0x9B4; // matrix3x4_t
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 12
+        //
+        // Metadata:
+        // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+        // NetworkVarNames: m_hSkyMaterialLightingOnly (HMaterialStrong)
+        // NetworkVarNames: m_bStartDisabled (bool)
+        // NetworkVarNames: m_vTintColor (Color)
+        // NetworkVarNames: m_vTintColorLightingOnly (Color)
+        // NetworkVarNames: m_flBrightnessScale (float)
+        // NetworkVarNames: m_nFogType (int)
+        // NetworkVarNames: m_flFogMinStart (float)
+        // NetworkVarNames: m_flFogMinEnd (float)
+        // NetworkVarNames: m_flFogMaxStart (float)
+        // NetworkVarNames: m_flFogMaxEnd (float)
+        // NetworkVarNames: m_bEnabled (bool)
+        public static class CEnvSky {
+            public const nint m_hSkyMaterial = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_hSkyMaterialLightingOnly = 0x798; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_bStartDisabled = 0x7A0; // bool
+            public const nint m_vTintColor = 0x7A1; // Color
+            public const nint m_vTintColorLightingOnly = 0x7A5; // Color
+            public const nint m_flBrightnessScale = 0x7AC; // float32
+            public const nint m_nFogType = 0x7B0; // int32
+            public const nint m_flFogMinStart = 0x7B4; // float32
+            public const nint m_flFogMinEnd = 0x7B8; // float32
+            public const nint m_flFogMaxStart = 0x7BC; // float32
+            public const nint m_flFogMaxEnd = 0x7C0; // float32
+            public const nint m_bEnabled = 0x7C4; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 6
+        public static class CPointVelocitySensor {
+            public const nint m_hTargetEntity = 0x4E0; // CHandle<CBaseEntity>
+            public const nint m_vecAxis = 0x4E4; // Vector
+            public const nint m_bEnabled = 0x4F0; // bool
+            public const nint m_fPrevVelocity = 0x4F4; // float32
+            public const nint m_flAvgInterval = 0x4F8; // float32
+            public const nint m_Velocity = 0x500; // CEntityOutputTemplate<float32>
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterMassGreater {
+            public const nint m_fFilterMass = 0x538; // float32
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class FilterTeam {
+            public const nint m_iFilterTeam = 0x538; // int32
+        }
+        // Parent: CFuncTrackTrain
+        // Field count: 1
+        public static class CFuncTankTrain {
+            public const nint m_OnDeath = 0x8E0; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CNullEntity {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_observer {
+        }
+        // Parent: CMarkupVolumeWithRef
+        // Field count: 1
+        public static class CMarkupVolumeTagged_NavGame {
+            public const nint m_bFloodFillAttribute = 0x7E8; // bool
+        }
+        // Parent: CBaseTrigger
+        // Field count: 1
+        public static class CBuyZone {
+            public const nint m_LegacyTeamNum = 0x960; // int32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 12
+        public static class CPointTemplate {
+            public const nint m_iszWorldName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszSource2EntityLumpName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszEntityFilterName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_flTimeoutInterval = 0x4F8; // float32
+            public const nint m_bAsynchronouslySpawnEntities = 0x4FC; // bool
+            public const nint m_pOutputOnSpawned = 0x500; // CEntityIOOutput
+            public const nint m_clientOnlyEntityBehavior = 0x528; // PointTemplateClientOnlyEntityBehavior_t
+            public const nint m_ownerSpawnGroupType = 0x52C; // PointTemplateOwnerSpawnGroupType_t
+            public const nint m_createdSpawnGroupHandles = 0x530; // CUtlVector<uint32>
+            public const nint m_SpawnedEntityHandles = 0x548; // CUtlVector<CEntityHandle>
+            public const nint m_ScriptSpawnCallback = 0x560; // HSCRIPT
+            public const nint m_ScriptCallbackScope = 0x568; // HSCRIPT
+        }
+        // Parent: CPointEntity
+        // Field count: 6
+        public static class CPhysForce {
+            public const nint m_nameAttach = 0x4E8; // CUtlSymbolLarge
+            public const nint m_force = 0x4F0; // float32
+            public const nint m_forceTime = 0x4F4; // float32
+            public const nint m_attachedObject = 0x4F8; // CHandle<CBaseEntity>
+            public const nint m_wasRestored = 0x4FC; // bool
+            public const nint m_integrator = 0x500; // CConstantForceController
+        }
+        // Parent: CLogicalEntity
+        // Field count: 6
+        public static class CLogicDistanceAutosave {
+            public const nint m_iszTargetEntity = 0x4E0; // CUtlSymbolLarge
+            public const nint m_flDistanceToPlayer = 0x4E8; // float32
+            public const nint m_bForceNewLevelUnit = 0x4EC; // bool
+            public const nint m_bCheckCough = 0x4ED; // bool
+            public const nint m_bThinkDangerous = 0x4EE; // bool
+            public const nint m_flDangerousTime = 0x4F0; // float32
+        }
+        // Parent: CPointEntity
+        // Field count: 5
+        public static class CInfoDynamicShadowHint {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_flRange = 0x4E4; // float32
+            public const nint m_nImportance = 0x4E8; // int32
+            public const nint m_nLightChoice = 0x4EC; // int32
+            public const nint m_hLight = 0x4F0; // CHandle<CBaseEntity>
+        }
+        // Parent: CSoundOpvarSetPointEntity
+        // Field count: 9
+        public static class CSoundOpvarSetAABBEntity {
+            public const nint m_vDistanceInnerMins = 0x688; // Vector
+            public const nint m_vDistanceInnerMaxs = 0x694; // Vector
+            public const nint m_vDistanceOuterMins = 0x6A0; // Vector
+            public const nint m_vDistanceOuterMaxs = 0x6AC; // Vector
+            public const nint m_nAABBDirection = 0x6B8; // int32
+            public const nint m_vInnerMins = 0x6BC; // Vector
+            public const nint m_vInnerMaxs = 0x6C8; // Vector
+            public const nint m_vOuterMins = 0x6D4; // Vector
+            public const nint m_vOuterMaxs = 0x6E0; // Vector
+        }
+        // Parent: None
+        // Field count: 2
+        public static class CEnvWindShared__WindVariationEvent_t {
+            public const nint m_flWindAngleVariation = 0x0; // float32
+            public const nint m_flWindSpeedVariation = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CTakeDamageInfoAPI {
+        }
+        // Parent: CTriggerOnce
+        // Field count: 1
+        public static class CScriptTriggerOnce {
+            public const nint m_vExtent = 0x988; // Vector
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CNavWalkable {
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_iGlowType (int32)
+        // NetworkVarNames: m_iGlowTeam (int32)
+        // NetworkVarNames: m_nGlowRange (int32)
+        // NetworkVarNames: m_nGlowRangeMin (int32)
+        // NetworkVarNames: m_glowColorOverride (Color)
+        // NetworkVarNames: m_bFlashing (bool)
+        // NetworkVarNames: m_flGlowTime (float)
+        // NetworkVarNames: m_flGlowStartTime (float)
+        // NetworkVarNames: m_bEligibleForScreenHighlight (bool)
+        public static class CGlowProperty {
+            public const nint m_fGlowColor = 0x8; // Vector
+            public const nint m_iGlowType = 0x30; // int32
+            public const nint m_iGlowTeam = 0x34; // int32
+            public const nint m_nGlowRange = 0x38; // int32
+            public const nint m_nGlowRangeMin = 0x3C; // int32
+            public const nint m_glowColorOverride = 0x40; // Color
+            public const nint m_bFlashing = 0x44; // bool
+            public const nint m_flGlowTime = 0x48; // float32
+            public const nint m_flGlowStartTime = 0x4C; // float32
+            public const nint m_bEligibleForScreenHighlight = 0x50; // bool
+            public const nint m_bGlowing = 0x51; // bool
+        }
+        // Parent: CBaseCSGrenadeProjectile
+        // Field count: 3
+        public static class CFlashbangProjectile {
+            public const nint m_flTimeToDetonate = 0xB50; // float32
+            public const nint m_numOpponentsHit = 0xB54; // uint8
+            public const nint m_numTeammatesHit = 0xB55; // uint8
+        }
+        // Parent: CPointClientUIWorldPanel
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_messageText (char)
+        public static class CPointClientUIWorldTextPanel {
+            public const nint m_messageText = 0x998; // char[512]
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoInstructorHintTarget {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hCarriedHostage (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hCarriedHostageProp (CHandle<CBaseEntity>)
+        public static class CCSPlayer_HostageServices {
+            public const nint m_hCarriedHostage = 0x40; // CHandle<CBaseEntity>
+            public const nint m_hCarriedHostageProp = 0x44; // CHandle<CBaseEntity>
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponSSG08 {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 4
+        public static class CLogicBranch {
+            public const nint m_bInValue = 0x4E0; // bool
+            public const nint m_Listeners = 0x4E8; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_OnTrue = 0x500; // CEntityIOOutput
+            public const nint m_OnFalse = 0x528; // CEntityIOOutput
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponUMP45 {
+        }
+        // Parent: CSprite
+        // Field count: 0
+        public static class CSpriteAlias_env_glow {
+        }
+        // Parent: CBaseToggle
+        // Field count: 25
+        //
+        // Metadata:
+        // NetworkVarNames: m_glowEntity (CHandle<CBaseModelEntity>)
+        // NetworkVarNames: m_usable (bool)
+        // NetworkVarNames: m_szDisplayText (string_t)
+        public static class CBaseButton {
+            public const nint m_angMoveEntitySpace = 0x810; // QAngle
+            public const nint m_fStayPushed = 0x81C; // bool
+            public const nint m_fRotating = 0x81D; // bool
+            public const nint m_ls = 0x820; // locksound_t
+            public const nint m_sUseSound = 0x840; // CUtlSymbolLarge
+            public const nint m_sLockedSound = 0x848; // CUtlSymbolLarge
+            public const nint m_sUnlockedSound = 0x850; // CUtlSymbolLarge
+            public const nint m_sOverrideAnticipationName = 0x858; // CUtlSymbolLarge
+            public const nint m_bLocked = 0x860; // bool
+            public const nint m_bDisabled = 0x861; // bool
+            public const nint m_flUseLockedTime = 0x864; // GameTime_t
+            public const nint m_bSolidBsp = 0x868; // bool
+            public const nint m_OnDamaged = 0x870; // CEntityIOOutput
+            public const nint m_OnPressed = 0x898; // CEntityIOOutput
+            public const nint m_OnUseLocked = 0x8C0; // CEntityIOOutput
+            public const nint m_OnIn = 0x8E8; // CEntityIOOutput
+            public const nint m_OnOut = 0x910; // CEntityIOOutput
+            public const nint m_nState = 0x938; // int32
+            public const nint m_hConstraint = 0x93C; // CEntityHandle
+            public const nint m_hConstraintParent = 0x940; // CEntityHandle
+            public const nint m_bForceNpcExclude = 0x944; // bool
+            public const nint m_sGlowEntity = 0x948; // CUtlSymbolLarge
+            public const nint m_glowEntity = 0x950; // CHandle<CBaseModelEntity>
+            public const nint m_usable = 0x954; // bool
+            public const nint m_szDisplayText = 0x958; // CUtlSymbolLarge
+        }
+        // Parent: CPhysConstraint
+        // Field count: 6
+        public static class CPhysLength {
+            public const nint m_offset = 0x558; // Vector[2]
+            public const nint m_vecAttach = 0x570; // Vector
+            public const nint m_addLength = 0x57C; // float32
+            public const nint m_minLength = 0x580; // float32
+            public const nint m_totalLength = 0x584; // float32
+            public const nint m_bEnableCollision = 0x588; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 48
+        public static class CLogicNPCCounter {
+            public const nint m_OnMinCountAll = 0x4E0; // CEntityIOOutput
+            public const nint m_OnMaxCountAll = 0x508; // CEntityIOOutput
+            public const nint m_OnFactorAll = 0x530; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinPlayerDistAll = 0x558; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinCount_1 = 0x580; // CEntityIOOutput
+            public const nint m_OnMaxCount_1 = 0x5A8; // CEntityIOOutput
+            public const nint m_OnFactor_1 = 0x5D0; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinPlayerDist_1 = 0x5F8; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinCount_2 = 0x620; // CEntityIOOutput
+            public const nint m_OnMaxCount_2 = 0x648; // CEntityIOOutput
+            public const nint m_OnFactor_2 = 0x670; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinPlayerDist_2 = 0x698; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinCount_3 = 0x6C0; // CEntityIOOutput
+            public const nint m_OnMaxCount_3 = 0x6E8; // CEntityIOOutput
+            public const nint m_OnFactor_3 = 0x710; // CEntityOutputTemplate<float32>
+            public const nint m_OnMinPlayerDist_3 = 0x738; // CEntityOutputTemplate<float32>
+            public const nint m_hSource = 0x760; // CEntityHandle
+            public const nint m_iszSourceEntityName = 0x768; // CUtlSymbolLarge
+            public const nint m_flDistanceMax = 0x770; // float32
+            public const nint m_bDisabled = 0x774; // bool
+            public const nint m_nMinCountAll = 0x778; // int32
+            public const nint m_nMaxCountAll = 0x77C; // int32
+            public const nint m_nMinFactorAll = 0x780; // int32
+            public const nint m_nMaxFactorAll = 0x784; // int32
+            public const nint m_iszNPCClassname_1 = 0x790; // CUtlSymbolLarge
+            public const nint m_nNPCState_1 = 0x798; // int32
+            public const nint m_bInvertState_1 = 0x79C; // bool
+            public const nint m_nMinCount_1 = 0x7A0; // int32
+            public const nint m_nMaxCount_1 = 0x7A4; // int32
+            public const nint m_nMinFactor_1 = 0x7A8; // int32
+            public const nint m_nMaxFactor_1 = 0x7AC; // int32
+            public const nint m_flDefaultDist_1 = 0x7B4; // float32
+            public const nint m_iszNPCClassname_2 = 0x7B8; // CUtlSymbolLarge
+            public const nint m_nNPCState_2 = 0x7C0; // int32
+            public const nint m_bInvertState_2 = 0x7C4; // bool
+            public const nint m_nMinCount_2 = 0x7C8; // int32
+            public const nint m_nMaxCount_2 = 0x7CC; // int32
+            public const nint m_nMinFactor_2 = 0x7D0; // int32
+            public const nint m_nMaxFactor_2 = 0x7D4; // int32
+            public const nint m_flDefaultDist_2 = 0x7DC; // float32
+            public const nint m_iszNPCClassname_3 = 0x7E0; // CUtlSymbolLarge
+            public const nint m_nNPCState_3 = 0x7E8; // int32
+            public const nint m_bInvertState_3 = 0x7EC; // bool
+            public const nint m_nMinCount_3 = 0x7F0; // int32
+            public const nint m_nMaxCount_3 = 0x7F4; // int32
+            public const nint m_nMinFactor_3 = 0x7F8; // int32
+            public const nint m_nMaxFactor_3 = 0x7FC; // int32
+            public const nint m_flDefaultDist_3 = 0x804; // float32
+        }
+        // Parent: CPredictedViewModel
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bShouldIgnoreOffsetAndAccuracy (bool)
+        public static class CCSGOViewModel {
+            public const nint m_bShouldIgnoreOffsetAndAccuracy = 0x9F0; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 4
+        public static class CBlood {
+            public const nint m_vecSprayAngles = 0x4E0; // QAngle
+            public const nint m_vecSprayDir = 0x4EC; // Vector
+            public const nint m_flAmount = 0x4F8; // float32
+            public const nint m_Color = 0x4FC; // BloodType
+        }
+        // Parent: CLogicalEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_fadeColor (Color)
+        public static class CEnvFade {
+            public const nint m_fadeColor = 0x4E0; // Color
+            public const nint m_Duration = 0x4E4; // float32
+            public const nint m_HoldDuration = 0x4E8; // float32
+            public const nint m_OnBeginFade = 0x4F0; // CEntityIOOutput
+        }
+        // Parent: CBaseProp
+        // Field count: 33
+        //
+        // Metadata:
+        // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+        // NetworkVarNames: m_noGhostCollision (bool)
+        public static class CBreakableProp {
+            public const nint m_CPropDataComponent = 0x9F0; // CPropDataComponent
+            public const nint m_OnBreak = 0xA30; // CEntityIOOutput
+            public const nint m_OnHealthChanged = 0xA58; // CEntityOutputTemplate<float32>
+            public const nint m_OnTakeDamage = 0xA80; // CEntityIOOutput
+            public const nint m_impactEnergyScale = 0xAA8; // float32
+            public const nint m_iMinHealthDmg = 0xAAC; // int32
+            public const nint m_preferredCarryAngles = 0xAB0; // QAngle
+            public const nint m_flPressureDelay = 0xABC; // float32
+            public const nint m_flDefBurstScale = 0xAC0; // float32
+            public const nint m_vDefBurstOffset = 0xAC4; // Vector
+            public const nint m_hBreaker = 0xAD0; // CHandle<CBaseEntity>
+            public const nint m_PerformanceMode = 0xAD4; // PerformanceMode_t
+            public const nint m_flPreventDamageBeforeTime = 0xAD8; // GameTime_t
+            public const nint m_BreakableContentsType = 0xADC; // BreakableContentsType_t
+            public const nint m_strBreakableContentsPropGroupOverride = 0xAE0; // CUtlString
+            public const nint m_strBreakableContentsParticleOverride = 0xAE8; // CUtlString
+            public const nint m_bHasBreakPiecesOrCommands = 0xAF0; // bool
+            public const nint m_explodeDamage = 0xAF4; // float32
+            public const nint m_explodeRadius = 0xAF8; // float32
+            public const nint m_explosionDelay = 0xB00; // float32
+            public const nint m_explosionBuildupSound = 0xB08; // CUtlSymbolLarge
+            public const nint m_explosionCustomEffect = 0xB10; // CUtlSymbolLarge
+            public const nint m_explosionCustomSound = 0xB18; // CUtlSymbolLarge
+            public const nint m_explosionModifier = 0xB20; // CUtlSymbolLarge
+            public const nint m_hPhysicsAttacker = 0xB28; // CHandle<CBasePlayerPawn>
+            public const nint m_flLastPhysicsInfluenceTime = 0xB2C; // GameTime_t
+            public const nint m_bOriginalBlockLOS = 0xB30; // bool
+            public const nint m_flDefaultFadeScale = 0xB34; // float32
+            public const nint m_hLastAttacker = 0xB38; // CHandle<CBaseEntity>
+            public const nint m_hFlareEnt = 0xB3C; // CHandle<CBaseEntity>
+            public const nint m_bUsePuntSound = 0xB40; // bool
+            public const nint m_iszPuntSound = 0xB48; // CUtlSymbolLarge
+            public const nint m_noGhostCollision = 0xB50; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_vecSellbackPurchaseEntries (SellbackPurchaseEntry_t)
+        public static class CCSPlayer_BuyServices {
+            public const nint m_vecSellbackPurchaseEntries = 0xC8; // CUtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CPathSimpleAPI {
+        }
+        // Parent: CBaseFlex
+        // Field count: 9
+        //
+        // Metadata:
+        // MNetworkExcludeByUserGroup
+        // NetworkVarNames: m_hMyWearables (CHandle<CEconWearable>)
+        public static class CBaseCombatCharacter {
+            public const nint m_bForceServerRagdoll = 0xA38; // bool
+            public const nint m_hMyWearables = 0xA40; // CNetworkUtlVectorBase<CHandle<CEconWearable>>
+            public const nint m_impactEnergyScale = 0xA58; // float32
+            public const nint m_bApplyStressDamage = 0xA5C; // bool
+            public const nint m_iDamageCount = 0xAA0; // int32
+            public const nint m_pVecRelationships = 0xAA8; // CUtlVector<RelationshipOverride_t>*
+            public const nint m_strRelationships = 0xAB0; // CUtlSymbolLarge
+            public const nint m_eHull = 0xAB8; // Hull_t
+            public const nint m_nNavHullIdx = 0xABC; // uint32
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 25
+        //
+        // Metadata:
+        // NetworkVarNames: m_firePositions (Vector)
+        // NetworkVarNames: m_fireParentPositions (Vector)
+        // NetworkVarNames: m_bFireIsBurning (bool)
+        // NetworkVarNames: m_BurnNormal (Vector)
+        // NetworkVarNames: m_fireCount (int)
+        // NetworkVarNames: m_nInfernoType (int)
+        // NetworkVarNames: m_nFireEffectTickBegin (int)
+        // NetworkVarNames: m_nFireLifetime (float)
+        // NetworkVarNames: m_bInPostEffectTime (bool)
+        public static class CInferno {
+            public const nint m_firePositions = 0x7A0; // Vector[64]
+            public const nint m_fireParentPositions = 0xAA0; // Vector[64]
+            public const nint m_bFireIsBurning = 0xDA0; // bool[64]
+            public const nint m_BurnNormal = 0xDE0; // Vector[64]
+            public const nint m_fireCount = 0x10E0; // int32
+            public const nint m_nInfernoType = 0x10E4; // int32
+            public const nint m_nFireEffectTickBegin = 0x10E8; // int32
+            public const nint m_nFireLifetime = 0x10EC; // float32
+            public const nint m_bInPostEffectTime = 0x10F0; // bool
+            public const nint m_nFiresExtinguishCount = 0x10F4; // int32
+            public const nint m_bWasCreatedInSmoke = 0x10F8; // bool
+            public const nint m_extent = 0x1300; // Extent
+            public const nint m_damageTimer = 0x1318; // CountdownTimer
+            public const nint m_damageRampTimer = 0x1330; // CountdownTimer
+            public const nint m_splashVelocity = 0x1348; // Vector
+            public const nint m_InitialSplashVelocity = 0x1354; // Vector
+            public const nint m_startPos = 0x1360; // Vector
+            public const nint m_vecOriginalSpawnLocation = 0x136C; // Vector
+            public const nint m_activeTimer = 0x1378; // IntervalTimer
+            public const nint m_fireSpawnOffset = 0x1388; // int32
+            public const nint m_nMaxFlames = 0x138C; // int32
+            public const nint m_nSpreadCount = 0x1390; // int32
+            public const nint m_BookkeepingTimer = 0x1398; // CountdownTimer
+            public const nint m_NextSpreadTimer = 0x13B0; // CountdownTimer
+            public const nint m_nSourceItemDefIndex = 0x13C8; // uint16
+        }
+        // Parent: CLogicalEntity
+        // Field count: 5
+        public static class CEnvGlobal {
+            public const nint m_outCounter = 0x4E0; // CEntityOutputTemplate<int32>
+            public const nint m_globalstate = 0x508; // CUtlSymbolLarge
+            public const nint m_triggermode = 0x510; // int32
+            public const nint m_initialstate = 0x514; // int32
+            public const nint m_counter = 0x518; // int32
+        }
+        // Parent: CLogicalEntity
+        // Field count: 3
+        public static class CBaseFilter {
+            public const nint m_bNegated = 0x4E0; // bool
+            public const nint m_OnPass = 0x4E8; // CEntityIOOutput
+            public const nint m_OnFail = 0x510; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_aPlayerControllers (CHandle<CBasePlayerController>)
+        // NetworkVarNames: m_aPlayers (CHandle<CBasePlayerPawn>)
+        // NetworkVarNames: m_iScore (int32)
+        // NetworkVarNames: m_szTeamname (char)
+        public static class CTeam {
+            public const nint m_aPlayerControllers = 0x4E0; // CNetworkUtlVectorBase<CHandle<CBasePlayerController>>
+            public const nint m_aPlayers = 0x4F8; // CNetworkUtlVectorBase<CHandle<CBasePlayerPawn>>
+            public const nint m_iScore = 0x510; // int32
+            public const nint m_szTeamname = 0x514; // char[129]
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponUSPSilencer {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 23
+        //
+        // Metadata:
+        // NetworkVarNames: m_hSpriteMaterial (HMaterialStrong)
+        // NetworkVarNames: m_hAttachedToEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nAttachment (AttachmentHandle_t)
+        // NetworkVarNames: m_flSpriteFramerate (float32)
+        // NetworkVarNames: m_flFrame (float32)
+        // NetworkVarNames: m_nBrightness (uint32)
+        // NetworkVarNames: m_flBrightnessDuration (float32)
+        // NetworkVarNames: m_flSpriteScale (float32)
+        // NetworkVarNames: m_flScaleDuration (float32)
+        // NetworkVarNames: m_bWorldSpaceScale (bool)
+        // NetworkVarNames: m_flGlowProxySize (float32)
+        // NetworkVarNames: m_flHDRColorScale (float32)
+        public static class CSprite {
+            public const nint m_hSpriteMaterial = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_hAttachedToEntity = 0x798; // CHandle<CBaseEntity>
+            public const nint m_nAttachment = 0x79C; // AttachmentHandle_t
+            public const nint m_flSpriteFramerate = 0x7A0; // float32
+            public const nint m_flFrame = 0x7A4; // float32
+            public const nint m_flDieTime = 0x7A8; // GameTime_t
+            public const nint m_nBrightness = 0x7B8; // uint32
+            public const nint m_flBrightnessDuration = 0x7BC; // float32
+            public const nint m_flSpriteScale = 0x7C0; // float32
+            public const nint m_flScaleDuration = 0x7C4; // float32
+            public const nint m_bWorldSpaceScale = 0x7C8; // bool
+            public const nint m_flGlowProxySize = 0x7CC; // float32
+            public const nint m_flHDRColorScale = 0x7D0; // float32
+            public const nint m_flLastTime = 0x7D4; // GameTime_t
+            public const nint m_flMaxFrame = 0x7D8; // float32
+            public const nint m_flStartScale = 0x7DC; // float32
+            public const nint m_flDestScale = 0x7E0; // float32
+            public const nint m_flScaleTimeStart = 0x7E4; // GameTime_t
+            public const nint m_nStartBrightness = 0x7E8; // int32
+            public const nint m_nDestBrightness = 0x7EC; // int32
+            public const nint m_flBrightnessTimeStart = 0x7F0; // GameTime_t
+            public const nint m_nSpriteWidth = 0x7F4; // int32
+            public const nint m_nSpriteHeight = 0x7F8; // int32
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CTriggerGravity {
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CServerRagdollTrigger {
+        }
+        // Parent: CInfoDynamicShadowHint
+        // Field count: 2
+        public static class CInfoDynamicShadowHintBox {
+            public const nint m_vBoxMins = 0x4F8; // Vector
+            public const nint m_vBoxMaxs = 0x504; // Vector
+        }
+        // Parent: CBaseEntity
+        // Field count: 3
+        public static class CPathMover {
+            public const nint m_vecPathNodes = 0x4E8; // CUtlVector<CHandle<CMoverPathNode>>
+            public const nint m_flPathLength = 0x500; // float32
+            public const nint m_bClosedLoop = 0x504; // bool
+        }
+        // Parent: CBaseCSGrenade
+        // Field count: 0
+        public static class CFlashbang {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponAug {
+        }
+        // Parent: CDynamicProp
+        // Field count: 28
+        //
+        // Metadata:
+        // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+        // NetworkVarNames: m_jumpedThisFrame (bool)
+        // NetworkVarNames: m_leader (CHandle<CCSPlayerPawn>)
+        public static class CChicken {
+            public const nint m_AttributeManager = 0xC78; // CAttributeContainer
+            public const nint m_updateTimer = 0xF40; // CountdownTimer
+            public const nint m_stuckAnchor = 0xF58; // Vector
+            public const nint m_stuckTimer = 0xF68; // CountdownTimer
+            public const nint m_collisionStuckTimer = 0xF80; // CountdownTimer
+            public const nint m_isOnGround = 0xF98; // bool
+            public const nint m_vFallVelocity = 0xF9C; // Vector
+            public const nint m_desiredActivity = 0xFA8; // ChickenActivity
+            public const nint m_currentActivity = 0xFAC; // ChickenActivity
+            public const nint m_activityTimer = 0xFB0; // CountdownTimer
+            public const nint m_turnRate = 0xFC8; // float32
+            public const nint m_fleeFrom = 0xFCC; // CHandle<CBaseEntity>
+            public const nint m_moveRateThrottleTimer = 0xFD0; // CountdownTimer
+            public const nint m_startleTimer = 0xFE8; // CountdownTimer
+            public const nint m_vocalizeTimer = 0x1000; // CountdownTimer
+            public const nint m_flWhenZombified = 0x1018; // GameTime_t
+            public const nint m_jumpedThisFrame = 0x101C; // bool
+            public const nint m_leader = 0x1020; // CHandle<CCSPlayerPawn>
+            public const nint m_reuseTimer = 0x1038; // CountdownTimer
+            public const nint m_hasBeenUsed = 0x1050; // bool
+            public const nint m_jumpTimer = 0x1058; // CountdownTimer
+            public const nint m_flLastJumpTime = 0x1070; // float32
+            public const nint m_bInJump = 0x1074; // bool
+            public const nint m_repathTimer = 0x3080; // CountdownTimer
+            public const nint m_vecPathGoal = 0x3118; // Vector
+            public const nint m_flActiveFollowStartTime = 0x3124; // GameTime_t
+            public const nint m_followMinuteTimer = 0x3128; // CountdownTimer
+            public const nint m_BlockDirectionTimer = 0x3148; // CountdownTimer
+        }
+        // Parent: CBaseTrigger
+        // Field count: 7
+        public static class CChangeLevel {
+            public const nint m_sMapName = 0x960; // CUtlString
+            public const nint m_sLandmarkName = 0x968; // CUtlString
+            public const nint m_OnChangeLevel = 0x970; // CEntityIOOutput
+            public const nint m_bTouched = 0x998; // bool
+            public const nint m_bNoTouch = 0x999; // bool
+            public const nint m_bNewChapter = 0x99A; // bool
+            public const nint m_bOnChangeLevelFired = 0x99B; // bool
+        }
+        // Parent: CBaseTrigger
+        // Field count: 14
+        public static class CTriggerLerpObject {
+            public const nint m_iszLerpTarget = 0x960; // CUtlSymbolLarge
+            public const nint m_hLerpTarget = 0x968; // CHandle<CBaseEntity>
+            public const nint m_iszLerpTargetAttachment = 0x970; // CUtlSymbolLarge
+            public const nint m_hLerpTargetAttachment = 0x978; // AttachmentHandle_t
+            public const nint m_flLerpDuration = 0x97C; // float32
+            public const nint m_bLerpRestoreMoveType = 0x980; // bool
+            public const nint m_bSingleLerpObject = 0x981; // bool
+            public const nint m_vecLerpingObjects = 0x988; // CUtlVector<lerpdata_t>
+            public const nint m_iszLerpEffect = 0x9A0; // CUtlSymbolLarge
+            public const nint m_iszLerpSound = 0x9A8; // CUtlSymbolLarge
+            public const nint m_bAttachTouchingObject = 0x9B0; // bool
+            public const nint m_hEntityToWaitForDisconnect = 0x9B4; // CHandle<CBaseEntity>
+            public const nint m_OnLerpStarted = 0x9B8; // CEntityIOOutput
+            public const nint m_OnLerpFinished = 0x9E0; // CEntityIOOutput
+        }
+        // Parent: CBaseToggle
+        // Field count: 12
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_bClientSidePredicted (bool)
+        public static class CBaseTrigger {
+            public const nint m_bDisabled = 0x810; // bool
+            public const nint m_iFilterName = 0x818; // CUtlSymbolLarge
+            public const nint m_hFilter = 0x820; // CHandle<CBaseFilter>
+            public const nint m_OnStartTouch = 0x828; // CEntityIOOutput
+            public const nint m_OnStartTouchAll = 0x850; // CEntityIOOutput
+            public const nint m_OnEndTouch = 0x878; // CEntityIOOutput
+            public const nint m_OnEndTouchAll = 0x8A0; // CEntityIOOutput
+            public const nint m_OnTouching = 0x8C8; // CEntityIOOutput
+            public const nint m_OnTouchingEachEntity = 0x8F0; // CEntityIOOutput
+            public const nint m_OnNotTouching = 0x918; // CEntityIOOutput
+            public const nint m_hTouchingEntities = 0x940; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_bClientSidePredicted = 0x958; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CLogicScript {
+        }
+        // Parent: CBaseFlex
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+        // NetworkVarNames: m_OriginalOwnerXuidLow (uint32)
+        // NetworkVarNames: m_OriginalOwnerXuidHigh (uint32)
+        // NetworkVarNames: m_nFallbackPaintKit (int)
+        // NetworkVarNames: m_nFallbackSeed (int)
+        // NetworkVarNames: m_flFallbackWear (float)
+        // NetworkVarNames: m_nFallbackStatTrak (int)
+        public static class CEconEntity {
+            public const nint m_AttributeManager = 0xA48; // CAttributeContainer
+            public const nint m_OriginalOwnerXuidLow = 0xD10; // uint32
+            public const nint m_OriginalOwnerXuidHigh = 0xD14; // uint32
+            public const nint m_nFallbackPaintKit = 0xD18; // int32
+            public const nint m_nFallbackSeed = 0xD1C; // int32
+            public const nint m_flFallbackWear = 0xD20; // float32
+            public const nint m_nFallbackStatTrak = 0xD24; // int32
+            public const nint m_hOldProvidee = 0xD28; // CHandle<CBaseEntity>
+            public const nint m_iOldOwnerClass = 0xD2C; // int32
+        }
+        // Parent: None
+        // Field count: 17
+        //
+        // Metadata:
+        // NetworkVarNames: m_collisionAttribute (VPhysicsCollisionAttribute_t)
+        // NetworkVarNames: m_vecMins (Vector)
+        // NetworkVarNames: m_vecMaxs (Vector)
+        // NetworkVarNames: m_usSolidFlags (uint8)
+        // NetworkVarNames: m_nSolidType (SolidType_t)
+        // NetworkVarNames: m_triggerBloat (uint8)
+        // NetworkVarNames: m_nSurroundType (SurroundingBoundsType_t)
+        // NetworkVarNames: m_CollisionGroup (uint8)
+        // NetworkVarNames: m_nEnablePhysics (uint8)
+        // NetworkVarNames: m_vecSpecifiedSurroundingMins (Vector)
+        // NetworkVarNames: m_vecSpecifiedSurroundingMaxs (Vector)
+        // NetworkVarNames: m_vCapsuleCenter1 (Vector)
+        // NetworkVarNames: m_vCapsuleCenter2 (Vector)
+        // NetworkVarNames: m_flCapsuleRadius (float)
+        public static class CCollisionProperty {
+            public const nint m_collisionAttribute = 0x10; // VPhysicsCollisionAttribute_t
+            public const nint m_vecMins = 0x40; // Vector
+            public const nint m_vecMaxs = 0x4C; // Vector
+            public const nint m_usSolidFlags = 0x5A; // uint8
+            public const nint m_nSolidType = 0x5B; // SolidType_t
+            public const nint m_triggerBloat = 0x5C; // uint8
+            public const nint m_nSurroundType = 0x5D; // SurroundingBoundsType_t
+            public const nint m_CollisionGroup = 0x5E; // uint8
+            public const nint m_nEnablePhysics = 0x5F; // uint8
+            public const nint m_flBoundingRadius = 0x60; // float32
+            public const nint m_vecSpecifiedSurroundingMins = 0x64; // Vector
+            public const nint m_vecSpecifiedSurroundingMaxs = 0x70; // Vector
+            public const nint m_vecSurroundingMaxs = 0x7C; // Vector
+            public const nint m_vecSurroundingMins = 0x88; // Vector
+            public const nint m_vCapsuleCenter1 = 0x94; // Vector
+            public const nint m_vCapsuleCenter2 = 0xA0; // Vector
+            public const nint m_flCapsuleRadius = 0xAC; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CServerOnlyEntity {
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_hSequence (HSequence)
+        // NetworkVarNames: m_flPrevCycle (float32)
+        // NetworkVarNames: m_flCycle (float32)
+        public static class CNetworkedSequenceOperation {
+            public const nint m_hSequence = 0x8; // HSequence
+            public const nint m_flPrevCycle = 0xC; // float32
+            public const nint m_flCycle = 0x10; // float32
+            public const nint m_flWeight = 0x14; // CNetworkedQuantizedFloat
+            public const nint m_bSequenceChangeNetworked = 0x1C; // bool
+            public const nint m_bDiscontinuity = 0x1D; // bool
+            public const nint m_flPrevCycleFromDiscontinuity = 0x20; // float32
+            public const nint m_flPrevCycleForAnimEventDetection = 0x24; // float32
+        }
+        // Parent: CModelPointEntity
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_messageText (char)
+        // NetworkVarNames: m_FontName (char)
+        // NetworkVarNames: m_BackgroundMaterialName (char)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bFullbright (bool)
+        // NetworkVarNames: m_flWorldUnitsPerPx (float)
+        // NetworkVarNames: m_flFontSize (float)
+        // NetworkVarNames: m_flDepthOffset (float)
+        // NetworkVarNames: m_bDrawBackground (bool)
+        // NetworkVarNames: m_flBackgroundBorderWidth (float)
+        // NetworkVarNames: m_flBackgroundBorderHeight (float)
+        // NetworkVarNames: m_flBackgroundWorldToUV (float)
+        // NetworkVarNames: m_Color (Color)
+        // NetworkVarNames: m_nJustifyHorizontal (PointWorldTextJustifyHorizontal_t)
+        // NetworkVarNames: m_nJustifyVertical (PointWorldTextJustifyVertical_t)
+        // NetworkVarNames: m_nReorientMode (PointWorldTextReorientMode_t)
+        public static class CPointWorldText {
+            public const nint m_messageText = 0x790; // char[512]
+            public const nint m_FontName = 0x990; // char[64]
+            public const nint m_BackgroundMaterialName = 0x9D0; // char[64]
+            public const nint m_bEnabled = 0xA10; // bool
+            public const nint m_bFullbright = 0xA11; // bool
+            public const nint m_flWorldUnitsPerPx = 0xA14; // float32
+            public const nint m_flFontSize = 0xA18; // float32
+            public const nint m_flDepthOffset = 0xA1C; // float32
+            public const nint m_bDrawBackground = 0xA20; // bool
+            public const nint m_flBackgroundBorderWidth = 0xA24; // float32
+            public const nint m_flBackgroundBorderHeight = 0xA28; // float32
+            public const nint m_flBackgroundWorldToUV = 0xA2C; // float32
+            public const nint m_Color = 0xA30; // Color
+            public const nint m_nJustifyHorizontal = 0xA34; // PointWorldTextJustifyHorizontal_t
+            public const nint m_nJustifyVertical = 0xA38; // PointWorldTextJustifyVertical_t
+            public const nint m_nReorientMode = 0xA3C; // PointWorldTextReorientMode_t
+        }
+        // Parent: CSoundAreaEntityBase
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_vMin (Vector)
+        // NetworkVarNames: m_vMax (Vector)
+        public static class CSoundAreaEntityOrientedBox {
+            public const nint m_vMin = 0x500; // Vector
+            public const nint m_vMax = 0x50C; // Vector
+        }
+        // Parent: CBaseTrigger
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_gravityScale (float)
+        // NetworkVarNames: m_linearLimit (float)
+        // NetworkVarNames: m_linearDamping (float)
+        // NetworkVarNames: m_angularLimit (float)
+        // NetworkVarNames: m_angularDamping (float)
+        // NetworkVarNames: m_linearForce (float)
+        // NetworkVarNames: m_flFrequency (float)
+        // NetworkVarNames: m_flDampingRatio (float)
+        // NetworkVarNames: m_vecLinearForcePointAt (Vector)
+        // NetworkVarNames: m_bCollapseToForcePoint (bool)
+        // NetworkVarNames: m_vecLinearForcePointAtWorld (Vector)
+        // NetworkVarNames: m_vecLinearForceDirection (Vector)
+        // NetworkVarNames: m_bConvertToDebrisWhenPossible (bool)
+        public static class CTriggerPhysics {
+            public const nint m_gravityScale = 0x970; // float32
+            public const nint m_linearLimit = 0x974; // float32
+            public const nint m_linearDamping = 0x978; // float32
+            public const nint m_angularLimit = 0x97C; // float32
+            public const nint m_angularDamping = 0x980; // float32
+            public const nint m_linearForce = 0x984; // float32
+            public const nint m_flFrequency = 0x988; // float32
+            public const nint m_flDampingRatio = 0x98C; // float32
+            public const nint m_vecLinearForcePointAt = 0x990; // Vector
+            public const nint m_bCollapseToForcePoint = 0x99C; // bool
+            public const nint m_vecLinearForcePointAtWorld = 0x9A0; // Vector
+            public const nint m_vecLinearForceDirection = 0x9AC; // Vector
+            public const nint m_bConvertToDebrisWhenPossible = 0x9B8; // bool
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_ID (CUtlStringToken)
+        // NetworkVarNames: m_Values (Vector4D)
+        public static class EntityRenderAttribute_t {
+            public const nint m_ID = 0x30; // CUtlStringToken
+            public const nint m_Values = 0x34; // Vector4D
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CPointBroadcastClientCommand {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 26
+        public static class CFuncShatterglass {
+            public const nint m_matPanelTransform = 0x790; // matrix3x4_t
+            public const nint m_matPanelTransformWsTemp = 0x7C0; // matrix3x4_t
+            public const nint m_vecShatterGlassShards = 0x7F0; // CUtlVector<uint32>
+            public const nint m_PanelSize = 0x808; // Vector2D
+            public const nint m_flLastShatterSoundEmitTime = 0x810; // GameTime_t
+            public const nint m_flLastCleanupTime = 0x814; // GameTime_t
+            public const nint m_flInitAtTime = 0x818; // GameTime_t
+            public const nint m_flGlassThickness = 0x81C; // float32
+            public const nint m_flSpawnInvulnerability = 0x820; // float32
+            public const nint m_bBreakSilent = 0x824; // bool
+            public const nint m_bBreakShardless = 0x825; // bool
+            public const nint m_bBroken = 0x826; // bool
+            public const nint m_bGlassNavIgnore = 0x827; // bool
+            public const nint m_bGlassInFrame = 0x828; // bool
+            public const nint m_bStartBroken = 0x829; // bool
+            public const nint m_iInitialDamageType = 0x82A; // uint8
+            public const nint m_szDamagePositioningEntityName01 = 0x830; // CUtlSymbolLarge
+            public const nint m_szDamagePositioningEntityName02 = 0x838; // CUtlSymbolLarge
+            public const nint m_szDamagePositioningEntityName03 = 0x840; // CUtlSymbolLarge
+            public const nint m_szDamagePositioningEntityName04 = 0x848; // CUtlSymbolLarge
+            public const nint m_vInitialDamagePositions = 0x850; // CUtlVector<Vector>
+            public const nint m_vExtraDamagePositions = 0x868; // CUtlVector<Vector>
+            public const nint m_vInitialPanelVertices = 0x880; // CUtlVector<Vector4D>
+            public const nint m_OnBroken = 0x898; // CEntityIOOutput
+            public const nint m_iSurfaceType = 0x8C0; // uint8
+            public const nint m_hMaterialDamageBase = 0x8C8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: CBaseButton
+        // Field count: 0
+        public static class CRotButton {
+        }
+        // Parent: CSoundEventEntity
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_flRadius (float)
+        public static class CSoundEventSphereEntity {
+            public const nint m_flRadius = 0x598; // float32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponHKP2000 {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 27
+        //
+        // Metadata:
+        // NetworkVarNames: m_bBombTicking (bool)
+        // NetworkVarNames: m_flC4Blow (GameTime_t)
+        // NetworkVarNames: m_nBombSite (int)
+        // NetworkVarNames: m_nSourceSoundscapeHash (int)
+        // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+        // NetworkVarNames: m_bCannotBeDefused (bool)
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        // NetworkVarNames: m_bHasExploded (bool)
+        // NetworkVarNames: m_flTimerLength (float)
+        // NetworkVarNames: m_bBeingDefused (bool)
+        // NetworkVarNames: m_flDefuseLength (float)
+        // NetworkVarNames: m_flDefuseCountDown (GameTime_t)
+        // NetworkVarNames: m_bBombDefused (bool)
+        // NetworkVarNames: m_hBombDefuser (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+        public static class CPlantedC4 {
+            public const nint m_bBombTicking = 0x9B0; // bool
+            public const nint m_flC4Blow = 0x9B4; // GameTime_t
+            public const nint m_nBombSite = 0x9B8; // int32
+            public const nint m_nSourceSoundscapeHash = 0x9BC; // int32
+            public const nint m_AttributeManager = 0x9C0; // CAttributeContainer
+            public const nint m_OnBombDefused = 0xC88; // CEntityIOOutput
+            public const nint m_OnBombBeginDefuse = 0xCB0; // CEntityIOOutput
+            public const nint m_OnBombDefuseAborted = 0xCD8; // CEntityIOOutput
+            public const nint m_bCannotBeDefused = 0xD00; // bool
+            public const nint m_entitySpottedState = 0xD08; // EntitySpottedState_t
+            public const nint m_nSpotRules = 0xD20; // int32
+            public const nint m_bTrainingPlacedByPlayer = 0xD24; // bool
+            public const nint m_bHasExploded = 0xD25; // bool
+            public const nint m_flTimerLength = 0xD28; // float32
+            public const nint m_bBeingDefused = 0xD2C; // bool
+            public const nint m_fLastDefuseTime = 0xD34; // GameTime_t
+            public const nint m_flDefuseLength = 0xD3C; // float32
+            public const nint m_flDefuseCountDown = 0xD40; // GameTime_t
+            public const nint m_bBombDefused = 0xD44; // bool
+            public const nint m_hBombDefuser = 0xD48; // CHandle<CCSPlayerPawn>
+            public const nint m_hControlPanel = 0xD4C; // CHandle<CBaseEntity>
+            public const nint m_iProgressBarTime = 0xD50; // int32
+            public const nint m_bVoiceAlertFired = 0xD54; // bool
+            public const nint m_bVoiceAlertPlayed = 0xD55; // bool[4]
+            public const nint m_flNextBotBeepTime = 0xD5C; // GameTime_t
+            public const nint m_angCatchUpToPlayerEye = 0xD64; // QAngle
+            public const nint m_flLastSpinDetectionTime = 0xD70; // GameTime_t
+        }
+        // Parent: CBaseClientUIEntity
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_hActivator (EHANDLE)
+        public static class CPointClientUIDialog {
+            public const nint m_hActivator = 0x940; // CHandle<CBaseEntity>
+            public const nint m_bStartEnabled = 0x944; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 1
+        public static class CEnvSplash {
+            public const nint m_flScale = 0x4E0; // float32
+        }
+        // Parent: None
+        // Field count: 25
+        //
+        // Metadata:
+        // NetworkVarNames: dirPrimary (Vector)
+        // NetworkVarNames: colorPrimary (Color)
+        // NetworkVarNames: colorSecondary (Color)
+        // NetworkVarNames: colorPrimaryLerpTo (Color)
+        // NetworkVarNames: colorSecondaryLerpTo (Color)
+        // NetworkVarNames: start (float32)
+        // NetworkVarNames: end (float32)
+        // NetworkVarNames: farz (float32)
+        // NetworkVarNames: maxdensity (float32)
+        // NetworkVarNames: exponent (float32)
+        // NetworkVarNames: HDRColorScale (float32)
+        // NetworkVarNames: skyboxFogFactor (float32)
+        // NetworkVarNames: skyboxFogFactorLerpTo (float32)
+        // NetworkVarNames: startLerpTo (float32)
+        // NetworkVarNames: endLerpTo (float32)
+        // NetworkVarNames: maxdensityLerpTo (float32)
+        // NetworkVarNames: lerptime (GameTime_t)
+        // NetworkVarNames: duration (float32)
+        // NetworkVarNames: blendtobackground (float32)
+        // NetworkVarNames: scattering (float32)
+        // NetworkVarNames: locallightscale (float32)
+        // NetworkVarNames: enable (bool)
+        // NetworkVarNames: blend (bool)
+        // NetworkVarNames: m_bNoReflectionFog (bool)
+        public static class fogparams_t {
+            public const nint dirPrimary = 0x8; // Vector
+            public const nint colorPrimary = 0x14; // Color
+            public const nint colorSecondary = 0x18; // Color
+            public const nint colorPrimaryLerpTo = 0x1C; // Color
+            public const nint colorSecondaryLerpTo = 0x20; // Color
+            public const nint start = 0x24; // float32
+            public const nint end = 0x28; // float32
+            public const nint farz = 0x2C; // float32
+            public const nint maxdensity = 0x30; // float32
+            public const nint exponent = 0x34; // float32
+            public const nint HDRColorScale = 0x38; // float32
+            public const nint skyboxFogFactor = 0x3C; // float32
+            public const nint skyboxFogFactorLerpTo = 0x40; // float32
+            public const nint startLerpTo = 0x44; // float32
+            public const nint endLerpTo = 0x48; // float32
+            public const nint maxdensityLerpTo = 0x4C; // float32
+            public const nint lerptime = 0x50; // GameTime_t
+            public const nint duration = 0x54; // float32
+            public const nint blendtobackground = 0x58; // float32
+            public const nint scattering = 0x5C; // float32
+            public const nint locallightscale = 0x60; // float32
+            public const nint enable = 0x64; // bool
+            public const nint blend = 0x65; // bool
+            public const nint m_bNoReflectionFog = 0x66; // bool
+            public const nint m_bPadding = 0x67; // bool
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 0
+        public static class CWeaponNOVA {
+        }
+        // Parent: CPointCamera
+        // Field count: 1
+        public static class CPointCameraVFOV {
+            public const nint m_flVerticalFOV = 0x540; // float32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_fFireTime (GameTime_t)
+        public static class CWeaponTaser {
+            public const nint m_fFireTime = 0xF88; // GameTime_t
+            public const nint m_nLastAttackTick = 0xF8C; // int32
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 0
+        public static class CWaterBullet {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CMarkupVolume {
+            public const nint m_bDisabled = 0x790; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 6
+        public static class CMessage {
+            public const nint m_iszMessage = 0x4E0; // CUtlSymbolLarge
+            public const nint m_MessageVolume = 0x4E8; // float32
+            public const nint m_MessageAttenuation = 0x4EC; // int32
+            public const nint m_Radius = 0x4F0; // float32
+            public const nint m_sNoise = 0x4F8; // CUtlSymbolLarge
+            public const nint m_OnShowMessage = 0x500; // CEntityIOOutput
+        }
+        // Parent: CLogicalEntity
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_bEnabled (bool)
+        public static class CLogicGameEventListener {
+            public const nint m_OnEventFired = 0x4F0; // CEntityIOOutput
+            public const nint m_iszGameEventName = 0x518; // CUtlSymbolLarge
+            public const nint m_iszGameEventItem = 0x520; // CUtlSymbolLarge
+            public const nint m_bEnabled = 0x528; // bool
+            public const nint m_bStartDisabled = 0x529; // bool
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+        public static class CBreakable {
+            public const nint m_CPropDataComponent = 0x798; // CPropDataComponent
+            public const nint m_Material = 0x7D8; // Materials
+            public const nint m_hBreaker = 0x7DC; // CHandle<CBaseEntity>
+            public const nint m_Explosion = 0x7E0; // Explosions
+            public const nint m_iszSpawnObject = 0x7E8; // CUtlSymbolLarge
+            public const nint m_flPressureDelay = 0x7F0; // float32
+            public const nint m_iMinHealthDmg = 0x7F4; // int32
+            public const nint m_iszPropData = 0x7F8; // CUtlSymbolLarge
+            public const nint m_impactEnergyScale = 0x800; // float32
+            public const nint m_nOverrideBlockLOS = 0x804; // EOverrideBlockLOS_t
+            public const nint m_OnBreak = 0x808; // CEntityIOOutput
+            public const nint m_OnHealthChanged = 0x830; // CEntityOutputTemplate<float32>
+            public const nint m_PerformanceMode = 0x858; // PerformanceMode_t
+            public const nint m_hPhysicsAttacker = 0x85C; // CHandle<CBasePlayerPawn>
+            public const nint m_flLastPhysicsInfluenceTime = 0x860; // GameTime_t
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 16
+        public static class CBaseToggle {
+            public const nint m_toggle_state = 0x790; // TOGGLE_STATE
+            public const nint m_flMoveDistance = 0x794; // float32
+            public const nint m_flWait = 0x798; // float32
+            public const nint m_flLip = 0x79C; // float32
+            public const nint m_bAlwaysFireBlockedOutputs = 0x7A0; // bool
+            public const nint m_vecPosition1 = 0x7A4; // Vector
+            public const nint m_vecPosition2 = 0x7B0; // Vector
+            public const nint m_vecMoveAng = 0x7BC; // QAngle
+            public const nint m_vecAngle1 = 0x7C8; // QAngle
+            public const nint m_vecAngle2 = 0x7D4; // QAngle
+            public const nint m_flHeight = 0x7E0; // float32
+            public const nint m_hActivator = 0x7E4; // CHandle<CBaseEntity>
+            public const nint m_vecFinalDest = 0x7E8; // Vector
+            public const nint m_vecFinalAngle = 0x7F4; // QAngle
+            public const nint m_movementType = 0x800; // int32
+            public const nint m_sMaster = 0x808; // CUtlSymbolLarge
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoTarget {
+        }
+        // Parent: CRotButton
+        // Field count: 14
+        public static class CMomentaryRotButton {
+            public const nint m_Position = 0x960; // CEntityOutputTemplate<float32>
+            public const nint m_OnUnpressed = 0x988; // CEntityIOOutput
+            public const nint m_OnFullyOpen = 0x9B0; // CEntityIOOutput
+            public const nint m_OnFullyClosed = 0x9D8; // CEntityIOOutput
+            public const nint m_OnReachedPosition = 0xA00; // CEntityIOOutput
+            public const nint m_lastUsed = 0xA28; // int32
+            public const nint m_start = 0xA2C; // QAngle
+            public const nint m_end = 0xA38; // QAngle
+            public const nint m_IdealYaw = 0xA44; // float32
+            public const nint m_sNoise = 0xA48; // CUtlSymbolLarge
+            public const nint m_bUpdateTarget = 0xA50; // bool
+            public const nint m_direction = 0xA54; // int32
+            public const nint m_returnSpeed = 0xA58; // float32
+            public const nint m_flStartPosition = 0xA5C; // float32
+        }
+        // Parent: CEntityComponent
+        // Field count: 10
+        public static class CPropDataComponent {
+            public const nint m_flDmgModBullet = 0x10; // float32
+            public const nint m_flDmgModClub = 0x14; // float32
+            public const nint m_flDmgModExplosive = 0x18; // float32
+            public const nint m_flDmgModFire = 0x1C; // float32
+            public const nint m_iszPhysicsDamageTableName = 0x20; // CUtlSymbolLarge
+            public const nint m_iszBasePropData = 0x28; // CUtlSymbolLarge
+            public const nint m_nInteractions = 0x30; // int32
+            public const nint m_bSpawnMotionDisabled = 0x34; // bool
+            public const nint m_nDisableTakePhysicsDamageSpawnFlag = 0x38; // int32
+            public const nint m_nMotionDisabledSpawnFlag = 0x3C; // int32
+        }
+        // Parent: CRulePointEntity
+        // Field count: 2
+        public static class CGameText {
+            public const nint m_iszMessage = 0x7A0; // CUtlSymbolLarge
+            public const nint m_textParms = 0x7A8; // hudtextparms_t
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponMP5SD {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_bLoop (bool)
+        // NetworkVarNames: m_flFPS (float)
+        // NetworkVarNames: m_hPositionKeys (HRenderTextureStrong)
+        // NetworkVarNames: m_hRotationKeys (HRenderTextureStrong)
+        // NetworkVarNames: m_vAnimationBoundsMin (Vector)
+        // NetworkVarNames: m_vAnimationBoundsMax (Vector)
+        // NetworkVarNames: m_flStartTime (float)
+        // NetworkVarNames: m_flStartFrame (float)
+        public static class CTextureBasedAnimatable {
+            public const nint m_bLoop = 0x790; // bool
+            public const nint m_flFPS = 0x794; // float32
+            public const nint m_hPositionKeys = 0x798; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_hRotationKeys = 0x7A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_vAnimationBoundsMin = 0x7A8; // Vector
+            public const nint m_vAnimationBoundsMax = 0x7B4; // Vector
+            public const nint m_flStartTime = 0x7C0; // float32
+            public const nint m_flStartFrame = 0x7C4; // float32
+        }
+        // Parent: CMarkupVolumeTagged
+        // Field count: 3
+        public static class CMarkupVolumeWithRef {
+            public const nint m_bUseRef = 0x7D0; // bool
+            public const nint m_vRefPos = 0x7D4; // Vector
+            public const nint m_flRefDot = 0x7E0; // float32
+        }
+        // Parent: CPhysForce
+        // Field count: 1
+        public static class CPhysThruster {
+            public const nint m_localOrigin = 0x540; // Vector
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CCSPointScriptExtensions_player {
+        }
+        // Parent: CBaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszStackName (string_t)
+        // NetworkVarNames: m_iszOperatorName (string_t)
+        // NetworkVarNames: m_iszOpvarName (string_t)
+        // NetworkVarNames: m_vDistanceInnerMins (Vector)
+        // NetworkVarNames: m_vDistanceInnerMaxs (Vector)
+        // NetworkVarNames: m_vDistanceOuterMins (Vector)
+        // NetworkVarNames: m_vDistanceOuterMaxs (Vector)
+        // NetworkVarNames: m_nAABBDirection (int)
+        public static class CCitadelSoundOpvarSetOBB {
+            public const nint m_iszStackName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszOperatorName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszOpvarName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_vDistanceInnerMins = 0x4F8; // Vector
+            public const nint m_vDistanceInnerMaxs = 0x504; // Vector
+            public const nint m_vDistanceOuterMins = 0x510; // Vector
+            public const nint m_vDistanceOuterMaxs = 0x51C; // Vector
+            public const nint m_nAABBDirection = 0x528; // int32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_unDefIdx (item_definition_index_t)
+        // NetworkVarNames: m_nCost (int)
+        // NetworkVarNames: m_nPrevArmor (int)
+        // NetworkVarNames: m_bPrevHelmet (bool)
+        // NetworkVarNames: m_hItem (CEntityHandle)
+        public static class SellbackPurchaseEntry_t {
+            public const nint m_unDefIdx = 0x30; // uint16
+            public const nint m_nCost = 0x34; // int32
+            public const nint m_nPrevArmor = 0x38; // int32
+            public const nint m_bPrevHelmet = 0x3C; // bool
+            public const nint m_hItem = 0x40; // CEntityHandle
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponFamas {
+        }
+        // Parent: CPhysicsProp
+        // Field count: 3
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_ShardDesc (shard_model_desc_t)
+        public static class CShatterGlassShardPhysics {
+            public const nint m_bDebris = 0xD00; // bool
+            public const nint m_hParentShard = 0xD04; // uint32
+            public const nint m_ShardDesc = 0xD08; // shard_model_desc_t
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterModel {
+            public const nint m_iFilterModel = 0x538; // CUtlSymbolLarge
+        }
+        // Parent: CBasePlayerPawn
+        // Field count: 22
+        //
+        // Metadata:
+        // NetworkVarNames: m_CTouchExpansionComponent (CTouchExpansionComponent::Storage_t)
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_pPingServices (CCSPlayer_PingServices*)
+        // NetworkVarNames: m_pViewModelServices (CPlayer_ViewModelServices*)
+        // NetworkVarNames: m_iPlayerState (CSPlayerState)
+        // NetworkVarNames: m_fImmuneToGunGameDamageTime (GameTime_t)
+        // NetworkVarNames: m_bGunGameImmunity (bool)
+        // NetworkVarNames: m_fMolotovDamageTime (float)
+        // NetworkVarNames: m_bHasMovedSinceSpawn (bool)
+        // NetworkVarNames: m_flFlashDuration (float)
+        // NetworkVarNames: m_flFlashMaxAlpha (float)
+        // NetworkVarNames: m_flProgressBarStartTime (float)
+        // NetworkVarNames: m_iProgressBarDuration (int)
+        // NetworkVarNames: m_angEyeAngles (QAngle)
+        // NetworkVarNames: m_hOriginalController (CHandle<CCSPlayerController>)
+        public static class CCSPlayerPawnBase {
+            public const nint m_CTouchExpansionComponent = 0xC68; // CTouchExpansionComponent
+            public const nint m_pPingServices = 0xCB8; // CCSPlayer_PingServices*
+            public const nint m_pViewModelServices = 0xCC0; // CPlayer_ViewModelServices*
+            public const nint m_blindUntilTime = 0xCC8; // GameTime_t
+            public const nint m_blindStartTime = 0xCCC; // GameTime_t
+            public const nint m_iPlayerState = 0xCD0; // CSPlayerState
+            public const nint m_bRespawning = 0xD80; // bool
+            public const nint m_fImmuneToGunGameDamageTime = 0xD84; // GameTime_t
+            public const nint m_bGunGameImmunity = 0xD88; // bool
+            public const nint m_fMolotovDamageTime = 0xD8C; // float32
+            public const nint m_bHasMovedSinceSpawn = 0xD90; // bool
+            public const nint m_iNumSpawns = 0xD94; // int32
+            public const nint m_flIdleTimeSinceLastAction = 0xD9C; // float32
+            public const nint m_fNextRadarUpdateTime = 0xDA0; // float32
+            public const nint m_flFlashDuration = 0xDA4; // float32
+            public const nint m_flFlashMaxAlpha = 0xDA8; // float32
+            public const nint m_flProgressBarStartTime = 0xDAC; // float32
+            public const nint m_iProgressBarDuration = 0xDB0; // int32
+            public const nint m_angEyeAngles = 0xDB4; // QAngle
+            public const nint m_wasNotKilledNaturally = 0xDC0; // bool
+            public const nint m_bCommittingSuicideOnTeamChange = 0xDC1; // bool
+            public const nint m_hOriginalController = 0xDC4; // CHandle<CCSPlayerController>
+        }
+        // Parent: CPointEntity
+        // Field count: 9
+        public static class CPathTrack {
+            public const nint m_pnext = 0x4E0; // CPathTrack*
+            public const nint m_pprevious = 0x4E8; // CPathTrack*
+            public const nint m_paltpath = 0x4F0; // CPathTrack*
+            public const nint m_flRadius = 0x4F8; // float32
+            public const nint m_length = 0x4FC; // float32
+            public const nint m_altName = 0x500; // CUtlSymbolLarge
+            public const nint m_nIterVal = 0x508; // int32
+            public const nint m_eOrientationType = 0x50C; // TrackOrientationType_t
+            public const nint m_OnPass = 0x510; // CEntityIOOutput
+        }
+        // Parent: CLogicalEntity
+        // Field count: 7
+        public static class CLogicDistanceCheck {
+            public const nint m_iszEntityA = 0x4E0; // CUtlSymbolLarge
+            public const nint m_iszEntityB = 0x4E8; // CUtlSymbolLarge
+            public const nint m_flZone1Distance = 0x4F0; // float32
+            public const nint m_flZone2Distance = 0x4F4; // float32
+            public const nint m_InZone1 = 0x4F8; // CEntityIOOutput
+            public const nint m_InZone2 = 0x520; // CEntityIOOutput
+            public const nint m_InZone3 = 0x548; // CEntityIOOutput
+        }
+        // Parent: CBarnLight
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_flInnerAngle (float)
+        // NetworkVarNames: m_flOuterAngle (float)
+        // NetworkVarNames: m_bShowLight (bool)
+        public static class COmniLight {
+            public const nint m_flInnerAngle = 0xAB0; // float32
+            public const nint m_flOuterAngle = 0xAB4; // float32
+            public const nint m_bShowLight = 0xAB8; // bool
+        }
+        // Parent: CPointEntity
+        // Field count: 10
+        //
+        // Metadata:
+        // NetworkVarNames: m_bDisabled (bool)
+        // NetworkVarNames: m_nResolutionX (int)
+        // NetworkVarNames: m_nResolutionY (int)
+        // NetworkVarNames: m_szLayoutFileName (string_t)
+        // NetworkVarNames: m_RenderAttrName (string_t)
+        // NetworkVarNames: m_TargetEntities (CHandle<CBaseModelEntity>)
+        // NetworkVarNames: m_nTargetChangeCount (int)
+        // NetworkVarNames: m_vecCSSClasses (string_t)
+        public static class CInfoOffscreenPanoramaTexture {
+            public const nint m_bDisabled = 0x4E0; // bool
+            public const nint m_nResolutionX = 0x4E4; // int32
+            public const nint m_nResolutionY = 0x4E8; // int32
+            public const nint m_szLayoutFileName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_RenderAttrName = 0x4F8; // CUtlSymbolLarge
+            public const nint m_TargetEntities = 0x500; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+            public const nint m_nTargetChangeCount = 0x518; // int32
+            public const nint m_vecCSSClasses = 0x520; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+            public const nint m_szTargetsName = 0x538; // CUtlSymbolLarge
+            public const nint m_AdditionalTargetEntities = 0x540; // CUtlVector<CHandle<CBaseModelEntity>>
+        }
+        // Parent: CBaseEntity
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: m_nMode (int)
+        // NetworkVarNames: m_vBoxSize (Vector)
+        // NetworkVarNames: m_bEnabled (bool)
+        public static class CInfoVisibilityBox {
+            public const nint m_nMode = 0x4E4; // int32
+            public const nint m_vBoxSize = 0x4E8; // Vector
+            public const nint m_bEnabled = 0x4F4; // bool
+        }
+        // Parent: CRulePointEntity
+        // Field count: 0
+        public static class CGamePlayerEquip {
+        }
+        // Parent: CServerOnlyPointEntity
+        // Field count: 0
+        public static class CInfoTargetServerOnly {
+        }
+        // Parent: CSoundOpvarSetPointEntity
+        // Field count: 3
+        public static class CSoundOpvarSetPathCornerEntity {
+            public const nint m_flDistMinSqr = 0x6A0; // float32
+            public const nint m_flDistMaxSqr = 0x6A4; // float32
+            public const nint m_iszPathCornerEntityName = 0x6A8; // CUtlSymbolLarge
+        }
+        // Parent: CPlayer_WeaponServices
+        // Field count: 15
+        //
+        // Metadata:
+        // NetworkVarNames: m_flNextAttack (GameTime_t)
+        // NetworkVarNames: m_bIsLookingAtWeapon (bool)
+        // NetworkVarNames: m_bIsHoldingLookAtWeapon (bool)
+        public static class CCSPlayer_WeaponServices {
+            public const nint m_flNextAttack = 0xA8; // GameTime_t
+            public const nint m_bIsLookingAtWeapon = 0xAC; // bool
+            public const nint m_bIsHoldingLookAtWeapon = 0xAD; // bool
+            public const nint m_hSavedWeapon = 0xB0; // CHandle<CBasePlayerWeapon>
+            public const nint m_nTimeToMelee = 0xB4; // int32
+            public const nint m_nTimeToSecondary = 0xB8; // int32
+            public const nint m_nTimeToPrimary = 0xBC; // int32
+            public const nint m_nTimeToSniperRifle = 0xC0; // int32
+            public const nint m_bIsBeingGivenItem = 0xC4; // bool
+            public const nint m_bIsPickingUpItemWithUse = 0xC5; // bool
+            public const nint m_bPickedUpWeapon = 0xC6; // bool
+            public const nint m_bDisableAutoDeploy = 0xC7; // bool
+            public const nint m_bIsPickingUpGroundWeapon = 0xC8; // bool
+            public const nint m_nOldShootPositionHistoryCount = 0xCC; // uint32
+            public const nint m_nOldInputHistoryCount = 0x468; // uint32
+        }
+        // Parent: CBaseEntity
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_hEntAttached (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_bCheapEffect (bool)
+        public static class CEntityFlame {
+            public const nint m_hEntAttached = 0x4E0; // CHandle<CBaseEntity>
+            public const nint m_bCheapEffect = 0x4E4; // bool
+            public const nint m_flSize = 0x4E8; // float32
+            public const nint m_bUseHitboxes = 0x4EC; // bool
+            public const nint m_iNumHitboxFires = 0x4F0; // int32
+            public const nint m_flHitboxFireScale = 0x4F4; // float32
+            public const nint m_flLifetime = 0x4F8; // GameTime_t
+            public const nint m_hAttacker = 0x4FC; // CHandle<CBaseEntity>
+            public const nint m_iDangerSound = 0x500; // int32
+            public const nint m_flDirectDamagePerSecond = 0x504; // float32
+            public const nint m_iCustomDamageType = 0x508; // int32
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 9
+        //
+        // Metadata:
+        // NetworkVarNames: m_zoomLevel (int)
+        // NetworkVarNames: m_iBurstShotsRemaining (int)
+        // NetworkVarNames: m_bNeedsBoltAction (bool)
+        public static class CCSWeaponBaseGun {
+            public const nint m_zoomLevel = 0xF68; // int32
+            public const nint m_iBurstShotsRemaining = 0xF6C; // int32
+            public const nint m_silencedModelIndex = 0xF78; // int32
+            public const nint m_inPrecache = 0xF7C; // bool
+            public const nint m_bNeedsBoltAction = 0xF7D; // bool
+            public const nint m_bSkillReloadAvailable = 0xF7E; // bool
+            public const nint m_bSkillReloadLiftedReloadKey = 0xF7F; // bool
+            public const nint m_bSkillBoltInterruptAvailable = 0xF80; // bool
+            public const nint m_bSkillBoltLiftedFireKey = 0xF81; // bool
+        }
+        // Parent: None
+        // Field count: 13
+        public static class CBot {
+            public const nint m_pController = 0x10; // CCSPlayerController*
+            public const nint m_pPlayer = 0x18; // CCSPlayerPawn*
+            public const nint m_bHasSpawned = 0x20; // bool
+            public const nint m_id = 0x24; // uint32
+            public const nint m_isRunning = 0xC0; // bool
+            public const nint m_isCrouching = 0xC1; // bool
+            public const nint m_forwardSpeed = 0xC4; // float32
+            public const nint m_leftSpeed = 0xC8; // float32
+            public const nint m_verticalSpeed = 0xCC; // float32
+            public const nint m_buttonFlags = 0xD0; // uint64
+            public const nint m_jumpTimestamp = 0xD8; // float32
+            public const nint m_viewForward = 0xDC; // Vector
+            public const nint m_postureStackIndex = 0xF8; // int32
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_nameStringableIndex (int32)
+        public static class CEntityIdentity {
+            public const nint m_nameStringableIndex = 0x14; // int32
+            public const nint m_name = 0x18; // CUtlSymbolLarge
+            public const nint m_designerName = 0x20; // CUtlSymbolLarge
+            public const nint m_flags = 0x30; // uint32
+            public const nint m_worldGroupId = 0x38; // WorldGroupId_t
+            public const nint m_fDataObjectTypes = 0x3C; // uint32
+            public const nint m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t
+            public const nint m_pPrev = 0x58; // CEntityIdentity*
+            public const nint m_pNext = 0x60; // CEntityIdentity*
+            public const nint m_pPrevByClass = 0x68; // CEntityIdentity*
+            public const nint m_pNextByClass = 0x70; // CEntityIdentity*
+        }
+        // Parent: CBaseToggle
+        // Field count: 3
+        public static class CGunTarget {
+            public const nint m_on = 0x810; // bool
+            public const nint m_hTargetEnt = 0x814; // CHandle<CBaseEntity>
+            public const nint m_OnDeath = 0x818; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 2
+        public static class CSoundEventParameter {
+            public const nint m_iszParamName = 0x4E8; // CUtlSymbolLarge
+            public const nint m_flFloatValue = 0x4F0; // float32
+        }
+        // Parent: CPulseGraphInstance_ServerEntity
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        // MPulseDomainOptInFeatureTag
+        public static class CPulseGraphInstance_GameBlackboard {
+        }
+        // Parent: CMarkupVolume
+        // Field count: 5
+        public static class CMarkupVolumeTagged {
+            public const nint m_bIsGroup = 0x7C8; // bool
+            public const nint m_bGroupByPrefab = 0x7C9; // bool
+            public const nint m_bGroupByVolume = 0x7CA; // bool
+            public const nint m_bGroupOtherGroups = 0x7CB; // bool
+            public const nint m_bIsInGroup = 0x7CC; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 5
+        public static class CTestEffect {
+            public const nint m_iLoop = 0x4E0; // int32
+            public const nint m_iBeam = 0x4E4; // int32
+            public const nint m_pBeam = 0x4E8; // CBeam*[24]
+            public const nint m_flBeamTime = 0x5A8; // GameTime_t[24]
+            public const nint m_flStartTime = 0x608; // GameTime_t
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponM4A1Silencer {
+        }
+        // Parent: CFuncNavBlocker
+        // Field count: 1
+        public static class CScriptNavBlocker {
+            public const nint m_vExtent = 0x7A0; // Vector
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 1
+        public static class CConstraintAnchor {
+            public const nint m_massScale = 0x9A8; // float32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponTec9 {
+        }
+        // Parent: CMarkupVolumeTagged
+        // Field count: 0
+        public static class CMarkupVolumeTagged_Nav {
+        }
+        // Parent: CPointEntity
+        // Field count: 66
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsPlayingBack (bool)
+        // NetworkVarNames: m_bPaused (bool)
+        // NetworkVarNames: m_bMultiplayer (bool)
+        // NetworkVarNames: m_bAutogenerated (bool)
+        // NetworkVarNames: m_flForceClientTime (float32)
+        // NetworkVarNames: m_hActorList (CHandle<CBaseFlex>)
+        // NetworkVarNames: m_nSceneStringIndex (uint16)
+        public static class CSceneEntity {
+            public const nint m_iszSceneFile = 0x4E8; // CUtlSymbolLarge
+            public const nint m_iszResumeSceneFile = 0x4F0; // CUtlSymbolLarge
+            public const nint m_iszTarget1 = 0x4F8; // CUtlSymbolLarge
+            public const nint m_iszTarget2 = 0x500; // CUtlSymbolLarge
+            public const nint m_iszTarget3 = 0x508; // CUtlSymbolLarge
+            public const nint m_iszTarget4 = 0x510; // CUtlSymbolLarge
+            public const nint m_iszTarget5 = 0x518; // CUtlSymbolLarge
+            public const nint m_iszTarget6 = 0x520; // CUtlSymbolLarge
+            public const nint m_iszTarget7 = 0x528; // CUtlSymbolLarge
+            public const nint m_iszTarget8 = 0x530; // CUtlSymbolLarge
+            public const nint m_hTarget1 = 0x538; // CHandle<CBaseEntity>
+            public const nint m_hTarget2 = 0x53C; // CHandle<CBaseEntity>
+            public const nint m_hTarget3 = 0x540; // CHandle<CBaseEntity>
+            public const nint m_hTarget4 = 0x544; // CHandle<CBaseEntity>
+            public const nint m_hTarget5 = 0x548; // CHandle<CBaseEntity>
+            public const nint m_hTarget6 = 0x54C; // CHandle<CBaseEntity>
+            public const nint m_hTarget7 = 0x550; // CHandle<CBaseEntity>
+            public const nint m_hTarget8 = 0x554; // CHandle<CBaseEntity>
+            public const nint m_sTargetAttachment = 0x558; // CUtlSymbolLarge
+            public const nint m_bIsPlayingBack = 0x560; // bool
+            public const nint m_bPaused = 0x561; // bool
+            public const nint m_bMultiplayer = 0x562; // bool
+            public const nint m_bAutogenerated = 0x563; // bool
+            public const nint m_flForceClientTime = 0x564; // float32
+            public const nint m_flCurrentTime = 0x568; // float32
+            public const nint m_flFrameTime = 0x56C; // float32
+            public const nint m_bCancelAtNextInterrupt = 0x570; // bool
+            public const nint m_fPitch = 0x574; // float32
+            public const nint m_bAutomated = 0x578; // bool
+            public const nint m_nAutomatedAction = 0x57C; // int32
+            public const nint m_flAutomationDelay = 0x580; // float32
+            public const nint m_flAutomationTime = 0x584; // float32
+            public const nint m_hWaitingForThisResumeScene = 0x588; // CHandle<CBaseEntity>
+            public const nint m_bWaitingForResumeScene = 0x58C; // bool
+            public const nint m_bPausedViaInput = 0x58D; // bool
+            public const nint m_bPauseAtNextInterrupt = 0x58E; // bool
+            public const nint m_bWaitingForActor = 0x58F; // bool
+            public const nint m_bWaitingForInterrupt = 0x590; // bool
+            public const nint m_bInterruptedActorsScenes = 0x591; // bool
+            public const nint m_bBreakOnNonIdle = 0x592; // bool
+            public const nint m_bSceneFinished = 0x593; // bool
+            public const nint m_hActorList = 0x598; // CNetworkUtlVectorBase<CHandle<CBaseFlex>>
+            public const nint m_hRemoveActorList = 0x5B0; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_nSceneFlushCounter = 0x5F8; // int32
+            public const nint m_nSceneStringIndex = 0x5FC; // uint16
+            public const nint m_OnStart = 0x600; // CEntityIOOutput
+            public const nint m_OnCompletion = 0x628; // CEntityIOOutput
+            public const nint m_OnCanceled = 0x650; // CEntityIOOutput
+            public const nint m_OnPaused = 0x678; // CEntityIOOutput
+            public const nint m_OnResumed = 0x6A0; // CEntityIOOutput
+            public const nint m_OnTrigger = 0x6C8; // CEntityIOOutput[16]
+            public const nint m_hInterruptScene = 0x9D8; // CHandle<CSceneEntity>
+            public const nint m_nInterruptCount = 0x9DC; // int32
+            public const nint m_bSceneMissing = 0x9E0; // bool
+            public const nint m_bInterrupted = 0x9E1; // bool
+            public const nint m_bCompletedEarly = 0x9E2; // bool
+            public const nint m_bInterruptSceneFinished = 0x9E3; // bool
+            public const nint m_bRestoring = 0x9E4; // bool
+            public const nint m_hNotifySceneCompletion = 0x9E8; // CUtlVector<CHandle<CSceneEntity>>
+            public const nint m_hListManagers = 0xA00; // CUtlVector<CHandle<CSceneListManager>>
+            public const nint m_iszSoundName = 0xA18; // CUtlSymbolLarge
+            public const nint m_iszSequenceName = 0xA20; // CUtlSymbolLarge
+            public const nint m_hActor = 0xA28; // CHandle<CBaseFlex>
+            public const nint m_hActivator = 0xA2C; // CHandle<CBaseEntity>
+            public const nint m_BusyActor = 0xA30; // int32
+            public const nint m_iPlayerDeathBehavior = 0xA34; // SceneOnPlayerDeath_t
+        }
+        // Parent: CLightDirectionalEntity
+        // Field count: 0
+        public static class CLightEnvironmentEntity {
+        }
+        // Parent: CLogicAutosave
+        // Field count: 4
+        public static class CLogicActiveAutosave {
+            public const nint m_TriggerHitPoints = 0x4F0; // int32
+            public const nint m_flTimeToTrigger = 0x4F4; // float32
+            public const nint m_flStartTime = 0x4F8; // GameTime_t
+            public const nint m_flDangerousTime = 0x4FC; // float32
+        }
+        // Parent: CBaseEntity
+        // Field count: 2
+        public static class CEnvBeverage {
+            public const nint m_CanInDispenser = 0x4E0; // bool
+            public const nint m_nBeverageType = 0x4E4; // int32
+        }
+        // Parent: CBaseEntity
+        // Field count: 14
+        //
+        // Metadata:
+        // NetworkVarNames: m_iActiveIssueIndex (int)
+        // NetworkVarNames: m_iOnlyTeamToVote (int)
+        // NetworkVarNames: m_nVoteOptionCount (int)
+        // NetworkVarNames: m_nPotentialVotes (int)
+        // NetworkVarNames: m_bIsYesNoVote (bool)
+        public static class CVoteController {
+            public const nint m_iActiveIssueIndex = 0x4E0; // int32
+            public const nint m_iOnlyTeamToVote = 0x4E4; // int32
+            public const nint m_nVoteOptionCount = 0x4E8; // int32[5]
+            public const nint m_nPotentialVotes = 0x4FC; // int32
+            public const nint m_bIsYesNoVote = 0x500; // bool
+            public const nint m_acceptingVotesTimer = 0x508; // CountdownTimer
+            public const nint m_executeCommandTimer = 0x520; // CountdownTimer
+            public const nint m_resetVoteTimer = 0x538; // CountdownTimer
+            public const nint m_nVotesCast = 0x550; // int32[64]
+            public const nint m_playerHoldingVote = 0x650; // CPlayerSlot
+            public const nint m_playerOverrideForVote = 0x654; // CPlayerSlot
+            public const nint m_nHighestCountIndex = 0x658; // int32
+            public const nint m_potentialIssues = 0x660; // CUtlVector<CBaseIssue*>
+            public const nint m_VoteOptions = 0x678; // CUtlVector<char*>
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponCZ75a {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponP250 {
+        }
+        // Parent: CBaseAnimGraph
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_flexWeight (float32)
+        // NetworkVarNames: m_vLookTargetPosition (Vector)
+        // NetworkVarNames: m_blinktoggle (bool)
+        public static class CBaseFlex {
+            public const nint m_flexWeight = 0x9A8; // CNetworkUtlVectorBase<float32>
+            public const nint m_vLookTargetPosition = 0x9C0; // Vector
+            public const nint m_blinktoggle = 0x9CC; // bool
+            public const nint m_flAllowResponsesEndTime = 0xA20; // GameTime_t
+            public const nint m_flLastFlexAnimationTime = 0xA24; // GameTime_t
+            public const nint m_nNextSceneEventId = 0xA28; // SceneEventId_t
+            public const nint m_bUpdateLayerPriorities = 0xA2C; // bool
+        }
+        // Parent: CTriggerHurt
+        // Field count: 1
+        public static class CScriptTriggerHurt {
+            public const nint m_vExtent = 0xA00; // Vector
+        }
+        // Parent: CBasePlayerWeaponVData
+        // Field count: 92
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertySuppressBaseClassField
+        // MPropertySuppressBaseClassField
+        public static class CCSWeaponBaseVData {
+            public const nint m_WeaponType = 0x348; // CSWeaponType
+            public const nint m_WeaponCategory = 0x34C; // CSWeaponCategory
+            public const nint m_szViewModel = 0x350; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szPlayerModel = 0x430; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szWorldDroppedModel = 0x510; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szAimsightLensMaskModel = 0x5F0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szMagazineModel = 0x6D0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+            public const nint m_szHeatEffect = 0x7B0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szEjectBrassEffect = 0x890; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szMuzzleFlashParticleAlt = 0x970; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szMuzzleFlashThirdPersonParticle = 0xA50; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szMuzzleFlashThirdPersonParticleAlt = 0xB30; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_szTracerParticle = 0xC10; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+            public const nint m_GearSlot = 0xCF0; // gear_slot_t
+            public const nint m_GearSlotPosition = 0xCF4; // int32
+            public const nint m_DefaultLoadoutSlot = 0xCF8; // loadout_slot_t
+            public const nint m_sWrongTeamMsg = 0xD00; // CUtlString
+            public const nint m_nPrice = 0xD08; // int32
+            public const nint m_nKillAward = 0xD0C; // int32
+            public const nint m_nPrimaryReserveAmmoMax = 0xD10; // int32
+            public const nint m_nSecondaryReserveAmmoMax = 0xD14; // int32
+            public const nint m_bMeleeWeapon = 0xD18; // bool
+            public const nint m_bHasBurstMode = 0xD19; // bool
+            public const nint m_bIsRevolver = 0xD1A; // bool
+            public const nint m_bCannotShootUnderwater = 0xD1B; // bool
+            public const nint m_szName = 0xD20; // CGlobalSymbol
+            public const nint m_szAnimExtension = 0xD28; // CUtlString
+            public const nint m_eSilencerType = 0xD30; // CSWeaponSilencerType
+            public const nint m_nCrosshairMinDistance = 0xD34; // int32
+            public const nint m_nCrosshairDeltaDistance = 0xD38; // int32
+            public const nint m_bIsFullAuto = 0xD3C; // bool
+            public const nint m_nNumBullets = 0xD40; // int32
+            public const nint m_flCycleTime = 0xD44; // CFiringModeFloat
+            public const nint m_flMaxSpeed = 0xD4C; // CFiringModeFloat
+            public const nint m_flSpread = 0xD54; // CFiringModeFloat
+            public const nint m_flInaccuracyCrouch = 0xD5C; // CFiringModeFloat
+            public const nint m_flInaccuracyStand = 0xD64; // CFiringModeFloat
+            public const nint m_flInaccuracyJump = 0xD6C; // CFiringModeFloat
+            public const nint m_flInaccuracyLand = 0xD74; // CFiringModeFloat
+            public const nint m_flInaccuracyLadder = 0xD7C; // CFiringModeFloat
+            public const nint m_flInaccuracyFire = 0xD84; // CFiringModeFloat
+            public const nint m_flInaccuracyMove = 0xD8C; // CFiringModeFloat
+            public const nint m_flRecoilAngle = 0xD94; // CFiringModeFloat
+            public const nint m_flRecoilAngleVariance = 0xD9C; // CFiringModeFloat
+            public const nint m_flRecoilMagnitude = 0xDA4; // CFiringModeFloat
+            public const nint m_flRecoilMagnitudeVariance = 0xDAC; // CFiringModeFloat
+            public const nint m_nTracerFrequency = 0xDB4; // CFiringModeInt
+            public const nint m_flInaccuracyJumpInitial = 0xDBC; // float32
+            public const nint m_flInaccuracyJumpApex = 0xDC0; // float32
+            public const nint m_flInaccuracyReload = 0xDC4; // float32
+            public const nint m_nRecoilSeed = 0xDC8; // int32
+            public const nint m_nSpreadSeed = 0xDCC; // int32
+            public const nint m_flTimeToIdleAfterFire = 0xDD0; // float32
+            public const nint m_flIdleInterval = 0xDD4; // float32
+            public const nint m_flAttackMovespeedFactor = 0xDD8; // float32
+            public const nint m_flHeatPerShot = 0xDDC; // float32
+            public const nint m_flInaccuracyPitchShift = 0xDE0; // float32
+            public const nint m_flInaccuracyAltSoundThreshold = 0xDE4; // float32
+            public const nint m_flBotAudibleRange = 0xDE8; // float32
+            public const nint m_szUseRadioSubtitle = 0xDF0; // CUtlString
+            public const nint m_bUnzoomsAfterShot = 0xDF8; // bool
+            public const nint m_bHideViewModelWhenZoomed = 0xDF9; // bool
+            public const nint m_nZoomLevels = 0xDFC; // int32
+            public const nint m_nZoomFOV1 = 0xE00; // int32
+            public const nint m_nZoomFOV2 = 0xE04; // int32
+            public const nint m_flZoomTime0 = 0xE08; // float32
+            public const nint m_flZoomTime1 = 0xE0C; // float32
+            public const nint m_flZoomTime2 = 0xE10; // float32
+            public const nint m_flIronSightPullUpSpeed = 0xE14; // float32
+            public const nint m_flIronSightPutDownSpeed = 0xE18; // float32
+            public const nint m_flIronSightFOV = 0xE1C; // float32
+            public const nint m_flIronSightPivotForward = 0xE20; // float32
+            public const nint m_flIronSightLooseness = 0xE24; // float32
+            public const nint m_angPivotAngle = 0xE28; // QAngle
+            public const nint m_vecIronSightEyePos = 0xE34; // Vector
+            public const nint m_nDamage = 0xE40; // int32
+            public const nint m_flHeadshotMultiplier = 0xE44; // float32
+            public const nint m_flArmorRatio = 0xE48; // float32
+            public const nint m_flPenetration = 0xE4C; // float32
+            public const nint m_flRange = 0xE50; // float32
+            public const nint m_flRangeModifier = 0xE54; // float32
+            public const nint m_flFlinchVelocityModifierLarge = 0xE58; // float32
+            public const nint m_flFlinchVelocityModifierSmall = 0xE5C; // float32
+            public const nint m_flRecoveryTimeCrouch = 0xE60; // float32
+            public const nint m_flRecoveryTimeStand = 0xE64; // float32
+            public const nint m_flRecoveryTimeCrouchFinal = 0xE68; // float32
+            public const nint m_flRecoveryTimeStandFinal = 0xE6C; // float32
+            public const nint m_nRecoveryTransitionStartBullet = 0xE70; // int32
+            public const nint m_nRecoveryTransitionEndBullet = 0xE74; // int32
+            public const nint m_flThrowVelocity = 0xE78; // float32
+            public const nint m_vSmokeColor = 0xE7C; // Vector
+            public const nint m_szAnimClass = 0xE88; // CGlobalSymbol
+        }
+        // Parent: CLogicalEntity
+        // Field count: 5
+        public static class CMathColorBlend {
+            public const nint m_flInMin = 0x4E0; // float32
+            public const nint m_flInMax = 0x4E4; // float32
+            public const nint m_OutColor1 = 0x4E8; // Color
+            public const nint m_OutColor2 = 0x4EC; // Color
+            public const nint m_OutValue = 0x4F0; // CEntityOutputTemplate<Color>
+        }
+        // Parent: CPointEntity
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_iszOverlayNames (string_t)
+        // NetworkVarNames: m_flOverlayTimes (float32)
+        // NetworkVarNames: m_flStartTime (GameTime_t)
+        // NetworkVarNames: m_iDesiredOverlay (int32)
+        // NetworkVarNames: m_bIsActive (bool)
+        public static class CEnvScreenOverlay {
+            public const nint m_iszOverlayNames = 0x4E0; // CUtlSymbolLarge[10]
+            public const nint m_flOverlayTimes = 0x530; // float32[10]
+            public const nint m_flStartTime = 0x558; // GameTime_t
+            public const nint m_iDesiredOverlay = 0x55C; // int32
+            public const nint m_bIsActive = 0x560; // bool
+        }
+        // Parent: CCSPlayerPawnBase
+        // Field count: 118
+        //
+        // Metadata:
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // MNetworkVarTypeOverride
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_pBulletServices (CCSPlayer_BulletServices*)
+        // NetworkVarNames: m_pHostageServices (CCSPlayer_HostageServices*)
+        // NetworkVarNames: m_pBuyServices (CCSPlayer_BuyServices*)
+        // NetworkVarNames: m_pActionTrackingServices (CCSPlayer_ActionTrackingServices*)
+        // NetworkVarNames: m_bHasFemaleVoice (bool)
+        // NetworkVarNames: m_szLastPlaceName (char)
+        // NetworkVarNames: m_bInBuyZone (bool)
+        // NetworkVarNames: m_bInHostageRescueZone (bool)
+        // NetworkVarNames: m_bInBombZone (bool)
+        // NetworkVarNames: m_iRetakesOffering (int)
+        // NetworkVarNames: m_iRetakesOfferingCard (int)
+        // NetworkVarNames: m_bRetakesHasDefuseKit (bool)
+        // NetworkVarNames: m_bRetakesMVPLastRound (bool)
+        // NetworkVarNames: m_iRetakesMVPBoostItem (int)
+        // NetworkVarNames: m_RetakesMVPBoostExtraUtility (loadout_slot_t)
+        // NetworkVarNames: m_flHealthShotBoostExpirationTime (GameTime_t)
+        // NetworkVarNames: m_aimPunchAngle (QAngle)
+        // NetworkVarNames: m_aimPunchAngleVel (QAngle)
+        // NetworkVarNames: m_aimPunchTickBase (int)
+        // NetworkVarNames: m_aimPunchTickFraction (float)
+        // NetworkVarNames: m_bIsBuyMenuOpen (bool)
+        // NetworkVarNames: m_flTimeOfLastInjury (GameTime_t)
+        // NetworkVarNames: m_flNextSprayDecalTime (GameTime_t)
+        // NetworkVarNames: m_nRagdollDamageBone (int)
+        // NetworkVarNames: m_vRagdollDamageForce (Vector)
+        // NetworkVarNames: m_vRagdollDamagePosition (Vector)
+        // NetworkVarNames: m_szRagdollDamageWeaponName (char)
+        // NetworkVarNames: m_bRagdollDamageHeadshot (bool)
+        // NetworkVarNames: m_vRagdollServerOrigin (Vector)
+        // NetworkVarNames: m_EconGloves (CEconItemView)
+        // NetworkVarNames: m_nEconGlovesChanged (uint8)
+        // NetworkVarNames: m_qDeathEyeAngles (QAngle)
+        // NetworkVarNames: m_bLeftHanded (bool)
+        // NetworkVarNames: m_fSwitchedHandednessTime (GameTime_t)
+        // NetworkVarNames: m_flViewmodelOffsetX (float)
+        // NetworkVarNames: m_flViewmodelOffsetY (float)
+        // NetworkVarNames: m_flViewmodelOffsetZ (float)
+        // NetworkVarNames: m_flViewmodelFOV (float)
+        // NetworkVarNames: m_bIsWalking (bool)
+        // NetworkVarNames: m_nLastKillerIndex (CEntityIndex)
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        // NetworkVarNames: m_bIsScoped (bool)
+        // NetworkVarNames: m_bResumeZoom (bool)
+        // NetworkVarNames: m_bIsDefusing (bool)
+        // NetworkVarNames: m_bIsGrabbingHostage (bool)
+        // NetworkVarNames: m_iBlockingUseActionInProgress (CSPlayerBlockingUseAction_t)
+        // NetworkVarNames: m_flEmitSoundTime (GameTime_t)
+        // NetworkVarNames: m_bInNoDefuseArea (bool)
+        // NetworkVarNames: m_nWhichBombZone (int)
+        // NetworkVarNames: m_iShotsFired (int)
+        // NetworkVarNames: m_flFlinchStack (float)
+        // NetworkVarNames: m_flVelocityModifier (float)
+        // NetworkVarNames: m_flHitHeading (float)
+        // NetworkVarNames: m_nHitBodyPart (int)
+        // NetworkVarNames: m_bWaitForNoAttack (bool)
+        // NetworkVarNames: m_bKilledByHeadshot (bool)
+        // NetworkVarNames: m_thirdPersonHeading (QAngle)
+        // NetworkVarNames: m_flSlopeDropOffset (float)
+        // NetworkVarNames: m_flSlopeDropHeight (float)
+        // NetworkVarNames: m_vHeadConstraintOffset (Vector)
+        // NetworkVarNames: m_ArmorValue (int32)
+        // NetworkVarNames: m_unCurrentEquipmentValue (uint16)
+        // NetworkVarNames: m_unRoundStartEquipmentValue (uint16)
+        // NetworkVarNames: m_unFreezetimeEndEquipmentValue (uint16)
+        // NetworkVarNames: m_vecPlayerPatchEconIndices (uint32)
+        // NetworkVarNames: m_GunGameImmunityColor (Color)
+        // NetworkVarNames: m_PredictedDamageTags (PredictedDamageTag_t)
+        public static class CCSPlayerPawn {
+            public const nint m_pBulletServices = 0xDD0; // CCSPlayer_BulletServices*
+            public const nint m_pHostageServices = 0xDD8; // CCSPlayer_HostageServices*
+            public const nint m_pBuyServices = 0xDE0; // CCSPlayer_BuyServices*
+            public const nint m_pActionTrackingServices = 0xDE8; // CCSPlayer_ActionTrackingServices*
+            public const nint m_pRadioServices = 0xDF0; // CCSPlayer_RadioServices*
+            public const nint m_pDamageReactServices = 0xDF8; // CCSPlayer_DamageReactServices*
+            public const nint m_nCharacterDefIndex = 0xE00; // uint16
+            public const nint m_bHasFemaleVoice = 0xE02; // bool
+            public const nint m_strVOPrefix = 0xE08; // CUtlString
+            public const nint m_szLastPlaceName = 0xE10; // char[18]
+            public const nint m_bInHostageResetZone = 0xED0; // bool
+            public const nint m_bInBuyZone = 0xED1; // bool
+            public const nint m_TouchingBuyZones = 0xED8; // CUtlVector<CHandle<CBaseEntity>>
+            public const nint m_bWasInBuyZone = 0xEF0; // bool
+            public const nint m_bInHostageRescueZone = 0xEF1; // bool
+            public const nint m_bInBombZone = 0xEF2; // bool
+            public const nint m_bWasInHostageRescueZone = 0xEF3; // bool
+            public const nint m_iRetakesOffering = 0xEF4; // int32
+            public const nint m_iRetakesOfferingCard = 0xEF8; // int32
+            public const nint m_bRetakesHasDefuseKit = 0xEFC; // bool
+            public const nint m_bRetakesMVPLastRound = 0xEFD; // bool
+            public const nint m_iRetakesMVPBoostItem = 0xF00; // int32
+            public const nint m_RetakesMVPBoostExtraUtility = 0xF04; // loadout_slot_t
+            public const nint m_flHealthShotBoostExpirationTime = 0xF08; // GameTime_t
+            public const nint m_flLandingTimeSeconds = 0xF0C; // float32
+            public const nint m_aimPunchAngle = 0xF10; // QAngle
+            public const nint m_aimPunchAngleVel = 0xF1C; // QAngle
+            public const nint m_aimPunchTickBase = 0xF28; // int32
+            public const nint m_aimPunchTickFraction = 0xF2C; // float32
+            public const nint m_aimPunchCache = 0xF30; // CUtlVector<QAngle>
+            public const nint m_bIsBuyMenuOpen = 0xF48; // bool
+            public const nint m_xLastHeadBoneTransform = 0x15F0; // CTransform
+            public const nint m_bLastHeadBoneTransformIsValid = 0x1610; // bool
+            public const nint m_lastLandTime = 0x1614; // GameTime_t
+            public const nint m_bOnGroundLastTick = 0x1618; // bool
+            public const nint m_iPlayerLocked = 0x161C; // int32
+            public const nint m_flTimeOfLastInjury = 0x1624; // GameTime_t
+            public const nint m_flNextSprayDecalTime = 0x1628; // GameTime_t
+            public const nint m_bNextSprayDecalTimeExpedited = 0x162C; // bool
+            public const nint m_nRagdollDamageBone = 0x1630; // int32
+            public const nint m_vRagdollDamageForce = 0x1634; // Vector
+            public const nint m_vRagdollDamagePosition = 0x1640; // Vector
+            public const nint m_szRagdollDamageWeaponName = 0x164C; // char[64]
+            public const nint m_bRagdollDamageHeadshot = 0x168C; // bool
+            public const nint m_vRagdollServerOrigin = 0x1690; // Vector
+            public const nint m_EconGloves = 0x16A0; // CEconItemView
+            public const nint m_nEconGlovesChanged = 0x1918; // uint8
+            public const nint m_qDeathEyeAngles = 0x191C; // QAngle
+            public const nint m_bSkipOneHeadConstraintUpdate = 0x1928; // bool
+            public const nint m_bLeftHanded = 0x1929; // bool
+            public const nint m_fSwitchedHandednessTime = 0x192C; // GameTime_t
+            public const nint m_flViewmodelOffsetX = 0x1930; // float32
+            public const nint m_flViewmodelOffsetY = 0x1934; // float32
+            public const nint m_flViewmodelOffsetZ = 0x1938; // float32
+            public const nint m_flViewmodelFOV = 0x193C; // float32
+            public const nint m_bIsWalking = 0x1940; // bool
+            public const nint m_fLastGivenDefuserTime = 0x1944; // float32
+            public const nint m_fLastGivenBombTime = 0x1948; // float32
+            public const nint m_flDealtDamageToEnemyMostRecentTimestamp = 0x194C; // float32
+            public const nint m_iDisplayHistoryBits = 0x1950; // uint32
+            public const nint m_flLastAttackedTeammate = 0x1954; // float32
+            public const nint m_allowAutoFollowTime = 0x1958; // GameTime_t
+            public const nint m_bResetArmorNextSpawn = 0x195C; // bool
+            public const nint m_nLastKillerIndex = 0x1960; // CEntityIndex
+            public const nint m_entitySpottedState = 0x1968; // EntitySpottedState_t
+            public const nint m_nSpotRules = 0x1980; // int32
+            public const nint m_bIsScoped = 0x1984; // bool
+            public const nint m_bResumeZoom = 0x1985; // bool
+            public const nint m_bIsDefusing = 0x1986; // bool
+            public const nint m_bIsGrabbingHostage = 0x1987; // bool
+            public const nint m_iBlockingUseActionInProgress = 0x1988; // CSPlayerBlockingUseAction_t
+            public const nint m_flEmitSoundTime = 0x198C; // GameTime_t
+            public const nint m_bInNoDefuseArea = 0x1990; // bool
+            public const nint m_iBombSiteIndex = 0x1994; // CEntityIndex
+            public const nint m_nWhichBombZone = 0x1998; // int32
+            public const nint m_bInBombZoneTrigger = 0x199C; // bool
+            public const nint m_bWasInBombZoneTrigger = 0x199D; // bool
+            public const nint m_iShotsFired = 0x19A0; // int32
+            public const nint m_flFlinchStack = 0x19A4; // float32
+            public const nint m_flVelocityModifier = 0x19A8; // float32
+            public const nint m_flHitHeading = 0x19AC; // float32
+            public const nint m_nHitBodyPart = 0x19B0; // int32
+            public const nint m_vecTotalBulletForce = 0x19B4; // Vector
+            public const nint m_bWaitForNoAttack = 0x19C0; // bool
+            public const nint m_ignoreLadderJumpTime = 0x19C4; // float32
+            public const nint m_bKilledByHeadshot = 0x19C8; // bool
+            public const nint m_LastHitBox = 0x19CC; // int32
+            public const nint m_LastHealth = 0x19D0; // int32
+            public const nint m_pBot = 0x19D8; // CCSBot*
+            public const nint m_bBotAllowActive = 0x19E0; // bool
+            public const nint m_thirdPersonHeading = 0x19E4; // QAngle
+            public const nint m_flSlopeDropOffset = 0x19F0; // float32
+            public const nint m_flSlopeDropHeight = 0x19F4; // float32
+            public const nint m_vHeadConstraintOffset = 0x19F8; // Vector
+            public const nint m_nLastPickupPriority = 0x1A04; // int32
+            public const nint m_flLastPickupPriorityTime = 0x1A08; // float32
+            public const nint m_ArmorValue = 0x1A0C; // int32
+            public const nint m_unCurrentEquipmentValue = 0x1A10; // uint16
+            public const nint m_unRoundStartEquipmentValue = 0x1A12; // uint16
+            public const nint m_unFreezetimeEndEquipmentValue = 0x1A14; // uint16
+            public const nint m_iLastWeaponFireUsercmd = 0x1A18; // int32
+            public const nint m_bIsSpawning = 0x1A1C; // bool
+            public const nint m_iDeathFlags = 0x1A28; // int32
+            public const nint m_bHasDeathInfo = 0x1A2C; // bool
+            public const nint m_flDeathInfoTime = 0x1A30; // float32
+            public const nint m_vecDeathInfoOrigin = 0x1A34; // Vector
+            public const nint m_vecPlayerPatchEconIndices = 0x1A40; // uint32[5]
+            public const nint m_GunGameImmunityColor = 0x1A54; // Color
+            public const nint m_grenadeParameterStashTime = 0x1A58; // GameTime_t
+            public const nint m_bGrenadeParametersStashed = 0x1A5C; // bool
+            public const nint m_angStashedShootAngles = 0x1A60; // QAngle
+            public const nint m_vecStashedGrenadeThrowPosition = 0x1A6C; // Vector
+            public const nint m_vecStashedVelocity = 0x1A78; // Vector
+            public const nint m_angShootAngleHistory = 0x1A84; // QAngle[2]
+            public const nint m_vecThrowPositionHistory = 0x1A9C; // Vector[2]
+            public const nint m_vecVelocityHistory = 0x1AB4; // Vector[2]
+            public const nint m_PredictedDamageTags = 0x1AD0; // CUtlVectorEmbeddedNetworkVar<PredictedDamageTag_t>
+            public const nint m_nHighestAppliedDamageTagTick = 0x1B20; // int32
+        }
+        // Parent: CBasePlayerController
+        // Field count: 91
+        //
+        // Metadata:
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // NetworkVarNames: m_pInGameMoneyServices (CCSPlayerController_InGameMoneyServices*)
+        // NetworkVarNames: m_pInventoryServices (CCSPlayerController_InventoryServices*)
+        // NetworkVarNames: m_pActionTrackingServices (CCSPlayerController_ActionTrackingServices*)
+        // NetworkVarNames: m_pDamageServices (CCSPlayerController_DamageServices*)
+        // NetworkVarNames: m_iPing (uint32)
+        // NetworkVarNames: m_bHasCommunicationAbuseMute (bool)
+        // NetworkVarNames: m_szCrosshairCodes (string_t)
+        // NetworkVarNames: m_iPendingTeamNum (uint8)
+        // NetworkVarNames: m_flForceTeamTime (GameTime_t)
+        // NetworkVarNames: m_iCompTeammateColor (int)
+        // NetworkVarNames: m_bEverPlayedOnTeam (bool)
+        // NetworkVarNames: m_szClan (string_t)
+        // NetworkVarNames: m_iCoachingTeam (int)
+        // NetworkVarNames: m_nPlayerDominated (uint64)
+        // NetworkVarNames: m_nPlayerDominatingMe (uint64)
+        // NetworkVarNames: m_iCompetitiveRanking (int)
+        // NetworkVarNames: m_iCompetitiveWins (int)
+        // NetworkVarNames: m_iCompetitiveRankType (int8)
+        // NetworkVarNames: m_iCompetitiveRankingPredicted_Win (int)
+        // NetworkVarNames: m_iCompetitiveRankingPredicted_Loss (int)
+        // NetworkVarNames: m_iCompetitiveRankingPredicted_Tie (int)
+        // NetworkVarNames: m_nEndMatchNextMapVote (int)
+        // NetworkVarNames: m_unActiveQuestId (uint16)
+        // NetworkVarNames: m_nQuestProgressReason (QuestProgress::Reason)
+        // NetworkVarNames: m_unPlayerTvControlFlags (uint32)
+        // NetworkVarNames: m_nDisconnectionTick (int)
+        // NetworkVarNames: m_bControllingBot (bool)
+        // NetworkVarNames: m_bHasControlledBotThisRound (bool)
+        // NetworkVarNames: m_bCanControlObservedBot (bool)
+        // NetworkVarNames: m_hPlayerPawn (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_hObserverPawn (CHandle<CCSObserverPawn>)
+        // NetworkVarNames: m_bPawnIsAlive (bool)
+        // NetworkVarNames: m_iPawnHealth (uint32)
+        // NetworkVarNames: m_iPawnArmor (int)
+        // NetworkVarNames: m_bPawnHasDefuser (bool)
+        // NetworkVarNames: m_bPawnHasHelmet (bool)
+        // NetworkVarNames: m_nPawnCharacterDefIndex (item_definition_index_t)
+        // NetworkVarNames: m_iPawnLifetimeStart (int)
+        // NetworkVarNames: m_iPawnLifetimeEnd (int)
+        // NetworkVarNames: m_iPawnBotDifficulty (int)
+        // NetworkVarNames: m_hOriginalControllerOfCurrentPawn (CHandle<CCSPlayerController>)
+        // NetworkVarNames: m_iScore (int32)
+        // NetworkVarNames: m_recentKillQueue (uint8)
+        // NetworkVarNames: m_nFirstKill (uint8)
+        // NetworkVarNames: m_nKillCount (uint8)
+        // NetworkVarNames: m_bMvpNoMusic (bool)
+        // NetworkVarNames: m_eMvpReason (int)
+        // NetworkVarNames: m_iMusicKitID (int)
+        // NetworkVarNames: m_iMusicKitMVPs (int)
+        // NetworkVarNames: m_iMVPs (int)
+        // NetworkVarNames: m_bFireBulletsSeedSynchronized (bool)
+        public static class CCSPlayerController {
+            public const nint m_pInGameMoneyServices = 0x788; // CCSPlayerController_InGameMoneyServices*
+            public const nint m_pInventoryServices = 0x790; // CCSPlayerController_InventoryServices*
+            public const nint m_pActionTrackingServices = 0x798; // CCSPlayerController_ActionTrackingServices*
+            public const nint m_pDamageServices = 0x7A0; // CCSPlayerController_DamageServices*
+            public const nint m_iPing = 0x7A8; // uint32
+            public const nint m_bHasCommunicationAbuseMute = 0x7AC; // bool
+            public const nint m_szCrosshairCodes = 0x7B0; // CUtlSymbolLarge
+            public const nint m_iPendingTeamNum = 0x7B8; // uint8
+            public const nint m_flForceTeamTime = 0x7BC; // GameTime_t
+            public const nint m_iCompTeammateColor = 0x7C0; // int32
+            public const nint m_bEverPlayedOnTeam = 0x7C4; // bool
+            public const nint m_bAttemptedToGetColor = 0x7C5; // bool
+            public const nint m_iTeammatePreferredColor = 0x7C8; // int32
+            public const nint m_bTeamChanged = 0x7CC; // bool
+            public const nint m_bInSwitchTeam = 0x7CD; // bool
+            public const nint m_bHasSeenJoinGame = 0x7CE; // bool
+            public const nint m_bJustBecameSpectator = 0x7CF; // bool
+            public const nint m_bSwitchTeamsOnNextRoundReset = 0x7D0; // bool
+            public const nint m_bRemoveAllItemsOnNextRoundReset = 0x7D1; // bool
+            public const nint m_flLastJoinTeamTime = 0x7D4; // GameTime_t
+            public const nint m_szClan = 0x7D8; // CUtlSymbolLarge
+            public const nint m_szClanName = 0x7E0; // char[32]
+            public const nint m_iCoachingTeam = 0x800; // int32
+            public const nint m_nPlayerDominated = 0x808; // uint64
+            public const nint m_nPlayerDominatingMe = 0x810; // uint64
+            public const nint m_iCompetitiveRanking = 0x818; // int32
+            public const nint m_iCompetitiveWins = 0x81C; // int32
+            public const nint m_iCompetitiveRankType = 0x820; // int8
+            public const nint m_iCompetitiveRankingPredicted_Win = 0x824; // int32
+            public const nint m_iCompetitiveRankingPredicted_Loss = 0x828; // int32
+            public const nint m_iCompetitiveRankingPredicted_Tie = 0x82C; // int32
+            public const nint m_nEndMatchNextMapVote = 0x830; // int32
+            public const nint m_unActiveQuestId = 0x834; // uint16
+            public const nint m_nQuestProgressReason = 0x838; // QuestProgress::Reason
+            public const nint m_unPlayerTvControlFlags = 0x83C; // uint32
+            public const nint m_iDraftIndex = 0x868; // int32
+            public const nint m_msQueuedModeDisconnectionTimestamp = 0x86C; // uint32
+            public const nint m_uiAbandonRecordedReason = 0x870; // uint32
+            public const nint m_eNetworkDisconnectionReason = 0x874; // uint32
+            public const nint m_bCannotBeKicked = 0x878; // bool
+            public const nint m_bEverFullyConnected = 0x879; // bool
+            public const nint m_bAbandonAllowsSurrender = 0x87A; // bool
+            public const nint m_bAbandonOffersInstantSurrender = 0x87B; // bool
+            public const nint m_bDisconnection1MinWarningPrinted = 0x87C; // bool
+            public const nint m_bScoreReported = 0x87D; // bool
+            public const nint m_nDisconnectionTick = 0x880; // int32
+            public const nint m_bControllingBot = 0x890; // bool
+            public const nint m_bHasControlledBotThisRound = 0x891; // bool
+            public const nint m_bHasBeenControlledByPlayerThisRound = 0x892; // bool
+            public const nint m_nBotsControlledThisRound = 0x894; // int32
+            public const nint m_bCanControlObservedBot = 0x898; // bool
+            public const nint m_hPlayerPawn = 0x89C; // CHandle<CCSPlayerPawn>
+            public const nint m_hObserverPawn = 0x8A0; // CHandle<CCSObserverPawn>
+            public const nint m_DesiredObserverMode = 0x8A4; // int32
+            public const nint m_hDesiredObserverTarget = 0x8A8; // CEntityHandle
+            public const nint m_bPawnIsAlive = 0x8AC; // bool
+            public const nint m_iPawnHealth = 0x8B0; // uint32
+            public const nint m_iPawnArmor = 0x8B4; // int32
+            public const nint m_bPawnHasDefuser = 0x8B8; // bool
+            public const nint m_bPawnHasHelmet = 0x8B9; // bool
+            public const nint m_nPawnCharacterDefIndex = 0x8BA; // uint16
+            public const nint m_iPawnLifetimeStart = 0x8BC; // int32
+            public const nint m_iPawnLifetimeEnd = 0x8C0; // int32
+            public const nint m_iPawnBotDifficulty = 0x8C4; // int32
+            public const nint m_hOriginalControllerOfCurrentPawn = 0x8C8; // CHandle<CCSPlayerController>
+            public const nint m_iScore = 0x8CC; // int32
+            public const nint m_iRoundScore = 0x8D0; // int32
+            public const nint m_iRoundsWon = 0x8D4; // int32
+            public const nint m_recentKillQueue = 0x8D8; // uint8[8]
+            public const nint m_nFirstKill = 0x8E0; // uint8
+            public const nint m_nKillCount = 0x8E1; // uint8
+            public const nint m_bMvpNoMusic = 0x8E2; // bool
+            public const nint m_eMvpReason = 0x8E4; // int32
+            public const nint m_iMusicKitID = 0x8E8; // int32
+            public const nint m_iMusicKitMVPs = 0x8EC; // int32
+            public const nint m_iMVPs = 0x8F0; // int32
+            public const nint m_nUpdateCounter = 0x8F4; // int32
+            public const nint m_flSmoothedPing = 0x8F8; // float32
+            public const nint m_lastHeldVoteTimer = 0xF9A0; // IntervalTimer
+            public const nint m_bShowHints = 0xF9B8; // bool
+            public const nint m_iNextTimeCheck = 0xF9BC; // int32
+            public const nint m_bJustDidTeamKill = 0xF9C0; // bool
+            public const nint m_bPunishForTeamKill = 0xF9C1; // bool
+            public const nint m_bGaveTeamDamageWarning = 0xF9C2; // bool
+            public const nint m_bGaveTeamDamageWarningThisRound = 0xF9C3; // bool
+            public const nint m_dblLastReceivedPacketPlatFloatTime = 0xF9C8; // float64
+            public const nint m_LastTeamDamageWarningTime = 0xF9D0; // GameTime_t
+            public const nint m_LastTimePlayerWasDisconnectedForPawnsRemove = 0xF9D4; // GameTime_t
+            public const nint m_nSuspiciousHitCount = 0xF9D8; // uint32
+            public const nint m_nNonSuspiciousHitStreak = 0xF9DC; // uint32
+            public const nint m_bFireBulletsSeedSynchronized = 0xFA81; // bool
+        }
+        // Parent: IEconItemInterface
+        // Field count: 13
+        //
+        // Metadata:
+        // NetworkVarNames: m_iItemDefinitionIndex (item_definition_index_t)
+        // NetworkVarNames: m_iEntityQuality (int)
+        // NetworkVarNames: m_iEntityLevel (uint32)
+        // NetworkVarNames: m_iItemIDHigh (uint32)
+        // NetworkVarNames: m_iItemIDLow (uint32)
+        // NetworkVarNames: m_iAccountID (uint32)
+        // NetworkVarNames: m_iInventoryPosition (uint32)
+        // NetworkVarNames: m_bInitialized (bool)
+        // NetworkVarNames: m_AttributeList (CAttributeList)
+        // NetworkVarNames: m_NetworkedDynamicAttributes (CAttributeList)
+        // NetworkVarNames: m_szCustomName (char)
+        public static class CEconItemView {
+            public const nint m_iItemDefinitionIndex = 0x38; // uint16
+            public const nint m_iEntityQuality = 0x3C; // int32
+            public const nint m_iEntityLevel = 0x40; // uint32
+            public const nint m_iItemID = 0x48; // uint64
+            public const nint m_iItemIDHigh = 0x50; // uint32
+            public const nint m_iItemIDLow = 0x54; // uint32
+            public const nint m_iAccountID = 0x58; // uint32
+            public const nint m_iInventoryPosition = 0x5C; // uint32
+            public const nint m_bInitialized = 0x68; // bool
+            public const nint m_AttributeList = 0x70; // CAttributeList
+            public const nint m_NetworkedDynamicAttributes = 0xD0; // CAttributeList
+            public const nint m_szCustomName = 0x130; // char[161]
+            public const nint m_szCustomNameOverride = 0x1D1; // char[161]
+        }
+        // Parent: CPointEntity
+        // Field count: 0
+        public static class CInfoInstructorHintBombTargetA {
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponAWP {
+        }
+        // Parent: CBaseCombatCharacter
+        // Field count: 25
+        //
+        // Metadata:
+        // MNetworkUserGroupProxy
+        // MNetworkUserGroupProxy
+        // MNetworkExcludeByUserGroup
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByUserGroup
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_pWeaponServices (CPlayer_WeaponServices*)
+        // NetworkVarNames: m_pItemServices (CPlayer_ItemServices*)
+        // NetworkVarNames: m_pAutoaimServices (CPlayer_AutoaimServices*)
+        // NetworkVarNames: m_pObserverServices (CPlayer_ObserverServices*)
+        // NetworkVarNames: m_pWaterServices (CPlayer_WaterServices*)
+        // NetworkVarNames: m_pUseServices (CPlayer_UseServices*)
+        // NetworkVarNames: m_pFlashlightServices (CPlayer_FlashlightServices*)
+        // NetworkVarNames: m_pCameraServices (CPlayer_CameraServices*)
+        // NetworkVarNames: m_pMovementServices (CPlayer_MovementServices*)
+        // MNetworkUserGroupProxy
+        // NetworkVarNames: m_ServerViewAngleChanges (ViewAngleServerChange_t)
+        // NetworkVarNames: m_iHideHUD (uint32)
+        // NetworkVarNames: m_skybox3d (sky3dparams_t)
+        // NetworkVarNames: m_flDeathTime (GameTime_t)
+        // NetworkVarNames: m_hController (CHandle<CBasePlayerController>)
+        public static class CBasePlayerPawn {
+            public const nint m_pWeaponServices = 0xAC0; // CPlayer_WeaponServices*
+            public const nint m_pItemServices = 0xAC8; // CPlayer_ItemServices*
+            public const nint m_pAutoaimServices = 0xAD0; // CPlayer_AutoaimServices*
+            public const nint m_pObserverServices = 0xAD8; // CPlayer_ObserverServices*
+            public const nint m_pWaterServices = 0xAE0; // CPlayer_WaterServices*
+            public const nint m_pUseServices = 0xAE8; // CPlayer_UseServices*
+            public const nint m_pFlashlightServices = 0xAF0; // CPlayer_FlashlightServices*
+            public const nint m_pCameraServices = 0xAF8; // CPlayer_CameraServices*
+            public const nint m_pMovementServices = 0xB00; // CPlayer_MovementServices*
+            public const nint m_ServerViewAngleChanges = 0xB10; // CUtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
+            public const nint m_nHighestGeneratedServerViewAngleChangeIndex = 0xB60; // uint32
+            public const nint v_angle = 0xB64; // QAngle
+            public const nint v_anglePrevious = 0xB70; // QAngle
+            public const nint m_iHideHUD = 0xB7C; // uint32
+            public const nint m_skybox3d = 0xB80; // sky3dparams_t
+            public const nint m_fTimeLastHurt = 0xC10; // GameTime_t
+            public const nint m_flDeathTime = 0xC14; // GameTime_t
+            public const nint m_fNextSuicideTime = 0xC18; // GameTime_t
+            public const nint m_fInitHUD = 0xC1C; // bool
+            public const nint m_pExpresser = 0xC20; // CAI_Expresser*
+            public const nint m_hController = 0xC28; // CHandle<CBasePlayerController>
+            public const nint m_fHltvReplayDelay = 0xC30; // float32
+            public const nint m_fHltvReplayEnd = 0xC34; // float32
+            public const nint m_iHltvReplayEntity = 0xC38; // CEntityIndex
+            public const nint m_sndOpvarLatchData = 0xC40; // CUtlVector<sndopvarlatchdata_t>
+        }
+        // Parent: CBaseTrigger
+        // Field count: 16
+        //
+        // Metadata:
+        // NetworkVarNames: m_hPostSettings (HPostProcessingStrong)
+        // NetworkVarNames: m_flFadeDuration (float)
+        // NetworkVarNames: m_flMinLogExposure (float)
+        // NetworkVarNames: m_flMaxLogExposure (float)
+        // NetworkVarNames: m_flMinExposure (float)
+        // NetworkVarNames: m_flMaxExposure (float)
+        // NetworkVarNames: m_flExposureCompensation (float)
+        // NetworkVarNames: m_flExposureFadeSpeedUp (float)
+        // NetworkVarNames: m_flExposureFadeSpeedDown (float)
+        // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+        // NetworkVarNames: m_bMaster (bool)
+        // NetworkVarNames: m_bExposureControl (bool)
+        // NetworkVarNames: m_flRate (float)
+        // NetworkVarNames: m_flTonemapPercentTarget (float)
+        // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+        // NetworkVarNames: m_flTonemapMinAvgLum (float)
+        public static class CPostProcessingVolume {
+            public const nint m_hPostSettings = 0x970; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+            public const nint m_flFadeDuration = 0x978; // float32
+            public const nint m_flMinLogExposure = 0x97C; // float32
+            public const nint m_flMaxLogExposure = 0x980; // float32
+            public const nint m_flMinExposure = 0x984; // float32
+            public const nint m_flMaxExposure = 0x988; // float32
+            public const nint m_flExposureCompensation = 0x98C; // float32
+            public const nint m_flExposureFadeSpeedUp = 0x990; // float32
+            public const nint m_flExposureFadeSpeedDown = 0x994; // float32
+            public const nint m_flTonemapEVSmoothingRange = 0x998; // float32
+            public const nint m_bMaster = 0x99C; // bool
+            public const nint m_bExposureControl = 0x99D; // bool
+            public const nint m_flRate = 0x9A0; // float32
+            public const nint m_flTonemapPercentTarget = 0x9A4; // float32
+            public const nint m_flTonemapPercentBrightPixels = 0x9A8; // float32
+            public const nint m_flTonemapMinAvgLum = 0x9AC; // float32
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_flLightScale (float32)
+        // NetworkVarNames: m_Radius (float32)
+        public static class CSpotlightEnd {
+            public const nint m_flLightScale = 0x790; // float32
+            public const nint m_Radius = 0x794; // float32
+            public const nint m_vSpotlightDir = 0x798; // Vector
+            public const nint m_vSpotlightOrg = 0x7A4; // Vector
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 1
+        public static class CRuleEntity {
+            public const nint m_iszMaster = 0x790; // CUtlSymbolLarge
+        }
+        // Parent: CBaseEntity
+        // Field count: 8
+        //
+        // Metadata:
+        // NetworkVarNames: m_nVariant (int)
+        // NetworkVarNames: m_nRandom (int)
+        // NetworkVarNames: m_nOrdinal (int)
+        // NetworkVarNames: m_sWeaponName (CUtlString)
+        // NetworkVarNames: m_xuid (XUID)
+        // NetworkVarNames: m_agentItem (CEconItemView)
+        // NetworkVarNames: m_glovesItem (CEconItemView)
+        // NetworkVarNames: m_weaponItem (CEconItemView)
+        public static class CCSGO_TeamPreviewCharacterPosition {
+            public const nint m_nVariant = 0x4E0; // int32
+            public const nint m_nRandom = 0x4E4; // int32
+            public const nint m_nOrdinal = 0x4E8; // int32
+            public const nint m_sWeaponName = 0x4F0; // CUtlString
+            public const nint m_xuid = 0x4F8; // uint64
+            public const nint m_agentItem = 0x500; // CEconItemView
+            public const nint m_glovesItem = 0x778; // CEconItemView
+            public const nint m_weaponItem = 0x9F0; // CEconItemView
+        }
+        // Parent: CBaseTrigger
+        // Field count: 1
+        public static class CTriggerDetectExplosion {
+            public const nint m_OnDetectedExplosion = 0x988; // CEntityIOOutput
+        }
+        // Parent: CLogicalEntity
+        // Field count: 1
+        public static class CSoundStackSave {
+            public const nint m_iszStackName = 0x4E0; // CUtlSymbolLarge
+        }
+        // Parent: CPhysConstraint
+        // Field count: 18
+        public static class CPhysHinge {
+            public const nint m_soundInfo = 0x560; // ConstraintSoundInfo
+            public const nint m_NotifyMinLimitReached = 0x5E8; // CEntityIOOutput
+            public const nint m_NotifyMaxLimitReached = 0x610; // CEntityIOOutput
+            public const nint m_bAtMinLimit = 0x638; // bool
+            public const nint m_bAtMaxLimit = 0x639; // bool
+            public const nint m_hinge = 0x63C; // constraint_hingeparams_t
+            public const nint m_hingeFriction = 0x67C; // float32
+            public const nint m_systemLoadScale = 0x680; // float32
+            public const nint m_bIsAxisLocal = 0x684; // bool
+            public const nint m_flMinRotation = 0x688; // float32
+            public const nint m_flMaxRotation = 0x68C; // float32
+            public const nint m_flInitialRotation = 0x690; // float32
+            public const nint m_flMotorFrequency = 0x694; // float32
+            public const nint m_flMotorDampingRatio = 0x698; // float32
+            public const nint m_flAngleSpeed = 0x69C; // float32
+            public const nint m_flAngleSpeedThreshold = 0x6A0; // float32
+            public const nint m_OnStartMoving = 0x6A8; // CEntityIOOutput
+            public const nint m_OnStopMoving = 0x6D0; // CEntityIOOutput
+        }
+        // Parent: CGameRules
+        // Field count: 1
+        public static class CSingleplayRules {
+            public const nint m_bSinglePlayerGameEnding = 0xC0; // bool
+        }
+        // Parent: CBaseFilter
+        // Field count: 1
+        public static class CFilterProximity {
+            public const nint m_flRadius = 0x538; // float32
+        }
+        // Parent: CEconEntity
+        // Field count: 2
+        public static class CEconWearable {
+            public const nint m_nForceSkin = 0xD30; // int32
+            public const nint m_bAlwaysAllow = 0xD34; // bool
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_ItemServices {
+        }
+        // Parent: CBaseModelEntity
+        // Field count: 9
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // MNetworkOverride
+        // NetworkVarNames: m_vecMoveDirEntitySpace (Vector)
+        // NetworkVarNames: m_flTargetSpeed (float32)
+        // NetworkVarNames: m_nTransitionStartTick (GameTick_t)
+        // NetworkVarNames: m_nTransitionDurationTicks (int)
+        // NetworkVarNames: m_flTransitionStartSpeed (float32)
+        // NetworkVarNames: m_hConveyorModels (EHANDLE)
+        public static class CFuncConveyor {
+            public const nint m_szConveyorModels = 0x790; // CUtlSymbolLarge
+            public const nint m_flTransitionDurationSeconds = 0x798; // float32
+            public const nint m_angMoveEntitySpace = 0x79C; // QAngle
+            public const nint m_vecMoveDirEntitySpace = 0x7A8; // Vector
+            public const nint m_flTargetSpeed = 0x7B4; // float32
+            public const nint m_nTransitionStartTick = 0x7B8; // GameTick_t
+            public const nint m_nTransitionDurationTicks = 0x7BC; // int32
+            public const nint m_flTransitionStartSpeed = 0x7C0; // float32
+            public const nint m_hConveyorModels = 0x7C8; // CNetworkUtlVectorBase<CHandle<CBaseEntity>>
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponMag7 {
+        }
+        // Parent: CLogicalEntity
+        // Field count: 11
+        public static class CMathCounter {
+            public const nint m_flMin = 0x4E0; // float32
+            public const nint m_flMax = 0x4E4; // float32
+            public const nint m_bHitMin = 0x4E8; // bool
+            public const nint m_bHitMax = 0x4E9; // bool
+            public const nint m_bDisabled = 0x4EA; // bool
+            public const nint m_OutValue = 0x4F0; // CEntityOutputTemplate<float32>
+            public const nint m_OnGetValue = 0x518; // CEntityOutputTemplate<float32>
+            public const nint m_OnHitMin = 0x540; // CEntityIOOutput
+            public const nint m_OnHitMax = 0x568; // CEntityIOOutput
+            public const nint m_OnChangedFromMin = 0x590; // CEntityIOOutput
+            public const nint m_OnChangedFromMax = 0x5B8; // CEntityIOOutput
+        }
+        // Parent: CBaseEntity
+        // Field count: 7
+        //
+        // Metadata:
+        // NetworkVarNames: m_worldName (string_t)
+        // NetworkVarNames: m_layerName (string_t)
+        // NetworkVarNames: m_bWorldLayerVisible (bool)
+        // NetworkVarNames: m_bEntitiesSpawned (bool)
+        public static class CInfoWorldLayer {
+            public const nint m_pOutputOnEntitiesSpawned = 0x4E0; // CEntityIOOutput
+            public const nint m_worldName = 0x508; // CUtlSymbolLarge
+            public const nint m_layerName = 0x510; // CUtlSymbolLarge
+            public const nint m_bWorldLayerVisible = 0x518; // bool
+            public const nint m_bEntitiesSpawned = 0x519; // bool
+            public const nint m_bCreateAsChildSpawnGroup = 0x51A; // bool
+            public const nint m_hLayerSpawnGroup = 0x51C; // uint32
+        }
+        // Parent: CBarnLight
+        // Field count: 1
+        //
+        // Metadata:
+        // NetworkVarNames: m_bShowLight (bool)
+        public static class CRectLight {
+            public const nint m_bShowLight = 0xAB0; // bool
+        }
+        // Parent: CCSGO_TeamSelectCharacterPosition
+        // Field count: 0
+        public static class CCSGO_TeamSelectTerroristPosition {
+        }
+        // Parent: CBaseDoor
+        // Field count: 1
+        public static class CRotDoor {
+            public const nint m_bSolidBsp = 0xA18; // bool
+        }
+        // Parent: CLogicalEntity
+        // Field count: 4
+        public static class CLogicLineToEntity {
+            public const nint m_Line = 0x4E0; // CEntityOutputTemplate<Vector>
+            public const nint m_SourceName = 0x508; // CUtlSymbolLarge
+            public const nint m_StartEntity = 0x510; // CHandle<CBaseEntity>
+            public const nint m_EndEntity = 0x514; // CHandle<CBaseEntity>
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // NetworkVarNames: m_nTotalPausedTicks (int)
+        // NetworkVarNames: m_nPauseStartTick (int)
+        // NetworkVarNames: m_bGamePaused (bool)
+        public static class CGameRules {
+            public const nint __m_pChainEntity = 0x8; // CNetworkVarChainer
+            public const nint m_szQuestName = 0x30; // char[128]
+            public const nint m_nQuestPhase = 0xB0; // int32
+            public const nint m_nTotalPausedTicks = 0xB4; // int32
+            public const nint m_nPauseStartTick = 0xB8; // int32
+            public const nint m_bGamePaused = 0xBC; // bool
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // NetworkVarNames: m_pEntity (CEntityIdentity*)
+        // NetworkVarNames: m_CScriptComponent (CScriptComponent::Storage_t)
+        public static class CEntityInstance {
+            public const nint m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge
+            public const nint m_pEntity = 0x10; // CEntityIdentity*
+            public const nint m_CScriptComponent = 0x28; // CScriptComponent*
+            public const nint m_bVisibleinPVS = 0x30; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 18
+        //
+        // Metadata:
+        // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+        // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+        // NetworkVarNames: m_Entity_flInfluenceRadius (float)
+        // NetworkVarNames: m_Entity_vBoxProjectMins (Vector)
+        // NetworkVarNames: m_Entity_vBoxProjectMaxs (Vector)
+        // NetworkVarNames: m_Entity_bMoveable (bool)
+        // NetworkVarNames: m_Entity_nHandshake (int)
+        // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+        // NetworkVarNames: m_Entity_nPriority (int)
+        // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+        // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+        // NetworkVarNames: m_Entity_flDiffuseScale (float)
+        // NetworkVarNames: m_Entity_bStartDisabled (bool)
+        // NetworkVarNames: m_Entity_bDefaultEnvMap (bool)
+        // NetworkVarNames: m_Entity_bDefaultSpecEnvMap (bool)
+        // NetworkVarNames: m_Entity_bIndoorCubeMap (bool)
+        // NetworkVarNames: m_Entity_bCopyDiffuseFromDefaultCubemap (bool)
+        // NetworkVarNames: m_Entity_bEnabled (bool)
+        public static class CEnvCubemap {
+            public const nint m_Entity_hCubemapTexture = 0x560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            public const nint m_Entity_bCustomCubemapTexture = 0x568; // bool
+            public const nint m_Entity_flInfluenceRadius = 0x56C; // float32
+            public const nint m_Entity_vBoxProjectMins = 0x570; // Vector
+            public const nint m_Entity_vBoxProjectMaxs = 0x57C; // Vector
+            public const nint m_Entity_bMoveable = 0x588; // bool
+            public const nint m_Entity_nHandshake = 0x58C; // int32
+            public const nint m_Entity_nEnvCubeMapArrayIndex = 0x590; // int32
+            public const nint m_Entity_nPriority = 0x594; // int32
+            public const nint m_Entity_flEdgeFadeDist = 0x598; // float32
+            public const nint m_Entity_vEdgeFadeDists = 0x59C; // Vector
+            public const nint m_Entity_flDiffuseScale = 0x5A8; // float32
+            public const nint m_Entity_bStartDisabled = 0x5AC; // bool
+            public const nint m_Entity_bDefaultEnvMap = 0x5AD; // bool
+            public const nint m_Entity_bDefaultSpecEnvMap = 0x5AE; // bool
+            public const nint m_Entity_bIndoorCubeMap = 0x5AF; // bool
+            public const nint m_Entity_bCopyDiffuseFromDefaultCubemap = 0x5B0; // bool
+            public const nint m_Entity_bEnabled = 0x5C0; // bool
+        }
+        // Parent: None
+        // Field count: 3
+        public static class ServerAuthoritativeWeaponSlot_t {
+            public const nint unClass = 0x28; // uint16
+            public const nint unSlot = 0x2A; // uint16
+            public const nint unItemDefIdx = 0x2C; // uint16
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CCSPlayer_DamageReactServices {
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // NetworkVarNames: m_nMatchSeed (int)
+        // NetworkVarNames: m_bBlockersPresent (bool)
+        // NetworkVarNames: m_bRoundInProgress (bool)
+        // NetworkVarNames: m_iFirstSecondHalfRound (int)
+        // NetworkVarNames: m_iBombSite (int)
+        public static class CRetakeGameRules {
+            public const nint m_nMatchSeed = 0xF8; // int32
+            public const nint m_bBlockersPresent = 0xFC; // bool
+            public const nint m_bRoundInProgress = 0xFD; // bool
+            public const nint m_iFirstSecondHalfRound = 0x100; // int32
+            public const nint m_iBombSite = 0x104; // int32
+        }
+        // Parent: CBaseEntity
+        // Field count: 17
+        //
+        // Metadata:
+        // MNetworkIncludeByUserGroup
+        // NetworkVarNames: m_flFadeInDuration (float32)
+        // NetworkVarNames: m_flFadeOutDuration (float32)
+        // NetworkVarNames: m_flMaxWeight (float32)
+        // NetworkVarNames: m_bEnabled (bool)
+        // NetworkVarNames: m_bMaster (bool)
+        // NetworkVarNames: m_bClientSide (bool)
+        // NetworkVarNames: m_bExclusive (bool)
+        // NetworkVarNames: m_MinFalloff (float32)
+        // NetworkVarNames: m_MaxFalloff (float32)
+        // NetworkVarNames: m_flCurWeight (float32)
+        // NetworkVarNames: m_netlookupFilename (char)
+        public static class CColorCorrection {
+            public const nint m_flFadeInDuration = 0x4E0; // float32
+            public const nint m_flFadeOutDuration = 0x4E4; // float32
+            public const nint m_flStartFadeInWeight = 0x4E8; // float32
+            public const nint m_flStartFadeOutWeight = 0x4EC; // float32
+            public const nint m_flTimeStartFadeIn = 0x4F0; // GameTime_t
+            public const nint m_flTimeStartFadeOut = 0x4F4; // GameTime_t
+            public const nint m_flMaxWeight = 0x4F8; // float32
+            public const nint m_bStartDisabled = 0x4FC; // bool
+            public const nint m_bEnabled = 0x4FD; // bool
+            public const nint m_bMaster = 0x4FE; // bool
+            public const nint m_bClientSide = 0x4FF; // bool
+            public const nint m_bExclusive = 0x500; // bool
+            public const nint m_MinFalloff = 0x504; // float32
+            public const nint m_MaxFalloff = 0x508; // float32
+            public const nint m_flCurWeight = 0x50C; // float32
+            public const nint m_netlookupFilename = 0x510; // char[512]
+            public const nint m_lookupFilename = 0x710; // CUtlSymbolLarge
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponElite {
+        }
+        // Parent: CSoundEventEntity
+        // Field count: 0
+        public static class CSoundEventEntityAlias_snd_event_point {
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MPulseProvideFeatureTag
+        // MPulseLibraryBindings
+        public static class CBaseEntityAPI {
+        }
+        // Parent: CCSWeaponBase
+        // Field count: 11
+        //
+        // Metadata:
+        // NetworkVarNames: m_bStartedArming (bool)
+        // NetworkVarNames: m_fArmedTime (GameTime_t)
+        // NetworkVarNames: m_bBombPlacedAnimation (bool)
+        // NetworkVarNames: m_bIsPlantingViaUse (bool)
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        public static class CC4 {
+            public const nint m_vecLastValidPlayerHeldPosition = 0xF98; // Vector
+            public const nint m_vecLastValidDroppedPosition = 0xFA4; // Vector
+            public const nint m_bDoValidDroppedPositionCheck = 0xFB0; // bool
+            public const nint m_bStartedArming = 0xFB1; // bool
+            public const nint m_fArmedTime = 0xFB4; // GameTime_t
+            public const nint m_bBombPlacedAnimation = 0xFB8; // bool
+            public const nint m_bIsPlantingViaUse = 0xFB9; // bool
+            public const nint m_entitySpottedState = 0xFC0; // EntitySpottedState_t
+            public const nint m_nSpotRules = 0xFD8; // int32
+            public const nint m_bPlayedArmingBeeps = 0xFDC; // bool[7]
+            public const nint m_bBombPlanted = 0xFE3; // bool
+        }
+        // Parent: CHostageRescueZoneShim
+        // Field count: 0
+        public static class CHostageRescueZone {
+        }
+        // Parent: CServerOnlyPointEntity
+        // Field count: 6
+        public static class CPointPrefab {
+            public const nint m_targetMapName = 0x4E0; // CUtlSymbolLarge
+            public const nint m_forceWorldGroupID = 0x4E8; // CUtlSymbolLarge
+            public const nint m_associatedRelayTargetName = 0x4F0; // CUtlSymbolLarge
+            public const nint m_fixupNames = 0x4F8; // bool
+            public const nint m_bLoadDynamic = 0x4F9; // bool
+            public const nint m_associatedRelayEntity = 0x4FC; // CHandle<CPointPrefab>
+        }
+        // Parent: CBaseToggle
+        // Field count: 27
+        //
+        // Metadata:
+        // NetworkVarNames: m_bIsUsable (bool)
+        public static class CBaseDoor {
+            public const nint m_angMoveEntitySpace = 0x820; // QAngle
+            public const nint m_vecMoveDirParentSpace = 0x82C; // Vector
+            public const nint m_ls = 0x838; // locksound_t
+            public const nint m_bForceClosed = 0x858; // bool
+            public const nint m_bDoorGroup = 0x859; // bool
+            public const nint m_bLocked = 0x85A; // bool
+            public const nint m_bIgnoreDebris = 0x85B; // bool
+            public const nint m_eSpawnPosition = 0x85C; // FuncDoorSpawnPos_t
+            public const nint m_flBlockDamage = 0x860; // float32
+            public const nint m_NoiseMoving = 0x868; // CUtlSymbolLarge
+            public const nint m_NoiseArrived = 0x870; // CUtlSymbolLarge
+            public const nint m_NoiseMovingClosed = 0x878; // CUtlSymbolLarge
+            public const nint m_NoiseArrivedClosed = 0x880; // CUtlSymbolLarge
+            public const nint m_ChainTarget = 0x888; // CUtlSymbolLarge
+            public const nint m_OnBlockedClosing = 0x890; // CEntityIOOutput
+            public const nint m_OnBlockedOpening = 0x8B8; // CEntityIOOutput
+            public const nint m_OnUnblockedClosing = 0x8E0; // CEntityIOOutput
+            public const nint m_OnUnblockedOpening = 0x908; // CEntityIOOutput
+            public const nint m_OnFullyClosed = 0x930; // CEntityIOOutput
+            public const nint m_OnFullyOpen = 0x958; // CEntityIOOutput
+            public const nint m_OnClose = 0x980; // CEntityIOOutput
+            public const nint m_OnOpen = 0x9A8; // CEntityIOOutput
+            public const nint m_OnLockedUse = 0x9D0; // CEntityIOOutput
+            public const nint m_bLoopMoveSound = 0x9F8; // bool
+            public const nint m_bCreateNavObstacle = 0xA10; // bool
+            public const nint m_isChaining = 0xA11; // bool
+            public const nint m_bIsUsable = 0xA12; // bool
+        }
+        // Parent: None
+        // Field count: 33
+        //
+        // Metadata:
+        // NetworkVarNames: m_hParent (CGameSceneNodeHandle)
+        // NetworkVarNames: m_vecOrigin (CNetworkOriginCellCoordQuantizedVector)
+        // NetworkVarNames: m_angRotation (QAngle)
+        // NetworkVarNames: m_flScale (float)
+        // NetworkVarNames: m_name (CUtlStringToken)
+        // NetworkVarNames: m_hierarchyAttachName (CUtlStringToken)
+        public static class CGameSceneNode {
+            public const nint m_nodeToWorld = 0x10; // CTransform
+            public const nint m_pOwner = 0x30; // CEntityInstance*
+            public const nint m_pParent = 0x38; // CGameSceneNode*
+            public const nint m_pChild = 0x40; // CGameSceneNode*
+            public const nint m_pNextSibling = 0x48; // CGameSceneNode*
+            public const nint m_hParent = 0x78; // CGameSceneNodeHandle
+            public const nint m_vecOrigin = 0x88; // CNetworkOriginCellCoordQuantizedVector
+            public const nint m_angRotation = 0xC0; // QAngle
+            public const nint m_flScale = 0xCC; // float32
+            public const nint m_vecAbsOrigin = 0xD0; // Vector
+            public const nint m_angAbsRotation = 0xDC; // QAngle
+            public const nint m_flAbsScale = 0xE8; // float32
+            public const nint m_nParentAttachmentOrBone = 0xEC; // int16
+            public const nint m_bDebugAbsOriginChanges = 0xEE; // bool
+            public const nint m_bDormant = 0xEF; // bool
+            public const nint m_bForceParentToBeNetworked = 0xF0; // bool
+            public const nint m_bDirtyHierarchy = 0x0; // bitfield:1
+            public const nint m_bDirtyBoneMergeInfo = 0x0; // bitfield:1
+            public const nint m_bNetworkedPositionChanged = 0x0; // bitfield:1
+            public const nint m_bNetworkedAnglesChanged = 0x0; // bitfield:1
+            public const nint m_bNetworkedScaleChanged = 0x0; // bitfield:1
+            public const nint m_bWillBeCallingPostDataUpdate = 0x0; // bitfield:1
+            public const nint m_bBoneMergeFlex = 0x0; // bitfield:1
+            public const nint m_nLatchAbsOrigin = 0x0; // bitfield:2
+            public const nint m_bDirtyBoneMergeBoneToRoot = 0x0; // bitfield:1
+            public const nint m_nHierarchicalDepth = 0xF3; // uint8
+            public const nint m_nHierarchyType = 0xF4; // uint8
+            public const nint m_nDoNotSetAnimTimeInInvalidatePhysicsCount = 0xF5; // uint8
+            public const nint m_name = 0xF8; // CUtlStringToken
+            public const nint m_hierarchyAttachName = 0x138; // CUtlStringToken
+            public const nint m_flZOffset = 0x13C; // float32
+            public const nint m_flClientLocalScale = 0x140; // float32
+            public const nint m_vRenderOrigin = 0x144; // Vector
+        }
+        // Parent: CPointEntity
+        // Field count: 7
+        public static class CTankTrainAI {
+            public const nint m_hTrain = 0x4E0; // CHandle<CFuncTrackTrain>
+            public const nint m_hTargetEntity = 0x4E4; // CHandle<CBaseEntity>
+            public const nint m_soundPlaying = 0x4E8; // int32
+            public const nint m_startSoundName = 0x500; // CUtlSymbolLarge
+            public const nint m_engineSoundName = 0x508; // CUtlSymbolLarge
+            public const nint m_movementSoundName = 0x510; // CUtlSymbolLarge
+            public const nint m_targetEntityName = 0x518; // CUtlSymbolLarge
+        }
+        // Parent: CBaseEntity
+        // Field count: 4
+        public static class CGameGibManager {
+            public const nint m_bAllowNewGibs = 0x500; // bool
+            public const nint m_iCurrentMaxPieces = 0x504; // int32
+            public const nint m_iMaxPieces = 0x508; // int32
+            public const nint m_iLastFrame = 0x50C; // int32
+        }
+        // Parent: CBasePulseGraphInstance
+        // Field count: 1
+        //
+        // Metadata:
+        // MPulseInstanceDomainInfo
+        // MPulseDomainHookInfo
+        // MPulseLibraryBindings
+        // MPulseDomainOptInFeatureTag
+        public static class CCSPointScript {
+            public const nint m_pParent = 0xF8; // CCSPointScriptEntity*
+        }
+        // Parent: CRagdollProp
+        // Field count: 0
+        public static class CRagdollPropAlias_physics_prop_ragdoll {
+        }
+        // Parent: CSprite
+        // Field count: 0
+        public static class CCSSprite {
+        }
+        // Parent: CBaseEntity
+        // Field count: 0
+        public static class CFuncPropRespawnZone {
+        }
+        // Parent: CServerOnlyPointEntity
+        // Field count: 3
+        public static class SpawnPoint {
+            public const nint m_iPriority = 0x4E0; // int32
+            public const nint m_bEnabled = 0x4E4; // bool
+            public const nint m_nType = 0x4E8; // int32
+        }
+        // Parent: CCSWeaponBaseGun
+        // Field count: 0
+        public static class CWeaponSCAR20 {
+        }
+        // Parent: CFuncPlat
+        // Field count: 2
+        public static class CFuncPlatRot {
+            public const nint m_end = 0x840; // QAngle
+            public const nint m_start = 0x84C; // QAngle
+        }
+        // Parent: CPointEntity
+        // Field count: 5
+        public static class CEnvSpark {
+            public const nint m_flDelay = 0x4E0; // float32
+            public const nint m_nMagnitude = 0x4E4; // int32
+            public const nint m_nTrailLength = 0x4E8; // int32
+            public const nint m_nType = 0x4EC; // int32
+            public const nint m_OnSpark = 0x4F0; // CEntityIOOutput
+        }
+        // Parent: CPlayer_ObserverServices
+        // Field count: 0
+        public static class CCSObserver_ObserverServices {
+        }
+        // Parent: CPlayerPawnComponent
+        // Field count: 0
+        public static class CPlayer_AutoaimServices {
+        }
+        // Parent: CBasePlatTrain
+        // Field count: 6
+        public static class CFuncTrain {
+            public const nint m_hCurrentTarget = 0x838; // CHandle<CBaseEntity>
+            public const nint m_activated = 0x83C; // bool
+            public const nint m_hEnemy = 0x840; // CHandle<CBaseEntity>
+            public const nint m_flBlockDamage = 0x844; // float32
+            public const nint m_flNextBlockTime = 0x848; // GameTime_t
+            public const nint m_iszLastTarget = 0x850; // CUtlSymbolLarge
+        }
+        // Parent: CHostageExpresserShim
+        // Field count: 39
+        //
+        // Metadata:
+        // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // NetworkVarNames: m_vel (Vector)
+        // NetworkVarNames: m_isRescued (bool)
+        // NetworkVarNames: m_jumpedThisFrame (bool)
+        // NetworkVarNames: m_nHostageState (int)
+        // NetworkVarNames: m_leader (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_reuseTimer (CountdownTimer)
+        // NetworkVarNames: m_bHandsHaveBeenCut (bool)
+        // NetworkVarNames: m_hHostageGrabber (CHandle<CCSPlayerPawn>)
+        // NetworkVarNames: m_flRescueStartTime (GameTime_t)
+        // NetworkVarNames: m_flGrabSuccessTime (GameTime_t)
+        // NetworkVarNames: m_flDropStartTime (GameTime_t)
+        public static class CHostage {
+            public const nint m_OnHostageBeginGrab = 0xAD8; // CEntityIOOutput
+            public const nint m_OnFirstPickedUp = 0xB00; // CEntityIOOutput
+            public const nint m_OnDroppedNotRescued = 0xB28; // CEntityIOOutput
+            public const nint m_OnRescued = 0xB50; // CEntityIOOutput
+            public const nint m_entitySpottedState = 0xB78; // EntitySpottedState_t
+            public const nint m_nSpotRules = 0xB90; // int32
+            public const nint m_uiHostageSpawnExclusionGroupMask = 0xB94; // uint32
+            public const nint m_nHostageSpawnRandomFactor = 0xB98; // uint32
+            public const nint m_bRemove = 0xB9C; // bool
+            public const nint m_vel = 0xBA0; // Vector
+            public const nint m_isRescued = 0xBAC; // bool
+            public const nint m_jumpedThisFrame = 0xBAD; // bool
+            public const nint m_nHostageState = 0xBB0; // int32
+            public const nint m_leader = 0xBB4; // CHandle<CBaseEntity>
+            public const nint m_lastLeader = 0xBB8; // CHandle<CCSPlayerPawnBase>
+            public const nint m_reuseTimer = 0xBC0; // CountdownTimer
+            public const nint m_hasBeenUsed = 0xBD8; // bool
+            public const nint m_accel = 0xBDC; // Vector
+            public const nint m_isRunning = 0xBE8; // bool
+            public const nint m_isCrouching = 0xBE9; // bool
+            public const nint m_jumpTimer = 0xBF0; // CountdownTimer
+            public const nint m_isWaitingForLeader = 0xC08; // bool
+            public const nint m_repathTimer = 0x2C18; // CountdownTimer
+            public const nint m_inhibitDoorTimer = 0x2C30; // CountdownTimer
+            public const nint m_inhibitObstacleAvoidanceTimer = 0x2CC0; // CountdownTimer
+            public const nint m_wiggleTimer = 0x2CE0; // CountdownTimer
+            public const nint m_isAdjusted = 0x2CFC; // bool
+            public const nint m_bHandsHaveBeenCut = 0x2CFD; // bool
+            public const nint m_hHostageGrabber = 0x2D00; // CHandle<CCSPlayerPawn>
+            public const nint m_fLastGrabTime = 0x2D04; // GameTime_t
+            public const nint m_vecPositionWhenStartedDroppingToGround = 0x2D08; // Vector
+            public const nint m_vecGrabbedPos = 0x2D14; // Vector
+            public const nint m_flRescueStartTime = 0x2D20; // GameTime_t
+            public const nint m_flGrabSuccessTime = 0x2D24; // GameTime_t
+            public const nint m_flDropStartTime = 0x2D28; // GameTime_t
+            public const nint m_nApproachRewardPayouts = 0x2D2C; // int32
+            public const nint m_nPickupEventCount = 0x2D30; // int32
+            public const nint m_vecSpawnGroundPos = 0x2D34; // Vector
+            public const nint m_vecHostageResetPosition = 0x2D54; // Vector
+        }
+        // Parent: CPointEntity
+        // Field count: 13
+        public static class CNavLinkAreaEntity {
+            public const nint m_flWidth = 0x4E0; // float32
+            public const nint m_vLocatorOffset = 0x4E4; // Vector
+            public const nint m_qLocatorAnglesOffset = 0x4F0; // QAngle
+            public const nint m_strMovementForward = 0x500; // CUtlSymbolLarge
+            public const nint m_strMovementReverse = 0x508; // CUtlSymbolLarge
+            public const nint m_nNavLinkIdForward = 0x510; // int32
+            public const nint m_nNavLinkIdReverse = 0x514; // int32
+            public const nint m_bEnabled = 0x518; // bool
+            public const nint m_strFilterName = 0x520; // CUtlSymbolLarge
+            public const nint m_hFilter = 0x528; // CHandle<CBaseFilter>
+            public const nint m_OnNavLinkStart = 0x530; // CEntityIOOutput
+            public const nint m_OnNavLinkFinish = 0x558; // CEntityIOOutput
+            public const nint m_bIsTerminus = 0x580; // bool
+        }
+        // Parent: CBaseToggle
+        // Field count: 12
+        //
+        // Metadata:
+        // MNetworkIncludeByName
+        // MNetworkIncludeByName
+        // MNetworkOverride
+        public static class CFuncMoveLinear {
+            public const nint m_authoredPosition = 0x810; // MoveLinearAuthoredPos_t
+            public const nint m_angMoveEntitySpace = 0x814; // QAngle
+            public const nint m_vecMoveDirParentSpace = 0x820; // Vector
+            public const nint m_soundStart = 0x830; // CUtlSymbolLarge
+            public const nint m_soundStop = 0x838; // CUtlSymbolLarge
+            public const nint m_currentSound = 0x840; // CUtlSymbolLarge
+            public const nint m_flBlockDamage = 0x848; // float32
+            public const nint m_flStartPosition = 0x84C; // float32
+            public const nint m_OnFullyOpen = 0x858; // CEntityIOOutput
+            public const nint m_OnFullyClosed = 0x880; // CEntityIOOutput
+            public const nint m_bCreateMovableNavMesh = 0x8A8; // bool
+            public const nint m_bCreateNavObstacle = 0x8A9; // bool
+        }
+        // Parent: CBaseEntity
+        // Field count: 3
+        public static class CCommentaryAuto {
+            public const nint m_OnCommentaryNewGame = 0x4E0; // CEntityIOOutput
+            public const nint m_OnCommentaryMidGame = 0x508; // CEntityIOOutput
+            public const nint m_OnCommentaryMultiplayerSpawn = 0x530; // CEntityIOOutput
+        }
+        // Parent: CPointEntity
+        // Field count: 9
+        public static class CMapInfo {
+            public const nint m_iBuyingStatus = 0x4E0; // int32
+            public const nint m_flBombRadius = 0x4E4; // float32
+            public const nint m_iPetPopulation = 0x4E8; // int32
+            public const nint m_bUseNormalSpawnsForDM = 0x4EC; // bool
+            public const nint m_bDisableAutoGeneratedDMSpawns = 0x4ED; // bool
+            public const nint m_flBotMaxVisionDistance = 0x4F0; // float32
+            public const nint m_iHostageCount = 0x4F4; // int32
+            public const nint m_bFadePlayerVisibilityFarZ = 0x4F8; // bool
+            public const nint m_bRainTraceToSkyEnabled = 0x4F9; // bool
+        }
+        // Parent: CBaseTrigger
+        // Field count: 0
+        public static class CTriggerBombReset {
+        }
+        // Parent: CEntityInstance
+        // Field count: 77
+        //
+        // Metadata:
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByUserGroup
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // MNetworkExcludeByName
+        // NetworkVarNames: m_CBodyComponent (CBodyComponent::Storage_t)
+        // NetworkVarNames: m_iHealth (int32)
+        // NetworkVarNames: m_iMaxHealth (int32)
+        // NetworkVarNames: m_lifeState (uint8)
+        // NetworkVarNames: m_bTakesDamage (bool)
+        // NetworkVarNames: m_nTakeDamageFlags (TakeDamageFlags_t)
+        // NetworkVarNames: m_nPlatformType (EntityPlatformTypes_t)
+        // NetworkVarNames: m_MoveCollide (MoveCollide_t)
+        // NetworkVarNames: m_MoveType (MoveType_t)
+        // NetworkVarNames: m_nSubclassID (EntitySubclassID_t)
+        // NetworkVarNames: m_flAnimTime (float32)
+        // NetworkVarNames: m_flSimulationTime (float32)
+        // NetworkVarNames: m_flCreateTime (GameTime_t)
+        // NetworkVarNames: m_bClientSideRagdoll (bool)
+        // NetworkVarNames: m_ubInterpolationFrame (uint8)
+        // NetworkVarNames: m_iTeamNum (uint8)
+        // NetworkVarNames: m_flSpeed (float)
+        // NetworkVarNames: m_spawnflags (uint32)
+        // NetworkVarNames: m_nNextThinkTick (GameTick_t)
+        // NetworkVarNames: m_fFlags (uint32)
+        // NetworkVarNames: m_vecVelocity (CNetworkVelocityVector)
+        // NetworkVarNames: m_vecBaseVelocity (Vector)
+        // NetworkVarNames: m_hEffectEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_hOwnerEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_fEffects (uint32)
+        // NetworkVarNames: m_hGroundEntity (CHandle<CBaseEntity>)
+        // NetworkVarNames: m_nGroundBodyIndex (int)
+        // NetworkVarNames: m_flFriction (float32)
+        // NetworkVarNames: m_flElasticity (float32)
+        // NetworkVarNames: m_flGravityScale (float32)
+        // NetworkVarNames: m_flTimeScale (float32)
+        // NetworkVarNames: m_flWaterLevel (float)
+        // NetworkVarNames: m_bAnimatedEveryTick (bool)
+        // NetworkVarNames: m_flNavIgnoreUntilTime (GameTime_t)
+        // NetworkVarNames: m_nBloodType (BloodType)
+        public static class CBaseEntity {
+            public const nint m_CBodyComponent = 0x38; // CBodyComponent*
+            public const nint m_NetworkTransmitComponent = 0x40; // CNetworkTransmitComponent
+            public const nint m_aThinkFunctions = 0x240; // CUtlVector<thinkfunc_t>
+            public const nint m_iCurrentThinkContext = 0x258; // int32
+            public const nint m_nLastThinkTick = 0x25C; // GameTick_t
+            public const nint m_bDisabledContextThinks = 0x260; // bool
+            public const nint m_isSteadyState = 0x270; // CTypedBitVec<64>
+            public const nint m_lastNetworkChange = 0x278; // float32
+            public const nint m_ResponseContexts = 0x288; // CUtlVector<ResponseContext_t>
+            public const nint m_iszResponseContext = 0x2A0; // CUtlSymbolLarge
+            public const nint m_iHealth = 0x2C8; // int32
+            public const nint m_iMaxHealth = 0x2CC; // int32
+            public const nint m_lifeState = 0x2D0; // uint8
+            public const nint m_flDamageAccumulator = 0x2D4; // float32
+            public const nint m_bTakesDamage = 0x2D8; // bool
+            public const nint m_nTakeDamageFlags = 0x2E0; // TakeDamageFlags_t
+            public const nint m_nPlatformType = 0x2E8; // EntityPlatformTypes_t
+            public const nint m_MoveCollide = 0x2EA; // MoveCollide_t
+            public const nint m_MoveType = 0x2EB; // MoveType_t
+            public const nint m_nActualMoveType = 0x2EC; // MoveType_t
+            public const nint m_nWaterTouch = 0x2ED; // uint8
+            public const nint m_nSlimeTouch = 0x2EE; // uint8
+            public const nint m_bRestoreInHierarchy = 0x2EF; // bool
+            public const nint m_target = 0x2F0; // CUtlSymbolLarge
+            public const nint m_hDamageFilter = 0x2F8; // CHandle<CBaseFilter>
+            public const nint m_iszDamageFilterName = 0x300; // CUtlSymbolLarge
+            public const nint m_flMoveDoneTime = 0x308; // float32
+            public const nint m_nSubclassID = 0x30C; // CUtlStringToken
+            public const nint m_flAnimTime = 0x318; // float32
+            public const nint m_flSimulationTime = 0x31C; // float32
+            public const nint m_flCreateTime = 0x320; // GameTime_t
+            public const nint m_bClientSideRagdoll = 0x324; // bool
+            public const nint m_ubInterpolationFrame = 0x325; // uint8
+            public const nint m_vPrevVPhysicsUpdatePos = 0x328; // Vector
+            public const nint m_iTeamNum = 0x334; // uint8
+            public const nint m_iGlobalname = 0x338; // CUtlSymbolLarge
+            public const nint m_iSentToClients = 0x340; // int32
+            public const nint m_flSpeed = 0x344; // float32
+            public const nint m_sUniqueHammerID = 0x348; // CUtlString
+            public const nint m_spawnflags = 0x350; // uint32
+            public const nint m_nNextThinkTick = 0x354; // GameTick_t
+            public const nint m_nSimulationTick = 0x358; // int32
+            public const nint m_OnKilled = 0x360; // CEntityIOOutput
+            public const nint m_fFlags = 0x388; // uint32
+            public const nint m_vecAbsVelocity = 0x38C; // Vector
+            public const nint m_vecVelocity = 0x398; // CNetworkVelocityVector
+            public const nint m_vecBaseVelocity = 0x3C8; // Vector
+            public const nint m_nPushEnumCount = 0x3D4; // int32
+            public const nint m_pCollision = 0x3D8; // CCollisionProperty*
+            public const nint m_hEffectEntity = 0x3E0; // CHandle<CBaseEntity>
+            public const nint m_hOwnerEntity = 0x3E4; // CHandle<CBaseEntity>
+            public const nint m_fEffects = 0x3E8; // uint32
+            public const nint m_hGroundEntity = 0x3EC; // CHandle<CBaseEntity>
+            public const nint m_nGroundBodyIndex = 0x3F0; // int32
+            public const nint m_flFriction = 0x3F4; // float32
+            public const nint m_flElasticity = 0x3F8; // float32
+            public const nint m_flGravityScale = 0x3FC; // float32
+            public const nint m_flTimeScale = 0x400; // float32
+            public const nint m_flWaterLevel = 0x404; // float32
+            public const nint m_bAnimatedEveryTick = 0x408; // bool
+            public const nint m_bDisableLowViolence = 0x409; // bool
+            public const nint m_nWaterType = 0x40A; // uint8
+            public const nint m_iEFlags = 0x40C; // int32
+            public const nint m_OnUser1 = 0x410; // CEntityIOOutput
+            public const nint m_OnUser2 = 0x438; // CEntityIOOutput
+            public const nint m_OnUser3 = 0x460; // CEntityIOOutput
+            public const nint m_OnUser4 = 0x488; // CEntityIOOutput
+            public const nint m_iInitialTeamNum = 0x4B0; // int32
+            public const nint m_flNavIgnoreUntilTime = 0x4B4; // GameTime_t
+            public const nint m_vecAngVelocity = 0x4B8; // QAngle
+            public const nint m_bNetworkQuantizeOriginAndAngles = 0x4C4; // bool
+            public const nint m_bLagCompensate = 0x4C5; // bool
+            public const nint m_flOverriddenFriction = 0x4C8; // float32
+            public const nint m_pBlocker = 0x4CC; // CHandle<CBaseEntity>
+            public const nint m_flLocalTime = 0x4D0; // float32
+            public const nint m_flVPhysicsUpdateLocalTime = 0x4D4; // float32
+            public const nint m_nBloodType = 0x4D8; // BloodType
+        }
+        // Parent: CLogicalEntity
+        // Field count: 9
+        public static class CLogicMeasureMovement {
+            public const nint m_strMeasureTarget = 0x4E0; // CUtlSymbolLarge
+            public const nint m_strMeasureReference = 0x4E8; // CUtlSymbolLarge
+            public const nint m_strTargetReference = 0x4F0; // CUtlSymbolLarge
+            public const nint m_hMeasureTarget = 0x4F8; // CHandle<CBaseEntity>
+            public const nint m_hMeasureReference = 0x4FC; // CHandle<CBaseEntity>
+            public const nint m_hTarget = 0x500; // CHandle<CBaseEntity>
+            public const nint m_hTargetReference = 0x504; // CHandle<CBaseEntity>
+            public const nint m_flScale = 0x508; // float32
+            public const nint m_nMeasureType = 0x50C; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // NetworkVarNames: nType (FixAngleSet_t)
+        // NetworkVarNames: qAngle (QAngle)
+        // NetworkVarNames: nIndex (uint32)
+        public static class ViewAngleServerChange_t {
+            public const nint nType = 0x30; // FixAngleSet_t
+            public const nint qAngle = 0x34; // QAngle
+            public const nint nIndex = 0x40; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // NetworkVarNames: m_Transforms (CTransform)
+        // NetworkVarNames: m_hOwner (EHANDLE)
+        public static class PhysicsRagdollPose_t {
+            public const nint m_Transforms = 0x8; // CNetworkUtlVectorBase<CTransform>
+            public const nint m_hOwner = 0x20; // CHandle<CBaseEntity>
+        }
+    }
+}
diff --git a/output/server_dll.hpp b/output/server_dll.hpp
new file mode 100644
index 0000000..203c978
--- /dev/null
+++ b/output/server_dll.hpp
@@ -0,0 +1,11075 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: server.dll
+        // Class count: 639
+        // Enum count: 139
+        namespace server_dll {
+            // Alignment: 4
+            // Member count: 3
+            enum class PropDoorRotatingOpenDirection_e : uint32_t {
+                DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0,
+                DOOR_ROTATING_OPEN_FORWARD = 0x1,
+                DOOR_ROTATING_OPEN_BACKWARD = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class SceneOnPlayerDeath_t : uint32_t {
+                SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0,
+                SCENE_ONPLAYERDEATH_CANCEL = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class LessonPanelLayoutFileTypes_t : uint32_t {
+                LAYOUT_HAND_DEFAULT = 0x0,
+                LAYOUT_WORLD_DEFAULT = 0x1,
+                LAYOUT_CUSTOM = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class TimelineCompression_t : uint32_t {
+                TIMELINE_COMPRESSION_SUM = 0x0,
+                TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1,
+                TIMELINE_COMPRESSION_AVERAGE = 0x2,
+                TIMELINE_COMPRESSION_AVERAGE_BLEND = 0x3,
+                TIMELINE_COMPRESSION_TOTAL = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class SubclassVDataChangeType_t : uint32_t {
+                SUBCLASS_VDATA_CREATED = 0x0,
+                SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1,
+                SUBCLASS_VDATA_RELOADED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class C4LightEffect_t : uint32_t {
+                eLightEffectNone = 0x0,
+                eLightEffectDropped = 0x1,
+                eLightEffectThirdPersonHeld = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class StanceType_t : uint32_t {
+                STANCE_CURRENT = 0xFFFFFFFFFFFFFFFF,
+                STANCE_DEFAULT = 0x0,
+                STANCE_CROUCHING = 0x1,
+                STANCE_PRONE = 0x2,
+                NUM_STANCES = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class Explosions : uint32_t {
+                expRandom = 0x0,
+                expDirected = 0x1,
+                expUsePrecise = 0x2
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class PreviewCharacterMode : uint32_t {
+                DIORAMA = 0x0,
+                MAIN_MENU = 0x1,
+                BUY_MENU = 0x2,
+                TEAM_SELECT = 0x3,
+                END_OF_MATCH = 0x4,
+                INVENTORY_INSPECT = 0x5,
+                WALKING = 0x6,
+                TEAM_INTRO = 0x7,
+                WINGMAN_INTRO = 0x8,
+                BANNER = 0x9
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ObserverInterpState_t : uint32_t {
+                OBSERVER_INTERP_NONE = 0x0,
+                OBSERVER_INTERP_TRAVELING = 0x1,
+                OBSERVER_INTERP_SETTLING = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class WorldTextPanelOrientation_t : uint32_t {
+                WORLDTEXT_ORIENTATION_DEFAULT = 0x0,
+                WORLDTEXT_ORIENTATION_FACEUSER = 0x1,
+                WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class WorldTextPanelHorizontalAlign_t : uint32_t {
+                WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0,
+                WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1,
+                WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class SequenceFinishNotifyState_t : uint8_t {
+                eDoNotNotify = 0x0,
+                eNotifyWhenFinished = 0x1,
+                eNotifyTriggered = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class SoundEventStartType_t : uint32_t {
+                SOUNDEVENT_START_PLAYER = 0x0,
+                SOUNDEVENT_START_WORLD = 0x1,
+                SOUNDEVENT_START_ENTITY = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class TrainOrientationType_t : uint32_t {
+                TrainOrientation_Fixed = 0x0,
+                TrainOrientation_AtPathTracks = 0x1,
+                TrainOrientation_LinearBlend = 0x2,
+                TrainOrientation_EaseInEaseOut = 0x3
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class CSWeaponCategory : uint32_t {
+                WEAPONCATEGORY_OTHER = 0x0,
+                WEAPONCATEGORY_MELEE = 0x1,
+                WEAPONCATEGORY_SECONDARY = 0x2,
+                WEAPONCATEGORY_SMG = 0x3,
+                WEAPONCATEGORY_RIFLE = 0x4,
+                WEAPONCATEGORY_HEAVY = 0x5,
+                WEAPONCATEGORY_COUNT = 0x6
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class BeginDeathLifeStateTransition_t : uint8_t {
+                NO_CHANGE_IN_LIFESTATE = 0x0,
+                TRANSITION_TO_LIFESTATE_DYING = 0x1,
+                TRANSITION_TO_LIFESTATE_DEAD = 0x2
+            };
+            // Alignment: 2
+            // Member count: 14
+            enum class SoundTypes_t : uint16_t {
+                SOUND_NONE = 0x0,
+                SOUND_COMBAT = 0x1,
+                SOUND_PLAYER = 0x2,
+                SOUND_DANGER = 0x3,
+                SOUND_BULLET_IMPACT = 0x4,
+                SOUND_THUMPER = 0x5,
+                SOUND_PHYSICS_DANGER = 0x6,
+                SOUND_MOVE_AWAY = 0x7,
+                SOUND_PLAYER_VEHICLE = 0x8,
+                SOUND_GLASS_BREAK = 0x9,
+                SOUND_PHYSICS_OBJECT = 0xA,
+                SOUND_WARN_FRIENDS = 0xB,
+                SOUND_FOOD = 0xC,
+                NUM_AI_SOUND_TYPES = 0xD
+            };
+            // Alignment: 4
+            // Member count: 24
+            enum class PlayerAnimEvent_t : uint32_t {
+                PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0,
+                PLAYERANIMEVENT_FIRE_GUN_SECONDARY = 0x1,
+                PLAYERANIMEVENT_GRENADE_PULL_PIN = 0x2,
+                PLAYERANIMEVENT_THROW_GRENADE = 0x3,
+                PLAYERANIMEVENT_JUMP = 0x4,
+                PLAYERANIMEVENT_RELOAD = 0x5,
+                PLAYERANIMEVENT_CLEAR_FIRING = 0x6,
+                PLAYERANIMEVENT_DEPLOY = 0x7,
+                PLAYERANIMEVENT_SILENCER_STATE = 0x8,
+                PLAYERANIMEVENT_SILENCER_TOGGLE = 0x9,
+                PLAYERANIMEVENT_THROW_GRENADE_UNDERHAND = 0xA,
+                PLAYERANIMEVENT_CATCH_WEAPON = 0xB,
+                PLAYERANIMEVENT_LOOKATWEAPON_REQUEST = 0xC,
+                PLAYERANIMEVENT_RELOAD_CANCEL_LOOKATWEAPON = 0xD,
+                PLAYERANIMEVENT_HAULBACK = 0xE,
+                PLAYERANIMEVENT_IDLE = 0xF,
+                PLAYERANIMEVENT_STRIKE_HIT = 0x10,
+                PLAYERANIMEVENT_STRIKE_MISS = 0x11,
+                PLAYERANIMEVENT_BACKSTAB = 0x12,
+                PLAYERANIMEVENT_DRYFIRE = 0x13,
+                PLAYERANIMEVENT_FIDGET = 0x14,
+                PLAYERANIMEVENT_RELEASE = 0x15,
+                PLAYERANIMEVENT_TAUNT = 0x16,
+                PLAYERANIMEVENT_COUNT = 0x17
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class ItemFlagTypes_t : uint8_t {
+                ITEM_FLAG_NONE = 0x0,
+                ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1,
+                ITEM_FLAG_NOAUTORELOAD = 0x2,
+                ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4,
+                ITEM_FLAG_LIMITINWORLD = 0x8,
+                ITEM_FLAG_EXHAUSTIBLE = 0x10,
+                ITEM_FLAG_DOHITLOCATIONDMG = 0x20,
+                ITEM_FLAG_NOAMMOPICKUPS = 0x40,
+                ITEM_FLAG_NOITEMPICKUP = 0x80
+            };
+            // Alignment: 1
+            // Member count: 10
+            enum class SurroundingBoundsType_t : uint8_t {
+                USE_OBB_COLLISION_BOUNDS = 0x0,
+                USE_BEST_COLLISION_BOUNDS = 0x1,
+                USE_HITBOXES = 0x2,
+                USE_SPECIFIED_BOUNDS = 0x3,
+                USE_GAME_CODE = 0x4,
+                USE_ROTATION_EXPANDED_BOUNDS = 0x5,
+                USE_ROTATION_EXPANDED_ORIENTED_BOUNDS = 0x6,
+                USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x7,
+                USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x8,
+                SURROUNDING_TYPE_BIT_COUNT = 0x3
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class LifeState_t : uint32_t {
+                LIFE_ALIVE = 0x0,
+                LIFE_DYING = 0x1,
+                LIFE_DEAD = 0x2,
+                LIFE_RESPAWNABLE = 0x3,
+                LIFE_RESPAWNING = 0x4
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class NPCFollowFormation_t : uint32_t {
+                Default = 0xFFFFFFFFFFFFFFFF,
+                CloseCircle = 0x0,
+                WideCircle = 0x1,
+                MediumCircle = 0x5,
+                Sidekick = 0x6
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class CSWeaponMode : uint32_t {
+                Primary_Mode = 0x0,
+                Secondary_Mode = 0x1,
+                WeaponMode_MAX = 0x2
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class OnFrame : uint8_t {
+                ONFRAME_UNKNOWN = 0x0,
+                ONFRAME_TRUE = 0x1,
+                ONFRAME_FALSE = 0x2
+            };
+            // Alignment: 4
+            // Member count: 12
+            enum class Materials : uint32_t {
+                matGlass = 0x0,
+                matWood = 0x1,
+                matMetal = 0x2,
+                matFlesh = 0x3,
+                matCinderBlock = 0x4,
+                matCeilingTile = 0x5,
+                matComputer = 0x6,
+                matUnbreakableGlass = 0x7,
+                matRocks = 0x8,
+                matWeb = 0x9,
+                matNone = 0xA,
+                matLastMaterial = 0xB
+            };
+            // Alignment: 4
+            // Member count: 9
+            enum class BloodType : uint32_t {
+                None = 0xFFFFFFFFFFFFFFFF,
+                ColorRed = 0x0,
+                ColorYellow = 0x1,
+                ColorGreen = 0x2,
+                ColorRedLVL2 = 0x3,
+                ColorRedLVL3 = 0x4,
+                ColorRedLVL4 = 0x5,
+                ColorRedLVL5 = 0x6,
+                ColorRedLVL6 = 0x7
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class BreakableContentsType_t : uint32_t {
+                BC_DEFAULT = 0x0,
+                BC_EMPTY = 0x1,
+                BC_PROP_GROUP_OVERRIDE = 0x2,
+                BC_PARTICLE_SYSTEM_OVERRIDE = 0x3
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class ScriptedMoveTo_t : uint32_t {
+                eWait = 0x0,
+                eMoveWithGait = 0x3,
+                eTeleport = 0x4,
+                eWaitFacing = 0x5,
+                eObsoleteBackCompat1 = 0x1,
+                eObsoleteBackCompat2 = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class AnimLoopMode_t : uint32_t {
+                ANIM_LOOP_MODE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                ANIM_LOOP_MODE_NOT_LOOPING = 0x0,
+                ANIM_LOOP_MODE_LOOPING = 0x1,
+                ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS = 0x2,
+                ANIM_LOOP_MODE_COUNT = 0x3
+            };
+            // Alignment: 2
+            // Member count: 10
+            enum class SoundFlags_t : uint16_t {
+                SOUND_FLAGS_NONE = 0x0,
+                SOUND_FLAG_GUNFIRE = 0x1,
+                SOUND_FLAG_COMBINE_ONLY = 0x2,
+                SOUND_FLAG_REACT_TO_SOURCE = 0x4,
+                SOUND_FLAG_EXPLOSION = 0x8,
+                SOUND_FLAG_EXCLUDE_COMBINE = 0x10,
+                SOUND_FLAG_DANGER_APPROACH = 0x20,
+                SOUND_FLAG_ALLIES_ONLY = 0x40,
+                SOUND_FLAG_PANIC_NPCS = 0x80,
+                SOUND_FLAG_SQUAD_ONLY = 0x100
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class Class_T : uint32_t {
+                CLASS_NONE = 0x0,
+                CLASS_PLAYER = 0x1,
+                CLASS_PLAYER_ALLY = 0x2,
+                CLASS_BOMB = 0x3,
+                CLASS_FOOT_CONTACT_SHADOW = 0x4,
+                CLASS_WEAPON = 0x5,
+                CLASS_WATER_SPLASHER = 0x6,
+                CLASS_WEAPON_VIEWMODEL = 0x7,
+                CLASS_DOOR = 0x8,
+                NUM_CLASSIFY_CLASSES = 0x9
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class filter_t : uint32_t {
+                FILTER_AND = 0x0,
+                FILTER_OR = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class CSWeaponSilencerType : uint32_t {
+                WEAPONSILENCER_NONE = 0x0,
+                WEAPONSILENCER_DETACHABLE = 0x1,
+                WEAPONSILENCER_INTEGRATED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class EProceduralRagdollWeightIndexPropagationMethod : uint32_t {
+                Bone = 0x0,
+                BoneAndChildren = 0x1
+            };
+            // Alignment: 4
+            // Member count: 17
+            enum class BaseExplosionTypes_t : uint32_t {
+                EXPLOSION_TYPE_DEFAULT = 0x0,
+                EXPLOSION_TYPE_GRENADE = 0x1,
+                EXPLOSION_TYPE_MOLOTOV = 0x2,
+                EXPLOSION_TYPE_FIREWORKS = 0x3,
+                EXPLOSION_TYPE_GASCAN = 0x4,
+                EXPLOSION_TYPE_GASCYLINDER = 0x5,
+                EXPLOSION_TYPE_EXPLOSIVEBARREL = 0x6,
+                EXPLOSION_TYPE_ELECTRICAL = 0x7,
+                EXPLOSION_TYPE_EMP = 0x8,
+                EXPLOSION_TYPE_SHRAPNEL = 0x9,
+                EXPLOSION_TYPE_SMOKEGRENADE = 0xA,
+                EXPLOSION_TYPE_FLASHBANG = 0xB,
+                EXPLOSION_TYPE_TRIPMINE = 0xC,
+                EXPLOSION_TYPE_ICE = 0xD,
+                EXPLOSION_TYPE_NONE = 0xE,
+                EXPLOSION_TYPE_CUSTOM = 0xF,
+                EXPLOSION_TYPE_COUNT = 0x10
+            };
+            // Alignment: 4
+            // Member count: 47
+            enum class GameAnimEventIndex_t : uint32_t {
+                AE_EMPTY = 0x0,
+                AE_CL_PLAYSOUND = 0x1,
+                AE_CL_PLAYSOUND_ATTACHMENT = 0x2,
+                AE_CL_PLAYSOUND_POSITION = 0x3,
+                AE_SV_PLAYSOUND = 0x4,
+                AE_CL_STOPSOUND = 0x5,
+                AE_CL_PLAYSOUND_LOOPING = 0x6,
+                AE_CL_CREATE_PARTICLE_EFFECT = 0x7,
+                AE_CL_STOP_PARTICLE_EFFECT = 0x8,
+                AE_CL_CREATE_PARTICLE_EFFECT_CFG = 0x9,
+                AE_SV_CREATE_PARTICLE_EFFECT_CFG = 0xA,
+                AE_SV_STOP_PARTICLE_EFFECT = 0xB,
+                AE_FOOTSTEP = 0xC,
+                AE_RAGDOLL = 0xD,
+                AE_CL_STOP_RAGDOLL_CONTROL = 0xE,
+                AE_CL_ENABLE_BODYGROUP = 0xF,
+                AE_CL_DISABLE_BODYGROUP = 0x10,
+                AE_BODYGROUP_SET_VALUE = 0x11,
+                AE_CL_BODYGROUP_SET_VALUE_CMODEL_WPN = 0x12,
+                AE_WEAPON_PERFORM_ATTACK = 0x13,
+                AE_FIRE_INPUT = 0x14,
+                AE_CL_CLOTH_ATTR = 0x15,
+                AE_CL_CLOTH_GROUND_OFFSET = 0x16,
+                AE_CL_CLOTH_STIFFEN = 0x17,
+                AE_CL_CLOTH_EFFECT = 0x18,
+                AE_CL_CREATE_ANIM_SCOPE_PROP = 0x19,
+                AE_SV_IKLOCK = 0x1A,
+                AE_PULSE_GRAPH = 0x1B,
+                AE_PULSE_GRAPH_LOOKAT = 0x1C,
+                AE_PULSE_GRAPH_AIMAT = 0x1D,
+                AE_PULSE_GRAPH_IKLOCKLEFTARM = 0x1E,
+                AE_PULSE_GRAPH_IKLOCKRIGHTARM = 0x1F,
+                AE_DISABLE_PLATFORM = 0x20,
+                AE_ENABLE_PLATFORM = 0x21,
+                AE_ANIMGRAPH_SET_PARAM = 0x22,
+                AE_CL_WEAPON_TRANSITION_INTO_HAND = 0x23,
+                AE_CL_BODYGROUP_SET_TO_CLIP = 0x24,
+                AE_CL_BODYGROUP_SET_TO_NEXTCLIP = 0x25,
+                AE_SV_SHOW_SILENCER = 0x26,
+                AE_SV_ATTACH_SILENCER_COMPLETE = 0x27,
+                AE_SV_HIDE_SILENCER = 0x28,
+                AE_SV_DETACH_SILENCER_COMPLETE = 0x29,
+                AE_CL_EJECT_MAG = 0x2A,
+                AE_WPN_COMPLETE_RELOAD = 0x2B,
+                AE_WPN_HEALTHSHOT_INJECT = 0x2C,
+                AE_CL_C4_SCREEN_TEXT = 0x2D,
+                AE_GRENADE_THROW_COMPLETE = 0x2E
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class FixAngleSet_t : uint8_t {
+                None = 0x0,
+                Absolute = 0x1,
+                Relative = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class IChoreoServices__ScriptState_t : uint32_t {
+                SCRIPT_PLAYING = 0x0,
+                SCRIPT_WAIT = 0x1,
+                SCRIPT_POST_IDLE = 0x2,
+                SCRIPT_CLEANUP = 0x3,
+                SCRIPT_MOVE_TO_MARK = 0x4
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class CommandEntitySpecType_t : uint32_t {
+                SPEC_SEARCH = 0x0,
+                SPEC_TYPES_COUNT = 0x1
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class Touch_t : uint32_t {
+                touch_none = 0x0,
+                touch_player_only = 0x1,
+                touch_npc_only = 0x2,
+                touch_player_or_npc = 0x3,
+                touch_player_or_npc_or_physicsprop = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class TrainVelocityType_t : uint32_t {
+                TrainVelocity_Instantaneous = 0x0,
+                TrainVelocity_LinearBlend = 0x1,
+                TrainVelocity_EaseInEaseOut = 0x2
+            };
+            // Alignment: 4
+            // Member count: 13
+            enum class CSWeaponType : uint32_t {
+                WEAPONTYPE_KNIFE = 0x0,
+                WEAPONTYPE_PISTOL = 0x1,
+                WEAPONTYPE_SUBMACHINEGUN = 0x2,
+                WEAPONTYPE_RIFLE = 0x3,
+                WEAPONTYPE_SHOTGUN = 0x4,
+                WEAPONTYPE_SNIPER_RIFLE = 0x5,
+                WEAPONTYPE_MACHINEGUN = 0x6,
+                WEAPONTYPE_C4 = 0x7,
+                WEAPONTYPE_TASER = 0x8,
+                WEAPONTYPE_GRENADE = 0x9,
+                WEAPONTYPE_EQUIPMENT = 0xA,
+                WEAPONTYPE_STACKABLEITEM = 0xB,
+                WEAPONTYPE_UNKNOWN = 0xC
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class EntFinderMethod_t : uint32_t {
+                ENT_FIND_METHOD_NEAREST = 0x0,
+                ENT_FIND_METHOD_FARTHEST = 0x1,
+                ENT_FIND_METHOD_RANDOM = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PropDoorRotatingSpawnPos_t : uint32_t {
+                DOOR_SPAWN_CLOSED = 0x0,
+                DOOR_SPAWN_OPEN_FORWARD = 0x1,
+                DOOR_SPAWN_OPEN_BACK = 0x2,
+                DOOR_SPAWN_AJAR = 0x3
+            };
+            // Alignment: 1
+            // Member count: 2
+            enum class ShardSolid_t : uint8_t {
+                SHARD_SOLID = 0x0,
+                SHARD_DEBRIS = 0x1
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class EntityPlatformTypes_t : uint8_t {
+                ENTITY_NOT_PLATFORM = 0x0,
+                ENTITY_PLATFORM_PLAYER_FOLLOWS_YAW = 0x1,
+                ENTITY_PLATFORM_PLAYER_IGNORES_YAW = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class PulseNPCCondition_t : uint32_t {
+                COND_SEE_PLAYER = 0x1,
+                COND_LOST_PLAYER = 0x2,
+                COND_HEAR_PLAYER = 0x3,
+                COND_PLAYER_PUSHING = 0x4,
+                COND_NO_PRIMARY_AMMO = 0x5
+            };
+            // Alignment: 1
+            // Member count: 13
+            enum class RenderMode_t : uint8_t {
+                kRenderNormal = 0x0,
+                kRenderTransColor = 0x1,
+                kRenderTransTexture = 0x2,
+                kRenderGlow = 0x3,
+                kRenderTransAlpha = 0x4,
+                kRenderTransAdd = 0x5,
+                kRenderEnvironmental = 0x6,
+                kRenderTransAddFrameBlend = 0x7,
+                kRenderTransAlphaAdd = 0x8,
+                kRenderWorldGlow = 0x9,
+                kRenderNone = 0xA,
+                kRenderDevVisualizer = 0xB,
+                kRenderModeCount = 0xC
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ForcedCrouchState_t : uint32_t {
+                FORCEDCROUCH_NONE = 0x0,
+                FORCEDCROUCH_CROUCHED = 0x1,
+                FORCEDCROUCH_UNCROUCHED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class PerformanceMode_t : uint32_t {
+                PM_NORMAL = 0x0,
+                PM_NO_GIBS = 0x1,
+                PM_FULL_GIBS = 0x2,
+                PM_REDUCED_GIBS = 0x3
+            };
+            // Alignment: 4
+            // Member count: 8
+            enum class TOGGLE_STATE : uint32_t {
+                TS_AT_TOP = 0x0,
+                TS_AT_BOTTOM = 0x1,
+                TS_GOING_UP = 0x2,
+                TS_GOING_DOWN = 0x3,
+                DOOR_OPEN = 0x0,
+                DOOR_CLOSED = 0x1,
+                DOOR_OPENING = 0x2,
+                DOOR_CLOSING = 0x3
+            };
+            // Alignment: 4
+            // Member count: 74
+            enum class loadout_slot_t : uint32_t {
+                LOADOUT_SLOT_PROMOTED = 0xFFFFFFFFFFFFFFFE,
+                LOADOUT_SLOT_INVALID = 0xFFFFFFFFFFFFFFFF,
+                LOADOUT_SLOT_MELEE = 0x0,
+                LOADOUT_SLOT_C4 = 0x1,
+                LOADOUT_SLOT_FIRST_AUTO_BUY_WEAPON = 0x0,
+                LOADOUT_SLOT_LAST_AUTO_BUY_WEAPON = 0x1,
+                LOADOUT_SLOT_SECONDARY0 = 0x2,
+                LOADOUT_SLOT_SECONDARY1 = 0x3,
+                LOADOUT_SLOT_SECONDARY2 = 0x4,
+                LOADOUT_SLOT_SECONDARY3 = 0x5,
+                LOADOUT_SLOT_SECONDARY4 = 0x6,
+                LOADOUT_SLOT_SECONDARY5 = 0x7,
+                LOADOUT_SLOT_SMG0 = 0x8,
+                LOADOUT_SLOT_SMG1 = 0x9,
+                LOADOUT_SLOT_SMG2 = 0xA,
+                LOADOUT_SLOT_SMG3 = 0xB,
+                LOADOUT_SLOT_SMG4 = 0xC,
+                LOADOUT_SLOT_SMG5 = 0xD,
+                LOADOUT_SLOT_RIFLE0 = 0xE,
+                LOADOUT_SLOT_RIFLE1 = 0xF,
+                LOADOUT_SLOT_RIFLE2 = 0x10,
+                LOADOUT_SLOT_RIFLE3 = 0x11,
+                LOADOUT_SLOT_RIFLE4 = 0x12,
+                LOADOUT_SLOT_RIFLE5 = 0x13,
+                LOADOUT_SLOT_HEAVY0 = 0x14,
+                LOADOUT_SLOT_HEAVY1 = 0x15,
+                LOADOUT_SLOT_HEAVY2 = 0x16,
+                LOADOUT_SLOT_HEAVY3 = 0x17,
+                LOADOUT_SLOT_HEAVY4 = 0x18,
+                LOADOUT_SLOT_HEAVY5 = 0x19,
+                LOADOUT_SLOT_FIRST_WHEEL_WEAPON = 0x2,
+                LOADOUT_SLOT_LAST_WHEEL_WEAPON = 0x19,
+                LOADOUT_SLOT_FIRST_PRIMARY_WEAPON = 0x8,
+                LOADOUT_SLOT_LAST_PRIMARY_WEAPON = 0x19,
+                LOADOUT_SLOT_FIRST_WHEEL_GRENADE = 0x1A,
+                LOADOUT_SLOT_GRENADE0 = 0x1A,
+                LOADOUT_SLOT_GRENADE1 = 0x1B,
+                LOADOUT_SLOT_GRENADE2 = 0x1C,
+                LOADOUT_SLOT_GRENADE3 = 0x1D,
+                LOADOUT_SLOT_GRENADE4 = 0x1E,
+                LOADOUT_SLOT_GRENADE5 = 0x1F,
+                LOADOUT_SLOT_LAST_WHEEL_GRENADE = 0x1F,
+                LOADOUT_SLOT_EQUIPMENT0 = 0x20,
+                LOADOUT_SLOT_EQUIPMENT1 = 0x21,
+                LOADOUT_SLOT_EQUIPMENT2 = 0x22,
+                LOADOUT_SLOT_EQUIPMENT3 = 0x23,
+                LOADOUT_SLOT_EQUIPMENT4 = 0x24,
+                LOADOUT_SLOT_EQUIPMENT5 = 0x25,
+                LOADOUT_SLOT_FIRST_WHEEL_EQUIPMENT = 0x20,
+                LOADOUT_SLOT_LAST_WHEEL_EQUIPMENT = 0x25,
+                LOADOUT_SLOT_CLOTHING_CUSTOMPLAYER = 0x26,
+                LOADOUT_SLOT_CLOTHING_CUSTOMHEAD = 0x27,
+                LOADOUT_SLOT_CLOTHING_FACEMASK = 0x28,
+                LOADOUT_SLOT_CLOTHING_HANDS = 0x29,
+                LOADOUT_SLOT_FIRST_COSMETIC = 0x29,
+                LOADOUT_SLOT_LAST_COSMETIC = 0x29,
+                LOADOUT_SLOT_CLOTHING_EYEWEAR = 0x2A,
+                LOADOUT_SLOT_CLOTHING_HAT = 0x2B,
+                LOADOUT_SLOT_CLOTHING_LOWERBODY = 0x2C,
+                LOADOUT_SLOT_CLOTHING_TORSO = 0x2D,
+                LOADOUT_SLOT_CLOTHING_APPEARANCE = 0x2E,
+                LOADOUT_SLOT_MISC0 = 0x2F,
+                LOADOUT_SLOT_MISC1 = 0x30,
+                LOADOUT_SLOT_MISC2 = 0x31,
+                LOADOUT_SLOT_MISC3 = 0x32,
+                LOADOUT_SLOT_MISC4 = 0x33,
+                LOADOUT_SLOT_MISC5 = 0x34,
+                LOADOUT_SLOT_MISC6 = 0x35,
+                LOADOUT_SLOT_MUSICKIT = 0x36,
+                LOADOUT_SLOT_FLAIR0 = 0x37,
+                LOADOUT_SLOT_SPRAY0 = 0x38,
+                LOADOUT_SLOT_FIRST_ALL_CHARACTER = 0x36,
+                LOADOUT_SLOT_LAST_ALL_CHARACTER = 0x38,
+                LOADOUT_SLOT_COUNT = 0x39
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class EDestructiblePartDamagePassThroughType : uint32_t {
+                Normal = 0x0,
+                Absorb = 0x1
+            };
+            // Alignment: 4
+            // Member count: 20
+            enum class NavAttributeEnum : uint32_t {
+                NAV_MESH_AVOID = 0x80,
+                NAV_MESH_STAIRS = 0x1000,
+                NAV_MESH_NON_ZUP = 0x8000,
+                NAV_MESH_SHORT_HEIGHT = 0x10000,
+                NAV_MESH_NON_ZUP_TRANSITION = 0x20000,
+                NAV_MESH_CROUCH = 0x10000,
+                NAV_MESH_JUMP = 0x2,
+                NAV_MESH_PRECISE = 0x4,
+                NAV_MESH_NO_JUMP = 0x8,
+                NAV_MESH_STOP = 0x10,
+                NAV_MESH_RUN = 0x20,
+                NAV_MESH_WALK = 0x40,
+                NAV_MESH_TRANSIENT = 0x100,
+                NAV_MESH_DONT_HIDE = 0x200,
+                NAV_MESH_STAND = 0x400,
+                NAV_MESH_NO_HOSTAGES = 0x800,
+                NAV_MESH_NO_MERGE = 0x2000,
+                NAV_MESH_OBSTACLE_TOP = 0x4000,
+                NAV_ATTR_FIRST_GAME_INDEX = 0x13,
+                NAV_ATTR_LAST_INDEX = 0x1F
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class MoveLinearAuthoredPos_t : uint32_t {
+                MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0,
+                MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1,
+                MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ValueRemapperMomentumType_t : uint32_t {
+                MomentumType_None = 0x0,
+                MomentumType_Friction = 0x1,
+                MomentumType_SpringTowardSnapValue = 0x2,
+                MomentumType_SpringAwayFromSnapValue = 0x3
+            };
+            // Alignment: 4
+            // Member count: 12
+            enum class Hull_t : uint32_t {
+                HULL_HUMAN = 0x0,
+                HULL_SMALL_CENTERED = 0x1,
+                HULL_WIDE_HUMAN = 0x2,
+                HULL_TINY = 0x3,
+                HULL_MEDIUM = 0x4,
+                HULL_TINY_CENTERED = 0x5,
+                HULL_LARGE = 0x6,
+                HULL_LARGE_CENTERED = 0x7,
+                HULL_MEDIUM_TALL = 0x8,
+                HULL_SMALL = 0x9,
+                NUM_HULLS = 0xA,
+                HULL_NONE = 0xB
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class PreviewWeaponState : uint32_t {
+                DROPPED = 0x0,
+                HOLSTERED = 0x1,
+                DEPLOYED = 0x2,
+                PLANTED = 0x3,
+                INSPECT = 0x4,
+                ICON = 0x5
+            };
+            // Alignment: 4
+            // Member count: 9
+            enum class EInButtonState : uint32_t {
+                IN_BUTTON_UP = 0x0,
+                IN_BUTTON_DOWN = 0x1,
+                IN_BUTTON_DOWN_UP = 0x2,
+                IN_BUTTON_UP_DOWN = 0x3,
+                IN_BUTTON_UP_DOWN_UP = 0x4,
+                IN_BUTTON_DOWN_UP_DOWN = 0x5,
+                IN_BUTTON_DOWN_UP_DOWN_UP = 0x6,
+                IN_BUTTON_UP_DOWN_UP_DOWN = 0x7,
+                IN_BUTTON_STATE_COUNT = 0x8
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class BeamClipStyle_t : uint32_t {
+                kNOCLIP = 0x0,
+                kGEOCLIP = 0x1,
+                kMODELCLIP = 0x2,
+                kBEAMCLIPSTYLE_NUMBITS = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class WeaponAttackType_t : uint32_t {
+                eInvalid = 0xFFFFFFFFFFFFFFFF,
+                ePrimary = 0x0,
+                eSecondary = 0x1,
+                eCount = 0x2
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class CSPlayerBlockingUseAction_t : uint32_t {
+                k_CSPlayerBlockingUseAction_None = 0x0,
+                k_CSPlayerBlockingUseAction_DefusingDefault = 0x1,
+                k_CSPlayerBlockingUseAction_DefusingWithKit = 0x2,
+                k_CSPlayerBlockingUseAction_HostageGrabbing = 0x3,
+                k_CSPlayerBlockingUseAction_HostageDropping = 0x4,
+                k_CSPlayerBlockingUseAction_EquippingHeavyArmor = 0x5,
+                k_CSPlayerBlockingUseAction_TakingOffHeavyArmor = 0x6,
+                k_CSPlayerBlockingUseAction_MapLongUseEntity_Pickup = 0x7,
+                k_CSPlayerBlockingUseAction_MapLongUseEntity_Place = 0x8,
+                k_CSPlayerBlockingUseAction_MaxCount = 0x9
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class CSWeaponState_t : uint32_t {
+                WEAPON_NOT_CARRIED = 0x0,
+                WEAPON_IS_CARRIED_BY_PLAYER = 0x1,
+                WEAPON_IS_ACTIVE = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class CommandExecMode_t : uint32_t {
+                EXEC_MANUAL = 0x0,
+                EXEC_LEVELSTART = 0x1,
+                EXEC_PERIODIC = 0x2,
+                EXEC_MODES_COUNT = 0x3
+            };
+            // Alignment: 1
+            // Member count: 5
+            enum class ShatterDamageCause : uint8_t {
+                SHATTERDAMAGE_BULLET = 0x0,
+                SHATTERDAMAGE_MELEE = 0x1,
+                SHATTERDAMAGE_THROWN = 0x2,
+                SHATTERDAMAGE_SCRIPT = 0x3,
+                SHATTERDAMAGE_EXPLOSIVE = 0x4
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ScriptedOnDeath_t : uint32_t {
+                SS_ONDEATH_NOT_APPLICABLE = 0xFFFFFFFFFFFFFFFF,
+                SS_ONDEATH_UNDEFINED = 0x0,
+                SS_ONDEATH_RAGDOLL = 0x1,
+                SS_ONDEATH_ANIMATED_DEATH = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ChoreoLookAtSpeed_t : uint32_t {
+                eInvalid = 0xFFFFFFFFFFFFFFFF,
+                eSlow = 0x0,
+                eMedium = 0x1,
+                eFast = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ScriptedMoveType_t : uint32_t {
+                SCRIPTED_MOVETYPE_NONE = 0x0,
+                SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1,
+                SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2,
+                SCRIPTED_MOVETYPE_SWEEP_TO_AT_MOVEMENT_SPEED = 0x3
+            };
+            // Alignment: 4
+            // Member count: 17
+            enum class gear_slot_t : uint32_t {
+                GEAR_SLOT_INVALID = 0xFFFFFFFFFFFFFFFF,
+                GEAR_SLOT_RIFLE = 0x0,
+                GEAR_SLOT_PISTOL = 0x1,
+                GEAR_SLOT_KNIFE = 0x2,
+                GEAR_SLOT_GRENADES = 0x3,
+                GEAR_SLOT_C4 = 0x4,
+                GEAR_SLOT_RESERVED_SLOT6 = 0x5,
+                GEAR_SLOT_RESERVED_SLOT7 = 0x6,
+                GEAR_SLOT_RESERVED_SLOT8 = 0x7,
+                GEAR_SLOT_RESERVED_SLOT9 = 0x8,
+                GEAR_SLOT_RESERVED_SLOT10 = 0x9,
+                GEAR_SLOT_RESERVED_SLOT11 = 0xA,
+                GEAR_SLOT_BOOSTS = 0xB,
+                GEAR_SLOT_UTILITY = 0xC,
+                GEAR_SLOT_COUNT = 0xD,
+                GEAR_SLOT_FIRST = 0x0,
+                GEAR_SLOT_LAST = 0xC
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class CSPlayerState : uint32_t {
+                STATE_ACTIVE = 0x0,
+                STATE_WELCOME = 0x1,
+                STATE_PICKINGTEAM = 0x2,
+                STATE_PICKINGCLASS = 0x3,
+                STATE_DEATH_ANIM = 0x4,
+                STATE_DEATH_WAIT_FOR_KEY = 0x5,
+                STATE_OBSERVER_MODE = 0x6,
+                STATE_GUNGAME_RESPAWN = 0x7,
+                STATE_DORMANT = 0x8,
+                NUM_PLAYER_STATES = 0x9
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ScriptedConflictResponse_t : uint32_t {
+                SS_CONFLICT_ENQUEUE = 0x0,
+                SS_CONFLICT_INTERRUPT = 0x1
+            };
+            // Alignment: 1
+            // Member count: 7
+            enum class WaterLevel_t : uint8_t {
+                WL_NotInWater = 0x0,
+                WL_Feet = 0x1,
+                WL_Knees = 0x2,
+                WL_Waist = 0x3,
+                WL_Chest = 0x4,
+                WL_FullyUnderwater = 0x5,
+                WL_Count = 0x6
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class WorldTextPanelVerticalAlign_t : uint32_t {
+                WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0,
+                WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1,
+                WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class AmmoPosition_t : uint32_t {
+                AMMO_POSITION_INVALID = 0xFFFFFFFFFFFFFFFF,
+                AMMO_POSITION_PRIMARY = 0x0,
+                AMMO_POSITION_SECONDARY = 0x1,
+                AMMO_POSITION_COUNT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class CDebugOverlayFilterType_t : uint32_t {
+                NONE = 0x0,
+                TEXT = 0x1,
+                ENTITY = 0x2,
+                COUNT = 0x3,
+                TACTICAL_SEARCH = 0x4,
+                AI_SCHEDULE = 0x5,
+                AI_TASK = 0x6,
+                AI_EVENT = 0x7,
+                END_SIM_HISTORY_TYPES = 0x8,
+                COMBINED = 0xFFFFFFFFFFFFFFFF
+            };
+            // Alignment: 4
+            // Member count: 23
+            enum class PreviewEOMCelebration : uint32_t {
+                WALKUP = 0x0,
+                PUNCHING = 0x1,
+                SWAGGER = 0x2,
+                DROPDOWN = 0x3,
+                STRETCH = 0x4,
+                SWAT_FEMALE = 0x5,
+                MASK_F = 0x6,
+                GUERILLA = 0x7,
+                GUERILLA02 = 0x8,
+                GENDARMERIE = 0x9,
+                SCUBA_FEMALE = 0xA,
+                SCUBA_MALE = 0xB,
+                AVA_DEFEAT = 0xC,
+                GENDARMERIE_DEFEAT = 0xD,
+                MAE_DEFEAT = 0xE,
+                RICKSAW_DEFEAT = 0xF,
+                SCUBA_FEMALE_DEFEAT = 0x10,
+                SCUBA_MALE_DEFEAT = 0x11,
+                CRASSWATER_DEFEAT = 0x12,
+                DARRYL_DEFEAT = 0x13,
+                DOCTOR_DEFEAT = 0x14,
+                MUHLIK_DEFEAT = 0x15,
+                VYPA_DEFEAT = 0x16
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class EntityDisolveType_t : uint32_t {
+                ENTITY_DISSOLVE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                ENTITY_DISSOLVE_NORMAL = 0x0,
+                ENTITY_DISSOLVE_ELECTRICAL = 0x1,
+                ENTITY_DISSOLVE_ELECTRICAL_LIGHT = 0x2,
+                ENTITY_DISSOLVE_CORE = 0x3
+            };
+            // Alignment: 8
+            // Member count: 21
+            enum class InputBitMask_t : uint64_t {
+                IN_NONE = 0x0,
+                IN_ALL = 0xFFFFFFFFFFFFFFFF,
+                IN_ATTACK = 0x1,
+                IN_JUMP = 0x2,
+                IN_DUCK = 0x4,
+                IN_FORWARD = 0x8,
+                IN_BACK = 0x10,
+                IN_USE = 0x20,
+                IN_TURNLEFT = 0x80,
+                IN_TURNRIGHT = 0x100,
+                IN_MOVELEFT = 0x200,
+                IN_MOVERIGHT = 0x400,
+                IN_ATTACK2 = 0x800,
+                IN_RELOAD = 0x2000,
+                IN_SPEED = 0x10000,
+                IN_JOYAUTOSPRINT = 0x20000,
+                IN_FIRST_MOD_SPECIFIC_BIT = 0x100000000,
+                IN_USEORRELOAD = 0x100000000,
+                IN_SCORE = 0x200000000,
+                IN_ZOOM = 0x400000000,
+                IN_LOOK_AT_WEAPON = 0x800000000
+            };
+            // Alignment: 4
+            // Member count: 14
+            enum class HitGroup_t : uint32_t {
+                HITGROUP_INVALID = 0xFFFFFFFFFFFFFFFF,
+                HITGROUP_GENERIC = 0x0,
+                HITGROUP_HEAD = 0x1,
+                HITGROUP_CHEST = 0x2,
+                HITGROUP_STOMACH = 0x3,
+                HITGROUP_LEFTARM = 0x4,
+                HITGROUP_RIGHTARM = 0x5,
+                HITGROUP_LEFTLEG = 0x6,
+                HITGROUP_RIGHTLEG = 0x7,
+                HITGROUP_NECK = 0x8,
+                HITGROUP_UNUSED = 0x9,
+                HITGROUP_GEAR = 0xA,
+                HITGROUP_SPECIAL = 0xB,
+                HITGROUP_COUNT = 0xC
+            };
+            // Alignment: 4
+            // Member count: 9
+            enum class ChickenActivity : uint32_t {
+                IDLE = 0x0,
+                SQUAT = 0x1,
+                WALK = 0x2,
+                RUN = 0x3,
+                GLIDE = 0x4,
+                LAND = 0x5,
+                PANIC = 0x6,
+                TRICK = 0x7,
+                TURN_IN_PLACE = 0x8
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class PointWorldTextReorientMode_t : uint32_t {
+                POINT_WORLD_TEXT_REORIENT_NONE = 0x0,
+                POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1
+            };
+            // Alignment: 8
+            // Member count: 40
+            enum class DebugOverlayBits_t : uint64_t {
+                OVERLAY_TEXT_BIT = 0x1,
+                OVERLAY_NAME_BIT = 0x2,
+                OVERLAY_BBOX_BIT = 0x4,
+                OVERLAY_PIVOT_BIT = 0x8,
+                OVERLAY_MESSAGE_BIT = 0x10,
+                OVERLAY_ABSBOX_BIT = 0x20,
+                OVERLAY_RBOX_BIT = 0x40,
+                OVERLAY_SHOW_BLOCKSLOS = 0x80,
+                OVERLAY_ATTACHMENTS_BIT = 0x100,
+                OVERLAY_INTERPOLATED_ATTACHMENTS_BIT = 0x200,
+                OVERLAY_INTERPOLATED_PIVOT_BIT = 0x400,
+                OVERLAY_SKELETON_BIT = 0x800,
+                OVERLAY_INTERPOLATED_SKELETON_BIT = 0x1000,
+                OVERLAY_TRIGGER_BOUNDS_BIT = 0x2000,
+                OVERLAY_HITBOX_BIT = 0x4000,
+                OVERLAY_INTERPOLATED_HITBOX_BIT = 0x8000,
+                OVERLAY_AUTOAIM_BIT = 0x10000,
+                OVERLAY_NPC_SELECTED_BIT = 0x20000,
+                OVERLAY_JOINT_INFO_BIT = 0x40000,
+                OVERLAY_NPC_ROUTE_BIT = 0x80000,
+                OVERLAY_VISIBILITY_TRACES_BIT = 0x100000,
+                OVERLAY_NPC_ENEMIES_BIT = 0x400000,
+                OVERLAY_NPC_CONDITIONS_BIT = 0x800000,
+                OVERLAY_NPC_COMBAT_BIT = 0x1000000,
+                OVERLAY_NPC_TASK_BIT = 0x2000000,
+                OVERLAY_NPC_BODYLOCATIONS = 0x4000000,
+                OVERLAY_NPC_VIEWCONE_BIT = 0x8000000,
+                OVERLAY_NPC_KILL_BIT = 0x10000000,
+                OVERLAY_WC_CHANGE_ENTITY = 0x20000000,
+                OVERLAY_BUDDHA_MODE = 0x40000000,
+                OVERLAY_NPC_STEERING_REGULATIONS = 0x80000000,
+                OVERLAY_NPC_TASK_TEXT_BIT = 0x100000000,
+                OVERLAY_PROP_DEBUG = 0x200000000,
+                OVERLAY_NPC_RELATION_BIT = 0x400000000,
+                OVERLAY_VIEWOFFSET = 0x800000000,
+                OVERLAY_VCOLLIDE_WIREFRAME_BIT = 0x1000000000,
+                OVERLAY_NPC_SCRIPTED_COMMANDS_BIT = 0x2000000000,
+                OVERLAY_ACTORNAME_BIT = 0x4000000000,
+                OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000,
+                OVERLAY_NPC_ABILITY_RANGE_DEBUG_BIT = 0x10000000000
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class AmmoFlags_t : uint32_t {
+                AMMO_FORCE_DROP_IF_CARRIED = 0x1,
+                AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2,
+                AMMO_FLAG_MAX = 0x2
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class HierarchyType_t : uint32_t {
+                HIERARCHY_NONE = 0x0,
+                HIERARCHY_BONE_MERGE = 0x1,
+                HIERARCHY_ATTACHMENT = 0x2,
+                HIERARCHY_ABSORIGIN = 0x3,
+                HIERARCHY_BONE = 0x4,
+                HIERARCHY_TYPE_COUNT = 0x5
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class doorCheck_e : uint32_t {
+                DOOR_CHECK_FORWARD = 0x0,
+                DOOR_CHECK_BACKWARD = 0x1,
+                DOOR_CHECK_FULL = 0x2
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class BeamType_t : uint32_t {
+                BEAM_INVALID = 0x0,
+                BEAM_POINTS = 0x1,
+                BEAM_ENTPOINT = 0x2,
+                BEAM_ENTS = 0x3,
+                BEAM_HOSE = 0x4,
+                BEAM_SPLINE = 0x5,
+                BEAM_LASER = 0x6
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class EntitySubclassScope_t : uint32_t {
+                SUBCLASS_SCOPE_NONE = 0xFFFFFFFFFFFFFFFF,
+                SUBCLASS_SCOPE_PRECIPITATION = 0x0,
+                SUBCLASS_SCOPE_PLAYER_WEAPONS = 0x1,
+                SUBCLASS_SCOPE_COUNT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t {
+                CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0,
+                CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class CDebugOverlayCombinedTypes_t : uint32_t {
+                ALL = 0x0,
+                ANY = 0x1,
+                COUNT = 0x2
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class ShatterGlassStressType : uint8_t {
+                SHATTERGLASS_BLUNT = 0x0,
+                SHATTERGLASS_BALLISTIC = 0x1,
+                SHATTERGLASS_PULSE = 0x2,
+                SHATTERGLASS_EXPLOSIVE = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class TrackOrientationType_t : uint32_t {
+                TrackOrientation_Fixed = 0x0,
+                TrackOrientation_FacePath = 0x1,
+                TrackOrientation_FacePathAngles = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class WeaponSwitchReason_t : uint32_t {
+                eDrawn = 0x0,
+                eEquipped = 0x1,
+                eUserInitiatedSwitchToLast = 0x2,
+                eUserInitiatedSwitchHands = 0x3
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ValueRemapperRatchetType_t : uint32_t {
+                RatchetType_Absolute = 0x0,
+                RatchetType_EachEngage = 0x1
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class NavDirType : uint32_t {
+                NORTH = 0x0,
+                EAST = 0x1,
+                SOUTH = 0x2,
+                WEST = 0x3,
+                NUM_NAV_DIR_TYPE_DIRECTIONS = 0x4
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class CRR_Response__ResponseEnum_t : uint32_t {
+                MAX_RESPONSE_NAME = 0xC0,
+                MAX_RULE_NAME = 0x80
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class MoveMountingAmount_t : uint32_t {
+                MOVE_MOUNT_NONE = 0x0,
+                MOVE_MOUNT_LOW = 0x1,
+                MOVE_MOUNT_HIGH = 0x2,
+                MOVE_MOUNT_MAXCOUNT = 0x3
+            };
+            // Alignment: 1
+            // Member count: 20
+            enum class RenderFx_t : uint8_t {
+                kRenderFxNone = 0x0,
+                kRenderFxPulseSlow = 0x1,
+                kRenderFxPulseFast = 0x2,
+                kRenderFxPulseSlowWide = 0x3,
+                kRenderFxPulseFastWide = 0x4,
+                kRenderFxFadeSlow = 0x5,
+                kRenderFxFadeFast = 0x6,
+                kRenderFxSolidSlow = 0x7,
+                kRenderFxSolidFast = 0x8,
+                kRenderFxStrobeSlow = 0x9,
+                kRenderFxStrobeFast = 0xA,
+                kRenderFxStrobeFaster = 0xB,
+                kRenderFxFlickerSlow = 0xC,
+                kRenderFxFlickerFast = 0xD,
+                kRenderFxNoDissipation = 0xE,
+                kRenderFxFadeOut = 0xF,
+                kRenderFxFadeIn = 0x10,
+                kRenderFxPulseFastWider = 0x11,
+                kRenderFxGlowShell = 0x12,
+                kRenderFxMax = 0x13
+            };
+            // Alignment: 4
+            // Member count: 35
+            enum class vote_create_failed_t : uint32_t {
+                VOTE_FAILED_GENERIC = 0x0,
+                VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1,
+                VOTE_FAILED_RATE_EXCEEDED = 0x2,
+                VOTE_FAILED_YES_MUST_EXCEED_NO = 0x3,
+                VOTE_FAILED_QUORUM_FAILURE = 0x4,
+                VOTE_FAILED_ISSUE_DISABLED = 0x5,
+                VOTE_FAILED_MAP_NOT_FOUND = 0x6,
+                VOTE_FAILED_MAP_NAME_REQUIRED = 0x7,
+                VOTE_FAILED_FAILED_RECENTLY = 0x8,
+                VOTE_FAILED_TEAM_CANT_CALL = 0x9,
+                VOTE_FAILED_WAITINGFORPLAYERS = 0xA,
+                VOTE_FAILED_PLAYERNOTFOUND = 0xB,
+                VOTE_FAILED_CANNOT_KICK_ADMIN = 0xC,
+                VOTE_FAILED_SCRAMBLE_IN_PROGRESS = 0xD,
+                VOTE_FAILED_SPECTATOR = 0xE,
+                VOTE_FAILED_FAILED_RECENT_KICK = 0xF,
+                VOTE_FAILED_FAILED_RECENT_CHANGEMAP = 0x10,
+                VOTE_FAILED_FAILED_RECENT_SWAPTEAMS = 0x11,
+                VOTE_FAILED_FAILED_RECENT_SCRAMBLETEAMS = 0x12,
+                VOTE_FAILED_FAILED_RECENT_RESTART = 0x13,
+                VOTE_FAILED_SWAP_IN_PROGRESS = 0x14,
+                VOTE_FAILED_DISABLED = 0x15,
+                VOTE_FAILED_NEXTLEVEL_SET = 0x16,
+                VOTE_FAILED_TOO_EARLY_SURRENDER = 0x17,
+                VOTE_FAILED_MATCH_PAUSED = 0x18,
+                VOTE_FAILED_MATCH_NOT_PAUSED = 0x19,
+                VOTE_FAILED_NOT_IN_WARMUP = 0x1A,
+                VOTE_FAILED_NOT_10_PLAYERS = 0x1B,
+                VOTE_FAILED_TIMEOUT_ACTIVE = 0x1C,
+                VOTE_FAILED_TIMEOUT_INACTIVE = 0x1D,
+                VOTE_FAILED_TIMEOUT_EXHAUSTED = 0x1E,
+                VOTE_FAILED_CANT_ROUND_END = 0x1F,
+                VOTE_FAILED_REMATCH = 0x20,
+                VOTE_FAILED_CONTINUE = 0x21,
+                VOTE_FAILED_MAX = 0x22
+            };
+            // Alignment: 4
+            // Member count: 27
+            enum class RumbleEffect_t : uint32_t {
+                RUMBLE_INVALID = 0xFFFFFFFFFFFFFFFF,
+                RUMBLE_STOP_ALL = 0x0,
+                RUMBLE_PISTOL = 0x1,
+                RUMBLE_357 = 0x2,
+                RUMBLE_SMG1 = 0x3,
+                RUMBLE_AR2 = 0x4,
+                RUMBLE_SHOTGUN_SINGLE = 0x5,
+                RUMBLE_SHOTGUN_DOUBLE = 0x6,
+                RUMBLE_AR2_ALT_FIRE = 0x7,
+                RUMBLE_RPG_MISSILE = 0x8,
+                RUMBLE_CROWBAR_SWING = 0x9,
+                RUMBLE_AIRBOAT_GUN = 0xA,
+                RUMBLE_JEEP_ENGINE_LOOP = 0xB,
+                RUMBLE_FLAT_LEFT = 0xC,
+                RUMBLE_FLAT_RIGHT = 0xD,
+                RUMBLE_FLAT_BOTH = 0xE,
+                RUMBLE_DMG_LOW = 0xF,
+                RUMBLE_DMG_MED = 0x10,
+                RUMBLE_DMG_HIGH = 0x11,
+                RUMBLE_FALL_LONG = 0x12,
+                RUMBLE_FALL_SHORT = 0x13,
+                RUMBLE_PHYSCANNON_OPEN = 0x14,
+                RUMBLE_PHYSCANNON_PUNT = 0x15,
+                RUMBLE_PHYSCANNON_LOW = 0x16,
+                RUMBLE_PHYSCANNON_MEDIUM = 0x17,
+                RUMBLE_PHYSCANNON_HIGH = 0x18,
+                NUM_RUMBLE_EFFECTS = 0x19
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class LatchDirtyPermission_t : uint32_t {
+                LATCH_DIRTY_DISALLOW = 0x0,
+                LATCH_DIRTY_SERVER_CONTROLLED = 0x1,
+                LATCH_DIRTY_CLIENT_SIMULATED = 0x2,
+                LATCH_DIRTY_PREDICTION = 0x3,
+                LATCH_DIRTY_FRAMESIMULATE = 0x4,
+                LATCH_DIRTY_PARTICLE_SIMULATE = 0x5
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class DoorState_t : uint32_t {
+                DOOR_STATE_CLOSED = 0x0,
+                DOOR_STATE_OPENING = 0x1,
+                DOOR_STATE_OPEN = 0x2,
+                DOOR_STATE_CLOSING = 0x3,
+                DOOR_STATE_AJAR = 0x4
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ChoreoLookAtMode_t : uint32_t {
+                eInvalid = 0xFFFFFFFFFFFFFFFF,
+                eChest = 0x0,
+                eHead = 0x1,
+                eEyesOnly = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class ChatIgnoreType_t : uint32_t {
+                CHAT_IGNORE_NONE = 0x0,
+                CHAT_IGNORE_ALL = 0x1,
+                CHAT_IGNORE_TEAM = 0x2
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class PlayerConnectedState : uint32_t {
+                PlayerNeverConnected = 0xFFFFFFFFFFFFFFFF,
+                PlayerConnected = 0x0,
+                PlayerConnecting = 0x1,
+                PlayerReconnecting = 0x2,
+                PlayerDisconnecting = 0x3,
+                PlayerDisconnected = 0x4,
+                PlayerReserved = 0x5
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t {
+                kMIN_THRESHOLD = 0x0,
+                kMIN_FULL = 0x1,
+                kHIGHWATER = 0x2
+            };
+            // Alignment: 4
+            // Member count: 1
+            enum class navproperties_t : uint32_t {
+                NAV_IGNORE = 0x1
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class SolidType_t : uint8_t {
+                SOLID_NONE = 0x0,
+                SOLID_BSP = 0x1,
+                SOLID_BBOX = 0x2,
+                SOLID_OBB = 0x3,
+                SOLID_SPHERE = 0x4,
+                SOLID_POINT = 0x5,
+                SOLID_VPHYSICS = 0x6,
+                SOLID_CAPSULE = 0x7,
+                SOLID_LAST = 0x8
+            };
+            // Alignment: 4
+            // Member count: 24
+            enum class DamageTypes_t : uint32_t {
+                DMG_GENERIC = 0x0,
+                DMG_CRUSH = 0x1,
+                DMG_BULLET = 0x2,
+                DMG_SLASH = 0x4,
+                DMG_BURN = 0x8,
+                DMG_VEHICLE = 0x10,
+                DMG_FALL = 0x20,
+                DMG_BLAST = 0x40,
+                DMG_CLUB = 0x80,
+                DMG_SHOCK = 0x100,
+                DMG_SONIC = 0x200,
+                DMG_ENERGYBEAM = 0x400,
+                DMG_DROWN = 0x4000,
+                DMG_POISON = 0x8000,
+                DMG_RADIATION = 0x10000,
+                DMG_DROWNRECOVER = 0x20000,
+                DMG_ACID = 0x40000,
+                DMG_PHYSGUN = 0x100000,
+                DMG_DISSOLVE = 0x200000,
+                DMG_BLAST_SURFACE = 0x400000,
+                DMG_BUCKSHOT = 0x1000000,
+                DMG_LASTGENERICFLAG = 0x1000000,
+                DMG_HEADSHOT = 0x2000000,
+                DMG_DANGERZONE = 0x4000000
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class PointWorldTextJustifyVertical_t : uint32_t {
+                POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0,
+                POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1,
+                POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class attributeprovidertypes_t : uint32_t {
+                PROVIDER_GENERIC = 0x0,
+                PROVIDER_WEAPON = 0x1
+            };
+            // Alignment: 1
+            // Member count: 6
+            enum class MoveCollide_t : uint8_t {
+                MOVECOLLIDE_DEFAULT = 0x0,
+                MOVECOLLIDE_FLY_BOUNCE = 0x1,
+                MOVECOLLIDE_FLY_CUSTOM = 0x2,
+                MOVECOLLIDE_FLY_SLIDE = 0x3,
+                MOVECOLLIDE_COUNT = 0x4,
+                MOVECOLLIDE_MAX_BITS = 0x3
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class IChoreoServices__ChoreoState_t : uint32_t {
+                STATE_PRE_SCRIPT = 0x0,
+                STATE_WAIT_FOR_SCRIPT = 0x1,
+                STATE_WALK_TO_MARK = 0x2,
+                STATE_SYNCHRONIZE_SCRIPT = 0x3,
+                STATE_PLAY_SCRIPT = 0x4,
+                STATE_PLAY_SCRIPT_POST_IDLE = 0x5,
+                STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ValueRemapperOutputType_t : uint32_t {
+                OutputType_AnimationCycle = 0x0,
+                OutputType_RotationX = 0x1,
+                OutputType_RotationY = 0x2,
+                OutputType_RotationZ = 0x3
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class PointTemplateOwnerSpawnGroupType_t : uint32_t {
+                INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0,
+                INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP = 0x1,
+                INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2
+            };
+            // Alignment: 1
+            // Member count: 3
+            enum class EContributionScoreFlag_t : uint8_t {
+                k_EContributionScoreFlag_Default = 0x0,
+                k_EContributionScoreFlag_Objective = 0x1,
+                k_EContributionScoreFlag_Bullets = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class eSplinePushType : uint32_t {
+                k_eSplinePushAlong = 0x0,
+                k_eSplinePushAway = 0x1,
+                k_eSplinePushTowards = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class EntityDistanceMode_t : uint32_t {
+                eOriginToOrigin = 0x0,
+                eCenterToCenter = 0x1,
+                eAxisToAxis = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class PointWorldTextJustifyHorizontal_t : uint32_t {
+                POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0,
+                POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1,
+                POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class ShakeCommand_t : uint32_t {
+                SHAKE_START = 0x0,
+                SHAKE_STOP = 0x1,
+                SHAKE_AMPLITUDE = 0x2,
+                SHAKE_FREQUENCY = 0x3,
+                SHAKE_START_RUMBLEONLY = 0x4,
+                SHAKE_START_NORUMBLE = 0x5
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class TRAIN_CODE : uint32_t {
+                TRAIN_SAFE = 0x0,
+                TRAIN_BLOCKING = 0x1,
+                TRAIN_FOLLOWING = 0x2
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class BrushSolidities_e : uint32_t {
+                BRUSHSOLID_TOGGLE = 0x0,
+                BRUSHSOLID_NEVER = 0x1,
+                BRUSHSOLID_ALWAYS = 0x2
+            };
+            // Alignment: 4
+            // Member count: 13
+            enum class QuestProgress__Reason : uint32_t {
+                QUEST_NONINITIALIZED = 0x0,
+                QUEST_OK = 0x1,
+                QUEST_NOT_ENOUGH_PLAYERS = 0x2,
+                QUEST_WARMUP = 0x3,
+                QUEST_NOT_CONNECTED_TO_STEAM = 0x4,
+                QUEST_NONOFFICIAL_SERVER = 0x5,
+                QUEST_NO_ENTITLEMENT = 0x6,
+                QUEST_NO_QUEST = 0x7,
+                QUEST_PLAYER_IS_BOT = 0x8,
+                QUEST_WRONG_MAP = 0x9,
+                QUEST_WRONG_MODE = 0xA,
+                QUEST_NOT_SYNCED_WITH_SERVER = 0xB,
+                QUEST_REASON_MAX = 0xC
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ModifyDamageReturn_t : uint32_t {
+                CONTINUE_TO_APPLY_DAMAGE = 0x0,
+                ABORT_DO_NOT_APPLY_DAMAGE = 0x1
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ShadowType_t : uint32_t {
+                SHADOWS_NONE = 0x0,
+                SHADOWS_SIMPLE = 0x1
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class ScriptedHeldWeaponBehavior_t : uint32_t {
+                eInvalid = 0xFFFFFFFFFFFFFFFF,
+                eHolster = 0x0,
+                eDeploy = 0x1,
+                eDrop = 0x2
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class GrenadeType_t : uint32_t {
+                GRENADE_TYPE_EXPLOSIVE = 0x0,
+                GRENADE_TYPE_FLASH = 0x1,
+                GRENADE_TYPE_FIRE = 0x2,
+                GRENADE_TYPE_DECOY = 0x3,
+                GRENADE_TYPE_SMOKE = 0x4,
+                GRENADE_TYPE_TOTAL = 0x5
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ValueRemapperInputType_t : uint32_t {
+                InputType_PlayerShootPosition = 0x0,
+                InputType_PlayerShootPositionAroundAxis = 0x1
+            };
+            // Alignment: 1
+            // Member count: 8
+            enum class EKillTypes_t : uint8_t {
+                KILL_NONE = 0x0,
+                KILL_DEFAULT = 0x1,
+                KILL_HEADSHOT = 0x2,
+                KILL_BLAST = 0x3,
+                KILL_BURN = 0x4,
+                KILL_SLASH = 0x5,
+                KILL_SHOCK = 0x6,
+                KILLTYPE_COUNT = 0x7
+            };
+            // Alignment: 4
+            // Member count: 25
+            enum class WeaponSound_t : uint32_t {
+                WEAPON_SOUND_EMPTY = 0x0,
+                WEAPON_SOUND_SECONDARY_EMPTY = 0x1,
+                WEAPON_SOUND_SINGLE = 0x2,
+                WEAPON_SOUND_SECONDARY_ATTACK = 0x3,
+                WEAPON_SOUND_MELEE_MISS = 0x4,
+                WEAPON_SOUND_MELEE_HIT = 0x5,
+                WEAPON_SOUND_MELEE_HIT_WORLD = 0x6,
+                WEAPON_SOUND_MELEE_HIT_PLAYER = 0x7,
+                WEAPON_SOUND_MELEE_HIT_NPC = 0x8,
+                WEAPON_SOUND_SPECIAL1 = 0x9,
+                WEAPON_SOUND_SPECIAL2 = 0xA,
+                WEAPON_SOUND_SPECIAL3 = 0xB,
+                WEAPON_SOUND_NEARLYEMPTY = 0xC,
+                WEAPON_SOUND_IMPACT = 0xD,
+                WEAPON_SOUND_REFLECT = 0xE,
+                WEAPON_SOUND_SECONDARY_IMPACT = 0xF,
+                WEAPON_SOUND_SECONDARY_REFLECT = 0x10,
+                WEAPON_SOUND_RELOAD = 0x11,
+                WEAPON_SOUND_SINGLE_ACCURATE = 0x12,
+                WEAPON_SOUND_ZOOM_IN = 0x13,
+                WEAPON_SOUND_ZOOM_OUT = 0x14,
+                WEAPON_SOUND_MOUSE_PRESSED = 0x15,
+                WEAPON_SOUND_DROP = 0x16,
+                WEAPON_SOUND_RADIO_USE = 0x17,
+                WEAPON_SOUND_NUM_TYPES = 0x18
+            };
+            // Alignment: 8
+            // Member count: 17
+            enum class TakeDamageFlags_t : uint64_t {
+                DFLAG_NONE = 0x0,
+                DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1,
+                DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2,
+                DFLAG_SUPPRESS_EFFECTS = 0x4,
+                DFLAG_PREVENT_DEATH = 0x8,
+                DFLAG_FORCE_DEATH = 0x10,
+                DFLAG_ALWAYS_GIB = 0x20,
+                DFLAG_NEVER_GIB = 0x40,
+                DFLAG_REMOVE_NO_RAGDOLL = 0x80,
+                DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100,
+                DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200,
+                DFLAG_RADIUS_DMG = 0x400,
+                DFLAG_FORCEREDUCEARMOR_DMG = 0x800,
+                DFLAG_SUPPRESS_INTERRUPT_FLINCH = 0x1000,
+                DMG_LASTDFLAG = 0x1000,
+                DFLAG_IGNORE_ARMOR = 0x2000,
+                DFLAG_SUPPRESS_UTILREMOVE = 0x4000
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class ValueRemapperHapticsType_t : uint32_t {
+                HaticsType_Default = 0x0,
+                HaticsType_None = 0x1
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class Disposition_t : uint32_t {
+                D_ER = 0x0,
+                D_HT = 0x1,
+                D_FR = 0x2,
+                D_LI = 0x3,
+                D_NU = 0x4,
+                D_ERROR = 0x0,
+                D_HATE = 0x1,
+                D_FEAR = 0x2,
+                D_LIKE = 0x3,
+                D_NEUTRAL = 0x4
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class CanPlaySequence_t : uint32_t {
+                CANNOT_PLAY = 0x0,
+                CAN_PLAY_NOW = 0x1,
+                CAN_PLAY_ENQUEUED = 0x2
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class MedalRank_t : uint32_t {
+                MEDAL_RANK_NONE = 0x0,
+                MEDAL_RANK_BRONZE = 0x1,
+                MEDAL_RANK_SILVER = 0x2,
+                MEDAL_RANK_GOLD = 0x3,
+                MEDAL_RANK_COUNT = 0x4
+            };
+            // Alignment: 4
+            // Member count: 7
+            enum class ObserverMode_t : uint32_t {
+                OBS_MODE_NONE = 0x0,
+                OBS_MODE_FIXED = 0x1,
+                OBS_MODE_IN_EYE = 0x2,
+                OBS_MODE_CHASE = 0x3,
+                OBS_MODE_ROAMING = 0x4,
+                OBS_MODE_DIRECTED = 0x5,
+                NUM_OBSERVER_MODES = 0x6
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class FuncDoorSpawnPos_t : uint32_t {
+                FUNC_DOOR_SPAWN_CLOSED = 0x0,
+                FUNC_DOOR_SPAWN_OPEN = 0x1
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class EOverrideBlockLOS_t : uint32_t {
+                BLOCK_LOS_DEFAULT = 0x0,
+                BLOCK_LOS_FORCE_FALSE = 0x1,
+                BLOCK_LOS_FORCE_TRUE = 0x2
+            };
+            // Alignment: 1
+            // Member count: 14
+            enum class MoveType_t : uint8_t {
+                MOVETYPE_NONE = 0x0,
+                MOVETYPE_OBSOLETE = 0x1,
+                MOVETYPE_WALK = 0x2,
+                MOVETYPE_FLY = 0x3,
+                MOVETYPE_FLYGRAVITY = 0x4,
+                MOVETYPE_VPHYSICS = 0x5,
+                MOVETYPE_PUSH = 0x6,
+                MOVETYPE_NOCLIP = 0x7,
+                MOVETYPE_OBSERVER = 0x8,
+                MOVETYPE_LADDER = 0x9,
+                MOVETYPE_CUSTOM = 0xA,
+                MOVETYPE_LAST = 0xB,
+                MOVETYPE_INVALID = 0xB,
+                MOVETYPE_MAX_BITS = 0x5
+            };
+            // Parent: CBaseCombatCharacter
+            // Field count: 1
+            namespace CHostageExpresserShim {
+                constexpr std::ptrdiff_t m_pExpresser = 0xAC0; // CAI_Expresser*
+            }
+            // Parent: CBaseTrigger
+            // Field count: 3
+            namespace CTriggerSoundscape {
+                constexpr std::ptrdiff_t m_hSoundscape = 0x960; // CHandle<CEnvSoundscapeTriggerable>
+                constexpr std::ptrdiff_t m_SoundscapeName = 0x968; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_spectators = 0x970; // CUtlVector<CHandle<CBasePlayerPawn>>
+            }
+            // Parent: CBreakableProp
+            // Field count: 22
+            //
+            // Metadata:
+            // NetworkVarNames: m_bUseHitboxesForRenderBox (bool)
+            // NetworkVarNames: m_bUseAnimGraph (bool)
+            namespace CDynamicProp {
+                constexpr std::ptrdiff_t m_bCreateNavObstacle = 0xB60; // bool
+                constexpr std::ptrdiff_t m_bNavObstacleUpdatesOverridden = 0xB61; // bool
+                constexpr std::ptrdiff_t m_bUseHitboxesForRenderBox = 0xB62; // bool
+                constexpr std::ptrdiff_t m_bUseAnimGraph = 0xB63; // bool
+                constexpr std::ptrdiff_t m_pOutputAnimBegun = 0xB68; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pOutputAnimOver = 0xB90; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pOutputAnimLoopCycleOver = 0xBB8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAnimReachedStart = 0xBE0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAnimReachedEnd = 0xC08; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iszIdleAnim = 0xC30; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nIdleAnimLoopMode = 0xC38; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_bRandomizeCycle = 0xC3C; // bool
+                constexpr std::ptrdiff_t m_bStartDisabled = 0xC3D; // bool
+                constexpr std::ptrdiff_t m_bFiredStartEndOutput = 0xC3E; // bool
+                constexpr std::ptrdiff_t m_bForceNpcExclude = 0xC3F; // bool
+                constexpr std::ptrdiff_t m_bCreateNonSolid = 0xC40; // bool
+                constexpr std::ptrdiff_t m_bIsOverrideProp = 0xC41; // bool
+                constexpr std::ptrdiff_t m_iInitialGlowState = 0xC44; // int32
+                constexpr std::ptrdiff_t m_nGlowRange = 0xC48; // int32
+                constexpr std::ptrdiff_t m_nGlowRangeMin = 0xC4C; // int32
+                constexpr std::ptrdiff_t m_glowColor = 0xC50; // Color
+                constexpr std::ptrdiff_t m_nGlowTeam = 0xC54; // int32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CFuncIllusionary {
+            }
+            // Parent: CPlayer_MovementServices_Humanoid
+            // Field count: 40
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderNormal (Vector)
+            // NetworkVarNames: m_nLadderSurfacePropIndex (int)
+            // NetworkVarNames: m_flDuckAmount (float)
+            // NetworkVarNames: m_flDuckSpeed (float)
+            // NetworkVarNames: m_bDuckOverride (bool)
+            // NetworkVarNames: m_bDesiresDuck (bool)
+            // NetworkVarNames: m_nDuckTimeMsecs (uint32)
+            // NetworkVarNames: m_nDuckJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_nJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_flLastDuckTime (float)
+            // NetworkVarNames: m_nGameCodeHasMovedPlayerAfterCommand (int)
+            // NetworkVarNames: m_bOldJumpPressed (bool)
+            // NetworkVarNames: m_fStashGrenadeParameterWhen (GameTime_t)
+            // NetworkVarNames: m_nButtonDownMaskPrev (ButtonBitMask_t)
+            // NetworkVarNames: m_flOffsetTickCompleteTime (float)
+            // NetworkVarNames: m_flOffsetTickStashedSpeed (float)
+            // NetworkVarNames: m_flStamina (float)
+            namespace CCSPlayer_MovementServices {
+                constexpr std::ptrdiff_t m_vecLadderNormal = 0x228; // Vector
+                constexpr std::ptrdiff_t m_nLadderSurfacePropIndex = 0x234; // int32
+                constexpr std::ptrdiff_t m_flDuckAmount = 0x238; // float32
+                constexpr std::ptrdiff_t m_flDuckSpeed = 0x23C; // float32
+                constexpr std::ptrdiff_t m_bDuckOverride = 0x240; // bool
+                constexpr std::ptrdiff_t m_bDesiresDuck = 0x241; // bool
+                constexpr std::ptrdiff_t m_flDuckOffset = 0x244; // float32
+                constexpr std::ptrdiff_t m_nDuckTimeMsecs = 0x248; // uint32
+                constexpr std::ptrdiff_t m_nDuckJumpTimeMsecs = 0x24C; // uint32
+                constexpr std::ptrdiff_t m_nJumpTimeMsecs = 0x250; // uint32
+                constexpr std::ptrdiff_t m_flLastDuckTime = 0x254; // float32
+                constexpr std::ptrdiff_t m_vecLastPositionAtFullCrouchSpeed = 0x260; // Vector2D
+                constexpr std::ptrdiff_t m_duckUntilOnGround = 0x268; // bool
+                constexpr std::ptrdiff_t m_bHasWalkMovedSinceLastJump = 0x269; // bool
+                constexpr std::ptrdiff_t m_bInStuckTest = 0x26A; // bool
+                constexpr std::ptrdiff_t m_flStuckCheckTime = 0x278; // float32[64][2]
+                constexpr std::ptrdiff_t m_nTraceCount = 0x478; // int32
+                constexpr std::ptrdiff_t m_StuckLast = 0x47C; // int32
+                constexpr std::ptrdiff_t m_bSpeedCropped = 0x480; // bool
+                constexpr std::ptrdiff_t m_flGroundMoveEfficiency = 0x484; // float32
+                constexpr std::ptrdiff_t m_nOldWaterLevel = 0x488; // int32
+                constexpr std::ptrdiff_t m_flWaterEntryTime = 0x48C; // float32
+                constexpr std::ptrdiff_t m_vecForward = 0x490; // Vector
+                constexpr std::ptrdiff_t m_vecLeft = 0x49C; // Vector
+                constexpr std::ptrdiff_t m_vecUp = 0x4A8; // Vector
+                constexpr std::ptrdiff_t m_nGameCodeHasMovedPlayerAfterCommand = 0x4B4; // int32
+                constexpr std::ptrdiff_t m_bMadeFootstepNoise = 0x4B8; // bool
+                constexpr std::ptrdiff_t m_iFootsteps = 0x4BC; // int32
+                constexpr std::ptrdiff_t m_bOldJumpPressed = 0x4C0; // bool
+                constexpr std::ptrdiff_t m_flJumpPressedTime = 0x4C4; // float32
+                constexpr std::ptrdiff_t m_fStashGrenadeParameterWhen = 0x4C8; // GameTime_t
+                constexpr std::ptrdiff_t m_nButtonDownMaskPrev = 0x4D0; // uint64
+                constexpr std::ptrdiff_t m_flOffsetTickCompleteTime = 0x4D8; // float32
+                constexpr std::ptrdiff_t m_flOffsetTickStashedSpeed = 0x4DC; // float32
+                constexpr std::ptrdiff_t m_flStamina = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flHeightAtJumpStart = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flMaxJumpHeightThisJump = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flMaxJumpHeightLastJump = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flStaminaAtJumpStart = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flAccumulatedJumpError = 0x4F4; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: scale (int16)
+            // NetworkVarNames: origin (Vector)
+            // NetworkVarNames: bClip3DSkyBoxNearToWorldFar (bool)
+            // NetworkVarNames: flClip3DSkyBoxNearToWorldFarOffset (float32)
+            // NetworkVarNames: fog (fogparams_t)
+            // NetworkVarNames: m_nWorldGroupID (WorldGroupId_t)
+            namespace sky3dparams_t {
+                constexpr std::ptrdiff_t scale = 0x8; // int16
+                constexpr std::ptrdiff_t origin = 0xC; // Vector
+                constexpr std::ptrdiff_t bClip3DSkyBoxNearToWorldFar = 0x18; // bool
+                constexpr std::ptrdiff_t flClip3DSkyBoxNearToWorldFarOffset = 0x1C; // float32
+                constexpr std::ptrdiff_t fog = 0x20; // fogparams_t
+                constexpr std::ptrdiff_t m_nWorldGroupID = 0x88; // WorldGroupId_t
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            namespace CTriggerRemove {
+                constexpr std::ptrdiff_t m_OnRemove = 0x960; // CEntityIOOutput
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterName {
+                constexpr std::ptrdiff_t m_iFilterName = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CProjectedDecal {
+                constexpr std::ptrdiff_t m_nTexture = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_flDistance = 0x4E4; // float32
+            }
+            // Parent: CFuncTrackChange
+            // Field count: 0
+            namespace CFuncTrackAuto {
+            }
+            // Parent: CBreakable
+            // Field count: 0
+            namespace CPushable {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            namespace CTriggerMultiple {
+                constexpr std::ptrdiff_t m_OnTrigger = 0x960; // CEntityIOOutput
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_skeletonInstance (CSkeletonInstance)
+            namespace CBodyComponentSkeletonInstance {
+                constexpr std::ptrdiff_t m_skeletonInstance = 0x50; // CSkeletonInstance
+            }
+            // Parent: CBaseTrigger
+            // Field count: 7
+            namespace CTriggerPush {
+                constexpr std::ptrdiff_t m_angPushEntitySpace = 0x960; // QAngle
+                constexpr std::ptrdiff_t m_vecPushDirEntitySpace = 0x96C; // Vector
+                constexpr std::ptrdiff_t m_bTriggerOnStartTouch = 0x978; // bool
+                constexpr std::ptrdiff_t m_bUsePathSimple = 0x979; // bool
+                constexpr std::ptrdiff_t m_iszPathSimpleName = 0x980; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PathSimple = 0x988; // CPathSimple*
+                constexpr std::ptrdiff_t m_splinePushType = 0x990; // uint32
+            }
+            // Parent: CBaseFilter
+            // Field count: 3
+            namespace FilterHealth {
+                constexpr std::ptrdiff_t m_bAdrenalineActive = 0x538; // bool
+                constexpr std::ptrdiff_t m_iHealthMin = 0x53C; // int32
+                constexpr std::ptrdiff_t m_iHealthMax = 0x540; // int32
+            }
+            // Parent: CCSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            namespace CCSGO_TeamSelectCounterTerroristPosition {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 5
+            namespace CTriggerProximity {
+                constexpr std::ptrdiff_t m_hMeasureTarget = 0x960; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iszMeasureTarget = 0x968; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_fRadius = 0x970; // float32
+                constexpr std::ptrdiff_t m_nTouchers = 0x974; // int32
+                constexpr std::ptrdiff_t m_NearestEntityDistance = 0x978; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CFuncBrush
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_EffectName (string_t)
+            namespace CFuncElectrifiedVolume {
+                constexpr std::ptrdiff_t m_EffectName = 0x7B0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_EffectInterpenetrateName = 0x7B8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_EffectZapName = 0x7C0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszEffectSource = 0x7C8; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            namespace CBaseDMStart {
+                constexpr std::ptrdiff_t m_Master = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CGameRulesProxy
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pGameRules (CCSGameRules*)
+            namespace CCSGameRulesProxy {
+                constexpr std::ptrdiff_t m_pGameRules = 0x4E0; // CCSGameRules*
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 5
+            namespace CTriggerBrush {
+                constexpr std::ptrdiff_t m_OnStartTouch = 0x790; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEndTouch = 0x7B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUse = 0x7E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iInputFilter = 0x808; // int32
+                constexpr std::ptrdiff_t m_iDontMessageParent = 0x80C; // int32
+            }
+            // Parent: CBeam
+            // Field count: 19
+            namespace CEnvBeam {
+                constexpr std::ptrdiff_t m_active = 0x830; // int32
+                constexpr std::ptrdiff_t m_spriteTexture = 0x838; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_iszStartEntity = 0x840; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszEndEntity = 0x848; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_life = 0x850; // float32
+                constexpr std::ptrdiff_t m_boltWidth = 0x854; // float32
+                constexpr std::ptrdiff_t m_noiseAmplitude = 0x858; // float32
+                constexpr std::ptrdiff_t m_speed = 0x85C; // int32
+                constexpr std::ptrdiff_t m_restrike = 0x860; // float32
+                constexpr std::ptrdiff_t m_iszSpriteName = 0x868; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_frameStart = 0x870; // int32
+                constexpr std::ptrdiff_t m_vEndPointWorld = 0x874; // Vector
+                constexpr std::ptrdiff_t m_vEndPointRelative = 0x880; // Vector
+                constexpr std::ptrdiff_t m_radius = 0x88C; // float32
+                constexpr std::ptrdiff_t m_TouchType = 0x890; // Touch_t
+                constexpr std::ptrdiff_t m_iFilterName = 0x898; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFilter = 0x8A0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iszDecal = 0x8A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnTouchedByEntity = 0x8B0; // CEntityIOOutput
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            namespace CTonemapTrigger {
+                constexpr std::ptrdiff_t m_tonemapControllerName = 0x960; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hTonemapController = 0x968; // CEntityHandle
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAttributeDefinitionIndex (attrib_definition_index_t)
+            // NetworkVarNames: m_flValue (float)
+            // NetworkVarNames: m_flInitialValue (float)
+            // NetworkVarNames: m_nRefundableCurrency (int)
+            // NetworkVarNames: m_bSetBonus (bool)
+            namespace CEconItemAttribute {
+                constexpr std::ptrdiff_t m_iAttributeDefinitionIndex = 0x30; // uint16
+                constexpr std::ptrdiff_t m_flValue = 0x34; // float32
+                constexpr std::ptrdiff_t m_flInitialValue = 0x38; // float32
+                constexpr std::ptrdiff_t m_nRefundableCurrency = 0x3C; // int32
+                constexpr std::ptrdiff_t m_bSetBonus = 0x40; // bool
+            }
+            // Parent: CWeaponBaseItem
+            // Field count: 0
+            namespace CItem_Healthshot {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            namespace CFogTrigger {
+                constexpr std::ptrdiff_t m_fog = 0x960; // fogparams_t
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            namespace CLogicCollisionPair {
+                constexpr std::ptrdiff_t m_nameAttach1 = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nameAttach2 = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_supportMultipleEntitiesWithSameName = 0x4F0; // bool
+                constexpr std::ptrdiff_t m_disabled = 0x4F1; // bool
+                constexpr std::ptrdiff_t m_succeeded = 0x4F2; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_weapon_cs_base {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CTriggerHostageReset {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 4
+            namespace CPointTeleport {
+                constexpr std::ptrdiff_t m_vSaveOrigin = 0x4E0; // Vector
+                constexpr std::ptrdiff_t m_vSaveAngles = 0x4EC; // QAngle
+                constexpr std::ptrdiff_t m_bTeleportParentedEntities = 0x4F8; // bool
+                constexpr std::ptrdiff_t m_bTeleportUseCurrentAngle = 0x4F9; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoInstructorHintBombTargetB {
+            }
+            // Parent: CBtNodeCondition
+            // Field count: 3
+            namespace CBtNodeConditionInactive {
+                constexpr std::ptrdiff_t m_flRoundStartThresholdSeconds = 0x78; // float32
+                constexpr std::ptrdiff_t m_flSensorInactivityThresholdSeconds = 0x7C; // float32
+                constexpr std::ptrdiff_t m_SensorInactivityTimer = 0x80; // CountdownTimer
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 0
+            namespace CWeaponSawedoff {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFluidDensity (float)
+            namespace CTriggerBuoyancy {
+                constexpr std::ptrdiff_t m_BuoyancyHelper = 0x960; // CBuoyancyHelper
+                constexpr std::ptrdiff_t m_flFluidDensity = 0x9E0; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            namespace CMoverPathNode {
+                constexpr std::ptrdiff_t m_vInTangentLocal = 0x4E0; // Vector
+                constexpr std::ptrdiff_t m_vOutTangentLocal = 0x4EC; // Vector
+                constexpr std::ptrdiff_t m_szParentPathUniqueID = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnPassThrough = 0x500; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPassThroughForward = 0x528; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPassThroughReverse = 0x550; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_hMover = 0x578; // CHandle<CPathMover>
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            namespace CEnvSoundscapeTriggerable {
+            }
+            // Parent: CBtNode
+            // Field count: 12
+            namespace CBtActionAim {
+                constexpr std::ptrdiff_t m_szSensorInputKey = 0x68; // CUtlString
+                constexpr std::ptrdiff_t m_szAimReadyKey = 0x80; // CUtlString
+                constexpr std::ptrdiff_t m_flZoomCooldownTimestamp = 0x88; // float32
+                constexpr std::ptrdiff_t m_bDoneAiming = 0x8C; // bool
+                constexpr std::ptrdiff_t m_flLerpStartTime = 0x90; // float32
+                constexpr std::ptrdiff_t m_flNextLookTargetLerpTime = 0x94; // float32
+                constexpr std::ptrdiff_t m_flPenaltyReductionRatio = 0x98; // float32
+                constexpr std::ptrdiff_t m_NextLookTarget = 0x9C; // QAngle
+                constexpr std::ptrdiff_t m_AimTimer = 0xA8; // CountdownTimer
+                constexpr std::ptrdiff_t m_SniperHoldTimer = 0xC0; // CountdownTimer
+                constexpr std::ptrdiff_t m_FocusIntervalTimer = 0xD8; // CountdownTimer
+                constexpr std::ptrdiff_t m_bAcquired = 0xF0; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_ViewModelServices {
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_WingmanIntroCounterTerroristPosition {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCsViewPunchAngle (QAngle)
+            // NetworkVarNames: m_nCsViewPunchAngleTick (GameTick_t)
+            // NetworkVarNames: m_flCsViewPunchAngleTickRatio (float32)
+            // NetworkVarNames: m_PlayerFog (fogplayerparams_t)
+            // NetworkVarNames: m_hColorCorrectionCtrl (CHandle<CColorCorrection>)
+            // NetworkVarNames: m_hViewEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hTonemapController (CHandle<CTonemapController2>)
+            // NetworkVarNames: m_audio (audioparams_t)
+            // NetworkVarNames: m_PostProcessingVolumes (CHandle<CPostProcessingVolume>)
+            namespace CPlayer_CameraServices {
+                constexpr std::ptrdiff_t m_vecCsViewPunchAngle = 0x40; // QAngle
+                constexpr std::ptrdiff_t m_nCsViewPunchAngleTick = 0x4C; // GameTick_t
+                constexpr std::ptrdiff_t m_flCsViewPunchAngleTickRatio = 0x50; // float32
+                constexpr std::ptrdiff_t m_PlayerFog = 0x58; // fogplayerparams_t
+                constexpr std::ptrdiff_t m_hColorCorrectionCtrl = 0x98; // CHandle<CColorCorrection>
+                constexpr std::ptrdiff_t m_hViewEntity = 0x9C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTonemapController = 0xA0; // CHandle<CTonemapController2>
+                constexpr std::ptrdiff_t m_audio = 0xA8; // audioparams_t
+                constexpr std::ptrdiff_t m_PostProcessingVolumes = 0x120; // CNetworkUtlVectorBase<CHandle<CPostProcessingVolume>>
+                constexpr std::ptrdiff_t m_flOldPlayerZ = 0x138; // float32
+                constexpr std::ptrdiff_t m_flOldPlayerViewOffsetZ = 0x13C; // float32
+                constexpr std::ptrdiff_t m_hTriggerSoundscapeList = 0x158; // CUtlVector<CHandle<CEnvSoundscapeTriggerable>>
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_fog (fogparams_t)
+            namespace CFogController {
+                constexpr std::ptrdiff_t m_fog = 0x4E0; // fogparams_t
+                constexpr std::ptrdiff_t m_bUseAngles = 0x548; // bool
+                constexpr std::ptrdiff_t m_iChangedVariables = 0x54C; // int32
+            }
+            // Parent: CCSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            namespace CCSGO_TeamIntroCharacterPosition {
+            }
+            // Parent: CEntityComponent
+            // Field count: 2
+            namespace CBodyComponent {
+                constexpr std::ptrdiff_t m_pSceneNode = 0x8; // CGameSceneNode*
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x20; // CNetworkVarChainer
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDecoyShotTick (int)
+            namespace CDecoyProjectile {
+                constexpr std::ptrdiff_t m_nDecoyShotTick = 0xB58; // int32
+                constexpr std::ptrdiff_t m_shotsRemaining = 0xB5C; // int32
+                constexpr std::ptrdiff_t m_fExpireTime = 0xB60; // GameTime_t
+                constexpr std::ptrdiff_t m_decoyWeaponDefIndex = 0xB70; // uint16
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CEnableMotionFixup {
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 0
+            namespace CCSObserver_MovementServices {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_timescale (float32)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            namespace CountdownTimer {
+                constexpr std::ptrdiff_t m_duration = 0x8; // float32
+                constexpr std::ptrdiff_t m_timestamp = 0xC; // GameTime_t
+                constexpr std::ptrdiff_t m_timescale = 0x10; // float32
+                constexpr std::ptrdiff_t m_nWorldGroupId = 0x14; // WorldGroupId_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hOwner (CEntityHandle)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            namespace CGameSceneNodeHandle {
+                constexpr std::ptrdiff_t m_hOwner = 0x8; // CEntityHandle
+                constexpr std::ptrdiff_t m_name = 0xC; // CUtlStringToken
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponMP9 {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            namespace CPhysicsEntitySolver {
+                constexpr std::ptrdiff_t m_hMovingEntity = 0x4E8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hPhysicsBlocker = 0x4EC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_separationDuration = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_cancelTime = 0x4F4; // GameTime_t
+            }
+            // Parent: CBaseEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPingedEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_iType (int)
+            // NetworkVarNames: m_bUrgent (bool)
+            // NetworkVarNames: m_szPlaceName (char)
+            namespace CPlayerPing {
+                constexpr std::ptrdiff_t m_hPlayer = 0x4E8; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_hPingedEntity = 0x4EC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iType = 0x4F0; // int32
+                constexpr std::ptrdiff_t m_bUrgent = 0x4F4; // bool
+                constexpr std::ptrdiff_t m_szPlaceName = 0x4F5; // char[18]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: nTagTick (GameTick_t)
+            // NetworkVarNames: flFlinchModSmall (float)
+            // NetworkVarNames: flFlinchModLarge (float)
+            // NetworkVarNames: flFriendlyFireDamageReductionRatio (float)
+            namespace PredictedDamageTag_t {
+                constexpr std::ptrdiff_t nTagTick = 0x30; // GameTick_t
+                constexpr std::ptrdiff_t flFlinchModSmall = 0x34; // float32
+                constexpr std::ptrdiff_t flFlinchModLarge = 0x38; // float32
+                constexpr std::ptrdiff_t flFriendlyFireDamageReductionRatio = 0x3C; // float32
+            }
+            // Parent: CCSPointScriptEntity
+            // Field count: 0
+            namespace CCSServerPointScriptEntity {
+            }
+            // Parent: CGameSceneNode
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_modelState (CModelState)
+            // NetworkVarNames: m_bIsAnimationEnabled (bool)
+            // NetworkVarNames: m_bUseParentRenderBounds (bool)
+            // NetworkVarNames: m_materialGroup (CUtlStringToken)
+            // NetworkVarNames: m_nHitboxSet (uint8)
+            namespace CSkeletonInstance {
+                constexpr std::ptrdiff_t m_modelState = 0x170; // CModelState
+                constexpr std::ptrdiff_t m_bIsAnimationEnabled = 0x3A0; // bool
+                constexpr std::ptrdiff_t m_bUseParentRenderBounds = 0x3A1; // bool
+                constexpr std::ptrdiff_t m_bDisableSolidCollisionsForHierarchy = 0x3A2; // bool
+                constexpr std::ptrdiff_t m_bDirtyMotionType = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bIsGeneratingLatchedParentSpaceState = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_materialGroup = 0x3A4; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nHitboxSet = 0x3A8; // uint8
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoLandmark {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponMP7 {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponFiveSeven {
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_animationController (CBaseAnimGraphController)
+            namespace CBodyComponentBaseAnimGraph {
+                constexpr std::ptrdiff_t m_animationController = 0x490; // CBaseAnimGraphController
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_sceneNode (CGameSceneNode)
+            namespace CBodyComponentPoint {
+                constexpr std::ptrdiff_t m_sceneNode = 0x50; // CGameSceneNode
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            namespace CEnvFireSensor {
+                constexpr std::ptrdiff_t m_bEnabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_bHeatAtLevel = 0x4E1; // bool
+                constexpr std::ptrdiff_t m_radius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_targetLevel = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_targetTime = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_levelTime = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_OnHeatLevelStart = 0x4F8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHeatLevelEnd = 0x520; // CEntityIOOutput
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_WingmanIntroTerroristPosition {
+            }
+            // Parent: None
+            // Field count: 2
+            namespace CEnvWindShared__WindAveEvent_t {
+                constexpr std::ptrdiff_t m_flStartWindSpeed = 0x0; // float32
+                constexpr std::ptrdiff_t m_flAveWindSpeed = 0x4; // float32
+            }
+            // Parent: CDynamicProp
+            // Field count: 0
+            namespace CDynamicPropAlias_cable_dynamic {
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CPointGamestatsCounter {
+                constexpr std::ptrdiff_t m_strStatisticName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E8; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 10
+            namespace CEnvShake {
+                constexpr std::ptrdiff_t m_limitToEntity = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Amplitude = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_Frequency = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_Duration = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_Radius = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_stopTime = 0x4F8; // GameTime_t
+                constexpr std::ptrdiff_t m_nextShake = 0x4FC; // GameTime_t
+                constexpr std::ptrdiff_t m_currentAmp = 0x500; // float32
+                constexpr std::ptrdiff_t m_maxForce = 0x504; // Vector
+                constexpr std::ptrdiff_t m_shakeCallback = 0x518; // CPhysicsShake
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CPrecipitationBlocker {
+            }
+            // Parent: CPathKeyFrame
+            // Field count: 11
+            namespace CBaseMoveBehavior {
+                constexpr std::ptrdiff_t m_iPositionInterpolator = 0x540; // int32
+                constexpr std::ptrdiff_t m_iRotationInterpolator = 0x544; // int32
+                constexpr std::ptrdiff_t m_flAnimStartTime = 0x548; // float32
+                constexpr std::ptrdiff_t m_flAnimEndTime = 0x54C; // float32
+                constexpr std::ptrdiff_t m_flAverageSpeedAcrossFrame = 0x550; // float32
+                constexpr std::ptrdiff_t m_pCurrentKeyFrame = 0x558; // CPathKeyFrame*
+                constexpr std::ptrdiff_t m_pTargetKeyFrame = 0x560; // CPathKeyFrame*
+                constexpr std::ptrdiff_t m_pPreKeyFrame = 0x568; // CPathKeyFrame*
+                constexpr std::ptrdiff_t m_pPostKeyFrame = 0x570; // CPathKeyFrame*
+                constexpr std::ptrdiff_t m_flTimeIntoFrame = 0x578; // float32
+                constexpr std::ptrdiff_t m_iDirection = 0x57C; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CFuncMoverAPI {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CFuncNavObstruction {
+                constexpr std::ptrdiff_t m_bDisabled = 0x798; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            namespace CEnvTilt {
+                constexpr std::ptrdiff_t m_Duration = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_Radius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_TiltTime = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_stopTime = 0x4EC; // GameTime_t
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bRedraw (bool)
+            // NetworkVarNames: m_bIsHeldByPlayer (bool)
+            // NetworkVarNames: m_bPinPulled (bool)
+            // NetworkVarNames: m_bJumpThrow (bool)
+            // NetworkVarNames: m_bThrowAnimating (bool)
+            // NetworkVarNames: m_fThrowTime (GameTime_t)
+            // NetworkVarNames: m_flThrowStrength (float)
+            // NetworkVarNames: m_flThrowStrengthApproach (float)
+            // NetworkVarNames: m_fDropTime (GameTime_t)
+            // NetworkVarNames: m_fPinPullTime (GameTime_t)
+            // NetworkVarNames: m_bJustPulledPin (bool)
+            // NetworkVarNames: m_nNextHoldTick (GameTick_t)
+            // NetworkVarNames: m_flNextHoldFrac (float)
+            // NetworkVarNames: m_hSwitchToWeaponAfterThrow (CHandle<CCSWeaponBase>)
+            namespace CBaseCSGrenade {
+                constexpr std::ptrdiff_t m_bRedraw = 0xF68; // bool
+                constexpr std::ptrdiff_t m_bIsHeldByPlayer = 0xF69; // bool
+                constexpr std::ptrdiff_t m_bPinPulled = 0xF6A; // bool
+                constexpr std::ptrdiff_t m_bJumpThrow = 0xF6B; // bool
+                constexpr std::ptrdiff_t m_bThrowAnimating = 0xF6C; // bool
+                constexpr std::ptrdiff_t m_fThrowTime = 0xF70; // GameTime_t
+                constexpr std::ptrdiff_t m_flThrowStrength = 0xF74; // float32
+                constexpr std::ptrdiff_t m_flThrowStrengthApproach = 0xF78; // float32
+                constexpr std::ptrdiff_t m_fDropTime = 0xF7C; // GameTime_t
+                constexpr std::ptrdiff_t m_fPinPullTime = 0xF80; // GameTime_t
+                constexpr std::ptrdiff_t m_bJustPulledPin = 0xF84; // bool
+                constexpr std::ptrdiff_t m_nNextHoldTick = 0xF88; // GameTick_t
+                constexpr std::ptrdiff_t m_flNextHoldFrac = 0xF8C; // float32
+                constexpr std::ptrdiff_t m_hSwitchToWeaponAfterThrow = 0xF90; // CHandle<CCSWeaponBase>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CItemGenericTriggerHelper {
+                constexpr std::ptrdiff_t m_hParentItem = 0x790; // CHandle<CItemGeneric>
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            namespace CLogicBranchList {
+                constexpr std::ptrdiff_t m_nLogicBranchNames = 0x4E0; // CUtlSymbolLarge[16]
+                constexpr std::ptrdiff_t m_LogicBranchList = 0x560; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_eLastState = 0x578; // CLogicBranchList::LogicBranchListenerLastState_t
+                constexpr std::ptrdiff_t m_OnAllTrue = 0x580; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAllFalse = 0x5A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMixed = 0x5D0; // CEntityIOOutput
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCtrl (CHandle<CFogController>)
+            namespace fogplayerparams_t {
+                constexpr std::ptrdiff_t m_hCtrl = 0x8; // CHandle<CFogController>
+                constexpr std::ptrdiff_t m_flTransitionTime = 0xC; // float32
+                constexpr std::ptrdiff_t m_OldColor = 0x10; // Color
+                constexpr std::ptrdiff_t m_flOldStart = 0x14; // float32
+                constexpr std::ptrdiff_t m_flOldEnd = 0x18; // float32
+                constexpr std::ptrdiff_t m_flOldMaxDensity = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flOldHDRColorScale = 0x20; // float32
+                constexpr std::ptrdiff_t m_flOldFarZ = 0x24; // float32
+                constexpr std::ptrdiff_t m_NewColor = 0x28; // Color
+                constexpr std::ptrdiff_t m_flNewStart = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flNewEnd = 0x30; // float32
+                constexpr std::ptrdiff_t m_flNewMaxDensity = 0x34; // float32
+                constexpr std::ptrdiff_t m_flNewHDRColorScale = 0x38; // float32
+                constexpr std::ptrdiff_t m_flNewFarZ = 0x3C; // float32
+            }
+            // Parent: CItemDefuser
+            // Field count: 0
+            namespace CItemDefuserAlias_item_defuser {
+            }
+            // Parent: CModelPointEntity
+            // Field count: 3
+            namespace CRevertSaved {
+                constexpr std::ptrdiff_t m_loadTime = 0x790; // float32
+                constexpr std::ptrdiff_t m_Duration = 0x794; // float32
+                constexpr std::ptrdiff_t m_HoldTime = 0x798; // float32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 8
+            namespace CMultiLightProxy {
+                constexpr std::ptrdiff_t m_iszLightNameFilter = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszLightClassFilter = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flLightRadiusFilter = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flBrightnessDelta = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_bPerformScreenFade = 0x4F8; // bool
+                constexpr std::ptrdiff_t m_flTargetBrightnessMultiplier = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_flCurrentBrightnessMultiplier = 0x500; // float32
+                constexpr std::ptrdiff_t m_vecLights = 0x508; // CUtlVector<CHandle<CLightEntity>>
+            }
+            // Parent: None
+            // Field count: 21
+            //
+            // Metadata:
+            // NetworkVarNames: m_vOrigin (Vector)
+            // NetworkVarNames: m_vStart (Vector)
+            // NetworkVarNames: m_vNormal (Vector)
+            // NetworkVarNames: m_vAngles (QAngle)
+            // NetworkVarNames: m_hEntity (CEntityHandle)
+            // NetworkVarNames: m_hOtherEntity (CEntityHandle)
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flMagnitude (float32)
+            // NetworkVarNames: m_flRadius (float32)
+            // NetworkVarNames: m_nSurfaceProp (CUtlStringToken)
+            // NetworkVarNames: m_nEffectIndex (HParticleSystemDefinition)
+            // NetworkVarNames: m_nDamageType (uint32)
+            // NetworkVarNames: m_nPenetrate (uint8)
+            // NetworkVarNames: m_nMaterial (uint16)
+            // NetworkVarNames: m_nHitBox (uint16)
+            // NetworkVarNames: m_nColor (uint8)
+            // NetworkVarNames: m_fFlags (uint8)
+            // NetworkVarNames: m_nAttachmentIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_nAttachmentName (CUtlStringToken)
+            // NetworkVarNames: m_iEffectName (uint16)
+            // NetworkVarNames: m_nExplosionType (uint8)
+            namespace CEffectData {
+                constexpr std::ptrdiff_t m_vOrigin = 0x8; // Vector
+                constexpr std::ptrdiff_t m_vStart = 0x14; // Vector
+                constexpr std::ptrdiff_t m_vNormal = 0x20; // Vector
+                constexpr std::ptrdiff_t m_vAngles = 0x2C; // QAngle
+                constexpr std::ptrdiff_t m_hEntity = 0x38; // CEntityHandle
+                constexpr std::ptrdiff_t m_hOtherEntity = 0x3C; // CEntityHandle
+                constexpr std::ptrdiff_t m_flScale = 0x40; // float32
+                constexpr std::ptrdiff_t m_flMagnitude = 0x44; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x48; // float32
+                constexpr std::ptrdiff_t m_nSurfaceProp = 0x4C; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nEffectIndex = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_nDamageType = 0x58; // uint32
+                constexpr std::ptrdiff_t m_nPenetrate = 0x5C; // uint8
+                constexpr std::ptrdiff_t m_nMaterial = 0x5E; // uint16
+                constexpr std::ptrdiff_t m_nHitBox = 0x60; // uint16
+                constexpr std::ptrdiff_t m_nColor = 0x62; // uint8
+                constexpr std::ptrdiff_t m_fFlags = 0x63; // uint8
+                constexpr std::ptrdiff_t m_nAttachmentIndex = 0x64; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_nAttachmentName = 0x68; // CUtlStringToken
+                constexpr std::ptrdiff_t m_iEffectName = 0x6C; // uint16
+                constexpr std::ptrdiff_t m_nExplosionType = 0x6E; // uint8
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CEntityBlocker {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            namespace CLogicCase {
+                constexpr std::ptrdiff_t m_nCase = 0x4E0; // CUtlSymbolLarge[32]
+                constexpr std::ptrdiff_t m_nShuffleCases = 0x5E0; // int32
+                constexpr std::ptrdiff_t m_nLastShuffleCase = 0x5E4; // int32
+                constexpr std::ptrdiff_t m_uchShuffleCaseMap = 0x5E8; // uint8[32]
+                constexpr std::ptrdiff_t m_OnCase = 0x608; // CEntityIOOutput[32]
+                constexpr std::ptrdiff_t m_OnDefault = 0xB08; // CEntityOutputTemplate<CVariantBase<CVariantDefaultAllocator>>
+            }
+            // Parent: CItem
+            // Field count: 2
+            namespace CItemDefuser {
+                constexpr std::ptrdiff_t m_entitySpottedState = 0xA80; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_nSpotRules = 0xA98; // int32
+            }
+            // Parent: CRuleEntity
+            // Field count: 0
+            namespace CRuleBrushEntity {
+            }
+            // Parent: CInferno
+            // Field count: 0
+            namespace CFireCrackerBlast {
+            }
+            // Parent: CBaseEntity
+            // Field count: 14
+            namespace CSoundEventEntity {
+                constexpr std::ptrdiff_t m_bStartOnSpawn = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_bToLocalPlayer = 0x4E1; // bool
+                constexpr std::ptrdiff_t m_bStopOnNew = 0x4E2; // bool
+                constexpr std::ptrdiff_t m_bSaveRestore = 0x4E3; // bool
+                constexpr std::ptrdiff_t m_bSavedIsPlaying = 0x4E4; // bool
+                constexpr std::ptrdiff_t m_flSavedElapsedTime = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_iszSourceEntityName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszAttachmentName = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_onGUIDChanged = 0x500; // CEntityOutputTemplate<uint64>
+                constexpr std::ptrdiff_t m_onSoundFinished = 0x528; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_flClientCullRadius = 0x550; // float32
+                constexpr std::ptrdiff_t m_iszSoundName = 0x580; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hSource = 0x590; // CEntityHandle
+                constexpr std::ptrdiff_t m_nEntityIndexSelection = 0x594; // int32
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_hViewModel (CHandle<CBaseViewModel>)
+            namespace CCSPlayer_ViewModelServices {
+                constexpr std::ptrdiff_t m_hViewModel = 0x40; // CHandle<CBaseViewModel>[3]
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_SequenceCompleteTimer (CountdownTimer)
+            // NetworkVarNames: m_bRedraw (bool)
+            namespace CWeaponBaseItem {
+                constexpr std::ptrdiff_t m_SequenceCompleteTimer = 0xF68; // CountdownTimer
+                constexpr std::ptrdiff_t m_bRedraw = 0xF80; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoParticleTarget {
+            }
+            // Parent: CBaseEntity
+            // Field count: 34
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScattering (float)
+            // NetworkVarNames: m_flAnisotropy (float)
+            // NetworkVarNames: m_flFadeSpeed (float)
+            // NetworkVarNames: m_flDrawDistance (float)
+            // NetworkVarNames: m_flFadeInStart (float)
+            // NetworkVarNames: m_flFadeInEnd (float)
+            // NetworkVarNames: m_flIndirectStrength (float)
+            // NetworkVarNames: m_nVolumeDepth (int)
+            // NetworkVarNames: m_fFirstVolumeSliceThickness (float)
+            // NetworkVarNames: m_nIndirectTextureDimX (int)
+            // NetworkVarNames: m_nIndirectTextureDimY (int)
+            // NetworkVarNames: m_nIndirectTextureDimZ (int)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartAnisoTime (GameTime_t)
+            // NetworkVarNames: m_flStartScatterTime (GameTime_t)
+            // NetworkVarNames: m_flStartDrawDistanceTime (GameTime_t)
+            // NetworkVarNames: m_flStartAnisotropy (float)
+            // NetworkVarNames: m_flStartScattering (float)
+            // NetworkVarNames: m_flStartDrawDistance (float)
+            // NetworkVarNames: m_flDefaultAnisotropy (float)
+            // NetworkVarNames: m_flDefaultScattering (float)
+            // NetworkVarNames: m_flDefaultDrawDistance (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bEnableIndirect (bool)
+            // NetworkVarNames: m_bIndirectUseLPVs (bool)
+            // NetworkVarNames: m_bIsMaster (bool)
+            // NetworkVarNames: m_hFogIndirectTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_nForceRefreshCount (int)
+            // NetworkVarNames: m_fNoiseSpeed (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_vNoiseScale (Vector)
+            namespace CEnvVolumetricFogController {
+                constexpr std::ptrdiff_t m_flScattering = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flAnisotropy = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flFadeSpeed = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flDrawDistance = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flFadeInStart = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flFadeInEnd = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flIndirectStrength = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_nVolumeDepth = 0x4FC; // int32
+                constexpr std::ptrdiff_t m_fFirstVolumeSliceThickness = 0x500; // float32
+                constexpr std::ptrdiff_t m_nIndirectTextureDimX = 0x504; // int32
+                constexpr std::ptrdiff_t m_nIndirectTextureDimY = 0x508; // int32
+                constexpr std::ptrdiff_t m_nIndirectTextureDimZ = 0x50C; // int32
+                constexpr std::ptrdiff_t m_vBoxMins = 0x510; // Vector
+                constexpr std::ptrdiff_t m_vBoxMaxs = 0x51C; // Vector
+                constexpr std::ptrdiff_t m_bActive = 0x528; // bool
+                constexpr std::ptrdiff_t m_flStartAnisoTime = 0x52C; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartScatterTime = 0x530; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartDrawDistanceTime = 0x534; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartAnisotropy = 0x538; // float32
+                constexpr std::ptrdiff_t m_flStartScattering = 0x53C; // float32
+                constexpr std::ptrdiff_t m_flStartDrawDistance = 0x540; // float32
+                constexpr std::ptrdiff_t m_flDefaultAnisotropy = 0x544; // float32
+                constexpr std::ptrdiff_t m_flDefaultScattering = 0x548; // float32
+                constexpr std::ptrdiff_t m_flDefaultDrawDistance = 0x54C; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x550; // bool
+                constexpr std::ptrdiff_t m_bEnableIndirect = 0x551; // bool
+                constexpr std::ptrdiff_t m_bIndirectUseLPVs = 0x552; // bool
+                constexpr std::ptrdiff_t m_bIsMaster = 0x553; // bool
+                constexpr std::ptrdiff_t m_hFogIndirectTexture = 0x558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_nForceRefreshCount = 0x560; // int32
+                constexpr std::ptrdiff_t m_fNoiseSpeed = 0x564; // float32
+                constexpr std::ptrdiff_t m_fNoiseStrength = 0x568; // float32
+                constexpr std::ptrdiff_t m_vNoiseScale = 0x56C; // Vector
+                constexpr std::ptrdiff_t m_bFirstTime = 0x578; // bool
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFallVelocity (float32)
+            // NetworkVarNames: m_bInCrouch (bool)
+            // NetworkVarNames: m_nCrouchState (uint32)
+            // NetworkVarNames: m_flCrouchTransitionStartTime (GameTime_t)
+            // NetworkVarNames: m_bDucked (bool)
+            // NetworkVarNames: m_bDucking (bool)
+            // NetworkVarNames: m_bInDuckJump (bool)
+            namespace CPlayer_MovementServices_Humanoid {
+                constexpr std::ptrdiff_t m_flStepSoundTime = 0x1D8; // float32
+                constexpr std::ptrdiff_t m_flFallVelocity = 0x1DC; // float32
+                constexpr std::ptrdiff_t m_bInCrouch = 0x1E0; // bool
+                constexpr std::ptrdiff_t m_nCrouchState = 0x1E4; // uint32
+                constexpr std::ptrdiff_t m_flCrouchTransitionStartTime = 0x1E8; // GameTime_t
+                constexpr std::ptrdiff_t m_bDucked = 0x1EC; // bool
+                constexpr std::ptrdiff_t m_bDucking = 0x1ED; // bool
+                constexpr std::ptrdiff_t m_bInDuckJump = 0x1EE; // bool
+                constexpr std::ptrdiff_t m_groundNormal = 0x1F0; // Vector
+                constexpr std::ptrdiff_t m_flSurfaceFriction = 0x1FC; // float32
+                constexpr std::ptrdiff_t m_surfaceProps = 0x200; // CUtlStringToken
+                constexpr std::ptrdiff_t m_nStepside = 0x210; // int32
+                constexpr std::ptrdiff_t m_iTargetVolume = 0x214; // int32
+                constexpr std::ptrdiff_t m_vecSmoothedVelocity = 0x218; // Vector
+            }
+            // Parent: CPhysicsProp
+            // Field count: 5
+            namespace CPhysicsPropRespawnable {
+                constexpr std::ptrdiff_t m_vOriginalSpawnOrigin = 0xD00; // Vector
+                constexpr std::ptrdiff_t m_vOriginalSpawnAngles = 0xD0C; // QAngle
+                constexpr std::ptrdiff_t m_vOriginalMins = 0xD18; // Vector
+                constexpr std::ptrdiff_t m_vOriginalMaxs = 0xD24; // Vector
+                constexpr std::ptrdiff_t m_flRespawnDuration = 0xD30; // float32
+            }
+            // Parent: CEnvSoundscapeProxy
+            // Field count: 0
+            namespace CEnvSoundscapeProxyAlias_snd_soundscape_proxy {
+            }
+            // Parent: CPhysConstraint
+            // Field count: 6
+            namespace CPhysBallSocket {
+                constexpr std::ptrdiff_t m_flJointFriction = 0x558; // float32
+                constexpr std::ptrdiff_t m_bEnableSwingLimit = 0x55C; // bool
+                constexpr std::ptrdiff_t m_flSwingLimit = 0x560; // float32
+                constexpr std::ptrdiff_t m_bEnableTwistLimit = 0x564; // bool
+                constexpr std::ptrdiff_t m_flMinTwistAngle = 0x568; // float32
+                constexpr std::ptrdiff_t m_flMaxTwistAngle = 0x56C; // float32
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flDMBonusStartTime (GameTime_t)
+            // NetworkVarNames: m_flDMBonusTimeLength (float)
+            // NetworkVarNames: m_sDMBonusWeapon (CUtlString)
+            namespace CCSGameModeRules_Deathmatch {
+                constexpr std::ptrdiff_t m_flDMBonusStartTime = 0x30; // GameTime_t
+                constexpr std::ptrdiff_t m_flDMBonusTimeLength = 0x34; // float32
+                constexpr std::ptrdiff_t m_sDMBonusWeapon = 0x38; // CUtlString
+            }
+            // Parent: CItemAssaultSuit
+            // Field count: 0
+            namespace CItemHeavyAssaultSuit {
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            namespace CInfoPlayerStart {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_bIsMaster = 0x4E1; // bool
+                constexpr std::ptrdiff_t m_pPawnSubclass = 0x4E8; // CGlobalSymbol
+            }
+            // Parent: CSoundOpvarSetPointBase
+            // Field count: 8
+            namespace CSoundOpvarSetOBBWindEntity {
+                constexpr std::ptrdiff_t m_vMins = 0x578; // Vector
+                constexpr std::ptrdiff_t m_vMaxs = 0x584; // Vector
+                constexpr std::ptrdiff_t m_vDistanceMins = 0x590; // Vector
+                constexpr std::ptrdiff_t m_vDistanceMaxs = 0x59C; // Vector
+                constexpr std::ptrdiff_t m_flWindMin = 0x5A8; // float32
+                constexpr std::ptrdiff_t m_flWindMax = 0x5AC; // float32
+                constexpr std::ptrdiff_t m_flWindMapMin = 0x5B0; // float32
+                constexpr std::ptrdiff_t m_flWindMapMax = 0x5B4; // float32
+            }
+            // Parent: CRagdollProp
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_boneIndexAttached (uint32)
+            // NetworkVarNames: m_ragdollAttachedObjectIndex (uint32)
+            // NetworkVarNames: m_attachmentPointBoneSpace (Vector)
+            // NetworkVarNames: m_attachmentPointRagdollSpace (Vector)
+            namespace CRagdollPropAttached {
+                constexpr std::ptrdiff_t m_boneIndexAttached = 0xB48; // uint32
+                constexpr std::ptrdiff_t m_ragdollAttachedObjectIndex = 0xB4C; // uint32
+                constexpr std::ptrdiff_t m_attachmentPointBoneSpace = 0xB50; // Vector
+                constexpr std::ptrdiff_t m_attachmentPointRagdollSpace = 0xB5C; // Vector
+                constexpr std::ptrdiff_t m_bShouldDetach = 0xB68; // bool
+                constexpr std::ptrdiff_t m_bShouldDeleteAttachedActivationRecord = 0xB78; // bool
+            }
+            // Parent: CItem
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_OwningPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_KillingPlayer (CHandle<CCSPlayerPawn>)
+            namespace CItemDogtags {
+                constexpr std::ptrdiff_t m_OwningPlayer = 0xA80; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_KillingPlayer = 0xA84; // CHandle<CCSPlayerPawn>
+            }
+            // Parent: CItem
+            // Field count: 32
+            namespace CItemGeneric {
+                constexpr std::ptrdiff_t m_bHasTriggerRadius = 0xA88; // bool
+                constexpr std::ptrdiff_t m_bHasPickupRadius = 0xA89; // bool
+                constexpr std::ptrdiff_t m_flPickupRadiusSqr = 0xA8C; // float32
+                constexpr std::ptrdiff_t m_flTriggerRadiusSqr = 0xA90; // float32
+                constexpr std::ptrdiff_t m_flLastPickupCheck = 0xA94; // GameTime_t
+                constexpr std::ptrdiff_t m_bPlayerCounterListenerAdded = 0xA98; // bool
+                constexpr std::ptrdiff_t m_bPlayerInTriggerRadius = 0xA99; // bool
+                constexpr std::ptrdiff_t m_hSpawnParticleEffect = 0xAA0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_pAmbientSoundEffect = 0xAA8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bAutoStartAmbientSound = 0xAB0; // bool
+                constexpr std::ptrdiff_t m_pSpawnScriptFunction = 0xAB8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hPickupParticleEffect = 0xAC0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_pPickupSoundEffect = 0xAC8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pPickupScriptFunction = 0xAD0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hTimeoutParticleEffect = 0xAD8; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_pTimeoutSoundEffect = 0xAE0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pTimeoutScriptFunction = 0xAE8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pPickupFilterName = 0xAF0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hPickupFilter = 0xAF8; // CHandle<CBaseFilter>
+                constexpr std::ptrdiff_t m_OnPickup = 0xB00; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTimeout = 0xB28; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTriggerStartTouch = 0xB50; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTriggerTouch = 0xB78; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTriggerEndTouch = 0xBA0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pAllowPickupScriptFunction = 0xBC8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flPickupRadius = 0xBD0; // float32
+                constexpr std::ptrdiff_t m_flTriggerRadius = 0xBD4; // float32
+                constexpr std::ptrdiff_t m_pTriggerSoundEffect = 0xBD8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bGlowWhenInTrigger = 0xBE0; // bool
+                constexpr std::ptrdiff_t m_glowColor = 0xBE1; // Color
+                constexpr std::ptrdiff_t m_bUseable = 0xBE5; // bool
+                constexpr std::ptrdiff_t m_hTriggerHelper = 0xBE8; // CHandle<CItemGenericTriggerHelper>
+            }
+            // Parent: CLightEntity
+            // Field count: 0
+            namespace CLightSpotEntity {
+            }
+            // Parent: CPlayer_WaterServices
+            // Field count: 6
+            namespace CCSPlayer_WaterServices {
+                constexpr std::ptrdiff_t m_NextDrownDamageTime = 0x40; // float32
+                constexpr std::ptrdiff_t m_nDrownDmgRate = 0x44; // int32
+                constexpr std::ptrdiff_t m_AirFinishedTime = 0x48; // GameTime_t
+                constexpr std::ptrdiff_t m_flWaterJumpTime = 0x4C; // float32
+                constexpr std::ptrdiff_t m_vecWaterJumpVel = 0x50; // Vector
+                constexpr std::ptrdiff_t m_flSwimSoundTime = 0x5C; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            namespace CSkyboxReference {
+                constexpr std::ptrdiff_t m_worldGroupId = 0x4E0; // WorldGroupId_t
+                constexpr std::ptrdiff_t m_hSkyCamera = 0x4E4; // CHandle<CSkyCamera>
+            }
+            // Parent: CBasePropDoor
+            // Field count: 17
+            namespace CPropDoorRotating {
+                constexpr std::ptrdiff_t m_vecAxis = 0xEE8; // Vector
+                constexpr std::ptrdiff_t m_flDistance = 0xEF4; // float32
+                constexpr std::ptrdiff_t m_eSpawnPosition = 0xEF8; // PropDoorRotatingSpawnPos_t
+                constexpr std::ptrdiff_t m_eOpenDirection = 0xEFC; // PropDoorRotatingOpenDirection_e
+                constexpr std::ptrdiff_t m_eCurrentOpenDirection = 0xF00; // PropDoorRotatingOpenDirection_e
+                constexpr std::ptrdiff_t m_flAjarAngle = 0xF04; // float32
+                constexpr std::ptrdiff_t m_angRotationAjarDeprecated = 0xF08; // QAngle
+                constexpr std::ptrdiff_t m_angRotationClosed = 0xF14; // QAngle
+                constexpr std::ptrdiff_t m_angRotationOpenForward = 0xF20; // QAngle
+                constexpr std::ptrdiff_t m_angRotationOpenBack = 0xF2C; // QAngle
+                constexpr std::ptrdiff_t m_angGoal = 0xF38; // QAngle
+                constexpr std::ptrdiff_t m_vecForwardBoundsMin = 0xF44; // Vector
+                constexpr std::ptrdiff_t m_vecForwardBoundsMax = 0xF50; // Vector
+                constexpr std::ptrdiff_t m_vecBackBoundsMin = 0xF5C; // Vector
+                constexpr std::ptrdiff_t m_vecBackBoundsMax = 0xF68; // Vector
+                constexpr std::ptrdiff_t m_bAjarDoorShouldntAlwaysOpen = 0xF74; // bool
+                constexpr std::ptrdiff_t m_hEntityBlocker = 0xF78; // CHandle<CEntityBlocker>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 21
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_RopeFlags (uint16)
+            // NetworkVarNames: m_Slack (int16)
+            // NetworkVarNames: m_Width (float32)
+            // NetworkVarNames: m_TextureScale (float32)
+            // NetworkVarNames: m_nSegments (uint8)
+            // NetworkVarNames: m_bConstrainBetweenEndpoints (bool)
+            // NetworkVarNames: m_iRopeMaterialModelIndex (HMaterialStrong)
+            // NetworkVarNames: m_Subdiv (uint8)
+            // NetworkVarNames: m_nChangeCount (uint8)
+            // NetworkVarNames: m_RopeLength (int16)
+            // NetworkVarNames: m_fLockedPoints (uint8)
+            // NetworkVarNames: m_flScrollSpeed (float32)
+            // NetworkVarNames: m_hStartPoint (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hEndPoint (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_iStartAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_iEndAttachment (AttachmentHandle_t)
+            namespace CRopeKeyframe {
+                constexpr std::ptrdiff_t m_RopeFlags = 0x798; // uint16
+                constexpr std::ptrdiff_t m_iNextLinkName = 0x7A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Slack = 0x7A8; // int16
+                constexpr std::ptrdiff_t m_Width = 0x7AC; // float32
+                constexpr std::ptrdiff_t m_TextureScale = 0x7B0; // float32
+                constexpr std::ptrdiff_t m_nSegments = 0x7B4; // uint8
+                constexpr std::ptrdiff_t m_bConstrainBetweenEndpoints = 0x7B5; // bool
+                constexpr std::ptrdiff_t m_strRopeMaterialModel = 0x7B8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iRopeMaterialModelIndex = 0x7C0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_Subdiv = 0x7C8; // uint8
+                constexpr std::ptrdiff_t m_nChangeCount = 0x7C9; // uint8
+                constexpr std::ptrdiff_t m_RopeLength = 0x7CA; // int16
+                constexpr std::ptrdiff_t m_fLockedPoints = 0x7CC; // uint8
+                constexpr std::ptrdiff_t m_bCreatedFromMapFile = 0x7CD; // bool
+                constexpr std::ptrdiff_t m_flScrollSpeed = 0x7D0; // float32
+                constexpr std::ptrdiff_t m_bStartPointValid = 0x7D4; // bool
+                constexpr std::ptrdiff_t m_bEndPointValid = 0x7D5; // bool
+                constexpr std::ptrdiff_t m_hStartPoint = 0x7D8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hEndPoint = 0x7DC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iStartAttachment = 0x7E0; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_iEndAttachment = 0x7E1; // AttachmentHandle_t
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 73
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_nColorMode (int)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_flColorTemperature (float)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_nLuminaireShape (int)
+            // NetworkVarNames: m_flLuminaireSize (float)
+            // NetworkVarNames: m_flLuminaireAnisotropy (float)
+            // NetworkVarNames: m_LightStyleString (CUtlString)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_QueuedLightStyleStrings (CUtlString)
+            // NetworkVarNames: m_LightStyleEvents (CUtlString)
+            // NetworkVarNames: m_LightStyleTargets (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_flShape (float)
+            // NetworkVarNames: m_flSoftX (float)
+            // NetworkVarNames: m_flSoftY (float)
+            // NetworkVarNames: m_flSkirt (float)
+            // NetworkVarNames: m_flSkirtNear (float)
+            // NetworkVarNames: m_vSizeParams (Vector)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_vShear (Vector)
+            // NetworkVarNames: m_nBakeSpecularToCubemaps (int)
+            // NetworkVarNames: m_vBakeSpecularToCubemapsSize (Vector)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowMapSize (int)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_bContactShadow (bool)
+            // NetworkVarNames: m_nBounceLight (int)
+            // NetworkVarNames: m_flBounceScale (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            // NetworkVarNames: m_vAlternateColor (Vector)
+            // NetworkVarNames: m_fAlternateColorBrightness (float)
+            // NetworkVarNames: m_nFog (int)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_nFogShadows (int)
+            // NetworkVarNames: m_flFogScale (float)
+            // NetworkVarNames: m_bFogMixedShadows (bool)
+            // NetworkVarNames: m_flFadeSizeStart (float)
+            // NetworkVarNames: m_flFadeSizeEnd (float)
+            // NetworkVarNames: m_flShadowFadeSizeStart (float)
+            // NetworkVarNames: m_flShadowFadeSizeEnd (float)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_nPrecomputedSubFrusta (int)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles0 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles1 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles2 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles3 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles4 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin5 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles5 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent5 (Vector)
+            // NetworkVarNames: m_VisClusters (uint16)
+            namespace CBarnLight {
+                constexpr std::ptrdiff_t m_bEnabled = 0x790; // bool
+                constexpr std::ptrdiff_t m_nColorMode = 0x794; // int32
+                constexpr std::ptrdiff_t m_Color = 0x798; // Color
+                constexpr std::ptrdiff_t m_flColorTemperature = 0x79C; // float32
+                constexpr std::ptrdiff_t m_flBrightness = 0x7A0; // float32
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x7A4; // float32
+                constexpr std::ptrdiff_t m_nDirectLight = 0x7A8; // int32
+                constexpr std::ptrdiff_t m_nBakedShadowIndex = 0x7AC; // int32
+                constexpr std::ptrdiff_t m_nLuminaireShape = 0x7B0; // int32
+                constexpr std::ptrdiff_t m_flLuminaireSize = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_flLuminaireAnisotropy = 0x7B8; // float32
+                constexpr std::ptrdiff_t m_LightStyleString = 0x7C0; // CUtlString
+                constexpr std::ptrdiff_t m_flLightStyleStartTime = 0x7C8; // GameTime_t
+                constexpr std::ptrdiff_t m_QueuedLightStyleStrings = 0x7D0; // CNetworkUtlVectorBase<CUtlString>
+                constexpr std::ptrdiff_t m_LightStyleEvents = 0x7E8; // CNetworkUtlVectorBase<CUtlString>
+                constexpr std::ptrdiff_t m_LightStyleTargets = 0x800; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                constexpr std::ptrdiff_t m_StyleEvent = 0x818; // CEntityIOOutput[4]
+                constexpr std::ptrdiff_t m_hLightCookie = 0x8D8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_flShape = 0x8E0; // float32
+                constexpr std::ptrdiff_t m_flSoftX = 0x8E4; // float32
+                constexpr std::ptrdiff_t m_flSoftY = 0x8E8; // float32
+                constexpr std::ptrdiff_t m_flSkirt = 0x8EC; // float32
+                constexpr std::ptrdiff_t m_flSkirtNear = 0x8F0; // float32
+                constexpr std::ptrdiff_t m_vSizeParams = 0x8F4; // Vector
+                constexpr std::ptrdiff_t m_flRange = 0x900; // float32
+                constexpr std::ptrdiff_t m_vShear = 0x904; // Vector
+                constexpr std::ptrdiff_t m_nBakeSpecularToCubemaps = 0x910; // int32
+                constexpr std::ptrdiff_t m_vBakeSpecularToCubemapsSize = 0x914; // Vector
+                constexpr std::ptrdiff_t m_nCastShadows = 0x920; // int32
+                constexpr std::ptrdiff_t m_nShadowMapSize = 0x924; // int32
+                constexpr std::ptrdiff_t m_nShadowPriority = 0x928; // int32
+                constexpr std::ptrdiff_t m_bContactShadow = 0x92C; // bool
+                constexpr std::ptrdiff_t m_nBounceLight = 0x930; // int32
+                constexpr std::ptrdiff_t m_flBounceScale = 0x934; // float32
+                constexpr std::ptrdiff_t m_flMinRoughness = 0x938; // float32
+                constexpr std::ptrdiff_t m_vAlternateColor = 0x93C; // Vector
+                constexpr std::ptrdiff_t m_fAlternateColorBrightness = 0x948; // float32
+                constexpr std::ptrdiff_t m_nFog = 0x94C; // int32
+                constexpr std::ptrdiff_t m_flFogStrength = 0x950; // float32
+                constexpr std::ptrdiff_t m_nFogShadows = 0x954; // int32
+                constexpr std::ptrdiff_t m_flFogScale = 0x958; // float32
+                constexpr std::ptrdiff_t m_bFogMixedShadows = 0x95C; // bool
+                constexpr std::ptrdiff_t m_flFadeSizeStart = 0x960; // float32
+                constexpr std::ptrdiff_t m_flFadeSizeEnd = 0x964; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeSizeStart = 0x968; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeSizeEnd = 0x96C; // float32
+                constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0x970; // bool
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0x974; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0x980; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0x98C; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0x998; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0x9A4; // Vector
+                constexpr std::ptrdiff_t m_nPrecomputedSubFrusta = 0x9B0; // int32
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin0 = 0x9B4; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles0 = 0x9C0; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent0 = 0x9CC; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin1 = 0x9D8; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles1 = 0x9E4; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent1 = 0x9F0; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin2 = 0x9FC; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles2 = 0xA08; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent2 = 0xA14; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin3 = 0xA20; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles3 = 0xA2C; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent3 = 0xA38; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin4 = 0xA44; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles4 = 0xA50; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent4 = 0xA5C; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin5 = 0xA68; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles5 = 0xA74; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent5 = 0xA80; // Vector
+                constexpr std::ptrdiff_t m_bPvsModifyEntity = 0xA8C; // bool
+                constexpr std::ptrdiff_t m_VisClusters = 0xA90; // CNetworkUtlVectorBase<uint16>
+            }
+            // Parent: SpawnPoint
+            // Field count: 0
+            namespace CInfoDeathmatchSpawn {
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CEnvViewPunch {
+                constexpr std::ptrdiff_t m_flRadius = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_angViewPunch = 0x4E4; // QAngle
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CDEagle {
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            namespace CPathCorner {
+                constexpr std::ptrdiff_t m_flWait = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_OnPass = 0x4E8; // CEntityIOOutput
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_unMusicID (item_definition_index_t)
+            // NetworkVarNames: m_rank (MedalRank_t)
+            // NetworkVarNames: m_nPersonaDataPublicLevel (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsLeader (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsTeacher (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsFriendly (int)
+            // NetworkVarNames: m_nPersonaDataXpTrailLevel (int)
+            // NetworkVarNames: m_vecServerAuthoritativeWeaponSlots (ServerAuthoritativeWeaponSlot_t)
+            namespace CCSPlayerController_InventoryServices {
+                constexpr std::ptrdiff_t m_unMusicID = 0x40; // uint16
+                constexpr std::ptrdiff_t m_rank = 0x44; // MedalRank_t[6]
+                constexpr std::ptrdiff_t m_nPersonaDataPublicLevel = 0x5C; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsLeader = 0x60; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsTeacher = 0x64; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsFriendly = 0x68; // int32
+                constexpr std::ptrdiff_t m_nPersonaDataXpTrailLevel = 0x6C; // int32
+                constexpr std::ptrdiff_t m_unEquippedPlayerSprayIDs = 0xF48; // uint32[1]
+                constexpr std::ptrdiff_t m_vecServerAuthoritativeWeaponSlots = 0xF50; // CUtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
+            }
+            // Parent: CAttributeManager
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_Item (CEconItemView)
+            namespace CAttributeContainer {
+                constexpr std::ptrdiff_t m_Item = 0x50; // CEconItemView
+            }
+            // Parent: CHostage
+            // Field count: 0
+            namespace CHostageAlias_info_hostage_spawn {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            namespace CMultiSource {
+                constexpr std::ptrdiff_t m_rgEntities = 0x4E0; // CHandle<CBaseEntity>[32]
+                constexpr std::ptrdiff_t m_rgTriggered = 0x560; // int32[32]
+                constexpr std::ptrdiff_t m_OnTrigger = 0x5E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iTotal = 0x608; // int32
+                constexpr std::ptrdiff_t m_globalstate = 0x610; // CUtlSymbolLarge
+            }
+            // Parent: CLogicalEntity
+            // Field count: 2
+            namespace CLogicNavigation {
+                constexpr std::ptrdiff_t m_isOn = 0x4E8; // bool
+                constexpr std::ptrdiff_t m_navProperty = 0x4EC; // navproperties_t
+            }
+            // Parent: CPointEntity
+            // Field count: 12
+            namespace CEnvEntityMaker {
+                constexpr std::ptrdiff_t m_vecEntityMins = 0x4E0; // Vector
+                constexpr std::ptrdiff_t m_vecEntityMaxs = 0x4EC; // Vector
+                constexpr std::ptrdiff_t m_hCurrentInstance = 0x4F8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hCurrentBlocker = 0x4FC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_vecBlockerOrigin = 0x500; // Vector
+                constexpr std::ptrdiff_t m_angPostSpawnDirection = 0x50C; // QAngle
+                constexpr std::ptrdiff_t m_flPostSpawnDirectionVariance = 0x518; // float32
+                constexpr std::ptrdiff_t m_flPostSpawnSpeed = 0x51C; // float32
+                constexpr std::ptrdiff_t m_bPostSpawnUseAngles = 0x520; // bool
+                constexpr std::ptrdiff_t m_iszTemplate = 0x528; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pOutputOnSpawned = 0x530; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pOutputOnFailedSpawn = 0x558; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CPointEntity {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            namespace CLogicEventListener {
+                constexpr std::ptrdiff_t m_strEventName = 0x4F0; // CUtlString
+                constexpr std::ptrdiff_t m_bIsEnabled = 0x4F8; // bool
+                constexpr std::ptrdiff_t m_nTeam = 0x4FC; // int32
+                constexpr std::ptrdiff_t m_OnEventFired = 0x500; // CEntityIOOutput
+            }
+            // Parent: CBaseFilter
+            // Field count: 4
+            namespace CFilterMultiple {
+                constexpr std::ptrdiff_t m_nFilterType = 0x538; // filter_t
+                constexpr std::ptrdiff_t m_iFilterName = 0x540; // CUtlSymbolLarge[10]
+                constexpr std::ptrdiff_t m_hFilter = 0x590; // CHandle<CBaseEntity>[10]
+                constexpr std::ptrdiff_t m_nFilterCount = 0x5B8; // int32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_UseServices {
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            // MPulseDomainOptInGameBlackboard
+            // MPulseDomainOptInValueType
+            namespace CPulseGraphInstance_ServerEntity {
+                constexpr std::ptrdiff_t m_pComponent = 0x100; // CPulseGraphComponentBase*
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            namespace CScriptComponent {
+                constexpr std::ptrdiff_t m_scriptClassName = 0x30; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            namespace CPhysicsWire {
+                constexpr std::ptrdiff_t m_nDensity = 0x4E0; // int32
+            }
+            // Parent: CPropDoorRotating
+            // Field count: 4
+            namespace CPropDoorRotatingBreakable {
+                constexpr std::ptrdiff_t m_bBreakable = 0xF80; // bool
+                constexpr std::ptrdiff_t m_isAbleToCloseAreaPortals = 0xF81; // bool
+                constexpr std::ptrdiff_t m_currentDamageState = 0xF84; // int32
+                constexpr std::ptrdiff_t m_damageStates = 0xF88; // CUtlVector<CUtlSymbolLarge>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_player_controller {
+            }
+            // Parent: CBaseFire
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nFlameModelIndex (int32)
+            // NetworkVarNames: m_nFlameFromAboveModelIndex (int32)
+            namespace CFireSmoke {
+                constexpr std::ptrdiff_t m_nFlameModelIndex = 0x4F0; // int32
+                constexpr std::ptrdiff_t m_nFlameFromAboveModelIndex = 0x4F4; // int32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nHorizontalSize (uint32)
+            // NetworkVarNames: m_nVerticalSize (uint32)
+            // NetworkVarNames: m_nMinDist (uint32)
+            // NetworkVarNames: m_nMaxDist (uint32)
+            // NetworkVarNames: m_nOuterMaxDist (uint32)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            namespace CLightGlow {
+                constexpr std::ptrdiff_t m_nHorizontalSize = 0x790; // uint32
+                constexpr std::ptrdiff_t m_nVerticalSize = 0x794; // uint32
+                constexpr std::ptrdiff_t m_nMinDist = 0x798; // uint32
+                constexpr std::ptrdiff_t m_nMaxDist = 0x79C; // uint32
+                constexpr std::ptrdiff_t m_nOuterMaxDist = 0x7A0; // uint32
+                constexpr std::ptrdiff_t m_flGlowProxySize = 0x7A4; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0x7A8; // float32
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_iKills (int)
+            // NetworkVarNames: m_iDeaths (int)
+            // NetworkVarNames: m_iAssists (int)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iEquipmentValue (int)
+            // NetworkVarNames: m_iMoneySaved (int)
+            // NetworkVarNames: m_iKillReward (int)
+            // NetworkVarNames: m_iLiveTime (int)
+            // NetworkVarNames: m_iHeadShotKills (int)
+            // NetworkVarNames: m_iObjective (int)
+            // NetworkVarNames: m_iCashEarned (int)
+            // NetworkVarNames: m_iUtilityDamage (int)
+            // NetworkVarNames: m_iEnemiesFlashed (int)
+            namespace CSPerRoundStats_t {
+                constexpr std::ptrdiff_t m_iKills = 0x30; // int32
+                constexpr std::ptrdiff_t m_iDeaths = 0x34; // int32
+                constexpr std::ptrdiff_t m_iAssists = 0x38; // int32
+                constexpr std::ptrdiff_t m_iDamage = 0x3C; // int32
+                constexpr std::ptrdiff_t m_iEquipmentValue = 0x40; // int32
+                constexpr std::ptrdiff_t m_iMoneySaved = 0x44; // int32
+                constexpr std::ptrdiff_t m_iKillReward = 0x48; // int32
+                constexpr std::ptrdiff_t m_iLiveTime = 0x4C; // int32
+                constexpr std::ptrdiff_t m_iHeadShotKills = 0x50; // int32
+                constexpr std::ptrdiff_t m_iObjective = 0x54; // int32
+                constexpr std::ptrdiff_t m_iCashEarned = 0x58; // int32
+                constexpr std::ptrdiff_t m_iUtilityDamage = 0x5C; // int32
+                constexpr std::ptrdiff_t m_iEnemiesFlashed = 0x60; // int32
+            }
+            // Parent: CDynamicProp
+            // Field count: 37
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_eDoorState (DoorState_t)
+            // NetworkVarNames: m_bLocked (bool)
+            // NetworkVarNames: m_closedPosition (Vector)
+            // NetworkVarNames: m_closedAngles (QAngle)
+            // NetworkVarNames: m_hMaster (CHandle<CBasePropDoor>)
+            namespace CBasePropDoor {
+                constexpr std::ptrdiff_t m_flAutoReturnDelay = 0xC68; // float32
+                constexpr std::ptrdiff_t m_hDoorList = 0xC70; // CUtlVector<CHandle<CBasePropDoor>>
+                constexpr std::ptrdiff_t m_nHardwareType = 0xC88; // int32
+                constexpr std::ptrdiff_t m_bNeedsHardware = 0xC8C; // bool
+                constexpr std::ptrdiff_t m_eDoorState = 0xC90; // DoorState_t
+                constexpr std::ptrdiff_t m_bLocked = 0xC94; // bool
+                constexpr std::ptrdiff_t m_closedPosition = 0xC98; // Vector
+                constexpr std::ptrdiff_t m_closedAngles = 0xCA4; // QAngle
+                constexpr std::ptrdiff_t m_hBlocker = 0xCB0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bFirstBlocked = 0xCB4; // bool
+                constexpr std::ptrdiff_t m_ls = 0xCB8; // locksound_t
+                constexpr std::ptrdiff_t m_bForceClosed = 0xCD8; // bool
+                constexpr std::ptrdiff_t m_vecLatchWorldPosition = 0xCDC; // Vector
+                constexpr std::ptrdiff_t m_hActivator = 0xCE8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_SoundMoving = 0xCF8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundOpen = 0xD00; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundClose = 0xD08; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundLock = 0xD10; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundUnlock = 0xD18; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundLatch = 0xD20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundPound = 0xD28; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundJiggle = 0xD30; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_SoundLockedAnim = 0xD38; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_numCloseAttempts = 0xD40; // int32
+                constexpr std::ptrdiff_t m_nPhysicsMaterial = 0xD44; // CUtlStringToken
+                constexpr std::ptrdiff_t m_SlaveName = 0xD48; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hMaster = 0xD50; // CHandle<CBasePropDoor>
+                constexpr std::ptrdiff_t m_OnBlockedClosing = 0xD58; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBlockedOpening = 0xD80; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUnblockedClosing = 0xDA8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUnblockedOpening = 0xDD0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyClosed = 0xDF8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyOpen = 0xE20; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnClose = 0xE48; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnOpen = 0xE70; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnLockedUse = 0xE98; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAjarOpen = 0xEC0; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_iCurrentMaxRagdollCount (int8)
+            namespace CRagdollManager {
+                constexpr std::ptrdiff_t m_iCurrentMaxRagdollCount = 0x4E0; // int8
+                constexpr std::ptrdiff_t m_iMaxRagdollCount = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_bSaveImportant = 0x4E8; // bool
+                constexpr std::ptrdiff_t m_bCanTakeDamage = 0x4E9; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 12
+            namespace CTriggerFan {
+                constexpr std::ptrdiff_t m_vFanOrigin = 0x960; // Vector
+                constexpr std::ptrdiff_t m_vFanEnd = 0x96C; // Vector
+                constexpr std::ptrdiff_t m_vNoise = 0x978; // Vector
+                constexpr std::ptrdiff_t m_flForce = 0x984; // float32
+                constexpr std::ptrdiff_t m_flRopeForceScale = 0x988; // float32
+                constexpr std::ptrdiff_t m_flPlayerForce = 0x98C; // float32
+                constexpr std::ptrdiff_t m_flRampTime = 0x990; // float32
+                constexpr std::ptrdiff_t m_bFalloff = 0x994; // bool
+                constexpr std::ptrdiff_t m_bPushPlayer = 0x995; // bool
+                constexpr std::ptrdiff_t m_bRampDown = 0x996; // bool
+                constexpr std::ptrdiff_t m_bAddNoise = 0x997; // bool
+                constexpr std::ptrdiff_t m_RampTimer = 0x998; // CountdownTimer
+            }
+            // Parent: CMolotovGrenade
+            // Field count: 0
+            namespace CIncendiaryGrenade {
+            }
+            // Parent: CPathCorner
+            // Field count: 0
+            namespace CPathCornerCrash {
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bSendHandle (bool)
+            namespace CHandleTest {
+                constexpr std::ptrdiff_t m_Handle = 0x4E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bSendHandle = 0x4E4; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            namespace CSoundOpvarSetEntity {
+                constexpr std::ptrdiff_t m_iszStackName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOperatorName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOpvarName = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nOpvarType = 0x500; // int32
+                constexpr std::ptrdiff_t m_nOpvarIndex = 0x504; // int32
+                constexpr std::ptrdiff_t m_flOpvarValue = 0x508; // float32
+                constexpr std::ptrdiff_t m_OpvarValueString = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bSetOnSpawn = 0x518; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nItemDefIndex (uint16)
+            // NetworkVarNames: m_nCount (uint16)
+            namespace WeaponPurchaseCount_t {
+                constexpr std::ptrdiff_t m_nItemDefIndex = 0x30; // uint16
+                constexpr std::ptrdiff_t m_nCount = 0x32; // uint16
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            namespace CNavSpaceInfo {
+                constexpr std::ptrdiff_t m_bCreateFlightSpace = 0x4E0; // bool
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            namespace CLogicAchievement {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_iszAchievementEventID = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnFired = 0x4F0; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pathString (CUtlString)
+            namespace CPathSimple {
+                constexpr std::ptrdiff_t m_pathString = 0x538; // CUtlString
+            }
+            // Parent: CBtNode
+            // Field count: 1
+            namespace CBtActionParachutePositioning {
+                constexpr std::ptrdiff_t m_ActionTimer = 0x58; // CountdownTimer
+            }
+            // Parent: CPlayer_CameraServices
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_iFOV (uint32)
+            // NetworkVarNames: m_iFOVStart (uint32)
+            // NetworkVarNames: m_flFOVTime (GameTime_t)
+            // NetworkVarNames: m_flFOVRate (float32)
+            // NetworkVarNames: m_hZoomOwner (CHandle<CBaseEntity>)
+            namespace CCSPlayerBase_CameraServices {
+                constexpr std::ptrdiff_t m_iFOV = 0x170; // uint32
+                constexpr std::ptrdiff_t m_iFOVStart = 0x174; // uint32
+                constexpr std::ptrdiff_t m_flFOVTime = 0x178; // GameTime_t
+                constexpr std::ptrdiff_t m_flFOVRate = 0x17C; // float32
+                constexpr std::ptrdiff_t m_hZoomOwner = 0x180; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTriggerFogList = 0x188; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_hLastFogTrigger = 0x1A0; // CHandle<CBaseEntity>
+            }
+            // Parent: CEntityComponent
+            // Field count: 0
+            namespace CTouchExpansionComponent {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 8
+            namespace CItem {
+                constexpr std::ptrdiff_t m_OnPlayerTouch = 0x9B0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPlayerPickup = 0x9D8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bActivateWhenAtRest = 0xA00; // bool
+                constexpr std::ptrdiff_t m_OnCacheInteraction = 0xA08; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnGlovePulled = 0xA30; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_vOriginalSpawnOrigin = 0xA58; // Vector
+                constexpr std::ptrdiff_t m_vOriginalSpawnAngles = 0xA64; // QAngle
+                constexpr std::ptrdiff_t m_bPhysStartAsleep = 0xA70; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_DialogXMLName (string_t)
+            // NetworkVarNames: m_PanelClassName (string_t)
+            // NetworkVarNames: m_PanelID (string_t)
+            namespace CBaseClientUIEntity {
+                constexpr std::ptrdiff_t m_bEnabled = 0x790; // bool
+                constexpr std::ptrdiff_t m_DialogXMLName = 0x798; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PanelClassName = 0x7A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PanelID = 0x7A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_CustomOutput0 = 0x7B0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput1 = 0x7D8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput2 = 0x800; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput3 = 0x828; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput4 = 0x850; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput5 = 0x878; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput6 = 0x8A0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput7 = 0x8C8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput8 = 0x8F0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_CustomOutput9 = 0x918; // CEntityIOOutput
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_hDecalMaterial (HMaterialStrong)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDepth (float)
+            // NetworkVarNames: m_nRenderOrder (uint32)
+            // NetworkVarNames: m_bProjectOnWorld (bool)
+            // NetworkVarNames: m_bProjectOnCharacters (bool)
+            // NetworkVarNames: m_bProjectOnWater (bool)
+            // NetworkVarNames: m_flDepthSortBias (float)
+            namespace CEnvDecal {
+                constexpr std::ptrdiff_t m_hDecalMaterial = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_flWidth = 0x798; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0x79C; // float32
+                constexpr std::ptrdiff_t m_flDepth = 0x7A0; // float32
+                constexpr std::ptrdiff_t m_nRenderOrder = 0x7A4; // uint32
+                constexpr std::ptrdiff_t m_bProjectOnWorld = 0x7A8; // bool
+                constexpr std::ptrdiff_t m_bProjectOnCharacters = 0x7A9; // bool
+                constexpr std::ptrdiff_t m_bProjectOnWater = 0x7AA; // bool
+                constexpr std::ptrdiff_t m_flDepthSortBias = 0x7AC; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_entity {
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 0
+            namespace CBodyComponentBaseModelEntity {
+            }
+            // Parent: CBaseEntity
+            // Field count: 11
+            namespace CLogicAuto {
+                constexpr std::ptrdiff_t m_OnMapSpawn = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnDemoMapSpawn = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnNewGame = 0x530; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnLoadGame = 0x558; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMapTransition = 0x580; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBackgroundMap = 0x5A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMultiNewMap = 0x5D0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMultiNewRound = 0x5F8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnVREnabled = 0x620; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnVRNotEnabled = 0x648; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_globalstate = 0x670; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_iOpvarIndex (int)
+            // NetworkVarNames: m_bUseAutoCompare (bool)
+            namespace CSoundOpvarSetPointBase {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_hSource = 0x4E4; // CEntityHandle
+                constexpr std::ptrdiff_t m_iszSourceEntityName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vLastPosition = 0x548; // Vector
+                constexpr std::ptrdiff_t m_iszStackName = 0x558; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOperatorName = 0x560; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOpvarName = 0x568; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iOpvarIndex = 0x570; // int32
+                constexpr std::ptrdiff_t m_bUseAutoCompare = 0x574; // bool
+            }
+            // Parent: CLightEntity
+            // Field count: 0
+            namespace CLightDirectionalEntity {
+            }
+            // Parent: CLogicNPCCounterAABB
+            // Field count: 0
+            namespace CLogicNPCCounterOBB {
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 0
+            namespace CCSObserver_UseServices {
+            }
+            // Parent: CFuncPlatRot
+            // Field count: 9
+            namespace CFuncTrackChange {
+                constexpr std::ptrdiff_t m_trackTop = 0x858; // CPathTrack*
+                constexpr std::ptrdiff_t m_trackBottom = 0x860; // CPathTrack*
+                constexpr std::ptrdiff_t m_train = 0x868; // CFuncTrackTrain*
+                constexpr std::ptrdiff_t m_trackTopName = 0x870; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_trackBottomName = 0x878; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_trainName = 0x880; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_code = 0x888; // TRAIN_CODE
+                constexpr std::ptrdiff_t m_targetState = 0x88C; // int32
+                constexpr std::ptrdiff_t m_use = 0x890; // int32
+            }
+            // Parent: CRuleBrushEntity
+            // Field count: 4
+            namespace CGamePlayerZone {
+                constexpr std::ptrdiff_t m_OnPlayerInZone = 0x798; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPlayerOutZone = 0x7C0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_PlayersInCount = 0x7E8; // CEntityOutputTemplate<int32>
+                constexpr std::ptrdiff_t m_PlayersOutCount = 0x810; // CEntityOutputTemplate<int32>
+            }
+            // Parent: CRuleEntity
+            // Field count: 1
+            namespace CRulePointEntity {
+                constexpr std::ptrdiff_t m_Score = 0x798; // int32
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            namespace CMessageEntity {
+                constexpr std::ptrdiff_t m_radius = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_messageText = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_drawText = 0x4F0; // bool
+                constexpr std::ptrdiff_t m_bDeveloperOnly = 0x4F1; // bool
+                constexpr std::ptrdiff_t m_bEnabled = 0x4F2; // bool
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            namespace CSmokeGrenade {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 11
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkOverride
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_nAnimationParity (uint32)
+            // NetworkVarNames: m_flAnimationStartTime (float32)
+            // NetworkVarNames: m_hWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            namespace CBaseViewModel {
+                constexpr std::ptrdiff_t m_vecLastFacing = 0x9B0; // Vector
+                constexpr std::ptrdiff_t m_nViewModelIndex = 0x9BC; // uint32
+                constexpr std::ptrdiff_t m_nAnimationParity = 0x9C0; // uint32
+                constexpr std::ptrdiff_t m_flAnimationStartTime = 0x9C4; // float32
+                constexpr std::ptrdiff_t m_hWeapon = 0x9C8; // CHandle<CBasePlayerWeapon>
+                constexpr std::ptrdiff_t m_sVMName = 0x9D0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sAnimationPrefix = 0x9D8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hOldLayerSequence = 0x9E0; // HSequence
+                constexpr std::ptrdiff_t m_oldLayer = 0x9E4; // int32
+                constexpr std::ptrdiff_t m_oldLayerStartTime = 0x9E8; // float32
+                constexpr std::ptrdiff_t m_hControlPanel = 0x9EC; // CHandle<CBaseEntity>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayerPing (CHandle<CBaseEntity>)
+            namespace CCSPlayer_PingServices {
+                constexpr std::ptrdiff_t m_flPlayerPingTokens = 0x40; // GameTime_t[5]
+                constexpr std::ptrdiff_t m_hPlayerPing = 0x54; // CHandle<CBaseEntity>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_FlashlightServices {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CServerOnlyModelEntity {
+            }
+            // Parent: CBtNode
+            // Field count: 4
+            namespace CBtActionCombatPositioning {
+                constexpr std::ptrdiff_t m_szSensorInputKey = 0x68; // CUtlString
+                constexpr std::ptrdiff_t m_szIsAttackingKey = 0x80; // CUtlString
+                constexpr std::ptrdiff_t m_ActionTimer = 0x88; // CountdownTimer
+                constexpr std::ptrdiff_t m_bCrouching = 0xA0; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flStartScale (float32)
+            // NetworkVarNames: m_flScaleTime (float32)
+            // NetworkVarNames: m_nFlags (uint32)
+            namespace CBaseFire {
+                constexpr std::ptrdiff_t m_flScale = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flStartScale = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flScaleTime = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_nFlags = 0x4EC; // uint32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponMAC10 {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponGlock {
+            }
+            // Parent: CBaseViewModel
+            // Field count: 0
+            namespace CPredictedViewModel {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            namespace CTriggerActiveWeaponDetect {
+                constexpr std::ptrdiff_t m_OnTouchedActiveWeapon = 0x960; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iszWeaponClassName = 0x988; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 18
+            namespace CEnvMicrophone {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_hMeasureTarget = 0x4E4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nSoundType = 0x4E8; // SoundTypes_t
+                constexpr std::ptrdiff_t m_nSoundFlags = 0x4EA; // SoundFlags_t
+                constexpr std::ptrdiff_t m_flSensitivity = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flSmoothFactor = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flMaxRange = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_iszSpeakerName = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hSpeaker = 0x500; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bAvoidFeedback = 0x504; // bool
+                constexpr std::ptrdiff_t m_iSpeakerDSPPreset = 0x508; // int32
+                constexpr std::ptrdiff_t m_iszListenFilter = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hListenFilter = 0x518; // CHandle<CBaseFilter>
+                constexpr std::ptrdiff_t m_SoundLevel = 0x520; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnRoutedSound = 0x548; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHeardSound = 0x570; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_szLastSound = 0x598; // char[256]
+                constexpr std::ptrdiff_t m_iLastRoutedFrame = 0x698; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 11
+            namespace CInfoSpawnGroupLoadUnload {
+                constexpr std::ptrdiff_t m_OnSpawnGroupLoadStarted = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnSpawnGroupLoadFinished = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnSpawnGroupUnloadStarted = 0x530; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnSpawnGroupUnloadFinished = 0x558; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iszSpawnGroupName = 0x580; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSpawnGroupFilterName = 0x588; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszLandmarkName = 0x590; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sFixedSpawnGroupName = 0x598; // CUtlString
+                constexpr std::ptrdiff_t m_flTimeoutInterval = 0x5A0; // float32
+                constexpr std::ptrdiff_t m_bStreamingStarted = 0x5A4; // bool
+                constexpr std::ptrdiff_t m_bUnloadingStarted = 0x5A5; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 23
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_nTickBase (uint32)
+            // NetworkVarNames: m_hPawn (CHandle<CBasePlayerPawn>)
+            // NetworkVarNames: m_bKnownTeamMismatch (bool)
+            // NetworkVarNames: m_iConnected (PlayerConnectedState)
+            // NetworkVarNames: m_iszPlayerName (char)
+            // NetworkVarNames: m_steamID (uint64)
+            // NetworkVarNames: m_iDesiredFOV (uint32)
+            namespace CBasePlayerController {
+                constexpr std::ptrdiff_t m_nInButtonsWhichAreToggles = 0x4E8; // uint64
+                constexpr std::ptrdiff_t m_nTickBase = 0x4F0; // uint32
+                constexpr std::ptrdiff_t m_hPawn = 0x520; // CHandle<CBasePlayerPawn>
+                constexpr std::ptrdiff_t m_bKnownTeamMismatch = 0x524; // bool
+                constexpr std::ptrdiff_t m_nSplitScreenSlot = 0x528; // CSplitScreenSlot
+                constexpr std::ptrdiff_t m_hSplitOwner = 0x52C; // CHandle<CBasePlayerController>
+                constexpr std::ptrdiff_t m_hSplitScreenPlayers = 0x530; // CUtlVector<CHandle<CBasePlayerController>>
+                constexpr std::ptrdiff_t m_bIsHLTV = 0x548; // bool
+                constexpr std::ptrdiff_t m_iConnected = 0x54C; // PlayerConnectedState
+                constexpr std::ptrdiff_t m_iszPlayerName = 0x550; // char[128]
+                constexpr std::ptrdiff_t m_szNetworkIDString = 0x5D0; // CUtlString
+                constexpr std::ptrdiff_t m_fLerpTime = 0x5D8; // float32
+                constexpr std::ptrdiff_t m_bLagCompensation = 0x5DC; // bool
+                constexpr std::ptrdiff_t m_bPredict = 0x5DD; // bool
+                constexpr std::ptrdiff_t m_bIsLowViolence = 0x5E4; // bool
+                constexpr std::ptrdiff_t m_bGamePaused = 0x5E5; // bool
+                constexpr std::ptrdiff_t m_iIgnoreGlobalChat = 0x720; // ChatIgnoreType_t
+                constexpr std::ptrdiff_t m_flLastPlayerTalkTime = 0x724; // float32
+                constexpr std::ptrdiff_t m_flLastEntitySteadyState = 0x728; // float32
+                constexpr std::ptrdiff_t m_nAvailableEntitySteadyState = 0x72C; // int32
+                constexpr std::ptrdiff_t m_bHasAnySteadyStateEnts = 0x730; // bool
+                constexpr std::ptrdiff_t m_steamID = 0x740; // uint64
+                constexpr std::ptrdiff_t m_iDesiredFOV = 0x748; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CPointTemplateAPI {
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFirstAttack (bool)
+            namespace CKnife {
+                constexpr std::ptrdiff_t m_bFirstAttack = 0xF68; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 37
+            namespace CFuncTrackTrain {
+                constexpr std::ptrdiff_t m_ppath = 0x790; // CHandle<CPathTrack>
+                constexpr std::ptrdiff_t m_length = 0x794; // float32
+                constexpr std::ptrdiff_t m_vPosPrev = 0x798; // Vector
+                constexpr std::ptrdiff_t m_angPrev = 0x7A4; // QAngle
+                constexpr std::ptrdiff_t m_controlMins = 0x7B0; // Vector
+                constexpr std::ptrdiff_t m_controlMaxs = 0x7BC; // Vector
+                constexpr std::ptrdiff_t m_lastBlockPos = 0x7C8; // Vector
+                constexpr std::ptrdiff_t m_lastBlockTick = 0x7D4; // int32
+                constexpr std::ptrdiff_t m_flVolume = 0x7D8; // float32
+                constexpr std::ptrdiff_t m_flBank = 0x7DC; // float32
+                constexpr std::ptrdiff_t m_oldSpeed = 0x7E0; // float32
+                constexpr std::ptrdiff_t m_flBlockDamage = 0x7E4; // float32
+                constexpr std::ptrdiff_t m_height = 0x7E8; // float32
+                constexpr std::ptrdiff_t m_maxSpeed = 0x7EC; // float32
+                constexpr std::ptrdiff_t m_dir = 0x7F0; // float32
+                constexpr std::ptrdiff_t m_iszSoundMove = 0x7F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundMovePing = 0x800; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundStart = 0x808; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundStop = 0x810; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_strPathTarget = 0x818; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flMoveSoundMinDuration = 0x820; // float32
+                constexpr std::ptrdiff_t m_flMoveSoundMaxDuration = 0x824; // float32
+                constexpr std::ptrdiff_t m_flNextMoveSoundTime = 0x828; // GameTime_t
+                constexpr std::ptrdiff_t m_flMoveSoundMinPitch = 0x82C; // float32
+                constexpr std::ptrdiff_t m_flMoveSoundMaxPitch = 0x830; // float32
+                constexpr std::ptrdiff_t m_eOrientationType = 0x834; // TrainOrientationType_t
+                constexpr std::ptrdiff_t m_eVelocityType = 0x838; // TrainVelocityType_t
+                constexpr std::ptrdiff_t m_OnStart = 0x848; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnNext = 0x870; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnArrivedAtDestinationNode = 0x898; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bManualSpeedChanges = 0x8C0; // bool
+                constexpr std::ptrdiff_t m_flDesiredSpeed = 0x8C4; // float32
+                constexpr std::ptrdiff_t m_flSpeedChangeTime = 0x8C8; // GameTime_t
+                constexpr std::ptrdiff_t m_flAccelSpeed = 0x8CC; // float32
+                constexpr std::ptrdiff_t m_flDecelSpeed = 0x8D0; // float32
+                constexpr std::ptrdiff_t m_bAccelToSpeed = 0x8D4; // bool
+                constexpr std::ptrdiff_t m_flNextMPSoundTime = 0x8D8; // GameTime_t
+            }
+            // Parent: CServerOnlyModelEntity
+            // Field count: 5
+            namespace CFogVolume {
+                constexpr std::ptrdiff_t m_fogName = 0x790; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_postProcessName = 0x798; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_colorCorrectionName = 0x7A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bDisabled = 0x7B0; // bool
+                constexpr std::ptrdiff_t m_bInFogVolumesList = 0x7B1; // bool
+            }
+            // Parent: SpawnPoint
+            // Field count: 0
+            namespace CInfoPlayerCounterterrorist {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 19
+            namespace CFire {
+                constexpr std::ptrdiff_t m_hEffect = 0x790; // CHandle<CBaseFire>
+                constexpr std::ptrdiff_t m_hOwner = 0x794; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nFireType = 0x798; // int32
+                constexpr std::ptrdiff_t m_flFuel = 0x79C; // float32
+                constexpr std::ptrdiff_t m_flDamageTime = 0x7A0; // GameTime_t
+                constexpr std::ptrdiff_t m_lastDamage = 0x7A4; // GameTime_t
+                constexpr std::ptrdiff_t m_flFireSize = 0x7A8; // float32
+                constexpr std::ptrdiff_t m_flLastNavUpdateTime = 0x7AC; // GameTime_t
+                constexpr std::ptrdiff_t m_flHeatLevel = 0x7B0; // float32
+                constexpr std::ptrdiff_t m_flHeatAbsorb = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_flDamageScale = 0x7B8; // float32
+                constexpr std::ptrdiff_t m_flMaxHeat = 0x7BC; // float32
+                constexpr std::ptrdiff_t m_flLastHeatLevel = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_flAttackTime = 0x7C4; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0x7C8; // bool
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x7C9; // bool
+                constexpr std::ptrdiff_t m_bDidActivate = 0x7CA; // bool
+                constexpr std::ptrdiff_t m_OnIgnited = 0x7D0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnExtinguished = 0x7F8; // CEntityIOOutput
+            }
+            // Parent: CSkeletonAnimationController
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_animGraphNetworkedVars (CAnimGraphNetworkedVariables)
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flSeqStartTime (GameTime_t)
+            // NetworkVarNames: m_flSeqFixedCycle (float)
+            // NetworkVarNames: m_nAnimLoopMode (AnimLoopMode_t)
+            namespace CBaseAnimGraphController {
+                constexpr std::ptrdiff_t m_animGraphNetworkedVars = 0x18; // CAnimGraphNetworkedVariables
+                constexpr std::ptrdiff_t m_bSequenceFinished = 0x220; // bool
+                constexpr std::ptrdiff_t m_flSoundSyncTime = 0x224; // float32
+                constexpr std::ptrdiff_t m_nActiveIKChainMask = 0x228; // uint32
+                constexpr std::ptrdiff_t m_hSequence = 0x22C; // HSequence
+                constexpr std::ptrdiff_t m_flSeqStartTime = 0x230; // GameTime_t
+                constexpr std::ptrdiff_t m_flSeqFixedCycle = 0x234; // float32
+                constexpr std::ptrdiff_t m_nAnimLoopMode = 0x238; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_flPlaybackRate = 0x23C; // CNetworkedQuantizedFloat
+                constexpr std::ptrdiff_t m_nNotifyState = 0x248; // SequenceFinishNotifyState_t
+                constexpr std::ptrdiff_t m_bNetworkedAnimationInputsChanged = 0x24A; // bool
+                constexpr std::ptrdiff_t m_bNetworkedSequenceChanged = 0x24B; // bool
+                constexpr std::ptrdiff_t m_bLastUpdateSkipped = 0x24C; // bool
+                constexpr std::ptrdiff_t m_flPrevAnimUpdateTime = 0x250; // GameTime_t
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CCSPointScriptEntity {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponBizon {
+            }
+            // Parent: CBasePlatTrain
+            // Field count: 1
+            namespace CFuncPlat {
+                constexpr std::ptrdiff_t m_sNoise = 0x838; // CUtlSymbolLarge
+            }
+            // Parent: CPhysConstraint
+            // Field count: 48
+            namespace CGenericConstraint {
+                constexpr std::ptrdiff_t m_nLinearMotionX = 0x560; // JointMotion_t
+                constexpr std::ptrdiff_t m_nLinearMotionY = 0x564; // JointMotion_t
+                constexpr std::ptrdiff_t m_nLinearMotionZ = 0x568; // JointMotion_t
+                constexpr std::ptrdiff_t m_flLinearFrequencyX = 0x56C; // float32
+                constexpr std::ptrdiff_t m_flLinearFrequencyY = 0x570; // float32
+                constexpr std::ptrdiff_t m_flLinearFrequencyZ = 0x574; // float32
+                constexpr std::ptrdiff_t m_flLinearDampingRatioX = 0x578; // float32
+                constexpr std::ptrdiff_t m_flLinearDampingRatioY = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flLinearDampingRatioZ = 0x580; // float32
+                constexpr std::ptrdiff_t m_flMaxLinearImpulseX = 0x584; // float32
+                constexpr std::ptrdiff_t m_flMaxLinearImpulseY = 0x588; // float32
+                constexpr std::ptrdiff_t m_flMaxLinearImpulseZ = 0x58C; // float32
+                constexpr std::ptrdiff_t m_flBreakAfterTimeX = 0x590; // float32
+                constexpr std::ptrdiff_t m_flBreakAfterTimeY = 0x594; // float32
+                constexpr std::ptrdiff_t m_flBreakAfterTimeZ = 0x598; // float32
+                constexpr std::ptrdiff_t m_flBreakAfterTimeStartTimeX = 0x59C; // GameTime_t
+                constexpr std::ptrdiff_t m_flBreakAfterTimeStartTimeY = 0x5A0; // GameTime_t
+                constexpr std::ptrdiff_t m_flBreakAfterTimeStartTimeZ = 0x5A4; // GameTime_t
+                constexpr std::ptrdiff_t m_flBreakAfterTimeThresholdX = 0x5A8; // float32
+                constexpr std::ptrdiff_t m_flBreakAfterTimeThresholdY = 0x5AC; // float32
+                constexpr std::ptrdiff_t m_flBreakAfterTimeThresholdZ = 0x5B0; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceX = 0x5B4; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceY = 0x5B8; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceZ = 0x5BC; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceMinTimeX = 0x5C0; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceMinTimeY = 0x5C4; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceMinTimeZ = 0x5C8; // float32
+                constexpr std::ptrdiff_t m_flNotifyForceLastTimeX = 0x5CC; // GameTime_t
+                constexpr std::ptrdiff_t m_flNotifyForceLastTimeY = 0x5D0; // GameTime_t
+                constexpr std::ptrdiff_t m_flNotifyForceLastTimeZ = 0x5D4; // GameTime_t
+                constexpr std::ptrdiff_t m_bAxisNotifiedX = 0x5D8; // bool
+                constexpr std::ptrdiff_t m_bAxisNotifiedY = 0x5D9; // bool
+                constexpr std::ptrdiff_t m_bAxisNotifiedZ = 0x5DA; // bool
+                constexpr std::ptrdiff_t m_nAngularMotionX = 0x5DC; // JointMotion_t
+                constexpr std::ptrdiff_t m_nAngularMotionY = 0x5E0; // JointMotion_t
+                constexpr std::ptrdiff_t m_nAngularMotionZ = 0x5E4; // JointMotion_t
+                constexpr std::ptrdiff_t m_flAngularFrequencyX = 0x5E8; // float32
+                constexpr std::ptrdiff_t m_flAngularFrequencyY = 0x5EC; // float32
+                constexpr std::ptrdiff_t m_flAngularFrequencyZ = 0x5F0; // float32
+                constexpr std::ptrdiff_t m_flAngularDampingRatioX = 0x5F4; // float32
+                constexpr std::ptrdiff_t m_flAngularDampingRatioY = 0x5F8; // float32
+                constexpr std::ptrdiff_t m_flAngularDampingRatioZ = 0x5FC; // float32
+                constexpr std::ptrdiff_t m_flMaxAngularImpulseX = 0x600; // float32
+                constexpr std::ptrdiff_t m_flMaxAngularImpulseY = 0x604; // float32
+                constexpr std::ptrdiff_t m_flMaxAngularImpulseZ = 0x608; // float32
+                constexpr std::ptrdiff_t m_NotifyForceReachedX = 0x610; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_NotifyForceReachedY = 0x638; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_NotifyForceReachedZ = 0x660; // CEntityIOOutput
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            namespace CDecoyGrenade {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponG3SG1 {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 11
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bInitiallyPopulateInterpHistory (bool)
+            // NetworkVarNames: m_bAnimGraphUpdateEnabled (bool)
+            // NetworkVarNames: m_vecForce (Vector)
+            // NetworkVarNames: m_nForceBone (int32)
+            // NetworkVarNames: m_RagdollPose (PhysicsRagdollPose_t)
+            // NetworkVarNames: m_bRagdollClientSide (bool)
+            namespace CBaseAnimGraph {
+                constexpr std::ptrdiff_t m_bInitiallyPopulateInterpHistory = 0x808; // bool
+                constexpr std::ptrdiff_t m_pChoreoServices = 0x810; // IChoreoServices*
+                constexpr std::ptrdiff_t m_bAnimGraphUpdateEnabled = 0x818; // bool
+                constexpr std::ptrdiff_t m_flMaxSlopeDistance = 0x81C; // float32
+                constexpr std::ptrdiff_t m_vLastSlopeCheckPos = 0x820; // Vector
+                constexpr std::ptrdiff_t m_bAnimationUpdateScheduled = 0x82C; // bool
+                constexpr std::ptrdiff_t m_vecForce = 0x830; // Vector
+                constexpr std::ptrdiff_t m_nForceBone = 0x83C; // int32
+                constexpr std::ptrdiff_t m_RagdollPose = 0x850; // PhysicsRagdollPose_t
+                constexpr std::ptrdiff_t m_bRagdollClientSide = 0x878; // bool
+                constexpr std::ptrdiff_t m_nLastDestructiblePartDestroyedAnimgraphSetTick = 0x9A0; // int32
+            }
+            // Parent: CPhysForce
+            // Field count: 1
+            namespace CPhysTorque {
+                constexpr std::ptrdiff_t m_axis = 0x540; // Vector
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 27
+            //
+            // Metadata:
+            // NetworkVarNames: m_ragPos (Vector)
+            // NetworkVarNames: m_ragAngles (QAngle)
+            // NetworkVarNames: m_hRagdollSource (EHANDLE)
+            // NetworkVarNames: m_flBlendWeight (float32)
+            namespace CRagdollProp {
+                constexpr std::ptrdiff_t m_ragdoll = 0x9B0; // ragdoll_t
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x9E8; // bool
+                constexpr std::ptrdiff_t m_ragPos = 0x9F0; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_ragAngles = 0xA08; // CNetworkUtlVectorBase<QAngle>
+                constexpr std::ptrdiff_t m_hRagdollSource = 0xA20; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_lastUpdateTickCount = 0xA24; // uint32
+                constexpr std::ptrdiff_t m_allAsleep = 0xA28; // bool
+                constexpr std::ptrdiff_t m_bFirstCollisionAfterLaunch = 0xA29; // bool
+                constexpr std::ptrdiff_t m_hDamageEntity = 0xA2C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hKiller = 0xA30; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hPhysicsAttacker = 0xA34; // CHandle<CBasePlayerPawn>
+                constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0xA38; // GameTime_t
+                constexpr std::ptrdiff_t m_flFadeOutStartTime = 0xA3C; // GameTime_t
+                constexpr std::ptrdiff_t m_flFadeTime = 0xA40; // float32
+                constexpr std::ptrdiff_t m_vecLastOrigin = 0xA44; // Vector
+                constexpr std::ptrdiff_t m_flAwakeTime = 0xA50; // GameTime_t
+                constexpr std::ptrdiff_t m_flLastOriginChangeTime = 0xA54; // GameTime_t
+                constexpr std::ptrdiff_t m_strOriginClassName = 0xA58; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_strSourceClassName = 0xA60; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bHasBeenPhysgunned = 0xA68; // bool
+                constexpr std::ptrdiff_t m_bShouldTeleportPhysics = 0xA69; // bool
+                constexpr std::ptrdiff_t m_flBlendWeight = 0xA6C; // float32
+                constexpr std::ptrdiff_t m_flDefaultFadeScale = 0xA70; // float32
+                constexpr std::ptrdiff_t m_ragdollMins = 0xA78; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_ragdollMaxs = 0xA90; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_bShouldDeleteActivationRecord = 0xAA8; // bool
+                constexpr std::ptrdiff_t m_bValidatePoweredRagdollPose = 0xB08; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace CItemSoda {
+            }
+            // Parent: CEnvCubemap
+            // Field count: 0
+            namespace CEnvCubemapBox {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CBasePlayerControllerAPI {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_CCSWeaponBaseVData {
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFadeStartDist (float32)
+            // NetworkVarNames: m_flFadeEndDist (float32)
+            namespace CEnvDetailController {
+                constexpr std::ptrdiff_t m_flFadeStartDist = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flFadeEndDist = 0x4E4; // float32
+            }
+            // Parent: CTriggerOnce
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bTestOcclusion (bool)
+            namespace CTriggerLook {
+                constexpr std::ptrdiff_t m_hLookTarget = 0x988; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flFieldOfView = 0x98C; // float32
+                constexpr std::ptrdiff_t m_flLookTime = 0x990; // float32
+                constexpr std::ptrdiff_t m_flLookTimeTotal = 0x994; // float32
+                constexpr std::ptrdiff_t m_flLookTimeLast = 0x998; // GameTime_t
+                constexpr std::ptrdiff_t m_flTimeoutDuration = 0x99C; // float32
+                constexpr std::ptrdiff_t m_bTimeoutFired = 0x9A0; // bool
+                constexpr std::ptrdiff_t m_bIsLooking = 0x9A1; // bool
+                constexpr std::ptrdiff_t m_b2DFOV = 0x9A2; // bool
+                constexpr std::ptrdiff_t m_bUseVelocity = 0x9A3; // bool
+                constexpr std::ptrdiff_t m_bTestOcclusion = 0x9A4; // bool
+                constexpr std::ptrdiff_t m_OnTimeout = 0x9A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnStartLook = 0x9D0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEndLook = 0x9F8; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoTeleportDestination {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 11
+            namespace CMathRemap {
+                constexpr std::ptrdiff_t m_flInMin = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flInMax = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flOut1 = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flOut2 = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flOldInValue = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0x4F4; // bool
+                constexpr std::ptrdiff_t m_OutValue = 0x4F8; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnRoseAboveMin = 0x520; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnRoseAboveMax = 0x548; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFellBelowMin = 0x570; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFellBelowMax = 0x598; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            namespace CInstructorEventEntity {
+                constexpr std::ptrdiff_t m_iszName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszHintTargetEntity = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hTargetPlayer = 0x4F0; // CHandle<CBasePlayerPawn>
+            }
+            // Parent: CBaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hGradientFogTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_flFogStartDistance (float)
+            // NetworkVarNames: m_flFogEndDistance (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogStartHeight (float)
+            // NetworkVarNames: m_flFogEndHeight (float)
+            // NetworkVarNames: m_flFarZ (float)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_flFogVerticalExponent (float)
+            // NetworkVarNames: m_fogColor (Color)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            namespace CGradientFog {
+                constexpr std::ptrdiff_t m_hGradientFogTexture = 0x4E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_flFogStartDistance = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flFogEndDistance = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x4F0; // bool
+                constexpr std::ptrdiff_t m_flFogStartHeight = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flFogEndHeight = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_flFarZ = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x500; // float32
+                constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x504; // float32
+                constexpr std::ptrdiff_t m_flFogVerticalExponent = 0x508; // float32
+                constexpr std::ptrdiff_t m_fogColor = 0x50C; // Color
+                constexpr std::ptrdiff_t m_flFogStrength = 0x510; // float32
+                constexpr std::ptrdiff_t m_flFadeTime = 0x514; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x518; // bool
+                constexpr std::ptrdiff_t m_bIsEnabled = 0x519; // bool
+                constexpr std::ptrdiff_t m_bGradientFogNeedsTextures = 0x51A; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_source (string_t)
+            // NetworkVarNames: m_destination (string_t)
+            namespace CFootstepControl {
+                constexpr std::ptrdiff_t m_source = 0x960; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_destination = 0x968; // CUtlSymbolLarge
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 2
+            namespace CTriggerVolume {
+                constexpr std::ptrdiff_t m_iFilterName = 0x790; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFilter = 0x798; // CHandle<CBaseFilter>
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            namespace CEnvSoundscapeAlias_snd_soundscape {
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoInstructorHintHostageRescueZone {
+            }
+            // Parent: CBaseEntity
+            // Field count: 7
+            namespace CFishPool {
+                constexpr std::ptrdiff_t m_fishCount = 0x4F0; // int32
+                constexpr std::ptrdiff_t m_maxRange = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_swimDepth = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_waterLevel = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_isDormant = 0x500; // bool
+                constexpr std::ptrdiff_t m_fishes = 0x508; // CUtlVector<CHandle<CFish>>
+                constexpr std::ptrdiff_t m_visTimer = 0x520; // CountdownTimer
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CPointClientCommand {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CFuncVPhysicsClip {
+                constexpr std::ptrdiff_t m_bDisabled = 0x790; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 5
+            namespace CCSPlayer_RadioServices {
+                constexpr std::ptrdiff_t m_flGotHostageTalkTimer = 0x40; // GameTime_t
+                constexpr std::ptrdiff_t m_flDefusingTalkTimer = 0x44; // GameTime_t
+                constexpr std::ptrdiff_t m_flC4PlantTalkTimer = 0x48; // GameTime_t
+                constexpr std::ptrdiff_t m_flRadioTokenSlots = 0x4C; // GameTime_t[3]
+                constexpr std::ptrdiff_t m_bIgnoreRadio = 0x58; // bool
+            }
+            // Parent: CSceneEntity
+            // Field count: 7
+            namespace CInstancedSceneEntity {
+                constexpr std::ptrdiff_t m_hOwner = 0xA40; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bHadOwner = 0xA44; // bool
+                constexpr std::ptrdiff_t m_flPostSpeakDelay = 0xA48; // float32
+                constexpr std::ptrdiff_t m_flPreDelay = 0xA4C; // float32
+                constexpr std::ptrdiff_t m_bIsBackground = 0xA50; // bool
+                constexpr std::ptrdiff_t m_bRemoveOnCompletion = 0xA51; // bool
+                constexpr std::ptrdiff_t m_hTarget = 0xA54; // CHandle<CBaseEntity>
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            namespace CEnvHudHint {
+                constexpr std::ptrdiff_t m_iszMessage = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 22
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_szSnapshotFileName (char)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bFrozen (bool)
+            // NetworkVarNames: m_flFreezeTransitionDuration (float)
+            // NetworkVarNames: m_nStopType (int)
+            // NetworkVarNames: m_bAnimateDuringGameplayPause (bool)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flPreSimTime (float32)
+            // NetworkVarNames: m_vServerControlPoints (Vector)
+            // NetworkVarNames: m_iServerControlPointAssignments (uint8)
+            // NetworkVarNames: m_hControlPointEnts (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bNoSave (bool)
+            // NetworkVarNames: m_bNoFreeze (bool)
+            // NetworkVarNames: m_bNoRamp (bool)
+            namespace CParticleSystem {
+                constexpr std::ptrdiff_t m_szSnapshotFileName = 0x790; // char[512]
+                constexpr std::ptrdiff_t m_bActive = 0x990; // bool
+                constexpr std::ptrdiff_t m_bFrozen = 0x991; // bool
+                constexpr std::ptrdiff_t m_flFreezeTransitionDuration = 0x994; // float32
+                constexpr std::ptrdiff_t m_nStopType = 0x998; // int32
+                constexpr std::ptrdiff_t m_bAnimateDuringGameplayPause = 0x99C; // bool
+                constexpr std::ptrdiff_t m_iEffectIndex = 0x9A0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_flStartTime = 0x9A8; // GameTime_t
+                constexpr std::ptrdiff_t m_flPreSimTime = 0x9AC; // float32
+                constexpr std::ptrdiff_t m_vServerControlPoints = 0x9B0; // Vector[4]
+                constexpr std::ptrdiff_t m_iServerControlPointAssignments = 0x9E0; // uint8[4]
+                constexpr std::ptrdiff_t m_hControlPointEnts = 0x9E4; // CHandle<CBaseEntity>[64]
+                constexpr std::ptrdiff_t m_bNoSave = 0xAE4; // bool
+                constexpr std::ptrdiff_t m_bNoFreeze = 0xAE5; // bool
+                constexpr std::ptrdiff_t m_bNoRamp = 0xAE6; // bool
+                constexpr std::ptrdiff_t m_bStartActive = 0xAE7; // bool
+                constexpr std::ptrdiff_t m_iszEffectName = 0xAE8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszControlPointNames = 0xAF0; // CUtlSymbolLarge[64]
+                constexpr std::ptrdiff_t m_nDataCP = 0xCF0; // int32
+                constexpr std::ptrdiff_t m_vecDataCPValue = 0xCF4; // Vector
+                constexpr std::ptrdiff_t m_nTintCP = 0xD00; // int32
+                constexpr std::ptrdiff_t m_clrTint = 0xD04; // Color
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 22
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBasePlayerWeaponVData {
+                constexpr std::ptrdiff_t m_szWorldModel = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_sToolsOnlyOwnerModelName = 0x108; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_bBuiltRightHanded = 0x1E8; // bool
+                constexpr std::ptrdiff_t m_bAllowFlipping = 0x1E9; // bool
+                constexpr std::ptrdiff_t m_sMuzzleAttachment = 0x1F0; // CAttachmentNameSymbolWithStorage
+                constexpr std::ptrdiff_t m_szMuzzleFlashParticle = 0x210; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_bLinkedCooldowns = 0x2F0; // bool
+                constexpr std::ptrdiff_t m_iFlags = 0x2F1; // ItemFlagTypes_t
+                constexpr std::ptrdiff_t m_nPrimaryAmmoType = 0x2F2; // AmmoIndex_t
+                constexpr std::ptrdiff_t m_nSecondaryAmmoType = 0x2F3; // AmmoIndex_t
+                constexpr std::ptrdiff_t m_iMaxClip1 = 0x2F4; // int32
+                constexpr std::ptrdiff_t m_iMaxClip2 = 0x2F8; // int32
+                constexpr std::ptrdiff_t m_iDefaultClip1 = 0x2FC; // int32
+                constexpr std::ptrdiff_t m_iDefaultClip2 = 0x300; // int32
+                constexpr std::ptrdiff_t m_bReserveAmmoAsClips = 0x304; // bool
+                constexpr std::ptrdiff_t m_iWeight = 0x308; // int32
+                constexpr std::ptrdiff_t m_bAutoSwitchTo = 0x30C; // bool
+                constexpr std::ptrdiff_t m_bAutoSwitchFrom = 0x30D; // bool
+                constexpr std::ptrdiff_t m_iRumbleEffect = 0x310; // RumbleEffect_t
+                constexpr std::ptrdiff_t m_iSlot = 0x314; // int32
+                constexpr std::ptrdiff_t m_iPosition = 0x318; // int32
+                constexpr std::ptrdiff_t m_aShootSounds = 0x320; // CUtlOrderedMap<WeaponSound_t,CSoundEventName>
+            }
+            // Parent: CCSPlayerPawnBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            namespace CCSObserverPawn {
+            }
+            // Parent: CItem
+            // Field count: 1
+            namespace CScriptItem {
+                constexpr std::ptrdiff_t m_MoveTypeOverride = 0xA80; // MoveType_t
+            }
+            // Parent: IntervalTimer
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_flValues (float)
+            // NetworkVarNames: m_nValueCounts (int)
+            // NetworkVarNames: m_nBucketCount (int)
+            // NetworkVarNames: m_flInterval (float)
+            // NetworkVarNames: m_flFinalValue (float)
+            // NetworkVarNames: m_nCompressionType (TimelineCompression_t)
+            // NetworkVarNames: m_bStopped (bool)
+            namespace CTimeline {
+                constexpr std::ptrdiff_t m_flValues = 0x10; // float32[64]
+                constexpr std::ptrdiff_t m_nValueCounts = 0x110; // int32[64]
+                constexpr std::ptrdiff_t m_nBucketCount = 0x210; // int32
+                constexpr std::ptrdiff_t m_flInterval = 0x214; // float32
+                constexpr std::ptrdiff_t m_flFinalValue = 0x218; // float32
+                constexpr std::ptrdiff_t m_nCompressionType = 0x21C; // TimelineCompression_t
+                constexpr std::ptrdiff_t m_bStopped = 0x220; // bool
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponSG556 {
+            }
+            // Parent: CPointEntity
+            // Field count: 10
+            namespace CAmbientGeneric {
+                constexpr std::ptrdiff_t m_radius = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flMaxRadius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_iSoundLevel = 0x4E8; // soundlevel_t
+                constexpr std::ptrdiff_t m_dpv = 0x4EC; // dynpitchvol_t
+                constexpr std::ptrdiff_t m_fActive = 0x550; // bool
+                constexpr std::ptrdiff_t m_fLooping = 0x551; // bool
+                constexpr std::ptrdiff_t m_iszSound = 0x558; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sSourceEntName = 0x560; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hSoundSource = 0x568; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nSoundSourceEntIndex = 0x56C; // CEntityIndex
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_Flags (uint8)
+            // NetworkVarNames: m_LightStyle (uint8)
+            // NetworkVarNames: m_Radius (float32)
+            // NetworkVarNames: m_Exponent (int32)
+            // NetworkVarNames: m_InnerAngle (float32)
+            // NetworkVarNames: m_OuterAngle (float32)
+            // NetworkVarNames: m_SpotRadius (float32)
+            namespace CDynamicLight {
+                constexpr std::ptrdiff_t m_ActualFlags = 0x790; // uint8
+                constexpr std::ptrdiff_t m_Flags = 0x791; // uint8
+                constexpr std::ptrdiff_t m_LightStyle = 0x792; // uint8
+                constexpr std::ptrdiff_t m_On = 0x793; // bool
+                constexpr std::ptrdiff_t m_Radius = 0x794; // float32
+                constexpr std::ptrdiff_t m_Exponent = 0x798; // int32
+                constexpr std::ptrdiff_t m_InnerAngle = 0x79C; // float32
+                constexpr std::ptrdiff_t m_OuterAngle = 0x7A0; // float32
+                constexpr std::ptrdiff_t m_SpotRadius = 0x7A4; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponP90 {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CTriggerToggleSave {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CPrecipitation {
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CPointServerCommand {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iReapplyProvisionParity (int)
+            // NetworkVarNames: m_hOuter (EHANDLE)
+            // NetworkVarNames: m_ProviderType (attributeprovidertypes_t)
+            namespace CAttributeManager {
+                constexpr std::ptrdiff_t m_Providers = 0x8; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_iReapplyProvisionParity = 0x20; // int32
+                constexpr std::ptrdiff_t m_hOuter = 0x24; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bPreventLoopback = 0x28; // bool
+                constexpr std::ptrdiff_t m_ProviderType = 0x2C; // attributeprovidertypes_t
+                constexpr std::ptrdiff_t m_CachedResults = 0x30; // CUtlVector<CAttributeManager::cached_attribute_float_t>
+            }
+            // Parent: CServerOnlyEntity
+            // Field count: 0
+            namespace CLogicalEntity {
+            }
+            // Parent: None
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_PredNetBoolVariables (uint32)
+            // NetworkVarNames: m_PredNetByteVariables (byte)
+            // NetworkVarNames: m_PredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_PredNetIntVariables (int32)
+            // NetworkVarNames: m_PredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_PredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_PredNetFloatVariables (float)
+            // NetworkVarNames: m_PredNetVectorVariables (Vector)
+            // NetworkVarNames: m_PredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_PredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_OwnerOnlyPredNetBoolVariables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetByteVariables (byte)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_OwnerOnlyPredNetIntVariables (int32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_OwnerOnlyPredNetFloatVariables (float)
+            // NetworkVarNames: m_OwnerOnlyPredNetVectorVariables (Vector)
+            // NetworkVarNames: m_OwnerOnlyPredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_OwnerOnlyPredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_nBoolVariablesCount (int)
+            // NetworkVarNames: m_nOwnerOnlyBoolVariablesCount (int)
+            // NetworkVarNames: m_nRandomSeedOffset (int)
+            // NetworkVarNames: m_flLastTeleportTime (float)
+            namespace CAnimGraphNetworkedVariables {
+                constexpr std::ptrdiff_t m_PredNetBoolVariables = 0x8; // CNetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_PredNetByteVariables = 0x20; // CNetworkUtlVectorBase<uint8>
+                constexpr std::ptrdiff_t m_PredNetUInt16Variables = 0x38; // CNetworkUtlVectorBase<uint16>
+                constexpr std::ptrdiff_t m_PredNetIntVariables = 0x50; // CNetworkUtlVectorBase<int32>
+                constexpr std::ptrdiff_t m_PredNetUInt32Variables = 0x68; // CNetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_PredNetUInt64Variables = 0x80; // CNetworkUtlVectorBase<uint64>
+                constexpr std::ptrdiff_t m_PredNetFloatVariables = 0x98; // CNetworkUtlVectorBase<float32>
+                constexpr std::ptrdiff_t m_PredNetVectorVariables = 0xB0; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PredNetQuaternionVariables = 0xC8; // CNetworkUtlVectorBase<Quaternion>
+                constexpr std::ptrdiff_t m_PredNetGlobalSymbolVariables = 0xE0; // CNetworkUtlVectorBase<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetBoolVariables = 0xF8; // CNetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetByteVariables = 0x110; // CNetworkUtlVectorBase<uint8>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt16Variables = 0x128; // CNetworkUtlVectorBase<uint16>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetIntVariables = 0x140; // CNetworkUtlVectorBase<int32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt32Variables = 0x158; // CNetworkUtlVectorBase<uint32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt64Variables = 0x170; // CNetworkUtlVectorBase<uint64>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetFloatVariables = 0x188; // CNetworkUtlVectorBase<float32>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetVectorVariables = 0x1A0; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetQuaternionVariables = 0x1B8; // CNetworkUtlVectorBase<Quaternion>
+                constexpr std::ptrdiff_t m_OwnerOnlyPredNetGlobalSymbolVariables = 0x1D0; // CNetworkUtlVectorBase<CGlobalSymbol>
+                constexpr std::ptrdiff_t m_nBoolVariablesCount = 0x1E8; // int32
+                constexpr std::ptrdiff_t m_nOwnerOnlyBoolVariablesCount = 0x1EC; // int32
+                constexpr std::ptrdiff_t m_nRandomSeedOffset = 0x1F0; // int32
+                constexpr std::ptrdiff_t m_flLastTeleportTime = 0x1F4; // float32
+            }
+            // Parent: CBreakableProp
+            // Field count: 37
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bAwake (bool)
+            namespace CPhysicsProp {
+                constexpr std::ptrdiff_t m_MotionEnabled = 0xB60; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAwakened = 0xB88; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAwake = 0xBB0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAsleep = 0xBD8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPlayerUse = 0xC00; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnOutOfWorld = 0xC28; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPlayerPickup = 0xC50; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bForceNavIgnore = 0xC78; // bool
+                constexpr std::ptrdiff_t m_bNoNavmeshBlocker = 0xC79; // bool
+                constexpr std::ptrdiff_t m_bForceNpcExclude = 0xC7A; // bool
+                constexpr std::ptrdiff_t m_massScale = 0xC7C; // float32
+                constexpr std::ptrdiff_t m_inertiaScale = 0xC80; // float32
+                constexpr std::ptrdiff_t m_buoyancyScale = 0xC84; // float32
+                constexpr std::ptrdiff_t m_damageType = 0xC88; // int32
+                constexpr std::ptrdiff_t m_damageToEnableMotion = 0xC8C; // int32
+                constexpr std::ptrdiff_t m_flForceToEnableMotion = 0xC90; // float32
+                constexpr std::ptrdiff_t m_bThrownByPlayer = 0xC94; // bool
+                constexpr std::ptrdiff_t m_bDroppedByPlayer = 0xC95; // bool
+                constexpr std::ptrdiff_t m_bTouchedByPlayer = 0xC96; // bool
+                constexpr std::ptrdiff_t m_bFirstCollisionAfterLaunch = 0xC97; // bool
+                constexpr std::ptrdiff_t m_iExploitableByPlayer = 0xC98; // int32
+                constexpr std::ptrdiff_t m_bHasBeenAwakened = 0xC9C; // bool
+                constexpr std::ptrdiff_t m_bIsOverrideProp = 0xC9D; // bool
+                constexpr std::ptrdiff_t m_fNextCheckDisableMotionContactsTime = 0xCA0; // GameTime_t
+                constexpr std::ptrdiff_t m_iInitialGlowState = 0xCA4; // int32
+                constexpr std::ptrdiff_t m_nGlowRange = 0xCA8; // int32
+                constexpr std::ptrdiff_t m_nGlowRangeMin = 0xCAC; // int32
+                constexpr std::ptrdiff_t m_glowColor = 0xCB0; // Color
+                constexpr std::ptrdiff_t m_bShouldAutoConvertBackFromDebris = 0xCB4; // bool
+                constexpr std::ptrdiff_t m_bMuteImpactEffects = 0xCB5; // bool
+                constexpr std::ptrdiff_t m_bAcceptDamageFromHeldObjects = 0xCBF; // bool
+                constexpr std::ptrdiff_t m_bEnableUseOutput = 0xCC0; // bool
+                constexpr std::ptrdiff_t m_CrateType = 0xCC4; // CPhysicsProp::CrateType_t
+                constexpr std::ptrdiff_t m_strItemClass = 0xCC8; // CUtlSymbolLarge[4]
+                constexpr std::ptrdiff_t m_nItemCount = 0xCE8; // int32[4]
+                constexpr std::ptrdiff_t m_bRemovableForAmmoBalancing = 0xCF8; // bool
+                constexpr std::ptrdiff_t m_bAwake = 0xCF9; // bool
+            }
+            // Parent: CFuncWall
+            // Field count: 0
+            namespace CFuncWallToggle {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_bSpotted (bool)
+            // NetworkVarNames: m_bSpottedByMask (uint32)
+            namespace EntitySpottedState_t {
+                constexpr std::ptrdiff_t m_bSpotted = 0x8; // bool
+                constexpr std::ptrdiff_t m_bSpottedByMask = 0xC; // uint32[2]
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 0
+            namespace CCSPlayer_CameraServices {
+            }
+            // Parent: CCSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_WingmanIntroCharacterPosition {
+            }
+            // Parent: CSPerRoundStats_t
+            // Field count: 21
+            //
+            // Metadata:
+            // NetworkVarNames: m_iEnemy5Ks (int)
+            // NetworkVarNames: m_iEnemy4Ks (int)
+            // NetworkVarNames: m_iEnemy3Ks (int)
+            // NetworkVarNames: m_iEnemyKnifeKills (int)
+            // NetworkVarNames: m_iEnemyTaserKills (int)
+            namespace CSMatchStats_t {
+                constexpr std::ptrdiff_t m_iEnemy5Ks = 0x68; // int32
+                constexpr std::ptrdiff_t m_iEnemy4Ks = 0x6C; // int32
+                constexpr std::ptrdiff_t m_iEnemy3Ks = 0x70; // int32
+                constexpr std::ptrdiff_t m_iEnemyKnifeKills = 0x74; // int32
+                constexpr std::ptrdiff_t m_iEnemyTaserKills = 0x78; // int32
+                constexpr std::ptrdiff_t m_iEnemy2Ks = 0x7C; // int32
+                constexpr std::ptrdiff_t m_iUtility_Count = 0x80; // int32
+                constexpr std::ptrdiff_t m_iUtility_Successes = 0x84; // int32
+                constexpr std::ptrdiff_t m_iUtility_Enemies = 0x88; // int32
+                constexpr std::ptrdiff_t m_iFlash_Count = 0x8C; // int32
+                constexpr std::ptrdiff_t m_iFlash_Successes = 0x90; // int32
+                constexpr std::ptrdiff_t m_nHealthPointsRemovedTotal = 0x94; // int32
+                constexpr std::ptrdiff_t m_nHealthPointsDealtTotal = 0x98; // int32
+                constexpr std::ptrdiff_t m_nShotsFiredTotal = 0x9C; // int32
+                constexpr std::ptrdiff_t m_nShotsOnTargetTotal = 0xA0; // int32
+                constexpr std::ptrdiff_t m_i1v1Count = 0xA4; // int32
+                constexpr std::ptrdiff_t m_i1v1Wins = 0xA8; // int32
+                constexpr std::ptrdiff_t m_i1v2Count = 0xAC; // int32
+                constexpr std::ptrdiff_t m_i1v2Wins = 0xB0; // int32
+                constexpr std::ptrdiff_t m_iEntryCount = 0xB4; // int32
+                constexpr std::ptrdiff_t m_iEntryWins = 0xB8; // int32
+            }
+            // Parent: CFuncLadder
+            // Field count: 0
+            namespace CFuncLadderAlias_func_useableladder {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 14
+            namespace CTriggerSndSosOpvar {
+                constexpr std::ptrdiff_t m_hTouchingPlayers = 0x960; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_flPosition = 0x978; // Vector
+                constexpr std::ptrdiff_t m_flCenterSize = 0x984; // float32
+                constexpr std::ptrdiff_t m_flMinVal = 0x988; // float32
+                constexpr std::ptrdiff_t m_flMaxVal = 0x98C; // float32
+                constexpr std::ptrdiff_t m_opvarName = 0x990; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_stackName = 0x998; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_operatorName = 0x9A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bVolIs2D = 0x9A8; // bool
+                constexpr std::ptrdiff_t m_opvarNameChar = 0x9A9; // char[256]
+                constexpr std::ptrdiff_t m_stackNameChar = 0xAA9; // char[256]
+                constexpr std::ptrdiff_t m_operatorNameChar = 0xBA9; // char[256]
+                constexpr std::ptrdiff_t m_VecNormPos = 0xCAC; // Vector
+                constexpr std::ptrdiff_t m_flNormCenterSize = 0xCB8; // float32
+            }
+            // Parent: CItem
+            // Field count: 0
+            namespace CItemAssaultSuit {
+            }
+            // Parent: CBaseEntity
+            // Field count: 72
+            namespace CScriptedSequence {
+                constexpr std::ptrdiff_t m_iszEntry = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszPreIdle = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszPlay = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszPostIdle = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszModifierToAddOnPlay = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszNextScript = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszEntity = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSyncGroup = 0x518; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nMoveTo = 0x520; // ScriptedMoveTo_t
+                constexpr std::ptrdiff_t m_nMoveToGait = 0x524; // MovementGait_t
+                constexpr std::ptrdiff_t m_nHeldWeaponBehavior = 0x528; // ScriptedHeldWeaponBehavior_t
+                constexpr std::ptrdiff_t m_bIsPlayingPreIdle = 0x52C; // bool
+                constexpr std::ptrdiff_t m_bIsPlayingEntry = 0x52D; // bool
+                constexpr std::ptrdiff_t m_bIsPlayingAction = 0x52E; // bool
+                constexpr std::ptrdiff_t m_bIsPlayingPostIdle = 0x52F; // bool
+                constexpr std::ptrdiff_t m_bDontRotateOther = 0x530; // bool
+                constexpr std::ptrdiff_t m_bIsRepeatable = 0x531; // bool
+                constexpr std::ptrdiff_t m_bShouldLeaveCorpse = 0x532; // bool
+                constexpr std::ptrdiff_t m_bStartOnSpawn = 0x533; // bool
+                constexpr std::ptrdiff_t m_bDisallowInterrupts = 0x534; // bool
+                constexpr std::ptrdiff_t m_bCanOverrideNPCState = 0x535; // bool
+                constexpr std::ptrdiff_t m_bDontTeleportAtEnd = 0x536; // bool
+                constexpr std::ptrdiff_t m_bHighPriority = 0x537; // bool
+                constexpr std::ptrdiff_t m_bHideDebugComplaints = 0x538; // bool
+                constexpr std::ptrdiff_t m_bContinueOnDeath = 0x539; // bool
+                constexpr std::ptrdiff_t m_bLoopPreIdleSequence = 0x53A; // bool
+                constexpr std::ptrdiff_t m_bLoopActionSequence = 0x53B; // bool
+                constexpr std::ptrdiff_t m_bLoopPostIdleSequence = 0x53C; // bool
+                constexpr std::ptrdiff_t m_bSynchPostIdles = 0x53D; // bool
+                constexpr std::ptrdiff_t m_bIgnoreLookAt = 0x53E; // bool
+                constexpr std::ptrdiff_t m_bIgnoreGravity = 0x53F; // bool
+                constexpr std::ptrdiff_t m_bDisableNPCCollisions = 0x540; // bool
+                constexpr std::ptrdiff_t m_bKeepAnimgraphLockedPost = 0x541; // bool
+                constexpr std::ptrdiff_t m_bDontAddModifiers = 0x542; // bool
+                constexpr std::ptrdiff_t m_flRadius = 0x544; // float32
+                constexpr std::ptrdiff_t m_flRepeat = 0x548; // float32
+                constexpr std::ptrdiff_t m_flPlayAnimFadeInTime = 0x54C; // float32
+                constexpr std::ptrdiff_t m_flMoveInterpTime = 0x550; // float32
+                constexpr std::ptrdiff_t m_flAngRate = 0x554; // float32
+                constexpr std::ptrdiff_t m_bWaitUntilMoveCompletesToStartAnimation = 0x558; // bool
+                constexpr std::ptrdiff_t m_nNotReadySequenceCount = 0x55C; // int32
+                constexpr std::ptrdiff_t m_startTime = 0x560; // GameTime_t
+                constexpr std::ptrdiff_t m_bWaitForBeginSequence = 0x564; // bool
+                constexpr std::ptrdiff_t m_saved_effects = 0x568; // int32
+                constexpr std::ptrdiff_t m_savedFlags = 0x56C; // int32
+                constexpr std::ptrdiff_t m_savedCollisionGroup = 0x570; // int32
+                constexpr std::ptrdiff_t m_bInterruptable = 0x574; // bool
+                constexpr std::ptrdiff_t m_sequenceStarted = 0x575; // bool
+                constexpr std::ptrdiff_t m_bPositionRelativeToOtherEntity = 0x576; // bool
+                constexpr std::ptrdiff_t m_hTargetEnt = 0x578; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hNextCine = 0x57C; // CHandle<CScriptedSequence>
+                constexpr std::ptrdiff_t m_bThinking = 0x580; // bool
+                constexpr std::ptrdiff_t m_bInitiatedSelfDelete = 0x581; // bool
+                constexpr std::ptrdiff_t m_bIsTeleportingDueToMoveTo = 0x582; // bool
+                constexpr std::ptrdiff_t m_bAllowCustomInterruptConditions = 0x583; // bool
+                constexpr std::ptrdiff_t m_hForcedTarget = 0x584; // CHandle<CBaseAnimGraph>
+                constexpr std::ptrdiff_t m_bDontCancelOtherSequences = 0x588; // bool
+                constexpr std::ptrdiff_t m_bForceSynch = 0x589; // bool
+                constexpr std::ptrdiff_t m_bPreventUpdateYawOnFinish = 0x58A; // bool
+                constexpr std::ptrdiff_t m_bEnsureOnNavmeshOnFinish = 0x58B; // bool
+                constexpr std::ptrdiff_t m_onDeathBehavior = 0x58C; // ScriptedOnDeath_t
+                constexpr std::ptrdiff_t m_ConflictResponse = 0x590; // ScriptedConflictResponse_t
+                constexpr std::ptrdiff_t m_OnBeginSequence = 0x598; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnActionStartOrLoop = 0x5C0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEndSequence = 0x5E8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPostIdleEndSequence = 0x610; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnCancelSequence = 0x638; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnCancelFailedSequence = 0x660; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnScriptEvent = 0x688; // CEntityIOOutput[8]
+                constexpr std::ptrdiff_t m_matOtherToMain = 0x7D0; // CTransform
+                constexpr std::ptrdiff_t m_hInteractionMainEntity = 0x7F0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iPlayerDeathBehavior = 0x7F4; // int32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponNegev {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponGalilAR {
+            }
+            // Parent: CModelPointEntity
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_hTargetEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bState (bool)
+            // NetworkVarNames: m_bAlwaysUpdate (bool)
+            // NetworkVarNames: m_flLightFOV (float32)
+            // NetworkVarNames: m_bEnableShadows (bool)
+            // NetworkVarNames: m_bSimpleProjection (bool)
+            // NetworkVarNames: m_bLightOnlyTarget (bool)
+            // NetworkVarNames: m_bLightWorld (bool)
+            // NetworkVarNames: m_bCameraSpace (bool)
+            // NetworkVarNames: m_flBrightnessScale (float32)
+            // NetworkVarNames: m_LightColor (Color)
+            // NetworkVarNames: m_flIntensity (float32)
+            // NetworkVarNames: m_flLinearAttenuation (float32)
+            // NetworkVarNames: m_flQuadraticAttenuation (float32)
+            // NetworkVarNames: m_bVolumetric (bool)
+            // NetworkVarNames: m_flNoiseStrength (float32)
+            // NetworkVarNames: m_flFlashlightTime (float32)
+            // NetworkVarNames: m_nNumPlanes (uint32)
+            // NetworkVarNames: m_flPlaneOffset (float32)
+            // NetworkVarNames: m_flVolumetricIntensity (float32)
+            // NetworkVarNames: m_flColorTransitionTime (float32)
+            // NetworkVarNames: m_flAmbient (float32)
+            // NetworkVarNames: m_SpotlightTextureName (char)
+            // NetworkVarNames: m_nSpotlightTextureFrame (int32)
+            // NetworkVarNames: m_nShadowQuality (uint32)
+            // NetworkVarNames: m_flNearZ (float32)
+            // NetworkVarNames: m_flFarZ (float32)
+            // NetworkVarNames: m_flProjectionSize (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_bFlipHorizontal (bool)
+            namespace CEnvProjectedTexture {
+                constexpr std::ptrdiff_t m_hTargetEntity = 0x790; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bState = 0x794; // bool
+                constexpr std::ptrdiff_t m_bAlwaysUpdate = 0x795; // bool
+                constexpr std::ptrdiff_t m_flLightFOV = 0x798; // float32
+                constexpr std::ptrdiff_t m_bEnableShadows = 0x79C; // bool
+                constexpr std::ptrdiff_t m_bSimpleProjection = 0x79D; // bool
+                constexpr std::ptrdiff_t m_bLightOnlyTarget = 0x79E; // bool
+                constexpr std::ptrdiff_t m_bLightWorld = 0x79F; // bool
+                constexpr std::ptrdiff_t m_bCameraSpace = 0x7A0; // bool
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x7A4; // float32
+                constexpr std::ptrdiff_t m_LightColor = 0x7A8; // Color
+                constexpr std::ptrdiff_t m_flIntensity = 0x7AC; // float32
+                constexpr std::ptrdiff_t m_flLinearAttenuation = 0x7B0; // float32
+                constexpr std::ptrdiff_t m_flQuadraticAttenuation = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_bVolumetric = 0x7B8; // bool
+                constexpr std::ptrdiff_t m_flNoiseStrength = 0x7BC; // float32
+                constexpr std::ptrdiff_t m_flFlashlightTime = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_nNumPlanes = 0x7C4; // uint32
+                constexpr std::ptrdiff_t m_flPlaneOffset = 0x7C8; // float32
+                constexpr std::ptrdiff_t m_flVolumetricIntensity = 0x7CC; // float32
+                constexpr std::ptrdiff_t m_flColorTransitionTime = 0x7D0; // float32
+                constexpr std::ptrdiff_t m_flAmbient = 0x7D4; // float32
+                constexpr std::ptrdiff_t m_SpotlightTextureName = 0x7D8; // char[512]
+                constexpr std::ptrdiff_t m_nSpotlightTextureFrame = 0x9D8; // int32
+                constexpr std::ptrdiff_t m_nShadowQuality = 0x9DC; // uint32
+                constexpr std::ptrdiff_t m_flNearZ = 0x9E0; // float32
+                constexpr std::ptrdiff_t m_flFarZ = 0x9E4; // float32
+                constexpr std::ptrdiff_t m_flProjectionSize = 0x9E8; // float32
+                constexpr std::ptrdiff_t m_flRotation = 0x9EC; // float32
+                constexpr std::ptrdiff_t m_bFlipHorizontal = 0x9F0; // bool
+            }
+            // Parent: CDynamicProp
+            // Field count: 0
+            namespace CDynamicPropAlias_prop_dynamic_override {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            namespace CSceneListManager {
+                constexpr std::ptrdiff_t m_hListManagers = 0x4E0; // CUtlVector<CHandle<CSceneListManager>>
+                constexpr std::ptrdiff_t m_iszScenes = 0x4F8; // CUtlSymbolLarge[16]
+                constexpr std::ptrdiff_t m_hScenes = 0x578; // CHandle<CBaseEntity>[16]
+            }
+            // Parent: CPhysConstraint
+            // Field count: 1
+            namespace CSplineConstraint {
+                constexpr std::ptrdiff_t m_vAnchorOffsetRestore = 0x5A0; // Vector
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 0
+            namespace CCSObserver_ViewModelServices {
+            }
+            // Parent: CDynamicProp
+            // Field count: 0
+            namespace CDynamicPropAlias_dynamic_prop {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (ModelConfigHandle_t)
+            // NetworkVarNames: m_Name (string_t)
+            // NetworkVarNames: m_AssociatedEntities (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_AssociatedEntityNames (string_t)
+            namespace ActiveModelConfig_t {
+                constexpr std::ptrdiff_t m_Handle = 0x28; // ModelConfigHandle_t
+                constexpr std::ptrdiff_t m_Name = 0x30; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_AssociatedEntities = 0x38; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                constexpr std::ptrdiff_t m_AssociatedEntityNames = 0x50; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+            }
+            // Parent: CPhysicsProp
+            // Field count: 0
+            namespace CPhysicsPropMultiplayer {
+            }
+            // Parent: CBaseToggle
+            // Field count: 5
+            namespace CBasePlatTrain {
+                constexpr std::ptrdiff_t m_NoiseMoving = 0x810; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_NoiseArrived = 0x818; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_volume = 0x828; // float32
+                constexpr std::ptrdiff_t m_flTWidth = 0x82C; // float32
+                constexpr std::ptrdiff_t m_flTLength = 0x830; // float32
+            }
+            // Parent: CMarkupVolumeTagged
+            // Field count: 0
+            namespace CSimpleMarkupVolumeTagged {
+            }
+            // Parent: SpawnPoint
+            // Field count: 0
+            namespace CInfoPlayerTerrorist {
+            }
+            // Parent: CPhysHinge
+            // Field count: 0
+            namespace CPhysHingeAlias_phys_hinge_local {
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CTankTargetChange {
+                constexpr std::ptrdiff_t m_newTarget = 0x4E0; // CVariantBase<CVariantDefaultAllocator>
+                constexpr std::ptrdiff_t m_newTargetName = 0x4F0; // CUtlSymbolLarge
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            namespace CLogicCompare {
+                constexpr std::ptrdiff_t m_flInValue = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flCompareValue = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_OnLessThan = 0x4E8; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnEqualTo = 0x510; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnNotEqualTo = 0x538; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnGreaterThan = 0x560; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_totalHitsOnServer (int32)
+            namespace CCSPlayer_BulletServices {
+                constexpr std::ptrdiff_t m_totalHitsOnServer = 0x40; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            namespace CLogicRelay {
+                constexpr std::ptrdiff_t m_OnTrigger = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnSpawn = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bDisabled = 0x530; // bool
+                constexpr std::ptrdiff_t m_bWaitForRefire = 0x531; // bool
+                constexpr std::ptrdiff_t m_bTriggerOnce = 0x532; // bool
+                constexpr std::ptrdiff_t m_bFastRetrigger = 0x533; // bool
+                constexpr std::ptrdiff_t m_bPassthoughCaller = 0x534; // bool
+            }
+            // Parent: CPlayer_ItemServices
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHasDefuser (bool)
+            // NetworkVarNames: m_bHasHelmet (bool)
+            // NetworkVarNames: m_bHasHeavyArmor (bool)
+            namespace CCSPlayer_ItemServices {
+                constexpr std::ptrdiff_t m_bHasDefuser = 0x40; // bool
+                constexpr std::ptrdiff_t m_bHasHelmet = 0x41; // bool
+                constexpr std::ptrdiff_t m_bHasHeavyArmor = 0x42; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            namespace CKeepUpright {
+                constexpr std::ptrdiff_t m_worldGoalAxis = 0x4E8; // Vector
+                constexpr std::ptrdiff_t m_localTestAxis = 0x4F4; // Vector
+                constexpr std::ptrdiff_t m_nameAttach = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_attachedObject = 0x510; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_angularLimit = 0x514; // float32
+                constexpr std::ptrdiff_t m_bActive = 0x518; // bool
+                constexpr std::ptrdiff_t m_bDampAllRotation = 0x519; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CModelPointEntity {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CFuncWater {
+                constexpr std::ptrdiff_t m_BuoyancyHelper = 0x790; // CBuoyancyHelper
+            }
+            // Parent: CBaseEntity
+            // Field count: 5
+            namespace CFuncTimescale {
+                constexpr std::ptrdiff_t m_flDesiredTimescale = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flAcceleration = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flMinBlendRate = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flBlendDeltaMultiplier = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_isStarted = 0x4F0; // bool
+            }
+            // Parent: CBtNode
+            // Field count: 14
+            namespace CBtActionMoveTo {
+                constexpr std::ptrdiff_t m_szDestinationInputKey = 0x60; // CUtlString
+                constexpr std::ptrdiff_t m_szHidingSpotInputKey = 0x68; // CUtlString
+                constexpr std::ptrdiff_t m_szThreatInputKey = 0x70; // CUtlString
+                constexpr std::ptrdiff_t m_vecDestination = 0x78; // Vector
+                constexpr std::ptrdiff_t m_bAutoLookAdjust = 0x84; // bool
+                constexpr std::ptrdiff_t m_bComputePath = 0x85; // bool
+                constexpr std::ptrdiff_t m_flDamagingAreasPenaltyCost = 0x88; // float32
+                constexpr std::ptrdiff_t m_CheckApproximateCornersTimer = 0x90; // CountdownTimer
+                constexpr std::ptrdiff_t m_CheckHighPriorityItem = 0xA8; // CountdownTimer
+                constexpr std::ptrdiff_t m_RepathTimer = 0xC0; // CountdownTimer
+                constexpr std::ptrdiff_t m_flArrivalEpsilon = 0xD8; // float32
+                constexpr std::ptrdiff_t m_flAdditionalArrivalEpsilon2D = 0xDC; // float32
+                constexpr std::ptrdiff_t m_flHidingSpotCheckDistanceThreshold = 0xE0; // float32
+                constexpr std::ptrdiff_t m_flNearestAreaDistanceThreshold = 0xE4; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAutoExposureMin (float)
+            // NetworkVarNames: m_flAutoExposureMax (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedUp (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            namespace CTonemapController2 {
+                constexpr std::ptrdiff_t m_flAutoExposureMin = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flAutoExposureMax = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flExposureAdaptationSpeedUp = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flExposureAdaptationSpeedDown = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0x4FC; // float32
+            }
+            // Parent: CRopeKeyframe
+            // Field count: 0
+            namespace CRopeKeyframeAlias_move_rope {
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            namespace CEnvInstructorVRHint {
+                constexpr std::ptrdiff_t m_iszName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszHintTargetEntity = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iTimeout = 0x4F0; // int32
+                constexpr std::ptrdiff_t m_iszCaption = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszStartSound = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iLayoutFileType = 0x508; // int32
+                constexpr std::ptrdiff_t m_iszCustomLayoutFile = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iAttachType = 0x518; // int32
+                constexpr std::ptrdiff_t m_flHeightOffset = 0x51C; // float32
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 0
+            namespace CWeaponXM1014 {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CPlatTrigger {
+                constexpr std::ptrdiff_t m_pPlatform = 0x790; // CHandle<CFuncPlat>
+            }
+            // Parent: None
+            // Field count: 31
+            //
+            // Metadata:
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iWindSeed (uint32)
+            // NetworkVarNames: m_iMinWind (uint16)
+            // NetworkVarNames: m_iMaxWind (uint16)
+            // NetworkVarNames: m_windRadius (int32)
+            // NetworkVarNames: m_iMinGust (uint16)
+            // NetworkVarNames: m_iMaxGust (uint16)
+            // NetworkVarNames: m_flMinGustDelay (float32)
+            // NetworkVarNames: m_flMaxGustDelay (float32)
+            // NetworkVarNames: m_flGustDuration (float32)
+            // NetworkVarNames: m_iGustDirChange (uint16)
+            // NetworkVarNames: m_location (Vector)
+            // NetworkVarNames: m_iInitialWindDir (uint16)
+            // NetworkVarNames: m_flInitialWindSpeed (float32)
+            namespace CEnvWindShared {
+                constexpr std::ptrdiff_t m_flStartTime = 0x8; // GameTime_t
+                constexpr std::ptrdiff_t m_iWindSeed = 0xC; // uint32
+                constexpr std::ptrdiff_t m_iMinWind = 0x10; // uint16
+                constexpr std::ptrdiff_t m_iMaxWind = 0x12; // uint16
+                constexpr std::ptrdiff_t m_windRadius = 0x14; // int32
+                constexpr std::ptrdiff_t m_iMinGust = 0x18; // uint16
+                constexpr std::ptrdiff_t m_iMaxGust = 0x1A; // uint16
+                constexpr std::ptrdiff_t m_flMinGustDelay = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flMaxGustDelay = 0x20; // float32
+                constexpr std::ptrdiff_t m_flGustDuration = 0x24; // float32
+                constexpr std::ptrdiff_t m_iGustDirChange = 0x28; // uint16
+                constexpr std::ptrdiff_t m_location = 0x2C; // Vector
+                constexpr std::ptrdiff_t m_iszGustSound = 0x38; // int32
+                constexpr std::ptrdiff_t m_iWindDir = 0x3C; // int32
+                constexpr std::ptrdiff_t m_flWindSpeed = 0x40; // float32
+                constexpr std::ptrdiff_t m_currentWindVector = 0x44; // Vector
+                constexpr std::ptrdiff_t m_CurrentSwayVector = 0x50; // Vector
+                constexpr std::ptrdiff_t m_PrevSwayVector = 0x5C; // Vector
+                constexpr std::ptrdiff_t m_iInitialWindDir = 0x68; // uint16
+                constexpr std::ptrdiff_t m_flInitialWindSpeed = 0x6C; // float32
+                constexpr std::ptrdiff_t m_OnGustStart = 0x70; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnGustEnd = 0x98; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_flVariationTime = 0xC0; // GameTime_t
+                constexpr std::ptrdiff_t m_flSwayTime = 0xC4; // GameTime_t
+                constexpr std::ptrdiff_t m_flSimTime = 0xC8; // GameTime_t
+                constexpr std::ptrdiff_t m_flSwitchTime = 0xCC; // GameTime_t
+                constexpr std::ptrdiff_t m_flAveWindSpeed = 0xD0; // float32
+                constexpr std::ptrdiff_t m_bGusting = 0xD4; // bool
+                constexpr std::ptrdiff_t m_flWindAngleVariation = 0xD8; // float32
+                constexpr std::ptrdiff_t m_flWindSpeedVariation = 0xDC; // float32
+                constexpr std::ptrdiff_t m_hEntOwner = 0xE0; // CHandle<CBaseEntity>
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            namespace CMolotovGrenade {
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            namespace CPointHurt {
+                constexpr std::ptrdiff_t m_nDamage = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_bitsDamageType = 0x4E4; // DamageTypes_t
+                constexpr std::ptrdiff_t m_flRadius = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flDelay = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_strTarget = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pActivator = 0x4F8; // CHandle<CBaseEntity>
+            }
+            // Parent: CBaseEntity
+            // Field count: 44
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bUpdateOnClient (bool)
+            // NetworkVarNames: m_nInputType (ValueRemapperInputType_t)
+            // NetworkVarNames: m_hRemapLineStart (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hRemapLineEnd (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_flMaximumChangePerSecond (float)
+            // NetworkVarNames: m_flDisengageDistance (float)
+            // NetworkVarNames: m_flEngageDistance (float)
+            // NetworkVarNames: m_bRequiresUseKey (bool)
+            // NetworkVarNames: m_nOutputType (ValueRemapperOutputType_t)
+            // NetworkVarNames: m_hOutputEntities (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nHapticsType (ValueRemapperHapticsType_t)
+            // NetworkVarNames: m_nMomentumType (ValueRemapperMomentumType_t)
+            // NetworkVarNames: m_flMomentumModifier (float)
+            // NetworkVarNames: m_flSnapValue (float)
+            // NetworkVarNames: m_nRatchetType (ValueRemapperRatchetType_t)
+            // NetworkVarNames: m_flInputOffset (float)
+            namespace CPointValueRemapper {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_bUpdateOnClient = 0x4E1; // bool
+                constexpr std::ptrdiff_t m_nInputType = 0x4E4; // ValueRemapperInputType_t
+                constexpr std::ptrdiff_t m_iszRemapLineStartName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszRemapLineEndName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hRemapLineStart = 0x4F8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hRemapLineEnd = 0x4FC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flMaximumChangePerSecond = 0x500; // float32
+                constexpr std::ptrdiff_t m_flDisengageDistance = 0x504; // float32
+                constexpr std::ptrdiff_t m_flEngageDistance = 0x508; // float32
+                constexpr std::ptrdiff_t m_bRequiresUseKey = 0x50C; // bool
+                constexpr std::ptrdiff_t m_nOutputType = 0x510; // ValueRemapperOutputType_t
+                constexpr std::ptrdiff_t m_iszOutputEntityName = 0x518; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOutputEntity2Name = 0x520; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOutputEntity3Name = 0x528; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOutputEntity4Name = 0x530; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hOutputEntities = 0x538; // CNetworkUtlVectorBase<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_nHapticsType = 0x550; // ValueRemapperHapticsType_t
+                constexpr std::ptrdiff_t m_nMomentumType = 0x554; // ValueRemapperMomentumType_t
+                constexpr std::ptrdiff_t m_flMomentumModifier = 0x558; // float32
+                constexpr std::ptrdiff_t m_flSnapValue = 0x55C; // float32
+                constexpr std::ptrdiff_t m_flCurrentMomentum = 0x560; // float32
+                constexpr std::ptrdiff_t m_nRatchetType = 0x564; // ValueRemapperRatchetType_t
+                constexpr std::ptrdiff_t m_flRatchetOffset = 0x568; // float32
+                constexpr std::ptrdiff_t m_flInputOffset = 0x56C; // float32
+                constexpr std::ptrdiff_t m_bEngaged = 0x570; // bool
+                constexpr std::ptrdiff_t m_bFirstUpdate = 0x571; // bool
+                constexpr std::ptrdiff_t m_flPreviousValue = 0x574; // float32
+                constexpr std::ptrdiff_t m_flPreviousUpdateTickTime = 0x578; // GameTime_t
+                constexpr std::ptrdiff_t m_vecPreviousTestPoint = 0x57C; // Vector
+                constexpr std::ptrdiff_t m_hUsingPlayer = 0x588; // CHandle<CBasePlayerPawn>
+                constexpr std::ptrdiff_t m_flCustomOutputValue = 0x58C; // float32
+                constexpr std::ptrdiff_t m_iszSoundEngage = 0x590; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundDisengage = 0x598; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundReachedValueZero = 0x5A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundReachedValueOne = 0x5A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSoundMovingLoop = 0x5B0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Position = 0x5C0; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_PositionDelta = 0x5E8; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnReachedValueZero = 0x610; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnReachedValueOne = 0x638; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnReachedValueCustom = 0x660; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEngage = 0x688; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnDisengage = 0x6B0; // CEntityIOOutput
+            }
+            // Parent: CLogicNPCCounter
+            // Field count: 4
+            namespace CLogicNPCCounterAABB {
+                constexpr std::ptrdiff_t m_vDistanceOuterMins = 0x820; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMaxs = 0x82C; // Vector
+                constexpr std::ptrdiff_t m_vOuterMins = 0x838; // Vector
+                constexpr std::ptrdiff_t m_vOuterMaxs = 0x844; // Vector
+            }
+            // Parent: CEnvSoundscapeTriggerable
+            // Field count: 0
+            namespace CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable {
+            }
+            // Parent: CLightEntity
+            // Field count: 0
+            namespace CLightOrthoEntity {
+            }
+            // Parent: CSoundOpvarSetPointBase
+            // Field count: 24
+            namespace CSoundOpvarSetPointEntity {
+                constexpr std::ptrdiff_t m_OnEnter = 0x578; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnExit = 0x5A0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bAutoDisable = 0x5C8; // bool
+                constexpr std::ptrdiff_t m_flDistanceMin = 0x60C; // float32
+                constexpr std::ptrdiff_t m_flDistanceMax = 0x610; // float32
+                constexpr std::ptrdiff_t m_flDistanceMapMin = 0x614; // float32
+                constexpr std::ptrdiff_t m_flDistanceMapMax = 0x618; // float32
+                constexpr std::ptrdiff_t m_flOcclusionRadius = 0x61C; // float32
+                constexpr std::ptrdiff_t m_flOcclusionMin = 0x620; // float32
+                constexpr std::ptrdiff_t m_flOcclusionMax = 0x624; // float32
+                constexpr std::ptrdiff_t m_flValSetOnDisable = 0x628; // float32
+                constexpr std::ptrdiff_t m_bSetValueOnDisable = 0x62C; // bool
+                constexpr std::ptrdiff_t m_bReloading = 0x62D; // bool
+                constexpr std::ptrdiff_t m_nSimulationMode = 0x630; // int32
+                constexpr std::ptrdiff_t m_nVisibilitySamples = 0x634; // int32
+                constexpr std::ptrdiff_t m_vDynamicProxyPoint = 0x638; // Vector
+                constexpr std::ptrdiff_t m_flDynamicMaximumOcclusion = 0x644; // float32
+                constexpr std::ptrdiff_t m_hDynamicEntity = 0x648; // CEntityHandle
+                constexpr std::ptrdiff_t m_iszDynamicEntityName = 0x650; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flPathingDistanceNormFactor = 0x658; // float32
+                constexpr std::ptrdiff_t m_vPathingSourcePos = 0x65C; // Vector
+                constexpr std::ptrdiff_t m_vPathingListenerPos = 0x668; // Vector
+                constexpr std::ptrdiff_t m_vPathingDirection = 0x674; // Vector
+                constexpr std::ptrdiff_t m_nPathingSourceIndex = 0x680; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_skyboxData (sky3dparams_t)
+            // NetworkVarNames: m_skyboxSlotToken (CUtlStringToken)
+            namespace CSkyCamera {
+                constexpr std::ptrdiff_t m_skyboxData = 0x4E0; // sky3dparams_t
+                constexpr std::ptrdiff_t m_skyboxSlotToken = 0x570; // CUtlStringToken
+                constexpr std::ptrdiff_t m_bUseAngles = 0x574; // bool
+                constexpr std::ptrdiff_t m_pNext = 0x578; // CSkyCamera*
+            }
+            // Parent: CRulePointEntity
+            // Field count: 4
+            namespace CGameMoney {
+                constexpr std::ptrdiff_t m_OnMoneySpent = 0x7A0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMoneySpentFail = 0x7C8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_nMoney = 0x7F0; // int32
+                constexpr std::ptrdiff_t m_strAwardText = 0x7F8; // CUtlString
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            namespace CLogicPlayerProxy {
+                constexpr std::ptrdiff_t m_hPlayer = 0x4E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_PlayerHasAmmo = 0x4E8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_PlayerHasNoAmmo = 0x510; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_PlayerDied = 0x538; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_RequestedPlayerHealth = 0x560; // CEntityOutputTemplate<int32>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_iObserverMode (uint8)
+            // NetworkVarNames: m_hObserverTarget (CHandle<CBaseEntity>)
+            namespace CPlayer_ObserverServices {
+                constexpr std::ptrdiff_t m_iObserverMode = 0x40; // uint8
+                constexpr std::ptrdiff_t m_hObserverTarget = 0x44; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iObserverLastMode = 0x48; // ObserverMode_t
+                constexpr std::ptrdiff_t m_bForcedObserverMode = 0x4C; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            namespace CPhysImpact {
+                constexpr std::ptrdiff_t m_damage = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_distance = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_directionEntityName = 0x4E8; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_Color (Color)
+            // NetworkVarNames: m_Entity_flBrightness (float)
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            namespace CEnvCombinedLightProbeVolume {
+                constexpr std::ptrdiff_t m_Entity_Color = 0x1540; // Color
+                constexpr std::ptrdiff_t m_Entity_flBrightness = 0x1544; // float32
+                constexpr std::ptrdiff_t m_Entity_hCubemapTexture = 0x1548; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_bCustomCubemapTexture = 0x1550; // bool
+                constexpr std::ptrdiff_t m_Entity_hLightProbeTexture = 0x1558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightIndicesTexture = 0x1560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightScalarsTexture = 0x1568; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightShadowsTexture = 0x1570; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_vBoxMins = 0x1578; // Vector
+                constexpr std::ptrdiff_t m_Entity_vBoxMaxs = 0x1584; // Vector
+                constexpr std::ptrdiff_t m_Entity_bMoveable = 0x1590; // bool
+                constexpr std::ptrdiff_t m_Entity_nHandshake = 0x1594; // int32
+                constexpr std::ptrdiff_t m_Entity_nEnvCubeMapArrayIndex = 0x1598; // int32
+                constexpr std::ptrdiff_t m_Entity_nPriority = 0x159C; // int32
+                constexpr std::ptrdiff_t m_Entity_bStartDisabled = 0x15A0; // bool
+                constexpr std::ptrdiff_t m_Entity_flEdgeFadeDist = 0x15A4; // float32
+                constexpr std::ptrdiff_t m_Entity_vEdgeFadeDists = 0x15A8; // Vector
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeX = 0x15B4; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeY = 0x15B8; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeZ = 0x15BC; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasX = 0x15C0; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasY = 0x15C4; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasZ = 0x15C8; // int32
+                constexpr std::ptrdiff_t m_Entity_bEnabled = 0x15E1; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_WaterServices {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponM249 {
+            }
+            // Parent: CParticleSystem
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flRadiusScale (float32)
+            // NetworkVarNames: m_flSelfIllumScale (float32)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_hTextureOverride (HRenderTextureStrong)
+            namespace CEnvParticleGlow {
+                constexpr std::ptrdiff_t m_flAlphaScale = 0xD08; // float32
+                constexpr std::ptrdiff_t m_flRadiusScale = 0xD0C; // float32
+                constexpr std::ptrdiff_t m_flSelfIllumScale = 0xD10; // float32
+                constexpr std::ptrdiff_t m_ColorTint = 0xD14; // Color
+                constexpr std::ptrdiff_t m_hTextureOverride = 0xD18; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CFuncVehicleClip {
+            }
+            // Parent: CSoundAreaEntityBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            namespace CSoundAreaEntitySphere {
+                constexpr std::ptrdiff_t m_flRadius = 0x500; // float32
+            }
+            // Parent: CFuncBrush
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_targetCamera (CUtlString)
+            // NetworkVarNames: m_nResolutionEnum (int)
+            // NetworkVarNames: m_bRenderShadows (bool)
+            // NetworkVarNames: m_bUseUniqueColorTarget (bool)
+            // NetworkVarNames: m_brushModelName (CUtlString)
+            // NetworkVarNames: m_hTargetCamera (EHANDLE)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bDraw3DSkybox (bool)
+            namespace CFuncMonitor {
+                constexpr std::ptrdiff_t m_targetCamera = 0x7B0; // CUtlString
+                constexpr std::ptrdiff_t m_nResolutionEnum = 0x7B8; // int32
+                constexpr std::ptrdiff_t m_bRenderShadows = 0x7BC; // bool
+                constexpr std::ptrdiff_t m_bUseUniqueColorTarget = 0x7BD; // bool
+                constexpr std::ptrdiff_t m_brushModelName = 0x7C0; // CUtlString
+                constexpr std::ptrdiff_t m_hTargetCamera = 0x7C8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bEnabled = 0x7CC; // bool
+                constexpr std::ptrdiff_t m_bDraw3DSkybox = 0x7CD; // bool
+                constexpr std::ptrdiff_t m_bStartEnabled = 0x7CE; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CEnvFunnel {
+            }
+            // Parent: None
+            // Field count: 6
+            namespace SequenceHistory_t {
+                constexpr std::ptrdiff_t m_hSequence = 0x0; // HSequence
+                constexpr std::ptrdiff_t m_flSeqStartTime = 0x4; // GameTime_t
+                constexpr std::ptrdiff_t m_flSeqFixedCycle = 0x8; // float32
+                constexpr std::ptrdiff_t m_nSeqLoopMode = 0xC; // AnimLoopMode_t
+                constexpr std::ptrdiff_t m_flPlaybackRate = 0x10; // float32
+                constexpr std::ptrdiff_t m_flCyclesPerSecond = 0x14; // float32
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 0
+            namespace CCSGameModeRules_Noop {
+            }
+            // Parent: CPointEntity
+            // Field count: 16
+            namespace CPointAngularVelocitySensor {
+                constexpr std::ptrdiff_t m_hTargetEntity = 0x4E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flThreshold = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_nLastCompareResult = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_nLastFireResult = 0x4EC; // int32
+                constexpr std::ptrdiff_t m_flFireTime = 0x4F0; // GameTime_t
+                constexpr std::ptrdiff_t m_flFireInterval = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flLastAngVelocity = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_lastOrientation = 0x4FC; // QAngle
+                constexpr std::ptrdiff_t m_vecAxis = 0x508; // Vector
+                constexpr std::ptrdiff_t m_bUseHelper = 0x514; // bool
+                constexpr std::ptrdiff_t m_AngularVelocity = 0x518; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnLessThan = 0x540; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnLessThanOrEqualTo = 0x568; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnGreaterThan = 0x590; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnGreaterThanOrEqualTo = 0x5B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEqualTo = 0x5E0; // CEntityIOOutput
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsIncGrenade (bool)
+            namespace CMolotovProjectile {
+                constexpr std::ptrdiff_t m_bIsIncGrenade = 0xB50; // bool
+                constexpr std::ptrdiff_t m_bDetonated = 0xB5C; // bool
+                constexpr std::ptrdiff_t m_stillTimer = 0xB60; // IntervalTimer
+                constexpr std::ptrdiff_t m_bHasBouncedOffPlayer = 0xC40; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CHostageRescueZoneShim {
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CPointPulse {
+            }
+            // Parent: CPointEntity
+            // Field count: 24
+            namespace CEnvInstructorHint {
+                constexpr std::ptrdiff_t m_iszName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszReplace_Key = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszHintTargetEntity = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iTimeout = 0x4F8; // int32
+                constexpr std::ptrdiff_t m_iDisplayLimit = 0x4FC; // int32
+                constexpr std::ptrdiff_t m_iszIcon_Onscreen = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszIcon_Offscreen = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszCaption = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszActivatorCaption = 0x518; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_Color = 0x520; // Color
+                constexpr std::ptrdiff_t m_fIconOffset = 0x524; // float32
+                constexpr std::ptrdiff_t m_fRange = 0x528; // float32
+                constexpr std::ptrdiff_t m_iPulseOption = 0x52C; // uint8
+                constexpr std::ptrdiff_t m_iAlphaOption = 0x52D; // uint8
+                constexpr std::ptrdiff_t m_iShakeOption = 0x52E; // uint8
+                constexpr std::ptrdiff_t m_bStatic = 0x52F; // bool
+                constexpr std::ptrdiff_t m_bNoOffscreen = 0x530; // bool
+                constexpr std::ptrdiff_t m_bForceCaption = 0x531; // bool
+                constexpr std::ptrdiff_t m_iInstanceType = 0x534; // int32
+                constexpr std::ptrdiff_t m_bSuppressRest = 0x538; // bool
+                constexpr std::ptrdiff_t m_iszBinding = 0x540; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bAllowNoDrawTarget = 0x548; // bool
+                constexpr std::ptrdiff_t m_bAutoStart = 0x549; // bool
+                constexpr std::ptrdiff_t m_bLocalPlayerOnly = 0x54A; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CEnvTracer {
+                constexpr std::ptrdiff_t m_vecEnd = 0x4E0; // Vector
+                constexpr std::ptrdiff_t m_flDelay = 0x4EC; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CInfoGameEventProxy {
+                constexpr std::ptrdiff_t m_iszEventName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flRange = 0x4E8; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 26
+            //
+            // Metadata:
+            // NetworkVarNames: m_FOV (float)
+            // NetworkVarNames: m_Resolution (float)
+            // NetworkVarNames: m_bFogEnable (bool)
+            // NetworkVarNames: m_FogColor (Color)
+            // NetworkVarNames: m_flFogStart (float)
+            // NetworkVarNames: m_flFogEnd (float)
+            // NetworkVarNames: m_flFogMaxDensity (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bUseScreenAspectRatio (bool)
+            // NetworkVarNames: m_flAspectRatio (float)
+            // NetworkVarNames: m_bNoSky (bool)
+            // NetworkVarNames: m_fBrightness (float)
+            // NetworkVarNames: m_flZFar (float)
+            // NetworkVarNames: m_flZNear (float)
+            // NetworkVarNames: m_bCanHLTVUse (bool)
+            // NetworkVarNames: m_bAlignWithParent (bool)
+            // NetworkVarNames: m_bDofEnabled (bool)
+            // NetworkVarNames: m_flDofNearBlurry (float)
+            // NetworkVarNames: m_flDofNearCrisp (float)
+            // NetworkVarNames: m_flDofFarCrisp (float)
+            // NetworkVarNames: m_flDofFarBlurry (float)
+            // NetworkVarNames: m_flDofTiltToGround (float)
+            namespace CPointCamera {
+                constexpr std::ptrdiff_t m_FOV = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_Resolution = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_bFogEnable = 0x4E8; // bool
+                constexpr std::ptrdiff_t m_FogColor = 0x4E9; // Color
+                constexpr std::ptrdiff_t m_flFogStart = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flFogEnd = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flFogMaxDensity = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_bActive = 0x4FC; // bool
+                constexpr std::ptrdiff_t m_bUseScreenAspectRatio = 0x4FD; // bool
+                constexpr std::ptrdiff_t m_flAspectRatio = 0x500; // float32
+                constexpr std::ptrdiff_t m_bNoSky = 0x504; // bool
+                constexpr std::ptrdiff_t m_fBrightness = 0x508; // float32
+                constexpr std::ptrdiff_t m_flZFar = 0x50C; // float32
+                constexpr std::ptrdiff_t m_flZNear = 0x510; // float32
+                constexpr std::ptrdiff_t m_bCanHLTVUse = 0x514; // bool
+                constexpr std::ptrdiff_t m_bAlignWithParent = 0x515; // bool
+                constexpr std::ptrdiff_t m_bDofEnabled = 0x516; // bool
+                constexpr std::ptrdiff_t m_flDofNearBlurry = 0x518; // float32
+                constexpr std::ptrdiff_t m_flDofNearCrisp = 0x51C; // float32
+                constexpr std::ptrdiff_t m_flDofFarCrisp = 0x520; // float32
+                constexpr std::ptrdiff_t m_flDofFarBlurry = 0x524; // float32
+                constexpr std::ptrdiff_t m_flDofTiltToGround = 0x528; // float32
+                constexpr std::ptrdiff_t m_TargetFOV = 0x52C; // float32
+                constexpr std::ptrdiff_t m_DegreesPerSecond = 0x530; // float32
+                constexpr std::ptrdiff_t m_bIsOn = 0x534; // bool
+                constexpr std::ptrdiff_t m_pNext = 0x538; // CPointCamera*
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_hModel (HModelStrong)
+            // NetworkVarNames: m_bClientClothCreationSuppressed (bool)
+            // NetworkVarNames: m_MeshGroupMask (MeshGroupMask_t)
+            // NetworkVarNames: m_nIdealMotionType (int8)
+            namespace CModelState {
+                constexpr std::ptrdiff_t m_hModel = 0xA0; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_ModelName = 0xA8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bClientClothCreationSuppressed = 0xE8; // bool
+                constexpr std::ptrdiff_t m_MeshGroupMask = 0x198; // uint64
+                constexpr std::ptrdiff_t m_nIdealMotionType = 0x21A; // int8
+                constexpr std::ptrdiff_t m_nForceLOD = 0x21B; // int8
+                constexpr std::ptrdiff_t m_nClothUpdateFlags = 0x21C; // int8
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderDir (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionTop (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionBottom (Vector)
+            // NetworkVarNames: m_flAutoRideSpeed (float)
+            // NetworkVarNames: m_bFakeLadder (bool)
+            namespace CFuncLadder {
+                constexpr std::ptrdiff_t m_vecLadderDir = 0x790; // Vector
+                constexpr std::ptrdiff_t m_Dismounts = 0x7A0; // CUtlVector<CHandle<CInfoLadderDismount>>
+                constexpr std::ptrdiff_t m_vecLocalTop = 0x7B8; // Vector
+                constexpr std::ptrdiff_t m_vecPlayerMountPositionTop = 0x7C4; // Vector
+                constexpr std::ptrdiff_t m_vecPlayerMountPositionBottom = 0x7D0; // Vector
+                constexpr std::ptrdiff_t m_flAutoRideSpeed = 0x7DC; // float32
+                constexpr std::ptrdiff_t m_bDisabled = 0x7E0; // bool
+                constexpr std::ptrdiff_t m_bFakeLadder = 0x7E1; // bool
+                constexpr std::ptrdiff_t m_bHasSlack = 0x7E2; // bool
+                constexpr std::ptrdiff_t m_surfacePropName = 0x7E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnPlayerGotOnLadder = 0x7F0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPlayerGotOffLadder = 0x818; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 8
+            namespace CPathKeyFrame {
+                constexpr std::ptrdiff_t m_Origin = 0x4E0; // Vector
+                constexpr std::ptrdiff_t m_Angles = 0x4EC; // QAngle
+                constexpr std::ptrdiff_t m_qAngle = 0x500; // Quaternion
+                constexpr std::ptrdiff_t m_iNextKey = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flNextTime = 0x518; // float32
+                constexpr std::ptrdiff_t m_pNextKey = 0x520; // CPathKeyFrame*
+                constexpr std::ptrdiff_t m_pPrevKey = 0x528; // CPathKeyFrame*
+                constexpr std::ptrdiff_t m_flMoveSpeed = 0x530; // float32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 3
+            namespace CFuncInteractionLayerClip {
+                constexpr std::ptrdiff_t m_bDisabled = 0x790; // bool
+                constexpr std::ptrdiff_t m_iszInteractsAs = 0x798; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszInteractsWith = 0x7A0; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Attributes (CEconItemAttribute)
+            namespace CAttributeList {
+                constexpr std::ptrdiff_t m_Attributes = 0x8; // CUtlVectorEmbeddedNetworkVar<CEconItemAttribute>
+                constexpr std::ptrdiff_t m_pManager = 0x58; // CAttributeManager*
+            }
+            // Parent: CGameRules
+            // Field count: 0
+            namespace CMultiplayRules {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponRevolver {
+            }
+            // Parent: CDynamicProp
+            // Field count: 1
+            namespace COrnamentProp {
+                constexpr std::ptrdiff_t m_initialOwner = 0xC58; // CUtlSymbolLarge
+            }
+            // Parent: CLogicalEntity
+            // Field count: 1
+            namespace CLogicGameEvent {
+                constexpr std::ptrdiff_t m_iszEventName = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            namespace CEnvMuzzleFlash {
+                constexpr std::ptrdiff_t m_flScale = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_iszParentAttachment = 0x4E8; // CUtlSymbolLarge
+            }
+            // Parent: CModelPointEntity
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_nUniqueID (int)
+            // NetworkVarNames: m_unAccountID (uint32)
+            // NetworkVarNames: m_unTraceID (uint32)
+            // NetworkVarNames: m_rtGcTime (uint32)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            // NetworkVarNames: m_vecStart (Vector)
+            // NetworkVarNames: m_vecLeft (Vector)
+            // NetworkVarNames: m_vecNormal (Vector)
+            // NetworkVarNames: m_nPlayer (int)
+            // NetworkVarNames: m_nEntity (int)
+            // NetworkVarNames: m_nHitbox (int)
+            // NetworkVarNames: m_flCreationTime (float)
+            // NetworkVarNames: m_nTintID (int)
+            // NetworkVarNames: m_nVersion (uint8)
+            // NetworkVarNames: m_ubSignature (uint8)
+            namespace CPlayerSprayDecal {
+                constexpr std::ptrdiff_t m_nUniqueID = 0x790; // int32
+                constexpr std::ptrdiff_t m_unAccountID = 0x794; // uint32
+                constexpr std::ptrdiff_t m_unTraceID = 0x798; // uint32
+                constexpr std::ptrdiff_t m_rtGcTime = 0x79C; // uint32
+                constexpr std::ptrdiff_t m_vecEndPos = 0x7A0; // Vector
+                constexpr std::ptrdiff_t m_vecStart = 0x7AC; // Vector
+                constexpr std::ptrdiff_t m_vecLeft = 0x7B8; // Vector
+                constexpr std::ptrdiff_t m_vecNormal = 0x7C4; // Vector
+                constexpr std::ptrdiff_t m_nPlayer = 0x7D0; // int32
+                constexpr std::ptrdiff_t m_nEntity = 0x7D4; // int32
+                constexpr std::ptrdiff_t m_nHitbox = 0x7D8; // int32
+                constexpr std::ptrdiff_t m_flCreationTime = 0x7DC; // float32
+                constexpr std::ptrdiff_t m_nTintID = 0x7E0; // int32
+                constexpr std::ptrdiff_t m_nVersion = 0x7E4; // uint8
+                constexpr std::ptrdiff_t m_ubSignature = 0x7E5; // uint8[128]
+            }
+            // Parent: CBaseTrigger
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombPlantedHere (bool)
+            namespace CBombTarget {
+                constexpr std::ptrdiff_t m_OnBombExplode = 0x960; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBombPlanted = 0x988; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBombDefused = 0x9B0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bIsBombSiteB = 0x9D8; // bool
+                constexpr std::ptrdiff_t m_bIsHeistBombTarget = 0x9D9; // bool
+                constexpr std::ptrdiff_t m_bBombPlantedHere = 0x9DA; // bool
+                constexpr std::ptrdiff_t m_szMountTarget = 0x9E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hInstructorHint = 0x9E8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nBombSiteDesignation = 0x9EC; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            namespace CPhysicsSpring {
+                constexpr std::ptrdiff_t m_flFrequency = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flDampingRatio = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flRestLength = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_nameAttachStart = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nameAttachEnd = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_start = 0x508; // Vector
+                constexpr std::ptrdiff_t m_end = 0x514; // Vector
+                constexpr std::ptrdiff_t m_teleportTick = 0x520; // uint32
+            }
+            // Parent: CBaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            namespace CEnvLightProbeVolume {
+                constexpr std::ptrdiff_t m_Entity_hLightProbeTexture = 0x14C0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightIndicesTexture = 0x14C8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightScalarsTexture = 0x14D0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_hLightProbeDirectLightShadowsTexture = 0x14D8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_vBoxMins = 0x14E0; // Vector
+                constexpr std::ptrdiff_t m_Entity_vBoxMaxs = 0x14EC; // Vector
+                constexpr std::ptrdiff_t m_Entity_bMoveable = 0x14F8; // bool
+                constexpr std::ptrdiff_t m_Entity_nHandshake = 0x14FC; // int32
+                constexpr std::ptrdiff_t m_Entity_nPriority = 0x1500; // int32
+                constexpr std::ptrdiff_t m_Entity_bStartDisabled = 0x1504; // bool
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeX = 0x1508; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeY = 0x150C; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeSizeZ = 0x1510; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasX = 0x1514; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasY = 0x1518; // int32
+                constexpr std::ptrdiff_t m_Entity_nLightProbeAtlasZ = 0x151C; // int32
+                constexpr std::ptrdiff_t m_Entity_bEnabled = 0x1529; // bool
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_WeaponSequence (CUtlString)
+            namespace CCSGameModeRules_ArmsRace {
+                constexpr std::ptrdiff_t m_WeaponSequence = 0x30; // CNetworkUtlVectorBase<CUtlString>
+            }
+            // Parent: CTriggerPush
+            // Field count: 1
+            namespace CScriptTriggerPush {
+                constexpr std::ptrdiff_t m_vExtent = 0x998; // Vector
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            namespace CEnvEntityIgniter {
+                constexpr std::ptrdiff_t m_flLifetime = 0x4E0; // float32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CFuncWall {
+                constexpr std::ptrdiff_t m_nState = 0x790; // int32
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            namespace CPointChildModifier {
+                constexpr std::ptrdiff_t m_bOrphanInsteadOfDeletingChildrenOnRemove = 0x4E0; // bool
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_PlayerDamager (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_PlayerRecipient (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPlayerControllerDamager (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_hPlayerControllerRecipient (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_szPlayerDamagerName (CUtlString)
+            // NetworkVarNames: m_szPlayerRecipientName (CUtlString)
+            // NetworkVarNames: m_DamagerXuid (uint64)
+            // NetworkVarNames: m_RecipientXuid (uint64)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iActualHealthRemoved (int)
+            // NetworkVarNames: m_iNumHits (int)
+            // NetworkVarNames: m_iLastBulletUpdate (int)
+            // NetworkVarNames: m_bIsOtherEnemy (bool)
+            // NetworkVarNames: m_killType (EKillTypes_t)
+            namespace CDamageRecord {
+                constexpr std::ptrdiff_t m_PlayerDamager = 0x28; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_PlayerRecipient = 0x2C; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_hPlayerControllerDamager = 0x30; // CHandle<CCSPlayerController>
+                constexpr std::ptrdiff_t m_hPlayerControllerRecipient = 0x34; // CHandle<CCSPlayerController>
+                constexpr std::ptrdiff_t m_szPlayerDamagerName = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_szPlayerRecipientName = 0x40; // CUtlString
+                constexpr std::ptrdiff_t m_DamagerXuid = 0x48; // uint64
+                constexpr std::ptrdiff_t m_RecipientXuid = 0x50; // uint64
+                constexpr std::ptrdiff_t m_iBulletsDamage = 0x58; // int32
+                constexpr std::ptrdiff_t m_iDamage = 0x5C; // int32
+                constexpr std::ptrdiff_t m_iActualHealthRemoved = 0x60; // int32
+                constexpr std::ptrdiff_t m_iNumHits = 0x64; // int32
+                constexpr std::ptrdiff_t m_iLastBulletUpdate = 0x68; // int32
+                constexpr std::ptrdiff_t m_bIsOtherEnemy = 0x6C; // bool
+                constexpr std::ptrdiff_t m_killType = 0x6D; // EKillTypes_t
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            namespace CLogicAutosave {
+                constexpr std::ptrdiff_t m_bForceNewLevelUnit = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_minHitPoints = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_minHitPointsToCommit = 0x4E8; // int32
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSendUpdate (int)
+            // NetworkVarNames: m_DamageList (CDamageRecord)
+            namespace CCSPlayerController_DamageServices {
+                constexpr std::ptrdiff_t m_nSendUpdate = 0x40; // int32
+                constexpr std::ptrdiff_t m_DamageList = 0x48; // CUtlVectorEmbeddedNetworkVar<CDamageRecord>
+            }
+            // Parent: CEntityComponent
+            // Field count: 5
+            namespace CRenderComponent {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x10; // CNetworkVarChainer
+                constexpr std::ptrdiff_t m_bIsRenderingWithViewModels = 0x50; // bool
+                constexpr std::ptrdiff_t m_nSplitscreenFlags = 0x54; // uint32
+                constexpr std::ptrdiff_t m_bEnableRendering = 0x60; // bool
+                constexpr std::ptrdiff_t m_bInterpolationReadyToDraw = 0xB0; // bool
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 1
+            namespace CEnvSoundscapeProxy {
+                constexpr std::ptrdiff_t m_MainSoundscapeName = 0x580; // CUtlSymbolLarge
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCornerPairsNetworked (SoundeventPathCornerPairNetworked_t)
+            namespace CSoundEventPathCornerEntity {
+                constexpr std::ptrdiff_t m_iszPathCorner = 0x598; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iCountMax = 0x5A0; // int32
+                constexpr std::ptrdiff_t m_flDistanceMax = 0x5A4; // float32
+                constexpr std::ptrdiff_t m_flDistMaxSqr = 0x5A8; // float32
+                constexpr std::ptrdiff_t m_flDotProductMax = 0x5AC; // float32
+                constexpr std::ptrdiff_t m_bPlaying = 0x5B0; // bool
+                constexpr std::ptrdiff_t m_vecCornerPairsNetworked = 0x5D8; // CNetworkUtlVectorBase<SoundeventPathCornerPairNetworked_t>
+            }
+            // Parent: CEntityComponent
+            // Field count: 67
+            //
+            // Metadata:
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_SecondaryColor (Color)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_flBrightnessMult (float)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_flFalloff (float)
+            // NetworkVarNames: m_flAttenuation0 (float)
+            // NetworkVarNames: m_flAttenuation1 (float)
+            // NetworkVarNames: m_flAttenuation2 (float)
+            // NetworkVarNames: m_flTheta (float)
+            // NetworkVarNames: m_flPhi (float)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_nCascades (int)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowWidth (int)
+            // NetworkVarNames: m_nShadowHeight (int)
+            // NetworkVarNames: m_bRenderDiffuse (bool)
+            // NetworkVarNames: m_nRenderSpecular (int)
+            // NetworkVarNames: m_bRenderTransmissive (bool)
+            // NetworkVarNames: m_flOrthoLightWidth (float)
+            // NetworkVarNames: m_flOrthoLightHeight (float)
+            // NetworkVarNames: m_nStyle (int)
+            // NetworkVarNames: m_Pattern (CUtlString)
+            // NetworkVarNames: m_nCascadeRenderStaticObjects (int)
+            // NetworkVarNames: m_flShadowCascadeCrossFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistanceFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistance0 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance1 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance2 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance3 (float)
+            // NetworkVarNames: m_nShadowCascadeResolution0 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution1 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution2 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution3 (int)
+            // NetworkVarNames: m_bUsesBakedShadowing (bool)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nIndirectLight (int)
+            // NetworkVarNames: m_flFadeMinDist (float)
+            // NetworkVarNames: m_flFadeMaxDist (float)
+            // NetworkVarNames: m_flShadowFadeMinDist (float)
+            // NetworkVarNames: m_flShadowFadeMaxDist (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFlicker (bool)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_flPrecomputedMaxRange (float)
+            // NetworkVarNames: m_nFogLightingMode (int)
+            // NetworkVarNames: m_flFogContributionStength (float)
+            // NetworkVarNames: m_flNearClipPlane (float)
+            // NetworkVarNames: m_SkyColor (Color)
+            // NetworkVarNames: m_flSkyIntensity (float)
+            // NetworkVarNames: m_SkyAmbientBounce (Color)
+            // NetworkVarNames: m_bUseSecondaryColor (bool)
+            // NetworkVarNames: m_bMixedShadows (bool)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_flCapsuleLength (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            namespace CLightComponent {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x38; // CNetworkVarChainer
+                constexpr std::ptrdiff_t m_Color = 0x75; // Color
+                constexpr std::ptrdiff_t m_SecondaryColor = 0x79; // Color
+                constexpr std::ptrdiff_t m_flBrightness = 0x80; // float32
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x84; // float32
+                constexpr std::ptrdiff_t m_flBrightnessMult = 0x88; // float32
+                constexpr std::ptrdiff_t m_flRange = 0x8C; // float32
+                constexpr std::ptrdiff_t m_flFalloff = 0x90; // float32
+                constexpr std::ptrdiff_t m_flAttenuation0 = 0x94; // float32
+                constexpr std::ptrdiff_t m_flAttenuation1 = 0x98; // float32
+                constexpr std::ptrdiff_t m_flAttenuation2 = 0x9C; // float32
+                constexpr std::ptrdiff_t m_flTheta = 0xA0; // float32
+                constexpr std::ptrdiff_t m_flPhi = 0xA4; // float32
+                constexpr std::ptrdiff_t m_hLightCookie = 0xA8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_nCascades = 0xB0; // int32
+                constexpr std::ptrdiff_t m_nCastShadows = 0xB4; // int32
+                constexpr std::ptrdiff_t m_nShadowWidth = 0xB8; // int32
+                constexpr std::ptrdiff_t m_nShadowHeight = 0xBC; // int32
+                constexpr std::ptrdiff_t m_bRenderDiffuse = 0xC0; // bool
+                constexpr std::ptrdiff_t m_nRenderSpecular = 0xC4; // int32
+                constexpr std::ptrdiff_t m_bRenderTransmissive = 0xC8; // bool
+                constexpr std::ptrdiff_t m_flOrthoLightWidth = 0xCC; // float32
+                constexpr std::ptrdiff_t m_flOrthoLightHeight = 0xD0; // float32
+                constexpr std::ptrdiff_t m_nStyle = 0xD4; // int32
+                constexpr std::ptrdiff_t m_Pattern = 0xD8; // CUtlString
+                constexpr std::ptrdiff_t m_nCascadeRenderStaticObjects = 0xE0; // int32
+                constexpr std::ptrdiff_t m_flShadowCascadeCrossFade = 0xE4; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistanceFade = 0xE8; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance0 = 0xEC; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance1 = 0xF0; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance2 = 0xF4; // float32
+                constexpr std::ptrdiff_t m_flShadowCascadeDistance3 = 0xF8; // float32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution0 = 0xFC; // int32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution1 = 0x100; // int32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution2 = 0x104; // int32
+                constexpr std::ptrdiff_t m_nShadowCascadeResolution3 = 0x108; // int32
+                constexpr std::ptrdiff_t m_bUsesBakedShadowing = 0x10C; // bool
+                constexpr std::ptrdiff_t m_nShadowPriority = 0x110; // int32
+                constexpr std::ptrdiff_t m_nBakedShadowIndex = 0x114; // int32
+                constexpr std::ptrdiff_t m_bRenderToCubemaps = 0x118; // bool
+                constexpr std::ptrdiff_t m_nDirectLight = 0x11C; // int32
+                constexpr std::ptrdiff_t m_nIndirectLight = 0x120; // int32
+                constexpr std::ptrdiff_t m_flFadeMinDist = 0x124; // float32
+                constexpr std::ptrdiff_t m_flFadeMaxDist = 0x128; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeMinDist = 0x12C; // float32
+                constexpr std::ptrdiff_t m_flShadowFadeMaxDist = 0x130; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0x134; // bool
+                constexpr std::ptrdiff_t m_bFlicker = 0x135; // bool
+                constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0x136; // bool
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0x138; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0x144; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0x150; // Vector
+                constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0x15C; // QAngle
+                constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0x168; // Vector
+                constexpr std::ptrdiff_t m_flPrecomputedMaxRange = 0x174; // float32
+                constexpr std::ptrdiff_t m_nFogLightingMode = 0x178; // int32
+                constexpr std::ptrdiff_t m_flFogContributionStength = 0x17C; // float32
+                constexpr std::ptrdiff_t m_flNearClipPlane = 0x180; // float32
+                constexpr std::ptrdiff_t m_SkyColor = 0x184; // Color
+                constexpr std::ptrdiff_t m_flSkyIntensity = 0x188; // float32
+                constexpr std::ptrdiff_t m_SkyAmbientBounce = 0x18C; // Color
+                constexpr std::ptrdiff_t m_bUseSecondaryColor = 0x190; // bool
+                constexpr std::ptrdiff_t m_bMixedShadows = 0x191; // bool
+                constexpr std::ptrdiff_t m_flLightStyleStartTime = 0x194; // GameTime_t
+                constexpr std::ptrdiff_t m_flCapsuleLength = 0x198; // float32
+                constexpr std::ptrdiff_t m_flMinRoughness = 0x19C; // float32
+                constexpr std::ptrdiff_t m_bPvsModifyEntity = 0x1B0; // bool
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSmokeEffectTickBegin (int)
+            // NetworkVarNames: m_bDidSmokeEffect (bool)
+            // NetworkVarNames: m_nRandomSeed (int)
+            // NetworkVarNames: m_vSmokeColor (Vector)
+            // NetworkVarNames: m_vSmokeDetonationPos (Vector)
+            // NetworkVarNames: m_VoxelFrameData (uint8)
+            // NetworkVarNames: m_nVoxelFrameDataSize (int)
+            // NetworkVarNames: m_nVoxelUpdate (int)
+            namespace CSmokeGrenadeProjectile {
+                constexpr std::ptrdiff_t m_nSmokeEffectTickBegin = 0xB68; // int32
+                constexpr std::ptrdiff_t m_bDidSmokeEffect = 0xB6C; // bool
+                constexpr std::ptrdiff_t m_nRandomSeed = 0xB70; // int32
+                constexpr std::ptrdiff_t m_vSmokeColor = 0xB74; // Vector
+                constexpr std::ptrdiff_t m_vSmokeDetonationPos = 0xB80; // Vector
+                constexpr std::ptrdiff_t m_VoxelFrameData = 0xB90; // CNetworkUtlVectorBase<uint8>
+                constexpr std::ptrdiff_t m_nVoxelFrameDataSize = 0xBA8; // int32
+                constexpr std::ptrdiff_t m_nVoxelUpdate = 0xBAC; // int32
+                constexpr std::ptrdiff_t m_flLastBounce = 0xBB0; // GameTime_t
+                constexpr std::ptrdiff_t m_fllastSimulationTime = 0xBB4; // GameTime_t
+                constexpr std::ptrdiff_t m_bExplodeFromInferno = 0x2E38; // bool
+            }
+            // Parent: CTriggerMultiple
+            // Field count: 1
+            namespace CScriptTriggerMultiple {
+                constexpr std::ptrdiff_t m_vExtent = 0x988; // Vector
+            }
+            // Parent: CSoundOpvarSetPointEntity
+            // Field count: 5
+            namespace CSoundOpvarSetAutoRoomEntity {
+                constexpr std::ptrdiff_t m_traceResults = 0x688; // CUtlVector<SoundOpvarTraceResult_t>
+                constexpr std::ptrdiff_t m_doorwayPairs = 0x6A0; // CUtlVector<AutoRoomDoorwayPairs_t>
+                constexpr std::ptrdiff_t m_flSize = 0x6B8; // float32
+                constexpr std::ptrdiff_t m_flHeightTolerance = 0x6BC; // float32
+                constexpr std::ptrdiff_t m_flSizeSqr = 0x6C0; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            namespace CEntityComponent {
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace FilterDamageType {
+                constexpr std::ptrdiff_t m_iDamageType = 0x538; // int32
+            }
+            // Parent: CBot
+            // Field count: 139
+            namespace CCSBot {
+                constexpr std::ptrdiff_t m_eyePosition = 0x108; // Vector
+                constexpr std::ptrdiff_t m_name = 0x114; // char[64]
+                constexpr std::ptrdiff_t m_combatRange = 0x154; // float32
+                constexpr std::ptrdiff_t m_isRogue = 0x158; // bool
+                constexpr std::ptrdiff_t m_rogueTimer = 0x160; // CountdownTimer
+                constexpr std::ptrdiff_t m_diedLastRound = 0x17C; // bool
+                constexpr std::ptrdiff_t m_safeTime = 0x180; // float32
+                constexpr std::ptrdiff_t m_wasSafe = 0x184; // bool
+                constexpr std::ptrdiff_t m_blindFire = 0x18C; // bool
+                constexpr std::ptrdiff_t m_surpriseTimer = 0x190; // CountdownTimer
+                constexpr std::ptrdiff_t m_bAllowActive = 0x1A8; // bool
+                constexpr std::ptrdiff_t m_isFollowing = 0x1A9; // bool
+                constexpr std::ptrdiff_t m_leader = 0x1AC; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_followTimestamp = 0x1B0; // float32
+                constexpr std::ptrdiff_t m_allowAutoFollowTime = 0x1B4; // float32
+                constexpr std::ptrdiff_t m_hurryTimer = 0x1B8; // CountdownTimer
+                constexpr std::ptrdiff_t m_alertTimer = 0x1D0; // CountdownTimer
+                constexpr std::ptrdiff_t m_sneakTimer = 0x1E8; // CountdownTimer
+                constexpr std::ptrdiff_t m_panicTimer = 0x200; // CountdownTimer
+                constexpr std::ptrdiff_t m_stateTimestamp = 0x4D0; // float32
+                constexpr std::ptrdiff_t m_isAttacking = 0x4D4; // bool
+                constexpr std::ptrdiff_t m_isOpeningDoor = 0x4D5; // bool
+                constexpr std::ptrdiff_t m_taskEntity = 0x4DC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_goalPosition = 0x4EC; // Vector
+                constexpr std::ptrdiff_t m_goalEntity = 0x4F8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_avoid = 0x4FC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_avoidTimestamp = 0x500; // float32
+                constexpr std::ptrdiff_t m_isStopping = 0x504; // bool
+                constexpr std::ptrdiff_t m_hasVisitedEnemySpawn = 0x505; // bool
+                constexpr std::ptrdiff_t m_stillTimer = 0x508; // IntervalTimer
+                constexpr std::ptrdiff_t m_bEyeAnglesUnderPathFinderControl = 0x518; // bool
+                constexpr std::ptrdiff_t m_pathIndex = 0x5610; // int32
+                constexpr std::ptrdiff_t m_areaEnteredTimestamp = 0x5614; // GameTime_t
+                constexpr std::ptrdiff_t m_repathTimer = 0x5618; // CountdownTimer
+                constexpr std::ptrdiff_t m_avoidFriendTimer = 0x5630; // CountdownTimer
+                constexpr std::ptrdiff_t m_isFriendInTheWay = 0x5648; // bool
+                constexpr std::ptrdiff_t m_politeTimer = 0x5650; // CountdownTimer
+                constexpr std::ptrdiff_t m_isWaitingBehindFriend = 0x5668; // bool
+                constexpr std::ptrdiff_t m_pathLadderEnd = 0x5694; // float32
+                constexpr std::ptrdiff_t m_mustRunTimer = 0x56E0; // CountdownTimer
+                constexpr std::ptrdiff_t m_waitTimer = 0x56F8; // CountdownTimer
+                constexpr std::ptrdiff_t m_updateTravelDistanceTimer = 0x5710; // CountdownTimer
+                constexpr std::ptrdiff_t m_playerTravelDistance = 0x5728; // float32[64]
+                constexpr std::ptrdiff_t m_travelDistancePhase = 0x5828; // uint8
+                constexpr std::ptrdiff_t m_hostageEscortCount = 0x59C0; // uint8
+                constexpr std::ptrdiff_t m_hostageEscortCountTimestamp = 0x59C4; // float32
+                constexpr std::ptrdiff_t m_desiredTeam = 0x59C8; // int32
+                constexpr std::ptrdiff_t m_hasJoined = 0x59CC; // bool
+                constexpr std::ptrdiff_t m_isWaitingForHostage = 0x59CD; // bool
+                constexpr std::ptrdiff_t m_inhibitWaitingForHostageTimer = 0x59D0; // CountdownTimer
+                constexpr std::ptrdiff_t m_waitForHostageTimer = 0x59E8; // CountdownTimer
+                constexpr std::ptrdiff_t m_noisePosition = 0x5A00; // Vector
+                constexpr std::ptrdiff_t m_noiseTravelDistance = 0x5A0C; // float32
+                constexpr std::ptrdiff_t m_noiseTimestamp = 0x5A10; // float32
+                constexpr std::ptrdiff_t m_noiseSource = 0x5A18; // CCSPlayerPawn*
+                constexpr std::ptrdiff_t m_noiseBendTimer = 0x5A30; // CountdownTimer
+                constexpr std::ptrdiff_t m_bentNoisePosition = 0x5A48; // Vector
+                constexpr std::ptrdiff_t m_bendNoisePositionValid = 0x5A54; // bool
+                constexpr std::ptrdiff_t m_lookAroundStateTimestamp = 0x5A58; // float32
+                constexpr std::ptrdiff_t m_lookAheadAngle = 0x5A5C; // float32
+                constexpr std::ptrdiff_t m_forwardAngle = 0x5A60; // float32
+                constexpr std::ptrdiff_t m_inhibitLookAroundTimestamp = 0x5A64; // float32
+                constexpr std::ptrdiff_t m_lookAtSpot = 0x5A6C; // Vector
+                constexpr std::ptrdiff_t m_lookAtSpotDuration = 0x5A7C; // float32
+                constexpr std::ptrdiff_t m_lookAtSpotTimestamp = 0x5A80; // float32
+                constexpr std::ptrdiff_t m_lookAtSpotAngleTolerance = 0x5A84; // float32
+                constexpr std::ptrdiff_t m_lookAtSpotClearIfClose = 0x5A88; // bool
+                constexpr std::ptrdiff_t m_lookAtSpotAttack = 0x5A89; // bool
+                constexpr std::ptrdiff_t m_lookAtDesc = 0x5A90; // char*
+                constexpr std::ptrdiff_t m_peripheralTimestamp = 0x5A98; // float32
+                constexpr std::ptrdiff_t m_approachPointCount = 0x5C20; // uint8
+                constexpr std::ptrdiff_t m_approachPointViewPosition = 0x5C24; // Vector
+                constexpr std::ptrdiff_t m_viewSteadyTimer = 0x5C30; // IntervalTimer
+                constexpr std::ptrdiff_t m_tossGrenadeTimer = 0x5C48; // CountdownTimer
+                constexpr std::ptrdiff_t m_isAvoidingGrenade = 0x5C68; // CountdownTimer
+                constexpr std::ptrdiff_t m_spotCheckTimestamp = 0x5C88; // float32
+                constexpr std::ptrdiff_t m_checkedHidingSpotCount = 0x6090; // int32
+                constexpr std::ptrdiff_t m_lookPitch = 0x6094; // float32
+                constexpr std::ptrdiff_t m_lookPitchVel = 0x6098; // float32
+                constexpr std::ptrdiff_t m_lookYaw = 0x609C; // float32
+                constexpr std::ptrdiff_t m_lookYawVel = 0x60A0; // float32
+                constexpr std::ptrdiff_t m_targetSpot = 0x60A4; // Vector
+                constexpr std::ptrdiff_t m_targetSpotVelocity = 0x60B0; // Vector
+                constexpr std::ptrdiff_t m_targetSpotPredicted = 0x60BC; // Vector
+                constexpr std::ptrdiff_t m_aimError = 0x60C8; // QAngle
+                constexpr std::ptrdiff_t m_aimGoal = 0x60D4; // QAngle
+                constexpr std::ptrdiff_t m_targetSpotTime = 0x60E0; // GameTime_t
+                constexpr std::ptrdiff_t m_aimFocus = 0x60E4; // float32
+                constexpr std::ptrdiff_t m_aimFocusInterval = 0x60E8; // float32
+                constexpr std::ptrdiff_t m_aimFocusNextUpdate = 0x60EC; // GameTime_t
+                constexpr std::ptrdiff_t m_ignoreEnemiesTimer = 0x60F8; // CountdownTimer
+                constexpr std::ptrdiff_t m_enemy = 0x6110; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_isEnemyVisible = 0x6114; // bool
+                constexpr std::ptrdiff_t m_visibleEnemyParts = 0x6115; // uint8
+                constexpr std::ptrdiff_t m_lastEnemyPosition = 0x6118; // Vector
+                constexpr std::ptrdiff_t m_lastSawEnemyTimestamp = 0x6124; // float32
+                constexpr std::ptrdiff_t m_firstSawEnemyTimestamp = 0x6128; // float32
+                constexpr std::ptrdiff_t m_currentEnemyAcquireTimestamp = 0x612C; // float32
+                constexpr std::ptrdiff_t m_enemyDeathTimestamp = 0x6130; // float32
+                constexpr std::ptrdiff_t m_friendDeathTimestamp = 0x6134; // float32
+                constexpr std::ptrdiff_t m_isLastEnemyDead = 0x6138; // bool
+                constexpr std::ptrdiff_t m_nearbyEnemyCount = 0x613C; // int32
+                constexpr std::ptrdiff_t m_bomber = 0x6348; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_nearbyFriendCount = 0x634C; // int32
+                constexpr std::ptrdiff_t m_closestVisibleFriend = 0x6350; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_closestVisibleHumanFriend = 0x6354; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_attentionInterval = 0x6358; // IntervalTimer
+                constexpr std::ptrdiff_t m_attacker = 0x6368; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_attackedTimestamp = 0x636C; // float32
+                constexpr std::ptrdiff_t m_burnedByFlamesTimer = 0x6370; // IntervalTimer
+                constexpr std::ptrdiff_t m_lastVictimID = 0x6380; // int32
+                constexpr std::ptrdiff_t m_isAimingAtEnemy = 0x6384; // bool
+                constexpr std::ptrdiff_t m_isRapidFiring = 0x6385; // bool
+                constexpr std::ptrdiff_t m_equipTimer = 0x6388; // IntervalTimer
+                constexpr std::ptrdiff_t m_zoomTimer = 0x6398; // CountdownTimer
+                constexpr std::ptrdiff_t m_fireWeaponTimestamp = 0x63B0; // GameTime_t
+                constexpr std::ptrdiff_t m_lookForWeaponsOnGroundTimer = 0x63B8; // CountdownTimer
+                constexpr std::ptrdiff_t m_bIsSleeping = 0x63D0; // bool
+                constexpr std::ptrdiff_t m_isEnemySniperVisible = 0x63D1; // bool
+                constexpr std::ptrdiff_t m_sawEnemySniperTimer = 0x63D8; // CountdownTimer
+                constexpr std::ptrdiff_t m_enemyQueueIndex = 0x6490; // uint8
+                constexpr std::ptrdiff_t m_enemyQueueCount = 0x6491; // uint8
+                constexpr std::ptrdiff_t m_enemyQueueAttendIndex = 0x6492; // uint8
+                constexpr std::ptrdiff_t m_isStuck = 0x6493; // bool
+                constexpr std::ptrdiff_t m_stuckTimestamp = 0x6494; // GameTime_t
+                constexpr std::ptrdiff_t m_stuckSpot = 0x6498; // Vector
+                constexpr std::ptrdiff_t m_wiggleTimer = 0x64A8; // CountdownTimer
+                constexpr std::ptrdiff_t m_stuckJumpTimer = 0x64C0; // CountdownTimer
+                constexpr std::ptrdiff_t m_nextCleanupCheckTimestamp = 0x64D8; // GameTime_t
+                constexpr std::ptrdiff_t m_avgVel = 0x64DC; // float32[10]
+                constexpr std::ptrdiff_t m_avgVelIndex = 0x6504; // int32
+                constexpr std::ptrdiff_t m_avgVelCount = 0x6508; // int32
+                constexpr std::ptrdiff_t m_lastOrigin = 0x650C; // Vector
+                constexpr std::ptrdiff_t m_lastRadioRecievedTimestamp = 0x651C; // float32
+                constexpr std::ptrdiff_t m_lastRadioSentTimestamp = 0x6520; // float32
+                constexpr std::ptrdiff_t m_radioSubject = 0x6524; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_radioPosition = 0x6528; // Vector
+                constexpr std::ptrdiff_t m_voiceEndTimestamp = 0x6534; // float32
+                constexpr std::ptrdiff_t m_lastValidReactionQueueFrame = 0x6540; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            namespace CPhysMotor {
+                constexpr std::ptrdiff_t m_nameAttach = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hAttachedObject = 0x4E8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_spinUp = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_additionalAcceleration = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_angularAcceleration = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_lastTime = 0x4F8; // GameTime_t
+                constexpr std::ptrdiff_t m_motor = 0x510; // CMotorController
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_iszSoundAreaType (string_t)
+            // NetworkVarNames: m_vPos (Vector)
+            namespace CSoundAreaEntityBase {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_iszSoundAreaType = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vPos = 0x4F0; // Vector
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 3
+            namespace CCSPlayer_UseServices {
+                constexpr std::ptrdiff_t m_hLastKnownUseEntity = 0x40; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flLastUseTimeStamp = 0x44; // GameTime_t
+                constexpr std::ptrdiff_t m_flTimeLastUsedWindow = 0x48; // GameTime_t
+            }
+            // Parent: CCSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            namespace CCSGO_TeamSelectCharacterPosition {
+            }
+            // Parent: CItem
+            // Field count: 0
+            namespace CItemKevlar {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 14
+            namespace CTriggerHurt {
+                constexpr std::ptrdiff_t m_flOriginalDamage = 0x960; // float32
+                constexpr std::ptrdiff_t m_flDamage = 0x964; // float32
+                constexpr std::ptrdiff_t m_flDamageCap = 0x968; // float32
+                constexpr std::ptrdiff_t m_flLastDmgTime = 0x96C; // GameTime_t
+                constexpr std::ptrdiff_t m_flForgivenessDelay = 0x970; // float32
+                constexpr std::ptrdiff_t m_bitsDamageInflict = 0x974; // DamageTypes_t
+                constexpr std::ptrdiff_t m_damageModel = 0x978; // int32
+                constexpr std::ptrdiff_t m_bNoDmgForce = 0x97C; // bool
+                constexpr std::ptrdiff_t m_vDamageForce = 0x980; // Vector
+                constexpr std::ptrdiff_t m_thinkAlways = 0x98C; // bool
+                constexpr std::ptrdiff_t m_hurtThinkPeriod = 0x990; // float32
+                constexpr std::ptrdiff_t m_OnHurt = 0x998; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHurtPlayer = 0x9C0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_hurtEntities = 0x9E8; // CUtlVector<CHandle<CBaseEntity>>
+            }
+            // Parent: CLogicalEntity
+            // Field count: 13
+            namespace CPhysConstraint {
+                constexpr std::ptrdiff_t m_nameAttach1 = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nameAttach2 = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hAttach1 = 0x4F8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hAttach2 = 0x4FC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nameAttachment1 = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nameAttachment2 = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_breakSound = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_forceLimit = 0x518; // float32
+                constexpr std::ptrdiff_t m_torqueLimit = 0x51C; // float32
+                constexpr std::ptrdiff_t m_teleportTick = 0x520; // uint32
+                constexpr std::ptrdiff_t m_minTeleportDistance = 0x524; // float32
+                constexpr std::ptrdiff_t m_bSnapObjectPositions = 0x528; // bool
+                constexpr std::ptrdiff_t m_OnBreak = 0x530; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDraftType (int)
+            // NetworkVarNames: m_nTeamWinningCoinToss (int)
+            // NetworkVarNames: m_nTeamWithFirstChoice (int)
+            // NetworkVarNames: m_nVoteMapIdsList (int)
+            // NetworkVarNames: m_nAccountIDs (int)
+            // NetworkVarNames: m_nMapId0 (int)
+            // NetworkVarNames: m_nMapId1 (int)
+            // NetworkVarNames: m_nMapId2 (int)
+            // NetworkVarNames: m_nMapId3 (int)
+            // NetworkVarNames: m_nMapId4 (int)
+            // NetworkVarNames: m_nMapId5 (int)
+            // NetworkVarNames: m_nStartingSide0 (int)
+            // NetworkVarNames: m_nCurrentPhase (int)
+            // NetworkVarNames: m_nPhaseStartTick (int)
+            // NetworkVarNames: m_nPhaseDurationTicks (int)
+            namespace CMapVetoPickController {
+                constexpr std::ptrdiff_t m_bPlayedIntroVcd = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_bNeedToPlayFiveSecondsRemaining = 0x4E1; // bool
+                constexpr std::ptrdiff_t m_dblPreMatchDraftSequenceTime = 0x500; // float64
+                constexpr std::ptrdiff_t m_bPreMatchDraftStateChanged = 0x508; // bool
+                constexpr std::ptrdiff_t m_nDraftType = 0x50C; // int32
+                constexpr std::ptrdiff_t m_nTeamWinningCoinToss = 0x510; // int32
+                constexpr std::ptrdiff_t m_nTeamWithFirstChoice = 0x514; // int32[64]
+                constexpr std::ptrdiff_t m_nVoteMapIdsList = 0x614; // int32[7]
+                constexpr std::ptrdiff_t m_nAccountIDs = 0x630; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId0 = 0x730; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId1 = 0x830; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId2 = 0x930; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId3 = 0xA30; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId4 = 0xB30; // int32[64]
+                constexpr std::ptrdiff_t m_nMapId5 = 0xC30; // int32[64]
+                constexpr std::ptrdiff_t m_nStartingSide0 = 0xD30; // int32[64]
+                constexpr std::ptrdiff_t m_nCurrentPhase = 0xE30; // int32
+                constexpr std::ptrdiff_t m_nPhaseStartTick = 0xE34; // int32
+                constexpr std::ptrdiff_t m_nPhaseDurationTicks = 0xE38; // int32
+                constexpr std::ptrdiff_t m_OnMapVetoed = 0xE40; // CEntityOutputTemplate<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_OnMapPicked = 0xE68; // CEntityOutputTemplate<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_OnSidesPicked = 0xE90; // CEntityOutputTemplate<int32>
+                constexpr std::ptrdiff_t m_OnNewPhaseStarted = 0xEB8; // CEntityOutputTemplate<int32>
+                constexpr std::ptrdiff_t m_OnLevelTransition = 0xEE0; // CEntityOutputTemplate<int32>
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CCSMinimapBoundary {
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            namespace CSoundEnt {
+                constexpr std::ptrdiff_t m_iFreeSound = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_iActiveSound = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_cLastActiveSounds = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_SoundPool = 0x4EC; // CSound[128]
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoSpawnGroupLandmark {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_nToggleButtonDownMask (ButtonBitMask_t)
+            // NetworkVarNames: m_flMaxspeed (float32)
+            // NetworkVarNames: m_arrForceSubtickMoveWhen (float32)
+            namespace CPlayer_MovementServices {
+                constexpr std::ptrdiff_t m_nImpulse = 0x40; // int32
+                constexpr std::ptrdiff_t m_nButtons = 0x48; // CInButtonState
+                constexpr std::ptrdiff_t m_nQueuedButtonDownMask = 0x68; // uint64
+                constexpr std::ptrdiff_t m_nQueuedButtonChangeMask = 0x70; // uint64
+                constexpr std::ptrdiff_t m_nButtonDoublePressed = 0x78; // uint64
+                constexpr std::ptrdiff_t m_pButtonPressedCmdNumber = 0x80; // uint32[64]
+                constexpr std::ptrdiff_t m_nLastCommandNumberProcessed = 0x180; // uint32
+                constexpr std::ptrdiff_t m_nToggleButtonDownMask = 0x188; // uint64
+                constexpr std::ptrdiff_t m_flMaxspeed = 0x198; // float32
+                constexpr std::ptrdiff_t m_arrForceSubtickMoveWhen = 0x19C; // float32[4]
+                constexpr std::ptrdiff_t m_flForwardMove = 0x1AC; // float32
+                constexpr std::ptrdiff_t m_flLeftMove = 0x1B0; // float32
+                constexpr std::ptrdiff_t m_flUpMove = 0x1B4; // float32
+                constexpr std::ptrdiff_t m_vecLastMovementImpulses = 0x1B8; // Vector
+                constexpr std::ptrdiff_t m_vecOldViewAngles = 0x1C4; // QAngle
+            }
+            // Parent: CBaseTrigger
+            // Field count: 3
+            namespace CTriggerSave {
+                constexpr std::ptrdiff_t m_bForceNewLevelUnit = 0x960; // bool
+                constexpr std::ptrdiff_t m_fDangerousTimer = 0x964; // float32
+                constexpr std::ptrdiff_t m_minHitPoints = 0x968; // int32
+            }
+            // Parent: CPhysConstraint
+            // Field count: 11
+            namespace CPhysWheelConstraint {
+                constexpr std::ptrdiff_t m_flSuspensionFrequency = 0x558; // float32
+                constexpr std::ptrdiff_t m_flSuspensionDampingRatio = 0x55C; // float32
+                constexpr std::ptrdiff_t m_flSuspensionHeightOffset = 0x560; // float32
+                constexpr std::ptrdiff_t m_bEnableSuspensionLimit = 0x564; // bool
+                constexpr std::ptrdiff_t m_flMinSuspensionOffset = 0x568; // float32
+                constexpr std::ptrdiff_t m_flMaxSuspensionOffset = 0x56C; // float32
+                constexpr std::ptrdiff_t m_bEnableSteeringLimit = 0x570; // bool
+                constexpr std::ptrdiff_t m_flMinSteeringAngle = 0x574; // float32
+                constexpr std::ptrdiff_t m_flMaxSteeringAngle = 0x578; // float32
+                constexpr std::ptrdiff_t m_flSteeringAxisFriction = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flSpinAxisFriction = 0x580; // float32
+            }
+            // Parent: CPhysConstraint
+            // Field count: 6
+            namespace CPhysFixed {
+                constexpr std::ptrdiff_t m_flLinearFrequency = 0x558; // float32
+                constexpr std::ptrdiff_t m_flLinearDampingRatio = 0x55C; // float32
+                constexpr std::ptrdiff_t m_flAngularFrequency = 0x560; // float32
+                constexpr std::ptrdiff_t m_flAngularDampingRatio = 0x564; // float32
+                constexpr std::ptrdiff_t m_bEnableLinearConstraint = 0x568; // bool
+                constexpr std::ptrdiff_t m_bEnableAngularConstraint = 0x569; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 11
+            namespace CEnvSoundscape {
+                constexpr std::ptrdiff_t m_OnPlay = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_flRadius = 0x508; // float32
+                constexpr std::ptrdiff_t m_soundEventName = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bOverrideWithEvent = 0x518; // bool
+                constexpr std::ptrdiff_t m_soundscapeIndex = 0x51C; // int32
+                constexpr std::ptrdiff_t m_soundscapeEntityListId = 0x520; // int32
+                constexpr std::ptrdiff_t m_positionNames = 0x528; // CUtlSymbolLarge[8]
+                constexpr std::ptrdiff_t m_hProxySoundscape = 0x568; // CHandle<CEnvSoundscape>
+                constexpr std::ptrdiff_t m_bDisabled = 0x56C; // bool
+                constexpr std::ptrdiff_t m_soundscapeName = 0x570; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_soundEventHash = 0x578; // uint32
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CBasePlayerVData {
+                constexpr std::ptrdiff_t m_sModelName = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_flHeadDamageMultiplier = 0x108; // CSkillFloat
+                constexpr std::ptrdiff_t m_flChestDamageMultiplier = 0x118; // CSkillFloat
+                constexpr std::ptrdiff_t m_flStomachDamageMultiplier = 0x128; // CSkillFloat
+                constexpr std::ptrdiff_t m_flArmDamageMultiplier = 0x138; // CSkillFloat
+                constexpr std::ptrdiff_t m_flLegDamageMultiplier = 0x148; // CSkillFloat
+                constexpr std::ptrdiff_t m_flHoldBreathTime = 0x158; // float32
+                constexpr std::ptrdiff_t m_flDrowningDamageInterval = 0x15C; // float32
+                constexpr std::ptrdiff_t m_nDrowningDamageInitial = 0x160; // int32
+                constexpr std::ptrdiff_t m_nDrowningDamageMax = 0x164; // int32
+                constexpr std::ptrdiff_t m_nWaterSpeed = 0x168; // int32
+                constexpr std::ptrdiff_t m_flUseRange = 0x16C; // float32
+                constexpr std::ptrdiff_t m_flUseAngleTolerance = 0x170; // float32
+                constexpr std::ptrdiff_t m_flCrouchTime = 0x174; // float32
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAccount (int)
+            // NetworkVarNames: m_iStartAccount (int)
+            // NetworkVarNames: m_iTotalCashSpent (int)
+            // NetworkVarNames: m_iCashSpentThisRound (int)
+            namespace CCSPlayerController_InGameMoneyServices {
+                constexpr std::ptrdiff_t m_bReceivesMoneyNextRound = 0x40; // bool
+                constexpr std::ptrdiff_t m_iMoneyEarnedForNextRound = 0x44; // int32
+                constexpr std::ptrdiff_t m_iAccount = 0x48; // int32
+                constexpr std::ptrdiff_t m_iStartAccount = 0x4C; // int32
+                constexpr std::ptrdiff_t m_iTotalCashSpent = 0x50; // int32
+                constexpr std::ptrdiff_t m_iCashSpentThisRound = 0x54; // int32
+            }
+            // Parent: CSprite
+            // Field count: 0
+            namespace CSpriteOriented {
+            }
+            // Parent: CSoundOpvarSetAABBEntity
+            // Field count: 0
+            namespace CSoundOpvarSetOBBEntity {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponM4A1 {
+            }
+            // Parent: CBeam
+            // Field count: 5
+            namespace CEnvLaser {
+                constexpr std::ptrdiff_t m_iszLaserTarget = 0x830; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pSprite = 0x838; // CSprite*
+                constexpr std::ptrdiff_t m_iszSpriteName = 0x840; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_firePosition = 0x848; // Vector
+                constexpr std::ptrdiff_t m_flStartFrame = 0x854; // float32
+            }
+            // Parent: CSprite
+            // Field count: 0
+            namespace CCommentaryViewPosition {
+            }
+            // Parent: CTonemapController2
+            // Field count: 0
+            namespace CTonemapController2Alias_env_tonemap_controller2 {
+            }
+            // Parent: CPhysConstraint
+            // Field count: 4
+            namespace CPhysPulley {
+                constexpr std::ptrdiff_t m_position2 = 0x558; // Vector
+                constexpr std::ptrdiff_t m_offset = 0x564; // Vector[2]
+                constexpr std::ptrdiff_t m_addLength = 0x57C; // float32
+                constexpr std::ptrdiff_t m_gearRatio = 0x580; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CGameRulesProxy {
+            }
+            // Parent: CEconEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_nNextPrimaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextPrimaryAttackTickRatio (float32)
+            // NetworkVarNames: m_nNextSecondaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextSecondaryAttackTickRatio (float32)
+            // NetworkVarNames: m_iClip1 (int32)
+            // NetworkVarNames: m_iClip2 (int32)
+            // NetworkVarNames: m_pReserveAmmo (int)
+            namespace CBasePlayerWeapon {
+                constexpr std::ptrdiff_t m_nNextPrimaryAttackTick = 0xD30; // GameTick_t
+                constexpr std::ptrdiff_t m_flNextPrimaryAttackTickRatio = 0xD34; // float32
+                constexpr std::ptrdiff_t m_nNextSecondaryAttackTick = 0xD38; // GameTick_t
+                constexpr std::ptrdiff_t m_flNextSecondaryAttackTickRatio = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_iClip1 = 0xD40; // int32
+                constexpr std::ptrdiff_t m_iClip2 = 0xD44; // int32
+                constexpr std::ptrdiff_t m_pReserveAmmo = 0xD48; // int32[2]
+                constexpr std::ptrdiff_t m_OnPlayerUse = 0xD50; // CEntityIOOutput
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_perRoundStats (CSPerRoundStats_t)
+            // NetworkVarNames: m_matchStats (CSMatchStats_t)
+            // NetworkVarNames: m_iNumRoundKills (int)
+            // NetworkVarNames: m_iNumRoundKillsHeadshots (int)
+            // NetworkVarNames: m_unTotalRoundDamageDealt (uint32)
+            namespace CCSPlayerController_ActionTrackingServices {
+                constexpr std::ptrdiff_t m_perRoundStats = 0x40; // CUtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
+                constexpr std::ptrdiff_t m_matchStats = 0xB0; // CSMatchStats_t
+                constexpr std::ptrdiff_t m_iNumRoundKills = 0x170; // int32
+                constexpr std::ptrdiff_t m_iNumRoundKillsHeadshots = 0x174; // int32
+                constexpr std::ptrdiff_t m_unTotalRoundDamageDealt = 0x178; // uint32
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bvDisabledHitGroups (uint32)
+            namespace CHitboxComponent {
+                constexpr std::ptrdiff_t m_bvDisabledHitGroups = 0x24; // uint32[1]
+            }
+            // Parent: CBaseFlex
+            // Field count: 0
+            namespace CBaseFlexAlias_funCBaseFlex {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_x (float32)
+            // NetworkVarNames: m_y (float32)
+            // NetworkVarNames: m_z (float32)
+            // NetworkVarNames: m_angle (float32)
+            // NetworkVarNames: m_poolOrigin (Vector)
+            // NetworkVarNames: m_waterLevel (float32)
+            namespace CFish {
+                constexpr std::ptrdiff_t m_pool = 0x9A8; // CHandle<CFishPool>
+                constexpr std::ptrdiff_t m_id = 0x9AC; // uint32
+                constexpr std::ptrdiff_t m_x = 0x9B0; // float32
+                constexpr std::ptrdiff_t m_y = 0x9B4; // float32
+                constexpr std::ptrdiff_t m_z = 0x9B8; // float32
+                constexpr std::ptrdiff_t m_angle = 0x9BC; // float32
+                constexpr std::ptrdiff_t m_angleChange = 0x9C0; // float32
+                constexpr std::ptrdiff_t m_forward = 0x9C4; // Vector
+                constexpr std::ptrdiff_t m_perp = 0x9D0; // Vector
+                constexpr std::ptrdiff_t m_poolOrigin = 0x9DC; // Vector
+                constexpr std::ptrdiff_t m_waterLevel = 0x9E8; // float32
+                constexpr std::ptrdiff_t m_speed = 0x9EC; // float32
+                constexpr std::ptrdiff_t m_desiredSpeed = 0x9F0; // float32
+                constexpr std::ptrdiff_t m_calmSpeed = 0x9F4; // float32
+                constexpr std::ptrdiff_t m_panicSpeed = 0x9F8; // float32
+                constexpr std::ptrdiff_t m_avoidRange = 0x9FC; // float32
+                constexpr std::ptrdiff_t m_turnTimer = 0xA00; // CountdownTimer
+                constexpr std::ptrdiff_t m_turnClockwise = 0xA18; // bool
+                constexpr std::ptrdiff_t m_goTimer = 0xA20; // CountdownTimer
+                constexpr std::ptrdiff_t m_moveTimer = 0xA38; // CountdownTimer
+                constexpr std::ptrdiff_t m_panicTimer = 0xA50; // CountdownTimer
+                constexpr std::ptrdiff_t m_disperseTimer = 0xA68; // CountdownTimer
+                constexpr std::ptrdiff_t m_proximityTimer = 0xA80; // CountdownTimer
+                constexpr std::ptrdiff_t m_visible = 0xA98; // CUtlVector<CFish*>
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            namespace CEnvFireSource {
+                constexpr std::ptrdiff_t m_bEnabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_radius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_damage = 0x4E8; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CInfoLadderDismount {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_strStartTouchEventName (CUtlString)
+            // NetworkVarNames: m_strEndTouchEventName (CUtlString)
+            // NetworkVarNames: m_strTriggerID (CUtlString)
+            namespace CTriggerGameEvent {
+                constexpr std::ptrdiff_t m_strStartTouchEventName = 0x960; // CUtlString
+                constexpr std::ptrdiff_t m_strEndTouchEventName = 0x968; // CUtlString
+                constexpr std::ptrdiff_t m_strTriggerID = 0x970; // CUtlString
+            }
+            // Parent: CPhysConstraint
+            // Field count: 10
+            namespace CPhysSlideConstraint {
+                constexpr std::ptrdiff_t m_axisEnd = 0x560; // Vector
+                constexpr std::ptrdiff_t m_slideFriction = 0x56C; // float32
+                constexpr std::ptrdiff_t m_systemLoadScale = 0x570; // float32
+                constexpr std::ptrdiff_t m_initialOffset = 0x574; // float32
+                constexpr std::ptrdiff_t m_bEnableLinearConstraint = 0x578; // bool
+                constexpr std::ptrdiff_t m_bEnableAngularConstraint = 0x579; // bool
+                constexpr std::ptrdiff_t m_flMotorFrequency = 0x57C; // float32
+                constexpr std::ptrdiff_t m_flMotorDampingRatio = 0x580; // float32
+                constexpr std::ptrdiff_t m_bUseEntityPivot = 0x584; // bool
+                constexpr std::ptrdiff_t m_soundInfo = 0x588; // ConstraintSoundInfo
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            namespace CDebugHistory {
+                constexpr std::ptrdiff_t m_nNpcEvents = 0x3E8520; // int32
+            }
+            // Parent: CServerOnlyEntity
+            // Field count: 0
+            namespace CInfoData {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace CHostageCarriableProp {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_CLightComponent (CLightComponent::Storage_t)
+            namespace CLightEntity {
+                constexpr std::ptrdiff_t m_CLightComponent = 0x790; // CLightComponent*
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // MNetworkOverride
+            // MNetworkOverride
+            namespace CFuncRotating {
+                constexpr std::ptrdiff_t m_OnStopped = 0x790; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnStarted = 0x7B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnReachedStart = 0x7E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_localRotationVector = 0x808; // RotationVector
+                constexpr std::ptrdiff_t m_flFanFriction = 0x814; // float32
+                constexpr std::ptrdiff_t m_flAttenuation = 0x818; // float32
+                constexpr std::ptrdiff_t m_flVolume = 0x81C; // float32
+                constexpr std::ptrdiff_t m_flTargetSpeed = 0x820; // float32
+                constexpr std::ptrdiff_t m_flMaxSpeed = 0x824; // float32
+                constexpr std::ptrdiff_t m_flBlockDamage = 0x828; // float32
+                constexpr std::ptrdiff_t m_NoiseRunning = 0x830; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bReversed = 0x838; // bool
+                constexpr std::ptrdiff_t m_bAccelDecel = 0x839; // bool
+                constexpr std::ptrdiff_t m_prevLocalAngles = 0x844; // QAngle
+                constexpr std::ptrdiff_t m_angStart = 0x850; // QAngle
+                constexpr std::ptrdiff_t m_bStopAtStartPos = 0x85C; // bool
+                constexpr std::ptrdiff_t m_vecClientOrigin = 0x860; // Vector
+                constexpr std::ptrdiff_t m_vecClientAngles = 0x86C; // QAngle
+            }
+            // Parent: CBaseGrenade
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_vInitialPosition (Vector)
+            // NetworkVarNames: m_vInitialVelocity (Vector)
+            // NetworkVarNames: m_nBounces (int)
+            // NetworkVarNames: m_nExplodeEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_nExplodeEffectTickBegin (int)
+            // NetworkVarNames: m_vecExplodeEffectOrigin (Vector)
+            namespace CBaseCSGrenadeProjectile {
+                constexpr std::ptrdiff_t m_vInitialPosition = 0xAE0; // Vector
+                constexpr std::ptrdiff_t m_vInitialVelocity = 0xAEC; // Vector
+                constexpr std::ptrdiff_t m_nBounces = 0xAF8; // int32
+                constexpr std::ptrdiff_t m_nExplodeEffectIndex = 0xB00; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_nExplodeEffectTickBegin = 0xB08; // int32
+                constexpr std::ptrdiff_t m_vecExplodeEffectOrigin = 0xB0C; // Vector
+                constexpr std::ptrdiff_t m_flSpawnTime = 0xB18; // GameTime_t
+                constexpr std::ptrdiff_t m_unOGSExtraFlags = 0xB1C; // uint8
+                constexpr std::ptrdiff_t m_bDetonationRecorded = 0xB1D; // bool
+                constexpr std::ptrdiff_t m_nItemIndex = 0xB1E; // uint16
+                constexpr std::ptrdiff_t m_vecOriginalSpawnLocation = 0xB20; // Vector
+                constexpr std::ptrdiff_t m_flLastBounceSoundTime = 0xB2C; // GameTime_t
+                constexpr std::ptrdiff_t m_vecGrenadeSpin = 0xB30; // RotationVector
+                constexpr std::ptrdiff_t m_vecLastHitSurfaceNormal = 0xB3C; // Vector
+                constexpr std::ptrdiff_t m_nTicksAtZeroVelocity = 0xB48; // int32
+                constexpr std::ptrdiff_t m_bHasEverHitEnemy = 0xB4C; // bool
+            }
+            // Parent: CServerOnlyModelEntity
+            // Field count: 1
+            namespace CCSPlace {
+                constexpr std::ptrdiff_t m_name = 0x798; // CUtlSymbolLarge
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CFuncTrainControls {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFadeInStart (float32)
+            // NetworkVarNames: m_flFadeInLength (float32)
+            // NetworkVarNames: m_flFadeOutModelStart (float32)
+            // NetworkVarNames: m_flFadeOutModelLength (float32)
+            // NetworkVarNames: m_flFadeOutStart (float32)
+            // NetworkVarNames: m_flFadeOutLength (float32)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_nDissolveType (EntityDisolveType_t)
+            // NetworkVarNames: m_vDissolverOrigin (Vector)
+            // NetworkVarNames: m_nMagnitude (uint32)
+            namespace CEntityDissolve {
+                constexpr std::ptrdiff_t m_flFadeInStart = 0x790; // float32
+                constexpr std::ptrdiff_t m_flFadeInLength = 0x794; // float32
+                constexpr std::ptrdiff_t m_flFadeOutModelStart = 0x798; // float32
+                constexpr std::ptrdiff_t m_flFadeOutModelLength = 0x79C; // float32
+                constexpr std::ptrdiff_t m_flFadeOutStart = 0x7A0; // float32
+                constexpr std::ptrdiff_t m_flFadeOutLength = 0x7A4; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x7A8; // GameTime_t
+                constexpr std::ptrdiff_t m_nDissolveType = 0x7AC; // EntityDisolveType_t
+                constexpr std::ptrdiff_t m_vDissolverOrigin = 0x7B0; // Vector
+                constexpr std::ptrdiff_t m_nMagnitude = 0x7BC; // uint32
+            }
+            // Parent: CPointEntity
+            // Field count: 12
+            namespace CPointAngleSensor {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_nLookAtName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hTargetEntity = 0x4F0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hLookAtEntity = 0x4F4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flDuration = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_flDotTolerance = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_flFacingTime = 0x500; // GameTime_t
+                constexpr std::ptrdiff_t m_bFired = 0x504; // bool
+                constexpr std::ptrdiff_t m_OnFacingLookat = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnNotFacingLookat = 0x530; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_TargetDir = 0x558; // CEntityOutputTemplate<Vector>
+                constexpr std::ptrdiff_t m_FacingPercentage = 0x580; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            namespace CSoundEventOBBEntity {
+                constexpr std::ptrdiff_t m_vMins = 0x598; // Vector
+                constexpr std::ptrdiff_t m_vMaxs = 0x5A4; // Vector
+            }
+            // Parent: CBtNodeDecorator
+            // Field count: 1
+            namespace CBtNodeCondition {
+                constexpr std::ptrdiff_t m_bNegated = 0x58; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGapTypeQueriesForScopeSingleton
+            namespace CSharedGapTypeQueryRegistration {
+            }
+            // Parent: CBaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flStrength (float)
+            // NetworkVarNames: m_nFalloffShape (int)
+            // NetworkVarNames: m_flFalloffExponent (float)
+            // NetworkVarNames: m_flHeightFogDepth (float)
+            // NetworkVarNames: m_fHeightFogEdgeWidth (float)
+            // NetworkVarNames: m_fIndirectLightStrength (float)
+            // NetworkVarNames: m_fSunLightStrength (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_bOverrideIndirectLightStrength (bool)
+            // NetworkVarNames: m_bOverrideSunLightStrength (bool)
+            // NetworkVarNames: m_bOverrideNoiseStrength (bool)
+            // NetworkVarNames: m_bAllowLPVIndirect (bool)
+            namespace CEnvVolumetricFogVolume {
+                constexpr std::ptrdiff_t m_bActive = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_vBoxMins = 0x4E4; // Vector
+                constexpr std::ptrdiff_t m_vBoxMaxs = 0x4F0; // Vector
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x4FC; // bool
+                constexpr std::ptrdiff_t m_flStrength = 0x500; // float32
+                constexpr std::ptrdiff_t m_nFalloffShape = 0x504; // int32
+                constexpr std::ptrdiff_t m_flFalloffExponent = 0x508; // float32
+                constexpr std::ptrdiff_t m_flHeightFogDepth = 0x50C; // float32
+                constexpr std::ptrdiff_t m_fHeightFogEdgeWidth = 0x510; // float32
+                constexpr std::ptrdiff_t m_fIndirectLightStrength = 0x514; // float32
+                constexpr std::ptrdiff_t m_fSunLightStrength = 0x518; // float32
+                constexpr std::ptrdiff_t m_fNoiseStrength = 0x51C; // float32
+                constexpr std::ptrdiff_t m_bOverrideIndirectLightStrength = 0x520; // bool
+                constexpr std::ptrdiff_t m_bOverrideSunLightStrength = 0x521; // bool
+                constexpr std::ptrdiff_t m_bOverrideNoiseStrength = 0x522; // bool
+                constexpr std::ptrdiff_t m_bAllowLPVIndirect = 0x523; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // NetworkVarNames: m_flFrameRate (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_nNumBeamEnts (uint8)
+            // NetworkVarNames: m_hBaseMaterial (HMaterialStrong)
+            // NetworkVarNames: m_nHaloIndex (HMaterialStrong)
+            // NetworkVarNames: m_nBeamType (BeamType_t)
+            // NetworkVarNames: m_nBeamFlags (uint32)
+            // NetworkVarNames: m_hAttachEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_fWidth (float32)
+            // NetworkVarNames: m_fEndWidth (float32)
+            // NetworkVarNames: m_fFadeLength (float32)
+            // NetworkVarNames: m_fHaloScale (float32)
+            // NetworkVarNames: m_fAmplitude (float32)
+            // NetworkVarNames: m_fStartFrame (float32)
+            // NetworkVarNames: m_fSpeed (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nClipStyle (BeamClipStyle_t)
+            // NetworkVarNames: m_bTurnedOff (bool)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            namespace CBeam {
+                constexpr std::ptrdiff_t m_flFrameRate = 0x790; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0x794; // float32
+                constexpr std::ptrdiff_t m_flFireTime = 0x798; // GameTime_t
+                constexpr std::ptrdiff_t m_flDamage = 0x79C; // float32
+                constexpr std::ptrdiff_t m_nNumBeamEnts = 0x7A0; // uint8
+                constexpr std::ptrdiff_t m_hBaseMaterial = 0x7A8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nHaloIndex = 0x7B0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nBeamType = 0x7B8; // BeamType_t
+                constexpr std::ptrdiff_t m_nBeamFlags = 0x7BC; // uint32
+                constexpr std::ptrdiff_t m_hAttachEntity = 0x7C0; // CHandle<CBaseEntity>[10]
+                constexpr std::ptrdiff_t m_nAttachIndex = 0x7E8; // AttachmentHandle_t[10]
+                constexpr std::ptrdiff_t m_fWidth = 0x7F4; // float32
+                constexpr std::ptrdiff_t m_fEndWidth = 0x7F8; // float32
+                constexpr std::ptrdiff_t m_fFadeLength = 0x7FC; // float32
+                constexpr std::ptrdiff_t m_fHaloScale = 0x800; // float32
+                constexpr std::ptrdiff_t m_fAmplitude = 0x804; // float32
+                constexpr std::ptrdiff_t m_fStartFrame = 0x808; // float32
+                constexpr std::ptrdiff_t m_fSpeed = 0x80C; // float32
+                constexpr std::ptrdiff_t m_flFrame = 0x810; // float32
+                constexpr std::ptrdiff_t m_nClipStyle = 0x814; // BeamClipStyle_t
+                constexpr std::ptrdiff_t m_bTurnedOff = 0x818; // bool
+                constexpr std::ptrdiff_t m_vecEndPos = 0x81C; // Vector
+                constexpr std::ptrdiff_t m_hEndEntity = 0x828; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nDissolveType = 0x82C; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_CRenderComponent (CRenderComponent::Storage_t)
+            // NetworkVarNames: m_CHitboxComponent (CHitboxComponent::Storage_t)
+            // NetworkVarNames: m_nRenderMode (RenderMode_t)
+            // NetworkVarNames: m_nRenderFX (RenderFx_t)
+            // NetworkVarNames: m_clrRender (Color)
+            // NetworkVarNames: m_vecRenderAttributes (EntityRenderAttribute_t)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_bNoInterpolate (bool)
+            // NetworkVarNames: m_Collision (CCollisionProperty)
+            // NetworkVarNames: m_Glow (CGlowProperty)
+            // NetworkVarNames: m_flGlowBackfaceMult (float)
+            // NetworkVarNames: m_fadeMinDist (float32)
+            // NetworkVarNames: m_fadeMaxDist (float32)
+            // NetworkVarNames: m_flFadeScale (float32)
+            // NetworkVarNames: m_flShadowStrength (float32)
+            // NetworkVarNames: m_nObjectCulling (uint8)
+            // NetworkVarNames: m_nAddDecal (int)
+            // NetworkVarNames: m_vDecalPosition (Vector)
+            // NetworkVarNames: m_vDecalForwardAxis (Vector)
+            // NetworkVarNames: m_flDecalHealBloodRate (float)
+            // NetworkVarNames: m_flDecalHealHeightRate (float)
+            // NetworkVarNames: m_ConfigEntitiesToPropagateMaterialDecalsTo (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_vecViewOffset (CNetworkViewOffsetVector)
+            namespace CBaseModelEntity {
+                constexpr std::ptrdiff_t m_CRenderComponent = 0x4E0; // CRenderComponent*
+                constexpr std::ptrdiff_t m_CHitboxComponent = 0x4E8; // CHitboxComponent
+                constexpr std::ptrdiff_t m_nDestructiblePartInitialStateDestructed0 = 0x510; // HitGroup_t
+                constexpr std::ptrdiff_t m_nDestructiblePartInitialStateDestructed1 = 0x514; // HitGroup_t
+                constexpr std::ptrdiff_t m_nDestructiblePartInitialStateDestructed2 = 0x518; // HitGroup_t
+                constexpr std::ptrdiff_t m_nDestructiblePartInitialStateDestructed3 = 0x51C; // HitGroup_t
+                constexpr std::ptrdiff_t m_nDestructiblePartInitialStateDestructed4 = 0x520; // HitGroup_t
+                constexpr std::ptrdiff_t m_nLastHitDestructiblePartIndex = 0x524; // int32
+                constexpr std::ptrdiff_t m_LastHitGroup = 0x550; // HitGroup_t
+                constexpr std::ptrdiff_t m_flDissolveStartTime = 0x554; // GameTime_t
+                constexpr std::ptrdiff_t m_OnIgnite = 0x558; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_nRenderMode = 0x580; // RenderMode_t
+                constexpr std::ptrdiff_t m_nRenderFX = 0x581; // RenderFx_t
+                constexpr std::ptrdiff_t m_bAllowFadeInView = 0x582; // bool
+                constexpr std::ptrdiff_t m_clrRender = 0x5A0; // Color
+                constexpr std::ptrdiff_t m_vecRenderAttributes = 0x5A8; // CUtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
+                constexpr std::ptrdiff_t m_bRenderToCubemaps = 0x5F8; // bool
+                constexpr std::ptrdiff_t m_bNoInterpolate = 0x5F9; // bool
+                constexpr std::ptrdiff_t m_Collision = 0x600; // CCollisionProperty
+                constexpr std::ptrdiff_t m_Glow = 0x6B0; // CGlowProperty
+                constexpr std::ptrdiff_t m_flGlowBackfaceMult = 0x708; // float32
+                constexpr std::ptrdiff_t m_fadeMinDist = 0x70C; // float32
+                constexpr std::ptrdiff_t m_fadeMaxDist = 0x710; // float32
+                constexpr std::ptrdiff_t m_flFadeScale = 0x714; // float32
+                constexpr std::ptrdiff_t m_flShadowStrength = 0x718; // float32
+                constexpr std::ptrdiff_t m_nObjectCulling = 0x71C; // uint8
+                constexpr std::ptrdiff_t m_nAddDecal = 0x720; // int32
+                constexpr std::ptrdiff_t m_vDecalPosition = 0x724; // Vector
+                constexpr std::ptrdiff_t m_vDecalForwardAxis = 0x730; // Vector
+                constexpr std::ptrdiff_t m_flDecalHealBloodRate = 0x73C; // float32
+                constexpr std::ptrdiff_t m_flDecalHealHeightRate = 0x740; // float32
+                constexpr std::ptrdiff_t m_ConfigEntitiesToPropagateMaterialDecalsTo = 0x748; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                constexpr std::ptrdiff_t m_vecViewOffset = 0x760; // CNetworkViewOffsetVector
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 12
+            namespace CPhysMagnet {
+                constexpr std::ptrdiff_t m_OnMagnetAttach = 0x9A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMagnetDetach = 0x9D0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_massScale = 0x9F8; // float32
+                constexpr std::ptrdiff_t m_forceLimit = 0x9FC; // float32
+                constexpr std::ptrdiff_t m_torqueLimit = 0xA00; // float32
+                constexpr std::ptrdiff_t m_MagnettedEntities = 0xA08; // CUtlVector<magnetted_objects_t>
+                constexpr std::ptrdiff_t m_bActive = 0xA20; // bool
+                constexpr std::ptrdiff_t m_bHasHitSomething = 0xA21; // bool
+                constexpr std::ptrdiff_t m_flTotalMass = 0xA24; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0xA28; // float32
+                constexpr std::ptrdiff_t m_flNextSuckTime = 0xA2C; // GameTime_t
+                constexpr std::ptrdiff_t m_iMaxObjectsAttached = 0xA30; // int32
+            }
+            // Parent: CSceneEntity
+            // Field count: 0
+            namespace CSceneEntityAlias_logic_choreographed_scene {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 2
+            namespace CFuncNavBlocker {
+                constexpr std::ptrdiff_t m_bDisabled = 0x790; // bool
+                constexpr std::ptrdiff_t m_nBlockedTeamNumber = 0x794; // int32
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            namespace CRagdollMagnet {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_radius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_force = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_axis = 0x4EC; // Vector
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 6
+            namespace CFuncBrush {
+                constexpr std::ptrdiff_t m_iSolidity = 0x790; // BrushSolidities_e
+                constexpr std::ptrdiff_t m_iDisabled = 0x794; // int32
+                constexpr std::ptrdiff_t m_bSolidBsp = 0x798; // bool
+                constexpr std::ptrdiff_t m_iszExcludedClass = 0x7A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bInvertExclusion = 0x7A8; // bool
+                constexpr std::ptrdiff_t m_bScriptedMovement = 0x7A9; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            namespace CPointProximitySensor {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_hTargetEntity = 0x4E4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_Distance = 0x4E8; // CEntityOutputTemplate<float32>
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_weaponPurchases (WeaponPurchaseCount_t)
+            namespace WeaponPurchaseTracker_t {
+                constexpr std::ptrdiff_t m_weaponPurchases = 0x8; // CUtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterClass {
+                constexpr std::ptrdiff_t m_iFilterClass = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CMultiplayRules
+            // Field count: 0
+            namespace CTeamplayRules {
+            }
+            // Parent: CBaseFilter
+            // Field count: 0
+            namespace CFilterLOS {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (float32)
+            // NetworkVarNames: m_timescale (float32)
+            namespace EngineCountdownTimer {
+                constexpr std::ptrdiff_t m_duration = 0x8; // float32
+                constexpr std::ptrdiff_t m_timestamp = 0xC; // float32
+                constexpr std::ptrdiff_t m_timescale = 0x10; // float32
+            }
+            // Parent: CBreakable
+            // Field count: 14
+            namespace CPhysBox {
+                constexpr std::ptrdiff_t m_damageType = 0x868; // int32
+                constexpr std::ptrdiff_t m_damageToEnableMotion = 0x86C; // int32
+                constexpr std::ptrdiff_t m_flForceToEnableMotion = 0x870; // float32
+                constexpr std::ptrdiff_t m_angPreferredCarryAngles = 0x874; // QAngle
+                constexpr std::ptrdiff_t m_bNotSolidToWorld = 0x880; // bool
+                constexpr std::ptrdiff_t m_bEnableUseOutput = 0x881; // bool
+                constexpr std::ptrdiff_t m_iExploitableByPlayer = 0x884; // int32
+                constexpr std::ptrdiff_t m_flTouchOutputPerEntityDelay = 0x888; // float32
+                constexpr std::ptrdiff_t m_OnDamaged = 0x890; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnAwakened = 0x8B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMotionEnabled = 0x8E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPlayerUse = 0x908; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnStartTouch = 0x930; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_hCarryingPlayer = 0x958; // CHandle<CBasePlayerPawn>
+            }
+            // Parent: CBaseFlex
+            // Field count: 14
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_bIsLive (bool)
+            // NetworkVarNames: m_DmgRadius (float32)
+            // NetworkVarNames: m_flDetonateTime (GameTime_t)
+            // NetworkVarNames: m_flDamage (float32)
+            // NetworkVarNames: m_hThrower (CHandle<CCSPlayerPawn>)
+            namespace CBaseGrenade {
+                constexpr std::ptrdiff_t m_OnPlayerPickup = 0xA40; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnExplode = 0xA68; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bHasWarnedAI = 0xA90; // bool
+                constexpr std::ptrdiff_t m_bIsSmokeGrenade = 0xA91; // bool
+                constexpr std::ptrdiff_t m_bIsLive = 0xA92; // bool
+                constexpr std::ptrdiff_t m_DmgRadius = 0xA94; // float32
+                constexpr std::ptrdiff_t m_flDetonateTime = 0xA98; // GameTime_t
+                constexpr std::ptrdiff_t m_flWarnAITime = 0xA9C; // float32
+                constexpr std::ptrdiff_t m_flDamage = 0xAA0; // float32
+                constexpr std::ptrdiff_t m_iszBounceSound = 0xAA8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ExplosionSound = 0xAB0; // CUtlString
+                constexpr std::ptrdiff_t m_hThrower = 0xABC; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_flNextAttack = 0xAD4; // GameTime_t
+                constexpr std::ptrdiff_t m_hOriginalThrower = 0xAD8; // CHandle<CCSPlayerPawn>
+            }
+            // Parent: CLogicalEntity
+            // Field count: 13
+            namespace CTimerEntity {
+                constexpr std::ptrdiff_t m_OnTimer = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTimerHigh = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTimerLow = 0x530; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iDisabled = 0x558; // int32
+                constexpr std::ptrdiff_t m_flInitialDelay = 0x55C; // float32
+                constexpr std::ptrdiff_t m_flRefireTime = 0x560; // float32
+                constexpr std::ptrdiff_t m_bUpDownState = 0x564; // bool
+                constexpr std::ptrdiff_t m_iUseRandomTime = 0x568; // int32
+                constexpr std::ptrdiff_t m_bPauseAfterFiring = 0x56C; // bool
+                constexpr std::ptrdiff_t m_flLowerRandomBound = 0x570; // float32
+                constexpr std::ptrdiff_t m_flUpperRandomBound = 0x574; // float32
+                constexpr std::ptrdiff_t m_flRemainingTime = 0x578; // float32
+                constexpr std::ptrdiff_t m_bPaused = 0x57C; // bool
+            }
+            // Parent: CCSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_TeamIntroCounterTerroristPosition {
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 0
+            namespace CHEGrenadeProjectile {
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+            namespace CEnvWind {
+                constexpr std::ptrdiff_t m_EnvWindShared = 0x4E0; // CEnvWindShared
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            namespace IntervalTimer {
+                constexpr std::ptrdiff_t m_timestamp = 0x8; // GameTime_t
+                constexpr std::ptrdiff_t m_nWorldGroupId = 0xC; // WorldGroupId_t
+            }
+            // Parent: CBasePlayerWeapon
+            // Field count: 64
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_flFireSequenceStartTime (float)
+            // NetworkVarNames: m_nFireSequenceStartTimeChange (int)
+            // NetworkVarNames: m_ePlayerFireEvent (PlayerAnimEvent_t)
+            // NetworkVarNames: m_ePlayerFireEventAttackType (WeaponAttackType_t)
+            // NetworkVarNames: m_iState (CSWeaponState_t)
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_flTimeWeaponIdle (GameTime_t)
+            // NetworkVarNames: m_weaponMode (CSWeaponMode)
+            // NetworkVarNames: m_fAccuracyPenalty (float)
+            // NetworkVarNames: m_iRecoilIndex (int)
+            // NetworkVarNames: m_flRecoilIndex (float)
+            // NetworkVarNames: m_bBurstMode (bool)
+            // NetworkVarNames: m_nPostponeFireReadyTicks (GameTick_t)
+            // NetworkVarNames: m_flPostponeFireReadyFrac (float)
+            // NetworkVarNames: m_bInReload (bool)
+            // NetworkVarNames: m_bReloadVisuallyComplete (bool)
+            // NetworkVarNames: m_flDroppedAtTime (GameTime_t)
+            // NetworkVarNames: m_bIsHauledBack (bool)
+            // NetworkVarNames: m_bSilencerOn (bool)
+            // NetworkVarNames: m_flTimeSilencerSwitchComplete (GameTime_t)
+            // NetworkVarNames: m_iOriginalTeamNumber (int)
+            // NetworkVarNames: m_iMostRecentTeamNumber (int)
+            // NetworkVarNames: m_bDroppedNearBuyZone (bool)
+            // NetworkVarNames: m_nextPrevOwnerUseTime (GameTime_t)
+            // NetworkVarNames: m_hPrevOwner (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_nDropTick (GameTick_t)
+            // NetworkVarNames: m_fLastShotTime (GameTime_t)
+            // NetworkVarNames: m_iIronSightMode (int)
+            // NetworkVarNames: m_iNumEmptyAttacks (int)
+            namespace CCSWeaponBase {
+                constexpr std::ptrdiff_t m_bRemoveable = 0xDA0; // bool
+                constexpr std::ptrdiff_t m_flFireSequenceStartTime = 0xDA8; // float32
+                constexpr std::ptrdiff_t m_nFireSequenceStartTimeChange = 0xDAC; // int32
+                constexpr std::ptrdiff_t m_nFireSequenceStartTimeAck = 0xDB0; // int32
+                constexpr std::ptrdiff_t m_ePlayerFireEvent = 0xDB4; // PlayerAnimEvent_t
+                constexpr std::ptrdiff_t m_ePlayerFireEventAttackType = 0xDB8; // WeaponAttackType_t
+                constexpr std::ptrdiff_t m_seqIdle = 0xDBC; // HSequence
+                constexpr std::ptrdiff_t m_seqFirePrimary = 0xDC0; // HSequence
+                constexpr std::ptrdiff_t m_seqFireSecondary = 0xDC4; // HSequence
+                constexpr std::ptrdiff_t m_thirdPersonFireSequences = 0xDC8; // CUtlVector<HSequence>
+                constexpr std::ptrdiff_t m_hCurrentThirdPersonSequence = 0xDE0; // HSequence
+                constexpr std::ptrdiff_t m_nSilencerBoneIndex = 0xDE4; // int32
+                constexpr std::ptrdiff_t m_thirdPersonSequences = 0xDE8; // HSequence[7]
+                constexpr std::ptrdiff_t m_bPlayerAmmoStockOnPickup = 0xE10; // bool
+                constexpr std::ptrdiff_t m_bRequireUseToTouch = 0xE11; // bool
+                constexpr std::ptrdiff_t m_iState = 0xE14; // CSWeaponState_t
+                constexpr std::ptrdiff_t m_flLastTimeInAir = 0xE18; // GameTime_t
+                constexpr std::ptrdiff_t m_nLastEmptySoundCmdNum = 0xE1C; // int32
+                constexpr std::ptrdiff_t m_nViewModelIndex = 0xE20; // uint32
+                constexpr std::ptrdiff_t m_bReloadsWithClips = 0xE24; // bool
+                constexpr std::ptrdiff_t m_flTimeWeaponIdle = 0xE40; // GameTime_t
+                constexpr std::ptrdiff_t m_bFireOnEmpty = 0xE44; // bool
+                constexpr std::ptrdiff_t m_OnPlayerPickup = 0xE48; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_weaponMode = 0xE70; // CSWeaponMode
+                constexpr std::ptrdiff_t m_flTurningInaccuracyDelta = 0xE74; // float32
+                constexpr std::ptrdiff_t m_vecTurningInaccuracyEyeDirLast = 0xE78; // Vector
+                constexpr std::ptrdiff_t m_flTurningInaccuracy = 0xE84; // float32
+                constexpr std::ptrdiff_t m_fAccuracyPenalty = 0xE88; // float32
+                constexpr std::ptrdiff_t m_flLastAccuracyUpdateTime = 0xE8C; // GameTime_t
+                constexpr std::ptrdiff_t m_fAccuracySmoothedForZoom = 0xE90; // float32
+                constexpr std::ptrdiff_t m_fScopeZoomEndTime = 0xE94; // GameTime_t
+                constexpr std::ptrdiff_t m_iRecoilIndex = 0xE98; // int32
+                constexpr std::ptrdiff_t m_flRecoilIndex = 0xE9C; // float32
+                constexpr std::ptrdiff_t m_bBurstMode = 0xEA0; // bool
+                constexpr std::ptrdiff_t m_nPostponeFireReadyTicks = 0xEA4; // GameTick_t
+                constexpr std::ptrdiff_t m_flPostponeFireReadyFrac = 0xEA8; // float32
+                constexpr std::ptrdiff_t m_bInReload = 0xEAC; // bool
+                constexpr std::ptrdiff_t m_bReloadVisuallyComplete = 0xEAD; // bool
+                constexpr std::ptrdiff_t m_flDroppedAtTime = 0xEB0; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsHauledBack = 0xEB4; // bool
+                constexpr std::ptrdiff_t m_bSilencerOn = 0xEB5; // bool
+                constexpr std::ptrdiff_t m_flTimeSilencerSwitchComplete = 0xEB8; // GameTime_t
+                constexpr std::ptrdiff_t m_iOriginalTeamNumber = 0xEBC; // int32
+                constexpr std::ptrdiff_t m_iMostRecentTeamNumber = 0xEC0; // int32
+                constexpr std::ptrdiff_t m_bDroppedNearBuyZone = 0xEC4; // bool
+                constexpr std::ptrdiff_t m_flNextAttackRenderTimeOffset = 0xEC8; // float32
+                constexpr std::ptrdiff_t m_bCanBePickedUp = 0xEE0; // bool
+                constexpr std::ptrdiff_t m_bUseCanOverrideNextOwnerTouchTime = 0xEE1; // bool
+                constexpr std::ptrdiff_t m_nextOwnerTouchTime = 0xEE4; // GameTime_t
+                constexpr std::ptrdiff_t m_nextPrevOwnerTouchTime = 0xEE8; // GameTime_t
+                constexpr std::ptrdiff_t m_nextPrevOwnerUseTime = 0xEF0; // GameTime_t
+                constexpr std::ptrdiff_t m_hPrevOwner = 0xEF4; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_nDropTick = 0xEF8; // GameTick_t
+                constexpr std::ptrdiff_t m_donated = 0xF1C; // bool
+                constexpr std::ptrdiff_t m_fLastShotTime = 0xF20; // GameTime_t
+                constexpr std::ptrdiff_t m_bWasOwnedByCT = 0xF24; // bool
+                constexpr std::ptrdiff_t m_bWasOwnedByTerrorist = 0xF25; // bool
+                constexpr std::ptrdiff_t m_bFiredOutOfAmmoEvent = 0xF26; // bool
+                constexpr std::ptrdiff_t m_numRemoveUnownedWeaponThink = 0xF28; // int32
+                constexpr std::ptrdiff_t m_IronSightController = 0xF30; // CIronSightController
+                constexpr std::ptrdiff_t m_iIronSightMode = 0xF48; // int32
+                constexpr std::ptrdiff_t m_flLastLOSTraceFailureTime = 0xF4C; // GameTime_t
+                constexpr std::ptrdiff_t m_iNumEmptyAttacks = 0xF50; // int32
+                constexpr std::ptrdiff_t m_flWatTickOffset = 0xF54; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CHandleDummy {
+            }
+            // Parent: CPhysConstraint
+            // Field count: 9
+            namespace CRagdollConstraint {
+                constexpr std::ptrdiff_t m_xmin = 0x558; // float32
+                constexpr std::ptrdiff_t m_xmax = 0x55C; // float32
+                constexpr std::ptrdiff_t m_ymin = 0x560; // float32
+                constexpr std::ptrdiff_t m_ymax = 0x564; // float32
+                constexpr std::ptrdiff_t m_zmin = 0x568; // float32
+                constexpr std::ptrdiff_t m_zmax = 0x56C; // float32
+                constexpr std::ptrdiff_t m_xfriction = 0x570; // float32
+                constexpr std::ptrdiff_t m_yfriction = 0x574; // float32
+                constexpr std::ptrdiff_t m_zfriction = 0x578; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            namespace CPhysExplosion {
+                constexpr std::ptrdiff_t m_bExplodeOnSpawn = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_flMagnitude = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flDamage = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_radius = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_targetEntityName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flInnerRadius = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_flPushScale = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_bConvertToDebrisWhenPossible = 0x500; // bool
+                constexpr std::ptrdiff_t m_OnPushedPlayer = 0x508; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            namespace CPointPush {
+                constexpr std::ptrdiff_t m_bEnabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_flMagnitude = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flInnerRadius = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flConeOfInfluence = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_iszFilterName = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFilter = 0x500; // CHandle<CBaseFilter>
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            namespace CCredits {
+                constexpr std::ptrdiff_t m_OnCreditsDone = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bRolledOutroCredits = 0x508; // bool
+                constexpr std::ptrdiff_t m_flLogoLength = 0x50C; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHostageAlive (bool)
+            // NetworkVarNames: m_isHostageFollowingSomeone (bool)
+            // NetworkVarNames: m_iHostageEntityIDs (CEntityIndex)
+            // NetworkVarNames: m_bombsiteCenterA (Vector)
+            // NetworkVarNames: m_bombsiteCenterB (Vector)
+            // NetworkVarNames: m_hostageRescueX (int)
+            // NetworkVarNames: m_hostageRescueY (int)
+            // NetworkVarNames: m_hostageRescueZ (int)
+            // NetworkVarNames: m_bEndMatchNextMapAllVoted (bool)
+            namespace CCSPlayerResource {
+                constexpr std::ptrdiff_t m_bHostageAlive = 0x4E0; // bool[12]
+                constexpr std::ptrdiff_t m_isHostageFollowingSomeone = 0x4EC; // bool[12]
+                constexpr std::ptrdiff_t m_iHostageEntityIDs = 0x4F8; // CEntityIndex[12]
+                constexpr std::ptrdiff_t m_bombsiteCenterA = 0x528; // Vector
+                constexpr std::ptrdiff_t m_bombsiteCenterB = 0x534; // Vector
+                constexpr std::ptrdiff_t m_hostageRescueX = 0x540; // int32[4]
+                constexpr std::ptrdiff_t m_hostageRescueY = 0x550; // int32[4]
+                constexpr std::ptrdiff_t m_hostageRescueZ = 0x560; // int32[4]
+                constexpr std::ptrdiff_t m_bEndMatchNextMapAllVoted = 0x570; // bool
+                constexpr std::ptrdiff_t m_foundGoalPositions = 0x571; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_hMyWeapons (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hActiveWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hLastWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_iAmmo (uint16)
+            namespace CPlayer_WeaponServices {
+                constexpr std::ptrdiff_t m_hMyWeapons = 0x40; // CNetworkUtlVectorBase<CHandle<CBasePlayerWeapon>>
+                constexpr std::ptrdiff_t m_hActiveWeapon = 0x58; // CHandle<CBasePlayerWeapon>
+                constexpr std::ptrdiff_t m_hLastWeapon = 0x5C; // CHandle<CBasePlayerWeapon>
+                constexpr std::ptrdiff_t m_iAmmo = 0x60; // uint16[32]
+                constexpr std::ptrdiff_t m_bPreventWeaponPickup = 0xA0; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            namespace CAttributeManager__cached_attribute_float_t {
+                constexpr std::ptrdiff_t flIn = 0x0; // float32
+                constexpr std::ptrdiff_t iAttribHook = 0x8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t flOut = 0x10; // float32
+            }
+            // Parent: CTeam
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bSurrendered (bool)
+            // NetworkVarNames: m_szTeamMatchStat (char)
+            // NetworkVarNames: m_numMapVictories (int)
+            // NetworkVarNames: m_scoreFirstHalf (int32)
+            // NetworkVarNames: m_scoreSecondHalf (int32)
+            // NetworkVarNames: m_scoreOvertime (int32)
+            // NetworkVarNames: m_szClanTeamname (char)
+            // NetworkVarNames: m_iClanID (uint32)
+            // NetworkVarNames: m_szTeamFlagImage (char)
+            // NetworkVarNames: m_szTeamLogoImage (char)
+            namespace CCSTeam {
+                constexpr std::ptrdiff_t m_nLastRecievedShorthandedRoundBonus = 0x598; // int32
+                constexpr std::ptrdiff_t m_nShorthandedRoundBonusStartRound = 0x59C; // int32
+                constexpr std::ptrdiff_t m_bSurrendered = 0x5A0; // bool
+                constexpr std::ptrdiff_t m_szTeamMatchStat = 0x5A1; // char[512]
+                constexpr std::ptrdiff_t m_numMapVictories = 0x7A4; // int32
+                constexpr std::ptrdiff_t m_scoreFirstHalf = 0x7A8; // int32
+                constexpr std::ptrdiff_t m_scoreSecondHalf = 0x7AC; // int32
+                constexpr std::ptrdiff_t m_scoreOvertime = 0x7B0; // int32
+                constexpr std::ptrdiff_t m_szClanTeamname = 0x7B4; // char[129]
+                constexpr std::ptrdiff_t m_iClanID = 0x838; // uint32
+                constexpr std::ptrdiff_t m_szTeamFlagImage = 0x83C; // char[8]
+                constexpr std::ptrdiff_t m_szTeamLogoImage = 0x844; // char[8]
+                constexpr std::ptrdiff_t m_flNextResourceTime = 0x84C; // float32
+                constexpr std::ptrdiff_t m_iLastUpdateSentAt = 0x850; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            namespace CCSGameModeRules {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nInteractsAs (uint64)
+            // NetworkVarNames: m_nInteractsWith (uint64)
+            // NetworkVarNames: m_nInteractsExclude (uint64)
+            // NetworkVarNames: m_nEntityId (uint32)
+            // NetworkVarNames: m_nOwnerId (uint32)
+            // NetworkVarNames: m_nHierarchyId (uint16)
+            // NetworkVarNames: m_nCollisionGroup (uint8)
+            // NetworkVarNames: m_nCollisionFunctionMask (uint8)
+            namespace VPhysicsCollisionAttribute_t {
+                constexpr std::ptrdiff_t m_nInteractsAs = 0x8; // uint64
+                constexpr std::ptrdiff_t m_nInteractsWith = 0x10; // uint64
+                constexpr std::ptrdiff_t m_nInteractsExclude = 0x18; // uint64
+                constexpr std::ptrdiff_t m_nEntityId = 0x20; // uint32
+                constexpr std::ptrdiff_t m_nOwnerId = 0x24; // uint32
+                constexpr std::ptrdiff_t m_nHierarchyId = 0x28; // uint16
+                constexpr std::ptrdiff_t m_nCollisionGroup = 0x2A; // uint8
+                constexpr std::ptrdiff_t m_nCollisionFunctionMask = 0x2B; // uint8
+            }
+            // Parent: CTriggerMultiple
+            // Field count: 4
+            namespace CTriggerImpact {
+                constexpr std::ptrdiff_t m_flMagnitude = 0x988; // float32
+                constexpr std::ptrdiff_t m_flNoise = 0x98C; // float32
+                constexpr std::ptrdiff_t m_flViewkick = 0x990; // float32
+                constexpr std::ptrdiff_t m_pOutputForce = 0x998; // CEntityOutputTemplate<Vector>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 14
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_vDirection (Vector)
+            // NetworkVarNames: m_clrOverlay (Color)
+            // NetworkVarNames: m_iszEffectName (string_t)
+            // NetworkVarNames: m_iszSSEffectName (string_t)
+            // NetworkVarNames: m_bOn (bool)
+            // NetworkVarNames: m_bmaxColor (bool)
+            // NetworkVarNames: m_flSize (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_flHazeScale (float32)
+            // NetworkVarNames: m_flAlphaHaze (float32)
+            // NetworkVarNames: m_flAlphaHdr (float32)
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_flFarZScale (float32)
+            namespace CSun {
+                constexpr std::ptrdiff_t m_vDirection = 0x790; // Vector
+                constexpr std::ptrdiff_t m_clrOverlay = 0x79C; // Color
+                constexpr std::ptrdiff_t m_iszEffectName = 0x7A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSSEffectName = 0x7A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bOn = 0x7B0; // bool
+                constexpr std::ptrdiff_t m_bmaxColor = 0x7B1; // bool
+                constexpr std::ptrdiff_t m_flSize = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_flRotation = 0x7B8; // float32
+                constexpr std::ptrdiff_t m_flHazeScale = 0x7BC; // float32
+                constexpr std::ptrdiff_t m_flAlphaHaze = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_flAlphaHdr = 0x7C4; // float32
+                constexpr std::ptrdiff_t m_flAlphaScale = 0x7C8; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0x7CC; // float32
+                constexpr std::ptrdiff_t m_flFarZScale = 0x7D0; // float32
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            namespace CTriggerDetectBulletFire {
+                constexpr std::ptrdiff_t m_bPlayerFireOnly = 0x960; // bool
+                constexpr std::ptrdiff_t m_OnDetectedBulletFire = 0x968; // CEntityIOOutput
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            namespace CWorld {
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            namespace CPointGiveAmmo {
+                constexpr std::ptrdiff_t m_pActivator = 0x4E0; // CHandle<CBaseEntity>
+            }
+            // Parent: CFuncMoveLinear
+            // Field count: 0
+            namespace CFuncMoveLinearAlias_momentary_door {
+            }
+            // Parent: CBaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_flParticleSpacing (float)
+            // NetworkVarNames: m_flSlack (float)
+            // NetworkVarNames: m_flRadius (float)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_nEffectState (int)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_PathNodes_Position (Vector)
+            // NetworkVarNames: m_PathNodes_TangentIn (Vector)
+            // NetworkVarNames: m_PathNodes_TangentOut (Vector)
+            // NetworkVarNames: m_PathNodes_Color (Vector)
+            // NetworkVarNames: m_PathNodes_PinEnabled (bool)
+            // NetworkVarNames: m_PathNodes_RadiusScale (float)
+            namespace CPathParticleRope {
+                constexpr std::ptrdiff_t m_bStartActive = 0x4E8; // bool
+                constexpr std::ptrdiff_t m_flMaxSimulationTime = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_iszEffectName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_PathNodes_Name = 0x4F8; // CUtlVector<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_flParticleSpacing = 0x510; // float32
+                constexpr std::ptrdiff_t m_flSlack = 0x514; // float32
+                constexpr std::ptrdiff_t m_flRadius = 0x518; // float32
+                constexpr std::ptrdiff_t m_ColorTint = 0x51C; // Color
+                constexpr std::ptrdiff_t m_nEffectState = 0x520; // int32
+                constexpr std::ptrdiff_t m_iEffectIndex = 0x528; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                constexpr std::ptrdiff_t m_PathNodes_Position = 0x530; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_TangentIn = 0x548; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_TangentOut = 0x560; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_Color = 0x578; // CNetworkUtlVectorBase<Vector>
+                constexpr std::ptrdiff_t m_PathNodes_PinEnabled = 0x590; // CNetworkUtlVectorBase<bool>
+                constexpr std::ptrdiff_t m_PathNodes_RadiusScale = 0x5A8; // CNetworkUtlVectorBase<float32>
+            }
+            // Parent: CBaseEntity
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_flVisibilityStrength (float)
+            // NetworkVarNames: m_flFogDistanceMultiplier (float)
+            // NetworkVarNames: m_flFogMaxDensityMultiplier (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            namespace CPlayerVisibility {
+                constexpr std::ptrdiff_t m_flVisibilityStrength = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flFogDistanceMultiplier = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flFogMaxDensityMultiplier = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flFadeTime = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x4F0; // bool
+                constexpr std::ptrdiff_t m_bIsEnabled = 0x4F1; // bool
+            }
+            // Parent: CServerOnlyEntity
+            // Field count: 0
+            namespace CServerOnlyPointEntity {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CAK47 {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 4
+            namespace CTriggerTeleport {
+                constexpr std::ptrdiff_t m_iLandmark = 0x960; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bUseLandmarkAngles = 0x968; // bool
+                constexpr std::ptrdiff_t m_bMirrorPlayer = 0x969; // bool
+                constexpr std::ptrdiff_t m_bCheckDestIfClearForPlayer = 0x96A; // bool
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 0
+            namespace CCSObserver_CameraServices {
+            }
+            // Parent: CCSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            namespace CCSGO_TeamIntroTerroristPosition {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 38
+            namespace CFuncMover {
+                constexpr std::ptrdiff_t m_bCreateMovableNavMesh = 0x790; // bool
+                constexpr std::ptrdiff_t m_iszPathName = 0x798; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hPathMover = 0x7A0; // CHandle<CPathMover>
+                constexpr std::ptrdiff_t m_iszPathNodeStart = 0x7A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_eMoveType = 0x7B0; // CFuncMover::Move_t
+                constexpr std::ptrdiff_t m_bIsReversing = 0x7B4; // bool
+                constexpr std::ptrdiff_t m_vTarget = 0x7B8; // Vector
+                constexpr std::ptrdiff_t m_flStartSpeed = 0x7C4; // float32
+                constexpr std::ptrdiff_t m_flPathLocation = 0x7C8; // float32
+                constexpr std::ptrdiff_t m_flT = 0x7CC; // float32
+                constexpr std::ptrdiff_t m_nCurrentNodeIndex = 0x7D0; // int32
+                constexpr std::ptrdiff_t m_nPreviousNodeIndex = 0x7D4; // int32
+                constexpr std::ptrdiff_t m_bFixedOrientation = 0x7D8; // bool
+                constexpr std::ptrdiff_t m_bFixedPitch = 0x7D9; // bool
+                constexpr std::ptrdiff_t m_eSolidType = 0x7DA; // SolidType_t
+                constexpr std::ptrdiff_t m_bIsMoving = 0x7DB; // bool
+                constexpr std::ptrdiff_t m_flTimeToReachMaxSpeed = 0x7DC; // float32
+                constexpr std::ptrdiff_t m_flDistanceToReachMaxSpeed = 0x7E0; // float32
+                constexpr std::ptrdiff_t m_flTimeToReachZeroSpeed = 0x7E4; // float32
+                constexpr std::ptrdiff_t m_flDistanceToReachZeroSpeed = 0x7E8; // float32
+                constexpr std::ptrdiff_t m_flTimeMovementStart = 0x7EC; // GameTime_t
+                constexpr std::ptrdiff_t m_flTimeMovementStop = 0x7F0; // GameTime_t
+                constexpr std::ptrdiff_t m_hStopAtNode = 0x7F4; // CHandle<CMoverPathNode>
+                constexpr std::ptrdiff_t m_flPathLocationToBeginStop = 0x7F8; // float32
+                constexpr std::ptrdiff_t m_iszStartForwardSound = 0x800; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszLoopForwardSound = 0x808; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszStopForwardSound = 0x810; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszStartReverseSound = 0x818; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszLoopReverseSound = 0x820; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszStopReverseSound = 0x828; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszArriveAtDestinationSound = 0x830; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnMovementEnd = 0x840; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bStartAtEnd = 0x868; // bool
+                constexpr std::ptrdiff_t m_eOrientationUpdate = 0x86C; // CFuncMover::OrientationUpdate_t
+                constexpr std::ptrdiff_t m_flTimeStartOrientationChange = 0x870; // GameTime_t
+                constexpr std::ptrdiff_t m_flTimeToBlendToNewOrientation = 0x874; // float32
+                constexpr std::ptrdiff_t m_flDurationBlendToNewOrientationRan = 0x878; // float32
+                constexpr std::ptrdiff_t m_qOriginalOrientation = 0x880; // Quaternion
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: localSound (Vector)
+            // NetworkVarNames: soundscapeIndex (int32)
+            // NetworkVarNames: localBits (uint8)
+            // NetworkVarNames: soundscapeEntityListIndex (int)
+            // NetworkVarNames: soundEventHash (uint32)
+            namespace audioparams_t {
+                constexpr std::ptrdiff_t localSound = 0x8; // Vector[8]
+                constexpr std::ptrdiff_t soundscapeIndex = 0x68; // int32
+                constexpr std::ptrdiff_t localBits = 0x6C; // uint8
+                constexpr std::ptrdiff_t soundscapeEntityListIndex = 0x70; // int32
+                constexpr std::ptrdiff_t soundEventHash = 0x74; // uint32
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            namespace CHEGrenade {
+            }
+            // Parent: CRulePointEntity
+            // Field count: 0
+            namespace CGameEnd {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CTriggerCallback {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 3
+            namespace CBubbling {
+                constexpr std::ptrdiff_t m_density = 0x790; // int32
+                constexpr std::ptrdiff_t m_frequency = 0x794; // int32
+                constexpr std::ptrdiff_t m_state = 0x798; // int32
+            }
+            // Parent: CTeamplayRules
+            // Field count: 190
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFreezePeriod (bool)
+            // NetworkVarNames: m_bWarmupPeriod (bool)
+            // NetworkVarNames: m_fWarmupPeriodEnd (GameTime_t)
+            // NetworkVarNames: m_fWarmupPeriodStart (GameTime_t)
+            // NetworkVarNames: m_bServerPaused (bool)
+            // NetworkVarNames: m_bTerroristTimeOutActive (bool)
+            // NetworkVarNames: m_bCTTimeOutActive (bool)
+            // NetworkVarNames: m_flTerroristTimeOutRemaining (float)
+            // NetworkVarNames: m_flCTTimeOutRemaining (float)
+            // NetworkVarNames: m_nTerroristTimeOuts (int)
+            // NetworkVarNames: m_nCTTimeOuts (int)
+            // NetworkVarNames: m_bTechnicalTimeOut (bool)
+            // NetworkVarNames: m_bMatchWaitingForResume (bool)
+            // NetworkVarNames: m_iRoundTime (int)
+            // NetworkVarNames: m_fMatchStartTime (float)
+            // NetworkVarNames: m_fRoundStartTime (GameTime_t)
+            // NetworkVarNames: m_flRestartRoundTime (GameTime_t)
+            // NetworkVarNames: m_bGameRestart (bool)
+            // NetworkVarNames: m_flGameStartTime (float)
+            // NetworkVarNames: m_timeUntilNextPhaseStarts (float)
+            // NetworkVarNames: m_gamePhase (int)
+            // NetworkVarNames: m_totalRoundsPlayed (int)
+            // NetworkVarNames: m_nRoundsPlayedThisPhase (int)
+            // NetworkVarNames: m_nOvertimePlaying (int)
+            // NetworkVarNames: m_iHostagesRemaining (int)
+            // NetworkVarNames: m_bAnyHostageReached (bool)
+            // NetworkVarNames: m_bMapHasBombTarget (bool)
+            // NetworkVarNames: m_bMapHasRescueZone (bool)
+            // NetworkVarNames: m_bMapHasBuyZone (bool)
+            // NetworkVarNames: m_bIsQueuedMatchmaking (bool)
+            // NetworkVarNames: m_nQueuedMatchmakingMode (int)
+            // NetworkVarNames: m_bIsValveDS (bool)
+            // NetworkVarNames: m_bLogoMap (bool)
+            // NetworkVarNames: m_bPlayAllStepSoundsOnServer (bool)
+            // NetworkVarNames: m_iSpectatorSlotCount (int)
+            // NetworkVarNames: m_MatchDevice (int)
+            // NetworkVarNames: m_bHasMatchStarted (bool)
+            // NetworkVarNames: m_nNextMapInMapgroup (int)
+            // NetworkVarNames: m_szTournamentEventName (char)
+            // NetworkVarNames: m_szTournamentEventStage (char)
+            // NetworkVarNames: m_szMatchStatTxt (char)
+            // NetworkVarNames: m_szTournamentPredictionsTxt (char)
+            // NetworkVarNames: m_nTournamentPredictionsPct (int)
+            // NetworkVarNames: m_flCMMItemDropRevealStartTime (GameTime_t)
+            // NetworkVarNames: m_flCMMItemDropRevealEndTime (GameTime_t)
+            // NetworkVarNames: m_bIsDroppingItems (bool)
+            // NetworkVarNames: m_bIsQuestEligible (bool)
+            // NetworkVarNames: m_bIsHltvActive (bool)
+            // NetworkVarNames: m_arrProhibitedItemIndices (uint16)
+            // NetworkVarNames: m_arrTournamentActiveCasterAccounts (uint32)
+            // NetworkVarNames: m_numBestOfMaps (int)
+            // NetworkVarNames: m_nHalloweenMaskListSeed (int)
+            // NetworkVarNames: m_bBombDropped (bool)
+            // NetworkVarNames: m_bBombPlanted (bool)
+            // NetworkVarNames: m_iRoundWinStatus (int)
+            // NetworkVarNames: m_eRoundWinReason (int)
+            // NetworkVarNames: m_bTCantBuy (bool)
+            // NetworkVarNames: m_bCTCantBuy (bool)
+            // NetworkVarNames: m_iMatchStats_RoundResults (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_CT (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_T (int)
+            // NetworkVarNames: m_TeamRespawnWaveTimes (float)
+            // NetworkVarNames: m_flNextRespawnWave (GameTime_t)
+            // NetworkVarNames: m_nServerQuestID (int)
+            // NetworkVarNames: m_vMinimapMins (Vector)
+            // NetworkVarNames: m_vMinimapMaxs (Vector)
+            // NetworkVarNames: m_MinimapVerticalSectionHeights (float)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteTypes (int)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteOptions (int)
+            // NetworkVarNames: m_nEndMatchMapVoteWinner (int)
+            // NetworkVarNames: m_iNumConsecutiveCTLoses (int)
+            // NetworkVarNames: m_iNumConsecutiveTerroristLoses (int)
+            // NetworkVarNames: m_nMatchAbortedEarlyReason (int)
+            // NetworkVarNames: m_pGameModeRules (CCSGameModeRules*)
+            // NetworkVarNames: m_RetakeRules (CRetakeGameRules)
+            // NetworkVarNames: m_nMatchEndCount (uint8)
+            // NetworkVarNames: m_nTTeamIntroVariant (int)
+            // NetworkVarNames: m_nCTTeamIntroVariant (int)
+            // NetworkVarNames: m_bTeamIntroPeriod (bool)
+            // NetworkVarNames: m_iRoundEndWinnerTeam (int)
+            // NetworkVarNames: m_eRoundEndReason (int)
+            // NetworkVarNames: m_bRoundEndShowTimerDefend (bool)
+            // NetworkVarNames: m_iRoundEndTimerTime (int)
+            // NetworkVarNames: m_sRoundEndFunFactToken (CUtlString)
+            // NetworkVarNames: m_iRoundEndFunFactPlayerSlot (CPlayerSlot)
+            // NetworkVarNames: m_iRoundEndFunFactData1 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData2 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData3 (int)
+            // NetworkVarNames: m_sRoundEndMessage (CUtlString)
+            // NetworkVarNames: m_iRoundEndPlayerCount (int)
+            // NetworkVarNames: m_bRoundEndNoMusic (bool)
+            // NetworkVarNames: m_iRoundEndLegacy (int)
+            // NetworkVarNames: m_nRoundEndCount (uint8)
+            // NetworkVarNames: m_iRoundStartRoundNumber (int)
+            // NetworkVarNames: m_nRoundStartCount (uint8)
+            namespace CCSGameRules {
+                constexpr std::ptrdiff_t m_bFreezePeriod = 0xC8; // bool
+                constexpr std::ptrdiff_t m_bWarmupPeriod = 0xC9; // bool
+                constexpr std::ptrdiff_t m_fWarmupPeriodEnd = 0xCC; // GameTime_t
+                constexpr std::ptrdiff_t m_fWarmupPeriodStart = 0xD0; // GameTime_t
+                constexpr std::ptrdiff_t m_bServerPaused = 0xD4; // bool
+                constexpr std::ptrdiff_t m_bTerroristTimeOutActive = 0xD5; // bool
+                constexpr std::ptrdiff_t m_bCTTimeOutActive = 0xD6; // bool
+                constexpr std::ptrdiff_t m_flTerroristTimeOutRemaining = 0xD8; // float32
+                constexpr std::ptrdiff_t m_flCTTimeOutRemaining = 0xDC; // float32
+                constexpr std::ptrdiff_t m_nTerroristTimeOuts = 0xE0; // int32
+                constexpr std::ptrdiff_t m_nCTTimeOuts = 0xE4; // int32
+                constexpr std::ptrdiff_t m_bTechnicalTimeOut = 0xE8; // bool
+                constexpr std::ptrdiff_t m_bMatchWaitingForResume = 0xE9; // bool
+                constexpr std::ptrdiff_t m_iRoundTime = 0xEC; // int32
+                constexpr std::ptrdiff_t m_fMatchStartTime = 0xF0; // float32
+                constexpr std::ptrdiff_t m_fRoundStartTime = 0xF4; // GameTime_t
+                constexpr std::ptrdiff_t m_flRestartRoundTime = 0xF8; // GameTime_t
+                constexpr std::ptrdiff_t m_bGameRestart = 0xFC; // bool
+                constexpr std::ptrdiff_t m_flGameStartTime = 0x100; // float32
+                constexpr std::ptrdiff_t m_timeUntilNextPhaseStarts = 0x104; // float32
+                constexpr std::ptrdiff_t m_gamePhase = 0x108; // int32
+                constexpr std::ptrdiff_t m_totalRoundsPlayed = 0x10C; // int32
+                constexpr std::ptrdiff_t m_nRoundsPlayedThisPhase = 0x110; // int32
+                constexpr std::ptrdiff_t m_nOvertimePlaying = 0x114; // int32
+                constexpr std::ptrdiff_t m_iHostagesRemaining = 0x118; // int32
+                constexpr std::ptrdiff_t m_bAnyHostageReached = 0x11C; // bool
+                constexpr std::ptrdiff_t m_bMapHasBombTarget = 0x11D; // bool
+                constexpr std::ptrdiff_t m_bMapHasRescueZone = 0x11E; // bool
+                constexpr std::ptrdiff_t m_bMapHasBuyZone = 0x11F; // bool
+                constexpr std::ptrdiff_t m_bIsQueuedMatchmaking = 0x120; // bool
+                constexpr std::ptrdiff_t m_nQueuedMatchmakingMode = 0x124; // int32
+                constexpr std::ptrdiff_t m_bIsValveDS = 0x128; // bool
+                constexpr std::ptrdiff_t m_bLogoMap = 0x129; // bool
+                constexpr std::ptrdiff_t m_bPlayAllStepSoundsOnServer = 0x12A; // bool
+                constexpr std::ptrdiff_t m_iSpectatorSlotCount = 0x12C; // int32
+                constexpr std::ptrdiff_t m_MatchDevice = 0x130; // int32
+                constexpr std::ptrdiff_t m_bHasMatchStarted = 0x134; // bool
+                constexpr std::ptrdiff_t m_nNextMapInMapgroup = 0x138; // int32
+                constexpr std::ptrdiff_t m_szTournamentEventName = 0x13C; // char[512]
+                constexpr std::ptrdiff_t m_szTournamentEventStage = 0x33C; // char[512]
+                constexpr std::ptrdiff_t m_szMatchStatTxt = 0x53C; // char[512]
+                constexpr std::ptrdiff_t m_szTournamentPredictionsTxt = 0x73C; // char[512]
+                constexpr std::ptrdiff_t m_nTournamentPredictionsPct = 0x93C; // int32
+                constexpr std::ptrdiff_t m_flCMMItemDropRevealStartTime = 0x940; // GameTime_t
+                constexpr std::ptrdiff_t m_flCMMItemDropRevealEndTime = 0x944; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsDroppingItems = 0x948; // bool
+                constexpr std::ptrdiff_t m_bIsQuestEligible = 0x949; // bool
+                constexpr std::ptrdiff_t m_bIsHltvActive = 0x94A; // bool
+                constexpr std::ptrdiff_t m_arrProhibitedItemIndices = 0x94C; // uint16[100]
+                constexpr std::ptrdiff_t m_arrTournamentActiveCasterAccounts = 0xA14; // uint32[4]
+                constexpr std::ptrdiff_t m_numBestOfMaps = 0xA24; // int32
+                constexpr std::ptrdiff_t m_nHalloweenMaskListSeed = 0xA28; // int32
+                constexpr std::ptrdiff_t m_bBombDropped = 0xA2C; // bool
+                constexpr std::ptrdiff_t m_bBombPlanted = 0xA2D; // bool
+                constexpr std::ptrdiff_t m_iRoundWinStatus = 0xA30; // int32
+                constexpr std::ptrdiff_t m_eRoundWinReason = 0xA34; // int32
+                constexpr std::ptrdiff_t m_bTCantBuy = 0xA38; // bool
+                constexpr std::ptrdiff_t m_bCTCantBuy = 0xA39; // bool
+                constexpr std::ptrdiff_t m_iMatchStats_RoundResults = 0xA3C; // int32[30]
+                constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_CT = 0xAB4; // int32[30]
+                constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_T = 0xB2C; // int32[30]
+                constexpr std::ptrdiff_t m_TeamRespawnWaveTimes = 0xBA4; // float32[32]
+                constexpr std::ptrdiff_t m_flNextRespawnWave = 0xC24; // GameTime_t[32]
+                constexpr std::ptrdiff_t m_nServerQuestID = 0xCA4; // int32
+                constexpr std::ptrdiff_t m_vMinimapMins = 0xCA8; // Vector
+                constexpr std::ptrdiff_t m_vMinimapMaxs = 0xCB4; // Vector
+                constexpr std::ptrdiff_t m_MinimapVerticalSectionHeights = 0xCC0; // float32[8]
+                constexpr std::ptrdiff_t m_bSpawnedTerrorHuntHeavy = 0xCE0; // bool
+                constexpr std::ptrdiff_t m_ullLocalMatchID = 0xCE8; // uint64
+                constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteTypes = 0xCF0; // int32[10]
+                constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteOptions = 0xD18; // int32[10]
+                constexpr std::ptrdiff_t m_nEndMatchMapVoteWinner = 0xD40; // int32
+                constexpr std::ptrdiff_t m_iNumConsecutiveCTLoses = 0xD44; // int32
+                constexpr std::ptrdiff_t m_iNumConsecutiveTerroristLoses = 0xD48; // int32
+                constexpr std::ptrdiff_t m_bHasHostageBeenTouched = 0xD68; // bool
+                constexpr std::ptrdiff_t m_flIntermissionStartTime = 0xD6C; // GameTime_t
+                constexpr std::ptrdiff_t m_flIntermissionEndTime = 0xD70; // GameTime_t
+                constexpr std::ptrdiff_t m_bLevelInitialized = 0xD74; // bool
+                constexpr std::ptrdiff_t m_iTotalRoundsPlayed = 0xD78; // int32
+                constexpr std::ptrdiff_t m_iUnBalancedRounds = 0xD7C; // int32
+                constexpr std::ptrdiff_t m_endMatchOnRoundReset = 0xD80; // bool
+                constexpr std::ptrdiff_t m_endMatchOnThink = 0xD81; // bool
+                constexpr std::ptrdiff_t m_iFreezeTime = 0xD84; // int32
+                constexpr std::ptrdiff_t m_iNumTerrorist = 0xD88; // int32
+                constexpr std::ptrdiff_t m_iNumCT = 0xD8C; // int32
+                constexpr std::ptrdiff_t m_iNumSpawnableTerrorist = 0xD90; // int32
+                constexpr std::ptrdiff_t m_iNumSpawnableCT = 0xD94; // int32
+                constexpr std::ptrdiff_t m_arrSelectedHostageSpawnIndices = 0xD98; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_nSpawnPointsRandomSeed = 0xDB0; // int32
+                constexpr std::ptrdiff_t m_bFirstConnected = 0xDB4; // bool
+                constexpr std::ptrdiff_t m_bCompleteReset = 0xDB5; // bool
+                constexpr std::ptrdiff_t m_bPickNewTeamsOnReset = 0xDB6; // bool
+                constexpr std::ptrdiff_t m_bScrambleTeamsOnRestart = 0xDB7; // bool
+                constexpr std::ptrdiff_t m_bSwapTeamsOnRestart = 0xDB8; // bool
+                constexpr std::ptrdiff_t m_nEndMatchTiedVotes = 0xDC0; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_bNeedToAskPlayersForContinueVote = 0xDDC; // bool
+                constexpr std::ptrdiff_t m_numQueuedMatchmakingAccounts = 0xDE0; // uint32
+                constexpr std::ptrdiff_t m_fAvgPlayerRank = 0xDE4; // float32
+                constexpr std::ptrdiff_t m_pQueuedMatchmakingReservationString = 0xDE8; // char*
+                constexpr std::ptrdiff_t m_numTotalTournamentDrops = 0xDF0; // uint32
+                constexpr std::ptrdiff_t m_numSpectatorsCountMax = 0xDF4; // uint32
+                constexpr std::ptrdiff_t m_numSpectatorsCountMaxTV = 0xDF8; // uint32
+                constexpr std::ptrdiff_t m_numSpectatorsCountMaxLnk = 0xDFC; // uint32
+                constexpr std::ptrdiff_t m_bForceTeamChangeSilent = 0xE08; // bool
+                constexpr std::ptrdiff_t m_bLoadingRoundBackupData = 0xE09; // bool
+                constexpr std::ptrdiff_t m_nMatchInfoShowType = 0xE40; // int32
+                constexpr std::ptrdiff_t m_flMatchInfoDecidedTime = 0xE44; // float32
+                constexpr std::ptrdiff_t mTeamDMLastWinningTeamNumber = 0xE60; // int32
+                constexpr std::ptrdiff_t mTeamDMLastThinkTime = 0xE64; // float32
+                constexpr std::ptrdiff_t m_flTeamDMLastAnnouncementTime = 0xE68; // float32
+                constexpr std::ptrdiff_t m_iAccountTerrorist = 0xE6C; // int32
+                constexpr std::ptrdiff_t m_iAccountCT = 0xE70; // int32
+                constexpr std::ptrdiff_t m_iSpawnPointCount_Terrorist = 0xE74; // int32
+                constexpr std::ptrdiff_t m_iSpawnPointCount_CT = 0xE78; // int32
+                constexpr std::ptrdiff_t m_iMaxNumTerrorists = 0xE7C; // int32
+                constexpr std::ptrdiff_t m_iMaxNumCTs = 0xE80; // int32
+                constexpr std::ptrdiff_t m_iLoserBonusMostRecentTeam = 0xE84; // int32
+                constexpr std::ptrdiff_t m_tmNextPeriodicThink = 0xE88; // float32
+                constexpr std::ptrdiff_t m_bVoiceWonMatchBragFired = 0xE8C; // bool
+                constexpr std::ptrdiff_t m_fWarmupNextChatNoticeTime = 0xE90; // float32
+                constexpr std::ptrdiff_t m_iHostagesRescued = 0xE98; // int32
+                constexpr std::ptrdiff_t m_iHostagesTouched = 0xE9C; // int32
+                constexpr std::ptrdiff_t m_flNextHostageAnnouncement = 0xEA0; // float32
+                constexpr std::ptrdiff_t m_bNoTerroristsKilled = 0xEA4; // bool
+                constexpr std::ptrdiff_t m_bNoCTsKilled = 0xEA5; // bool
+                constexpr std::ptrdiff_t m_bNoEnemiesKilled = 0xEA6; // bool
+                constexpr std::ptrdiff_t m_bCanDonateWeapons = 0xEA7; // bool
+                constexpr std::ptrdiff_t m_firstKillTime = 0xEAC; // float32
+                constexpr std::ptrdiff_t m_firstBloodTime = 0xEB4; // float32
+                constexpr std::ptrdiff_t m_hostageWasInjured = 0xED0; // bool
+                constexpr std::ptrdiff_t m_hostageWasKilled = 0xED1; // bool
+                constexpr std::ptrdiff_t m_bVoteCalled = 0xEE0; // bool
+                constexpr std::ptrdiff_t m_bServerVoteOnReset = 0xEE1; // bool
+                constexpr std::ptrdiff_t m_flVoteCheckThrottle = 0xEE4; // float32
+                constexpr std::ptrdiff_t m_bBuyTimeEnded = 0xEE8; // bool
+                constexpr std::ptrdiff_t m_nLastFreezeEndBeep = 0xEEC; // int32
+                constexpr std::ptrdiff_t m_bTargetBombed = 0xEF0; // bool
+                constexpr std::ptrdiff_t m_bBombDefused = 0xEF1; // bool
+                constexpr std::ptrdiff_t m_bMapHasBombZone = 0xEF2; // bool
+                constexpr std::ptrdiff_t m_vecMainCTSpawnPos = 0xF40; // Vector
+                constexpr std::ptrdiff_t m_CTSpawnPointsMasterList = 0xF50; // CUtlVector<SpawnPoint*>
+                constexpr std::ptrdiff_t m_TerroristSpawnPointsMasterList = 0xF68; // CUtlVector<SpawnPoint*>
+                constexpr std::ptrdiff_t m_bRespawningAllRespawnablePlayers = 0xF80; // bool
+                constexpr std::ptrdiff_t m_iNextCTSpawnPoint = 0xF84; // int32
+                constexpr std::ptrdiff_t m_flCTSpawnPointUsedTime = 0xF88; // float32
+                constexpr std::ptrdiff_t m_iNextTerroristSpawnPoint = 0xF8C; // int32
+                constexpr std::ptrdiff_t m_flTerroristSpawnPointUsedTime = 0xF90; // float32
+                constexpr std::ptrdiff_t m_CTSpawnPoints = 0xF98; // CUtlVector<SpawnPoint*>
+                constexpr std::ptrdiff_t m_TerroristSpawnPoints = 0xFB0; // CUtlVector<SpawnPoint*>
+                constexpr std::ptrdiff_t m_bIsUnreservedGameServer = 0xFC8; // bool
+                constexpr std::ptrdiff_t m_fAutobalanceDisplayTime = 0xFCC; // float32
+                constexpr std::ptrdiff_t m_bAllowWeaponSwitch = 0x1238; // bool
+                constexpr std::ptrdiff_t m_bRoundTimeWarningTriggered = 0x1239; // bool
+                constexpr std::ptrdiff_t m_phaseChangeAnnouncementTime = 0x123C; // GameTime_t
+                constexpr std::ptrdiff_t m_fNextUpdateTeamClanNamesTime = 0x1240; // float32
+                constexpr std::ptrdiff_t m_flLastThinkTime = 0x1244; // GameTime_t
+                constexpr std::ptrdiff_t m_fAccumulatedRoundOffDamage = 0x1248; // float32
+                constexpr std::ptrdiff_t m_nShorthandedBonusLastEvalRound = 0x124C; // int32
+                constexpr std::ptrdiff_t m_nMatchAbortedEarlyReason = 0x14C8; // int32
+                constexpr std::ptrdiff_t m_bHasTriggeredRoundStartMusic = 0x14CC; // bool
+                constexpr std::ptrdiff_t m_bSwitchingTeamsAtRoundReset = 0x14CD; // bool
+                constexpr std::ptrdiff_t m_pGameModeRules = 0x14E8; // CCSGameModeRules*
+                constexpr std::ptrdiff_t m_BtGlobalBlackboard = 0x14F0; // KeyValues3
+                constexpr std::ptrdiff_t m_hPlayerResource = 0x1580; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_RetakeRules = 0x1588; // CRetakeGameRules
+                constexpr std::ptrdiff_t m_arrTeamUniqueKillWeaponsMatch = 0x1720; // CUtlVector<int32>[4]
+                constexpr std::ptrdiff_t m_bTeamLastKillUsedUniqueWeaponMatch = 0x1780; // bool[4]
+                constexpr std::ptrdiff_t m_nMatchEndCount = 0x17A8; // uint8
+                constexpr std::ptrdiff_t m_nTTeamIntroVariant = 0x17AC; // int32
+                constexpr std::ptrdiff_t m_nCTTeamIntroVariant = 0x17B0; // int32
+                constexpr std::ptrdiff_t m_bTeamIntroPeriod = 0x17B4; // bool
+                constexpr std::ptrdiff_t m_fTeamIntroPeriodEnd = 0x17B8; // GameTime_t
+                constexpr std::ptrdiff_t m_bPlayedTeamIntroVO = 0x17BC; // bool
+                constexpr std::ptrdiff_t m_iRoundEndWinnerTeam = 0x17C0; // int32
+                constexpr std::ptrdiff_t m_eRoundEndReason = 0x17C4; // int32
+                constexpr std::ptrdiff_t m_bRoundEndShowTimerDefend = 0x17C8; // bool
+                constexpr std::ptrdiff_t m_iRoundEndTimerTime = 0x17CC; // int32
+                constexpr std::ptrdiff_t m_sRoundEndFunFactToken = 0x17D0; // CUtlString
+                constexpr std::ptrdiff_t m_iRoundEndFunFactPlayerSlot = 0x17D8; // CPlayerSlot
+                constexpr std::ptrdiff_t m_iRoundEndFunFactData1 = 0x17DC; // int32
+                constexpr std::ptrdiff_t m_iRoundEndFunFactData2 = 0x17E0; // int32
+                constexpr std::ptrdiff_t m_iRoundEndFunFactData3 = 0x17E4; // int32
+                constexpr std::ptrdiff_t m_sRoundEndMessage = 0x17E8; // CUtlString
+                constexpr std::ptrdiff_t m_iRoundEndPlayerCount = 0x17F0; // int32
+                constexpr std::ptrdiff_t m_bRoundEndNoMusic = 0x17F4; // bool
+                constexpr std::ptrdiff_t m_iRoundEndLegacy = 0x17F8; // int32
+                constexpr std::ptrdiff_t m_nRoundEndCount = 0x17FC; // uint8
+                constexpr std::ptrdiff_t m_iRoundStartRoundNumber = 0x1800; // int32
+                constexpr std::ptrdiff_t m_nRoundStartCount = 0x1804; // uint8
+                constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x5810; // float64
+            }
+            // Parent: CPhysicsProp
+            // Field count: 0
+            namespace CPhysicsPropOverride {
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            namespace CAI_ChangeHintGroup {
+                constexpr std::ptrdiff_t m_iSearchType = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_strSearchName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_strNewHintGroup = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flRadius = 0x4F8; // float32
+            }
+            // Parent: CBaseTrigger
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_MaxWeight (float32)
+            // NetworkVarNames: m_FadeDuration (float32)
+            // NetworkVarNames: m_Weight (float32)
+            // NetworkVarNames: m_lookupFilename (char)
+            namespace CColorCorrectionVolume {
+                constexpr std::ptrdiff_t m_bEnabled = 0x960; // bool
+                constexpr std::ptrdiff_t m_MaxWeight = 0x964; // float32
+                constexpr std::ptrdiff_t m_FadeDuration = 0x968; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x96C; // bool
+                constexpr std::ptrdiff_t m_Weight = 0x970; // float32
+                constexpr std::ptrdiff_t m_lookupFilename = 0x974; // char[512]
+                constexpr std::ptrdiff_t m_LastEnterWeight = 0xB74; // float32
+                constexpr std::ptrdiff_t m_LastEnterTime = 0xB78; // GameTime_t
+                constexpr std::ptrdiff_t m_LastExitWeight = 0xB7C; // float32
+                constexpr std::ptrdiff_t m_LastExitTime = 0xB80; // GameTime_t
+            }
+            // Parent: CBaseFilter
+            // Field count: 5
+            namespace CFilterEnemy {
+                constexpr std::ptrdiff_t m_iszEnemyName = 0x538; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flRadius = 0x540; // float32
+                constexpr std::ptrdiff_t m_flOuterRadius = 0x544; // float32
+                constexpr std::ptrdiff_t m_nMaxSquadmatesPerEnemy = 0x548; // int32
+                constexpr std::ptrdiff_t m_iszPlayerName = 0x550; // CUtlSymbolLarge
+            }
+            // Parent: CModelPointEntity
+            // Field count: 0
+            namespace CShower {
+            }
+            // Parent: CBaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_flEndDistance (float)
+            // NetworkVarNames: m_flStartDistance (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogHeightWidth (float)
+            // NetworkVarNames: m_flFogHeightEnd (float)
+            // NetworkVarNames: m_flFogHeightStart (float)
+            // NetworkVarNames: m_flFogHeightExponent (float)
+            // NetworkVarNames: m_flLODBias (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_nCubemapSourceType (int)
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_iszSkyEntity (string_t)
+            // NetworkVarNames: m_hFogCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_bHasHeightFogEnd (bool)
+            namespace CEnvCubemapFog {
+                constexpr std::ptrdiff_t m_flEndDistance = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flStartDistance = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x4EC; // bool
+                constexpr std::ptrdiff_t m_flFogHeightWidth = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flFogHeightEnd = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flFogHeightStart = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_flFogHeightExponent = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_flLODBias = 0x500; // float32
+                constexpr std::ptrdiff_t m_bActive = 0x504; // bool
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x505; // bool
+                constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x508; // float32
+                constexpr std::ptrdiff_t m_nCubemapSourceType = 0x50C; // int32
+                constexpr std::ptrdiff_t m_hSkyMaterial = 0x510; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_iszSkyEntity = 0x518; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFogCubemapTexture = 0x520; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_bHasHeightFogEnd = 0x528; // bool
+                constexpr std::ptrdiff_t m_bFirstTime = 0x529; // bool
+            }
+            // Parent: CBaseButton
+            // Field count: 0
+            namespace CPhysicalButton {
+            }
+            // Parent: CModelPointEntity
+            // Field count: 16
+            namespace CEnvExplosion {
+                constexpr std::ptrdiff_t m_iMagnitude = 0x790; // int32
+                constexpr std::ptrdiff_t m_flPlayerDamage = 0x794; // float32
+                constexpr std::ptrdiff_t m_iRadiusOverride = 0x798; // int32
+                constexpr std::ptrdiff_t m_flInnerRadius = 0x79C; // float32
+                constexpr std::ptrdiff_t m_spriteScale = 0x7A0; // int32
+                constexpr std::ptrdiff_t m_flDamageForce = 0x7A4; // float32
+                constexpr std::ptrdiff_t m_hInflictor = 0x7A8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iCustomDamageType = 0x7AC; // DamageTypes_t
+                constexpr std::ptrdiff_t m_bCreateDebris = 0x7B0; // bool
+                constexpr std::ptrdiff_t m_iszExplosionType = 0x7B8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszCustomEffectName = 0x7C0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszCustomSoundName = 0x7C8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iClassIgnore = 0x7D0; // Class_T
+                constexpr std::ptrdiff_t m_iClassIgnore2 = 0x7D4; // Class_T
+                constexpr std::ptrdiff_t m_iszEntityIgnoreName = 0x7D8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hEntityIgnore = 0x7E0; // CHandle<CBaseEntity>
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            namespace CSoundEventAABBEntity {
+                constexpr std::ptrdiff_t m_vMins = 0x598; // Vector
+                constexpr std::ptrdiff_t m_vMaxs = 0x5A4; // Vector
+            }
+            // Parent: CTriggerMultiple
+            // Field count: 0
+            namespace CTriggerOnce {
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CPrecipitationVData {
+                constexpr std::ptrdiff_t m_szParticlePrecipitationEffect = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_flInnerDistance = 0x108; // float32
+                constexpr std::ptrdiff_t m_nAttachType = 0x10C; // ParticleAttachment_t
+                constexpr std::ptrdiff_t m_bBatchSameVolumeType = 0x110; // bool
+                constexpr std::ptrdiff_t m_nRTEnvCP = 0x114; // int32
+                constexpr std::ptrdiff_t m_nRTEnvCPComponent = 0x118; // int32
+                constexpr std::ptrdiff_t m_szModifier = 0x120; // CUtlString
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CLogicProximity {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszCommentaryFile (string_t)
+            // NetworkVarNames: m_hViewPosition (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flStartTimeInCommentary (float32)
+            // NetworkVarNames: m_iszTitle (string_t)
+            // NetworkVarNames: m_iszSpeakers (string_t)
+            // NetworkVarNames: m_iNodeNumber (int)
+            // NetworkVarNames: m_iNodeNumberMax (int)
+            // NetworkVarNames: m_bListenedTo (bool)
+            namespace CPointCommentaryNode {
+                constexpr std::ptrdiff_t m_iszPreCommands = 0x9A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszPostCommands = 0x9B0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszCommentaryFile = 0x9B8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszViewTarget = 0x9C0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hViewTarget = 0x9C8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hViewTargetAngles = 0x9CC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iszViewPosition = 0x9D0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hViewPosition = 0x9D8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hViewPositionMover = 0x9DC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bPreventMovement = 0x9E0; // bool
+                constexpr std::ptrdiff_t m_bUnderCrosshair = 0x9E1; // bool
+                constexpr std::ptrdiff_t m_bUnstoppable = 0x9E2; // bool
+                constexpr std::ptrdiff_t m_flFinishedTime = 0x9E4; // GameTime_t
+                constexpr std::ptrdiff_t m_vecFinishOrigin = 0x9E8; // Vector
+                constexpr std::ptrdiff_t m_vecOriginalAngles = 0x9F4; // QAngle
+                constexpr std::ptrdiff_t m_vecFinishAngles = 0xA00; // QAngle
+                constexpr std::ptrdiff_t m_bPreventChangesWhileMoving = 0xA0C; // bool
+                constexpr std::ptrdiff_t m_bDisabled = 0xA0D; // bool
+                constexpr std::ptrdiff_t m_vecTeleportOrigin = 0xA10; // Vector
+                constexpr std::ptrdiff_t m_flAbortedPlaybackAt = 0xA1C; // GameTime_t
+                constexpr std::ptrdiff_t m_pOnCommentaryStarted = 0xA20; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_pOnCommentaryStopped = 0xA48; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bActive = 0xA70; // bool
+                constexpr std::ptrdiff_t m_flStartTime = 0xA74; // GameTime_t
+                constexpr std::ptrdiff_t m_flStartTimeInCommentary = 0xA78; // float32
+                constexpr std::ptrdiff_t m_iszTitle = 0xA80; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSpeakers = 0xA88; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iNodeNumber = 0xA90; // int32
+                constexpr std::ptrdiff_t m_iNodeNumberMax = 0xA94; // int32
+                constexpr std::ptrdiff_t m_bListenedTo = 0xA98; // bool
+            }
+            // Parent: CBaseClientUIEntity
+            // Field count: 23
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIgnoreInput (bool)
+            // NetworkVarNames: m_bLit (bool)
+            // NetworkVarNames: m_bFollowPlayerAcrossTeleport (bool)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDPI (float)
+            // NetworkVarNames: m_flInteractDistance (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_unOwnerContext (uint32)
+            // NetworkVarNames: m_unHorizontalAlign (uint32)
+            // NetworkVarNames: m_unVerticalAlign (uint32)
+            // NetworkVarNames: m_unOrientation (uint32)
+            // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            // NetworkVarNames: m_bOpaque (bool)
+            // NetworkVarNames: m_bNoDepth (bool)
+            // NetworkVarNames: m_bRenderBackface (bool)
+            // NetworkVarNames: m_bUseOffScreenIndicator (bool)
+            // NetworkVarNames: m_bExcludeFromSaveGames (bool)
+            // NetworkVarNames: m_bGrabbable (bool)
+            // NetworkVarNames: m_bOnlyRenderToTexture (bool)
+            // NetworkVarNames: m_bDisableMipGen (bool)
+            // NetworkVarNames: m_nExplicitImageLayout (int32)
+            namespace CPointClientUIWorldPanel {
+                constexpr std::ptrdiff_t m_bIgnoreInput = 0x940; // bool
+                constexpr std::ptrdiff_t m_bLit = 0x941; // bool
+                constexpr std::ptrdiff_t m_bFollowPlayerAcrossTeleport = 0x942; // bool
+                constexpr std::ptrdiff_t m_flWidth = 0x944; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0x948; // float32
+                constexpr std::ptrdiff_t m_flDPI = 0x94C; // float32
+                constexpr std::ptrdiff_t m_flInteractDistance = 0x950; // float32
+                constexpr std::ptrdiff_t m_flDepthOffset = 0x954; // float32
+                constexpr std::ptrdiff_t m_unOwnerContext = 0x958; // uint32
+                constexpr std::ptrdiff_t m_unHorizontalAlign = 0x95C; // uint32
+                constexpr std::ptrdiff_t m_unVerticalAlign = 0x960; // uint32
+                constexpr std::ptrdiff_t m_unOrientation = 0x964; // uint32
+                constexpr std::ptrdiff_t m_bAllowInteractionFromAllSceneWorlds = 0x968; // bool
+                constexpr std::ptrdiff_t m_vecCSSClasses = 0x970; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_bOpaque = 0x988; // bool
+                constexpr std::ptrdiff_t m_bNoDepth = 0x989; // bool
+                constexpr std::ptrdiff_t m_bRenderBackface = 0x98A; // bool
+                constexpr std::ptrdiff_t m_bUseOffScreenIndicator = 0x98B; // bool
+                constexpr std::ptrdiff_t m_bExcludeFromSaveGames = 0x98C; // bool
+                constexpr std::ptrdiff_t m_bGrabbable = 0x98D; // bool
+                constexpr std::ptrdiff_t m_bOnlyRenderToTexture = 0x98E; // bool
+                constexpr std::ptrdiff_t m_bDisableMipGen = 0x98F; // bool
+                constexpr std::ptrdiff_t m_nExplicitImageLayout = 0x990; // int32
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterContext {
+                constexpr std::ptrdiff_t m_iFilterContext = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CPathParticleRope
+            // Field count: 0
+            namespace CPathParticleRopeAlias_path_particle_rope_clientside {
+            }
+            // Parent: None
+            // Field count: 6
+            namespace CBuoyancyHelper {
+                constexpr std::ptrdiff_t m_nFluidType = 0x18; // CUtlStringToken
+                constexpr std::ptrdiff_t m_flFluidDensity = 0x1C; // float32
+                constexpr std::ptrdiff_t m_vecFractionOfWheelSubmergedForWheelFriction = 0x20; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecWheelFrictionScales = 0x38; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecFractionOfWheelSubmergedForWheelDrag = 0x50; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_vecWheelDrag = 0x68; // CUtlVector<float32>
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterAttributeInt {
+                constexpr std::ptrdiff_t m_sAttributeName = 0x538; // CUtlStringToken
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsRescuing (bool)
+            // NetworkVarNames: m_weaponPurchasesThisMatch (WeaponPurchaseTracker_t)
+            // NetworkVarNames: m_weaponPurchasesThisRound (WeaponPurchaseTracker_t)
+            namespace CCSPlayer_ActionTrackingServices {
+                constexpr std::ptrdiff_t m_hLastWeaponBeforeC4AutoSwitch = 0x218; // CHandle<CBasePlayerWeapon>
+                constexpr std::ptrdiff_t m_bIsRescuing = 0x244; // bool
+                constexpr std::ptrdiff_t m_weaponPurchasesThisMatch = 0x248; // WeaponPurchaseTracker_t
+                constexpr std::ptrdiff_t m_weaponPurchasesThisRound = 0x2A0; // WeaponPurchaseTracker_t
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            namespace CAISound {
+                constexpr std::ptrdiff_t m_iSoundType = 0x4E0; // SoundTypes_t
+                constexpr std::ptrdiff_t m_iSoundFlags = 0x4E2; // SoundFlags_t
+                constexpr std::ptrdiff_t m_iVolume = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_iSoundIndex = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_flDuration = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_iszProxyEntityName = 0x4F0; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 7
+            namespace CPointEntityFinder {
+                constexpr std::ptrdiff_t m_hEntity = 0x4E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iFilterName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFilter = 0x4F0; // CHandle<CBaseFilter>
+                constexpr std::ptrdiff_t m_iRefName = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hReference = 0x500; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_FindMethod = 0x504; // EntFinderMethod_t
+                constexpr std::ptrdiff_t m_OnFoundEntity = 0x508; // CEntityIOOutput
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_nModelID (int32)
+            // NetworkVarNames: m_hMaterialBase (HMaterialStrong)
+            // NetworkVarNames: m_hMaterialDamageOverlay (HMaterialStrong)
+            // NetworkVarNames: m_solid (ShardSolid_t)
+            // NetworkVarNames: m_vecPanelSize (Vector2D)
+            // NetworkVarNames: m_vecStressPositionA (Vector2D)
+            // NetworkVarNames: m_vecStressPositionB (Vector2D)
+            // NetworkVarNames: m_vecPanelVertices (Vector2D)
+            // NetworkVarNames: m_vInitialPanelVertices (Vector4D)
+            // NetworkVarNames: m_flGlassHalfThickness (float)
+            // NetworkVarNames: m_bHasParent (bool)
+            // NetworkVarNames: m_bParentFrozen (bool)
+            // NetworkVarNames: m_SurfacePropStringToken (CUtlStringToken)
+            namespace shard_model_desc_t {
+                constexpr std::ptrdiff_t m_nModelID = 0x8; // int32
+                constexpr std::ptrdiff_t m_hMaterialBase = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_hMaterialDamageOverlay = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_solid = 0x20; // ShardSolid_t
+                constexpr std::ptrdiff_t m_vecPanelSize = 0x24; // Vector2D
+                constexpr std::ptrdiff_t m_vecStressPositionA = 0x2C; // Vector2D
+                constexpr std::ptrdiff_t m_vecStressPositionB = 0x34; // Vector2D
+                constexpr std::ptrdiff_t m_vecPanelVertices = 0x40; // CNetworkUtlVectorBase<Vector2D>
+                constexpr std::ptrdiff_t m_vInitialPanelVertices = 0x58; // CNetworkUtlVectorBase<Vector4D>
+                constexpr std::ptrdiff_t m_flGlassHalfThickness = 0x70; // float32
+                constexpr std::ptrdiff_t m_bHasParent = 0x74; // bool
+                constexpr std::ptrdiff_t m_bParentFrozen = 0x75; // bool
+                constexpr std::ptrdiff_t m_SurfacePropStringToken = 0x78; // CUtlStringToken
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 4
+            namespace CBaseProp {
+                constexpr std::ptrdiff_t m_bModelOverrodeBlockLOS = 0x9A8; // bool
+                constexpr std::ptrdiff_t m_iShapeType = 0x9AC; // int32
+                constexpr std::ptrdiff_t m_bConformToCollisionBounds = 0x9B0; // bool
+                constexpr std::ptrdiff_t m_mPreferredCatchTransform = 0x9B4; // matrix3x4_t
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hSkyMaterialLightingOnly (HMaterialStrong)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_vTintColor (Color)
+            // NetworkVarNames: m_vTintColorLightingOnly (Color)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nFogType (int)
+            // NetworkVarNames: m_flFogMinStart (float)
+            // NetworkVarNames: m_flFogMinEnd (float)
+            // NetworkVarNames: m_flFogMaxStart (float)
+            // NetworkVarNames: m_flFogMaxEnd (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            namespace CEnvSky {
+                constexpr std::ptrdiff_t m_hSkyMaterial = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_hSkyMaterialLightingOnly = 0x798; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x7A0; // bool
+                constexpr std::ptrdiff_t m_vTintColor = 0x7A1; // Color
+                constexpr std::ptrdiff_t m_vTintColorLightingOnly = 0x7A5; // Color
+                constexpr std::ptrdiff_t m_flBrightnessScale = 0x7AC; // float32
+                constexpr std::ptrdiff_t m_nFogType = 0x7B0; // int32
+                constexpr std::ptrdiff_t m_flFogMinStart = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_flFogMinEnd = 0x7B8; // float32
+                constexpr std::ptrdiff_t m_flFogMaxStart = 0x7BC; // float32
+                constexpr std::ptrdiff_t m_flFogMaxEnd = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_bEnabled = 0x7C4; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            namespace CPointVelocitySensor {
+                constexpr std::ptrdiff_t m_hTargetEntity = 0x4E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_vecAxis = 0x4E4; // Vector
+                constexpr std::ptrdiff_t m_bEnabled = 0x4F0; // bool
+                constexpr std::ptrdiff_t m_fPrevVelocity = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flAvgInterval = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_Velocity = 0x500; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterMassGreater {
+                constexpr std::ptrdiff_t m_fFilterMass = 0x538; // float32
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace FilterTeam {
+                constexpr std::ptrdiff_t m_iFilterTeam = 0x538; // int32
+            }
+            // Parent: CFuncTrackTrain
+            // Field count: 1
+            namespace CFuncTankTrain {
+                constexpr std::ptrdiff_t m_OnDeath = 0x8E0; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CNullEntity {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_observer {
+            }
+            // Parent: CMarkupVolumeWithRef
+            // Field count: 1
+            namespace CMarkupVolumeTagged_NavGame {
+                constexpr std::ptrdiff_t m_bFloodFillAttribute = 0x7E8; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            namespace CBuyZone {
+                constexpr std::ptrdiff_t m_LegacyTeamNum = 0x960; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 12
+            namespace CPointTemplate {
+                constexpr std::ptrdiff_t m_iszWorldName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSource2EntityLumpName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszEntityFilterName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flTimeoutInterval = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_bAsynchronouslySpawnEntities = 0x4FC; // bool
+                constexpr std::ptrdiff_t m_pOutputOnSpawned = 0x500; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_clientOnlyEntityBehavior = 0x528; // PointTemplateClientOnlyEntityBehavior_t
+                constexpr std::ptrdiff_t m_ownerSpawnGroupType = 0x52C; // PointTemplateOwnerSpawnGroupType_t
+                constexpr std::ptrdiff_t m_createdSpawnGroupHandles = 0x530; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_SpawnedEntityHandles = 0x548; // CUtlVector<CEntityHandle>
+                constexpr std::ptrdiff_t m_ScriptSpawnCallback = 0x560; // HSCRIPT
+                constexpr std::ptrdiff_t m_ScriptCallbackScope = 0x568; // HSCRIPT
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            namespace CPhysForce {
+                constexpr std::ptrdiff_t m_nameAttach = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_force = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_forceTime = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_attachedObject = 0x4F8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_wasRestored = 0x4FC; // bool
+                constexpr std::ptrdiff_t m_integrator = 0x500; // CConstantForceController
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            namespace CLogicDistanceAutosave {
+                constexpr std::ptrdiff_t m_iszTargetEntity = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flDistanceToPlayer = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_bForceNewLevelUnit = 0x4EC; // bool
+                constexpr std::ptrdiff_t m_bCheckCough = 0x4ED; // bool
+                constexpr std::ptrdiff_t m_bThinkDangerous = 0x4EE; // bool
+                constexpr std::ptrdiff_t m_flDangerousTime = 0x4F0; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            namespace CInfoDynamicShadowHint {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_flRange = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_nImportance = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_nLightChoice = 0x4EC; // int32
+                constexpr std::ptrdiff_t m_hLight = 0x4F0; // CHandle<CBaseEntity>
+            }
+            // Parent: CSoundOpvarSetPointEntity
+            // Field count: 9
+            namespace CSoundOpvarSetAABBEntity {
+                constexpr std::ptrdiff_t m_vDistanceInnerMins = 0x688; // Vector
+                constexpr std::ptrdiff_t m_vDistanceInnerMaxs = 0x694; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMins = 0x6A0; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMaxs = 0x6AC; // Vector
+                constexpr std::ptrdiff_t m_nAABBDirection = 0x6B8; // int32
+                constexpr std::ptrdiff_t m_vInnerMins = 0x6BC; // Vector
+                constexpr std::ptrdiff_t m_vInnerMaxs = 0x6C8; // Vector
+                constexpr std::ptrdiff_t m_vOuterMins = 0x6D4; // Vector
+                constexpr std::ptrdiff_t m_vOuterMaxs = 0x6E0; // Vector
+            }
+            // Parent: None
+            // Field count: 2
+            namespace CEnvWindShared__WindVariationEvent_t {
+                constexpr std::ptrdiff_t m_flWindAngleVariation = 0x0; // float32
+                constexpr std::ptrdiff_t m_flWindSpeedVariation = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CTakeDamageInfoAPI {
+            }
+            // Parent: CTriggerOnce
+            // Field count: 1
+            namespace CScriptTriggerOnce {
+                constexpr std::ptrdiff_t m_vExtent = 0x988; // Vector
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CNavWalkable {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_iGlowType (int32)
+            // NetworkVarNames: m_iGlowTeam (int32)
+            // NetworkVarNames: m_nGlowRange (int32)
+            // NetworkVarNames: m_nGlowRangeMin (int32)
+            // NetworkVarNames: m_glowColorOverride (Color)
+            // NetworkVarNames: m_bFlashing (bool)
+            // NetworkVarNames: m_flGlowTime (float)
+            // NetworkVarNames: m_flGlowStartTime (float)
+            // NetworkVarNames: m_bEligibleForScreenHighlight (bool)
+            namespace CGlowProperty {
+                constexpr std::ptrdiff_t m_fGlowColor = 0x8; // Vector
+                constexpr std::ptrdiff_t m_iGlowType = 0x30; // int32
+                constexpr std::ptrdiff_t m_iGlowTeam = 0x34; // int32
+                constexpr std::ptrdiff_t m_nGlowRange = 0x38; // int32
+                constexpr std::ptrdiff_t m_nGlowRangeMin = 0x3C; // int32
+                constexpr std::ptrdiff_t m_glowColorOverride = 0x40; // Color
+                constexpr std::ptrdiff_t m_bFlashing = 0x44; // bool
+                constexpr std::ptrdiff_t m_flGlowTime = 0x48; // float32
+                constexpr std::ptrdiff_t m_flGlowStartTime = 0x4C; // float32
+                constexpr std::ptrdiff_t m_bEligibleForScreenHighlight = 0x50; // bool
+                constexpr std::ptrdiff_t m_bGlowing = 0x51; // bool
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 3
+            namespace CFlashbangProjectile {
+                constexpr std::ptrdiff_t m_flTimeToDetonate = 0xB50; // float32
+                constexpr std::ptrdiff_t m_numOpponentsHit = 0xB54; // uint8
+                constexpr std::ptrdiff_t m_numTeammatesHit = 0xB55; // uint8
+            }
+            // Parent: CPointClientUIWorldPanel
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            namespace CPointClientUIWorldTextPanel {
+                constexpr std::ptrdiff_t m_messageText = 0x998; // char[512]
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoInstructorHintTarget {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCarriedHostage (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hCarriedHostageProp (CHandle<CBaseEntity>)
+            namespace CCSPlayer_HostageServices {
+                constexpr std::ptrdiff_t m_hCarriedHostage = 0x40; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hCarriedHostageProp = 0x44; // CHandle<CBaseEntity>
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponSSG08 {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            namespace CLogicBranch {
+                constexpr std::ptrdiff_t m_bInValue = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_Listeners = 0x4E8; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_OnTrue = 0x500; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFalse = 0x528; // CEntityIOOutput
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponUMP45 {
+            }
+            // Parent: CSprite
+            // Field count: 0
+            namespace CSpriteAlias_env_glow {
+            }
+            // Parent: CBaseToggle
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: m_glowEntity (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_usable (bool)
+            // NetworkVarNames: m_szDisplayText (string_t)
+            namespace CBaseButton {
+                constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x810; // QAngle
+                constexpr std::ptrdiff_t m_fStayPushed = 0x81C; // bool
+                constexpr std::ptrdiff_t m_fRotating = 0x81D; // bool
+                constexpr std::ptrdiff_t m_ls = 0x820; // locksound_t
+                constexpr std::ptrdiff_t m_sUseSound = 0x840; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sLockedSound = 0x848; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sUnlockedSound = 0x850; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_sOverrideAnticipationName = 0x858; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bLocked = 0x860; // bool
+                constexpr std::ptrdiff_t m_bDisabled = 0x861; // bool
+                constexpr std::ptrdiff_t m_flUseLockedTime = 0x864; // GameTime_t
+                constexpr std::ptrdiff_t m_bSolidBsp = 0x868; // bool
+                constexpr std::ptrdiff_t m_OnDamaged = 0x870; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPressed = 0x898; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUseLocked = 0x8C0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnIn = 0x8E8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnOut = 0x910; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_nState = 0x938; // int32
+                constexpr std::ptrdiff_t m_hConstraint = 0x93C; // CEntityHandle
+                constexpr std::ptrdiff_t m_hConstraintParent = 0x940; // CEntityHandle
+                constexpr std::ptrdiff_t m_bForceNpcExclude = 0x944; // bool
+                constexpr std::ptrdiff_t m_sGlowEntity = 0x948; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_glowEntity = 0x950; // CHandle<CBaseModelEntity>
+                constexpr std::ptrdiff_t m_usable = 0x954; // bool
+                constexpr std::ptrdiff_t m_szDisplayText = 0x958; // CUtlSymbolLarge
+            }
+            // Parent: CPhysConstraint
+            // Field count: 6
+            namespace CPhysLength {
+                constexpr std::ptrdiff_t m_offset = 0x558; // Vector[2]
+                constexpr std::ptrdiff_t m_vecAttach = 0x570; // Vector
+                constexpr std::ptrdiff_t m_addLength = 0x57C; // float32
+                constexpr std::ptrdiff_t m_minLength = 0x580; // float32
+                constexpr std::ptrdiff_t m_totalLength = 0x584; // float32
+                constexpr std::ptrdiff_t m_bEnableCollision = 0x588; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 48
+            namespace CLogicNPCCounter {
+                constexpr std::ptrdiff_t m_OnMinCountAll = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMaxCountAll = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFactorAll = 0x530; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinPlayerDistAll = 0x558; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinCount_1 = 0x580; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMaxCount_1 = 0x5A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFactor_1 = 0x5D0; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinPlayerDist_1 = 0x5F8; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinCount_2 = 0x620; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMaxCount_2 = 0x648; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFactor_2 = 0x670; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinPlayerDist_2 = 0x698; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinCount_3 = 0x6C0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnMaxCount_3 = 0x6E8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFactor_3 = 0x710; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnMinPlayerDist_3 = 0x738; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_hSource = 0x760; // CEntityHandle
+                constexpr std::ptrdiff_t m_iszSourceEntityName = 0x768; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flDistanceMax = 0x770; // float32
+                constexpr std::ptrdiff_t m_bDisabled = 0x774; // bool
+                constexpr std::ptrdiff_t m_nMinCountAll = 0x778; // int32
+                constexpr std::ptrdiff_t m_nMaxCountAll = 0x77C; // int32
+                constexpr std::ptrdiff_t m_nMinFactorAll = 0x780; // int32
+                constexpr std::ptrdiff_t m_nMaxFactorAll = 0x784; // int32
+                constexpr std::ptrdiff_t m_iszNPCClassname_1 = 0x790; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nNPCState_1 = 0x798; // int32
+                constexpr std::ptrdiff_t m_bInvertState_1 = 0x79C; // bool
+                constexpr std::ptrdiff_t m_nMinCount_1 = 0x7A0; // int32
+                constexpr std::ptrdiff_t m_nMaxCount_1 = 0x7A4; // int32
+                constexpr std::ptrdiff_t m_nMinFactor_1 = 0x7A8; // int32
+                constexpr std::ptrdiff_t m_nMaxFactor_1 = 0x7AC; // int32
+                constexpr std::ptrdiff_t m_flDefaultDist_1 = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_iszNPCClassname_2 = 0x7B8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nNPCState_2 = 0x7C0; // int32
+                constexpr std::ptrdiff_t m_bInvertState_2 = 0x7C4; // bool
+                constexpr std::ptrdiff_t m_nMinCount_2 = 0x7C8; // int32
+                constexpr std::ptrdiff_t m_nMaxCount_2 = 0x7CC; // int32
+                constexpr std::ptrdiff_t m_nMinFactor_2 = 0x7D0; // int32
+                constexpr std::ptrdiff_t m_nMaxFactor_2 = 0x7D4; // int32
+                constexpr std::ptrdiff_t m_flDefaultDist_2 = 0x7DC; // float32
+                constexpr std::ptrdiff_t m_iszNPCClassname_3 = 0x7E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nNPCState_3 = 0x7E8; // int32
+                constexpr std::ptrdiff_t m_bInvertState_3 = 0x7EC; // bool
+                constexpr std::ptrdiff_t m_nMinCount_3 = 0x7F0; // int32
+                constexpr std::ptrdiff_t m_nMaxCount_3 = 0x7F4; // int32
+                constexpr std::ptrdiff_t m_nMinFactor_3 = 0x7F8; // int32
+                constexpr std::ptrdiff_t m_nMaxFactor_3 = 0x7FC; // int32
+                constexpr std::ptrdiff_t m_flDefaultDist_3 = 0x804; // float32
+            }
+            // Parent: CPredictedViewModel
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShouldIgnoreOffsetAndAccuracy (bool)
+            namespace CCSGOViewModel {
+                constexpr std::ptrdiff_t m_bShouldIgnoreOffsetAndAccuracy = 0x9F0; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            namespace CBlood {
+                constexpr std::ptrdiff_t m_vecSprayAngles = 0x4E0; // QAngle
+                constexpr std::ptrdiff_t m_vecSprayDir = 0x4EC; // Vector
+                constexpr std::ptrdiff_t m_flAmount = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_Color = 0x4FC; // BloodType
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_fadeColor (Color)
+            namespace CEnvFade {
+                constexpr std::ptrdiff_t m_fadeColor = 0x4E0; // Color
+                constexpr std::ptrdiff_t m_Duration = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_HoldDuration = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_OnBeginFade = 0x4F0; // CEntityIOOutput
+            }
+            // Parent: CBaseProp
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+            // NetworkVarNames: m_noGhostCollision (bool)
+            namespace CBreakableProp {
+                constexpr std::ptrdiff_t m_CPropDataComponent = 0x9F0; // CPropDataComponent
+                constexpr std::ptrdiff_t m_OnBreak = 0xA30; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHealthChanged = 0xA58; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnTakeDamage = 0xA80; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_impactEnergyScale = 0xAA8; // float32
+                constexpr std::ptrdiff_t m_iMinHealthDmg = 0xAAC; // int32
+                constexpr std::ptrdiff_t m_preferredCarryAngles = 0xAB0; // QAngle
+                constexpr std::ptrdiff_t m_flPressureDelay = 0xABC; // float32
+                constexpr std::ptrdiff_t m_flDefBurstScale = 0xAC0; // float32
+                constexpr std::ptrdiff_t m_vDefBurstOffset = 0xAC4; // Vector
+                constexpr std::ptrdiff_t m_hBreaker = 0xAD0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_PerformanceMode = 0xAD4; // PerformanceMode_t
+                constexpr std::ptrdiff_t m_flPreventDamageBeforeTime = 0xAD8; // GameTime_t
+                constexpr std::ptrdiff_t m_BreakableContentsType = 0xADC; // BreakableContentsType_t
+                constexpr std::ptrdiff_t m_strBreakableContentsPropGroupOverride = 0xAE0; // CUtlString
+                constexpr std::ptrdiff_t m_strBreakableContentsParticleOverride = 0xAE8; // CUtlString
+                constexpr std::ptrdiff_t m_bHasBreakPiecesOrCommands = 0xAF0; // bool
+                constexpr std::ptrdiff_t m_explodeDamage = 0xAF4; // float32
+                constexpr std::ptrdiff_t m_explodeRadius = 0xAF8; // float32
+                constexpr std::ptrdiff_t m_explosionDelay = 0xB00; // float32
+                constexpr std::ptrdiff_t m_explosionBuildupSound = 0xB08; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_explosionCustomEffect = 0xB10; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_explosionCustomSound = 0xB18; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_explosionModifier = 0xB20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hPhysicsAttacker = 0xB28; // CHandle<CBasePlayerPawn>
+                constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0xB2C; // GameTime_t
+                constexpr std::ptrdiff_t m_bOriginalBlockLOS = 0xB30; // bool
+                constexpr std::ptrdiff_t m_flDefaultFadeScale = 0xB34; // float32
+                constexpr std::ptrdiff_t m_hLastAttacker = 0xB38; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hFlareEnt = 0xB3C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bUsePuntSound = 0xB40; // bool
+                constexpr std::ptrdiff_t m_iszPuntSound = 0xB48; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_noGhostCollision = 0xB50; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecSellbackPurchaseEntries (SellbackPurchaseEntry_t)
+            namespace CCSPlayer_BuyServices {
+                constexpr std::ptrdiff_t m_vecSellbackPurchaseEntries = 0xC8; // CUtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CPathSimpleAPI {
+            }
+            // Parent: CBaseFlex
+            // Field count: 9
+            //
+            // Metadata:
+            // MNetworkExcludeByUserGroup
+            // NetworkVarNames: m_hMyWearables (CHandle<CEconWearable>)
+            namespace CBaseCombatCharacter {
+                constexpr std::ptrdiff_t m_bForceServerRagdoll = 0xA38; // bool
+                constexpr std::ptrdiff_t m_hMyWearables = 0xA40; // CNetworkUtlVectorBase<CHandle<CEconWearable>>
+                constexpr std::ptrdiff_t m_impactEnergyScale = 0xA58; // float32
+                constexpr std::ptrdiff_t m_bApplyStressDamage = 0xA5C; // bool
+                constexpr std::ptrdiff_t m_iDamageCount = 0xAA0; // int32
+                constexpr std::ptrdiff_t m_pVecRelationships = 0xAA8; // CUtlVector<RelationshipOverride_t>*
+                constexpr std::ptrdiff_t m_strRelationships = 0xAB0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_eHull = 0xAB8; // Hull_t
+                constexpr std::ptrdiff_t m_nNavHullIdx = 0xABC; // uint32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: m_firePositions (Vector)
+            // NetworkVarNames: m_fireParentPositions (Vector)
+            // NetworkVarNames: m_bFireIsBurning (bool)
+            // NetworkVarNames: m_BurnNormal (Vector)
+            // NetworkVarNames: m_fireCount (int)
+            // NetworkVarNames: m_nInfernoType (int)
+            // NetworkVarNames: m_nFireEffectTickBegin (int)
+            // NetworkVarNames: m_nFireLifetime (float)
+            // NetworkVarNames: m_bInPostEffectTime (bool)
+            namespace CInferno {
+                constexpr std::ptrdiff_t m_firePositions = 0x7A0; // Vector[64]
+                constexpr std::ptrdiff_t m_fireParentPositions = 0xAA0; // Vector[64]
+                constexpr std::ptrdiff_t m_bFireIsBurning = 0xDA0; // bool[64]
+                constexpr std::ptrdiff_t m_BurnNormal = 0xDE0; // Vector[64]
+                constexpr std::ptrdiff_t m_fireCount = 0x10E0; // int32
+                constexpr std::ptrdiff_t m_nInfernoType = 0x10E4; // int32
+                constexpr std::ptrdiff_t m_nFireEffectTickBegin = 0x10E8; // int32
+                constexpr std::ptrdiff_t m_nFireLifetime = 0x10EC; // float32
+                constexpr std::ptrdiff_t m_bInPostEffectTime = 0x10F0; // bool
+                constexpr std::ptrdiff_t m_nFiresExtinguishCount = 0x10F4; // int32
+                constexpr std::ptrdiff_t m_bWasCreatedInSmoke = 0x10F8; // bool
+                constexpr std::ptrdiff_t m_extent = 0x1300; // Extent
+                constexpr std::ptrdiff_t m_damageTimer = 0x1318; // CountdownTimer
+                constexpr std::ptrdiff_t m_damageRampTimer = 0x1330; // CountdownTimer
+                constexpr std::ptrdiff_t m_splashVelocity = 0x1348; // Vector
+                constexpr std::ptrdiff_t m_InitialSplashVelocity = 0x1354; // Vector
+                constexpr std::ptrdiff_t m_startPos = 0x1360; // Vector
+                constexpr std::ptrdiff_t m_vecOriginalSpawnLocation = 0x136C; // Vector
+                constexpr std::ptrdiff_t m_activeTimer = 0x1378; // IntervalTimer
+                constexpr std::ptrdiff_t m_fireSpawnOffset = 0x1388; // int32
+                constexpr std::ptrdiff_t m_nMaxFlames = 0x138C; // int32
+                constexpr std::ptrdiff_t m_nSpreadCount = 0x1390; // int32
+                constexpr std::ptrdiff_t m_BookkeepingTimer = 0x1398; // CountdownTimer
+                constexpr std::ptrdiff_t m_NextSpreadTimer = 0x13B0; // CountdownTimer
+                constexpr std::ptrdiff_t m_nSourceItemDefIndex = 0x13C8; // uint16
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            namespace CEnvGlobal {
+                constexpr std::ptrdiff_t m_outCounter = 0x4E0; // CEntityOutputTemplate<int32>
+                constexpr std::ptrdiff_t m_globalstate = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_triggermode = 0x510; // int32
+                constexpr std::ptrdiff_t m_initialstate = 0x514; // int32
+                constexpr std::ptrdiff_t m_counter = 0x518; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            namespace CBaseFilter {
+                constexpr std::ptrdiff_t m_bNegated = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_OnPass = 0x4E8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFail = 0x510; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_aPlayerControllers (CHandle<CBasePlayerController>)
+            // NetworkVarNames: m_aPlayers (CHandle<CBasePlayerPawn>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_szTeamname (char)
+            namespace CTeam {
+                constexpr std::ptrdiff_t m_aPlayerControllers = 0x4E0; // CNetworkUtlVectorBase<CHandle<CBasePlayerController>>
+                constexpr std::ptrdiff_t m_aPlayers = 0x4F8; // CNetworkUtlVectorBase<CHandle<CBasePlayerPawn>>
+                constexpr std::ptrdiff_t m_iScore = 0x510; // int32
+                constexpr std::ptrdiff_t m_szTeamname = 0x514; // char[129]
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponUSPSilencer {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 23
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSpriteMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hAttachedToEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_flSpriteFramerate (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nBrightness (uint32)
+            // NetworkVarNames: m_flBrightnessDuration (float32)
+            // NetworkVarNames: m_flSpriteScale (float32)
+            // NetworkVarNames: m_flScaleDuration (float32)
+            // NetworkVarNames: m_bWorldSpaceScale (bool)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            namespace CSprite {
+                constexpr std::ptrdiff_t m_hSpriteMaterial = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_hAttachedToEntity = 0x798; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nAttachment = 0x79C; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_flSpriteFramerate = 0x7A0; // float32
+                constexpr std::ptrdiff_t m_flFrame = 0x7A4; // float32
+                constexpr std::ptrdiff_t m_flDieTime = 0x7A8; // GameTime_t
+                constexpr std::ptrdiff_t m_nBrightness = 0x7B8; // uint32
+                constexpr std::ptrdiff_t m_flBrightnessDuration = 0x7BC; // float32
+                constexpr std::ptrdiff_t m_flSpriteScale = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_flScaleDuration = 0x7C4; // float32
+                constexpr std::ptrdiff_t m_bWorldSpaceScale = 0x7C8; // bool
+                constexpr std::ptrdiff_t m_flGlowProxySize = 0x7CC; // float32
+                constexpr std::ptrdiff_t m_flHDRColorScale = 0x7D0; // float32
+                constexpr std::ptrdiff_t m_flLastTime = 0x7D4; // GameTime_t
+                constexpr std::ptrdiff_t m_flMaxFrame = 0x7D8; // float32
+                constexpr std::ptrdiff_t m_flStartScale = 0x7DC; // float32
+                constexpr std::ptrdiff_t m_flDestScale = 0x7E0; // float32
+                constexpr std::ptrdiff_t m_flScaleTimeStart = 0x7E4; // GameTime_t
+                constexpr std::ptrdiff_t m_nStartBrightness = 0x7E8; // int32
+                constexpr std::ptrdiff_t m_nDestBrightness = 0x7EC; // int32
+                constexpr std::ptrdiff_t m_flBrightnessTimeStart = 0x7F0; // GameTime_t
+                constexpr std::ptrdiff_t m_nSpriteWidth = 0x7F4; // int32
+                constexpr std::ptrdiff_t m_nSpriteHeight = 0x7F8; // int32
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CTriggerGravity {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CServerRagdollTrigger {
+            }
+            // Parent: CInfoDynamicShadowHint
+            // Field count: 2
+            namespace CInfoDynamicShadowHintBox {
+                constexpr std::ptrdiff_t m_vBoxMins = 0x4F8; // Vector
+                constexpr std::ptrdiff_t m_vBoxMaxs = 0x504; // Vector
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            namespace CPathMover {
+                constexpr std::ptrdiff_t m_vecPathNodes = 0x4E8; // CUtlVector<CHandle<CMoverPathNode>>
+                constexpr std::ptrdiff_t m_flPathLength = 0x500; // float32
+                constexpr std::ptrdiff_t m_bClosedLoop = 0x504; // bool
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            namespace CFlashbang {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponAug {
+            }
+            // Parent: CDynamicProp
+            // Field count: 28
+            //
+            // Metadata:
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_leader (CHandle<CCSPlayerPawn>)
+            namespace CChicken {
+                constexpr std::ptrdiff_t m_AttributeManager = 0xC78; // CAttributeContainer
+                constexpr std::ptrdiff_t m_updateTimer = 0xF40; // CountdownTimer
+                constexpr std::ptrdiff_t m_stuckAnchor = 0xF58; // Vector
+                constexpr std::ptrdiff_t m_stuckTimer = 0xF68; // CountdownTimer
+                constexpr std::ptrdiff_t m_collisionStuckTimer = 0xF80; // CountdownTimer
+                constexpr std::ptrdiff_t m_isOnGround = 0xF98; // bool
+                constexpr std::ptrdiff_t m_vFallVelocity = 0xF9C; // Vector
+                constexpr std::ptrdiff_t m_desiredActivity = 0xFA8; // ChickenActivity
+                constexpr std::ptrdiff_t m_currentActivity = 0xFAC; // ChickenActivity
+                constexpr std::ptrdiff_t m_activityTimer = 0xFB0; // CountdownTimer
+                constexpr std::ptrdiff_t m_turnRate = 0xFC8; // float32
+                constexpr std::ptrdiff_t m_fleeFrom = 0xFCC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_moveRateThrottleTimer = 0xFD0; // CountdownTimer
+                constexpr std::ptrdiff_t m_startleTimer = 0xFE8; // CountdownTimer
+                constexpr std::ptrdiff_t m_vocalizeTimer = 0x1000; // CountdownTimer
+                constexpr std::ptrdiff_t m_flWhenZombified = 0x1018; // GameTime_t
+                constexpr std::ptrdiff_t m_jumpedThisFrame = 0x101C; // bool
+                constexpr std::ptrdiff_t m_leader = 0x1020; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_reuseTimer = 0x1038; // CountdownTimer
+                constexpr std::ptrdiff_t m_hasBeenUsed = 0x1050; // bool
+                constexpr std::ptrdiff_t m_jumpTimer = 0x1058; // CountdownTimer
+                constexpr std::ptrdiff_t m_flLastJumpTime = 0x1070; // float32
+                constexpr std::ptrdiff_t m_bInJump = 0x1074; // bool
+                constexpr std::ptrdiff_t m_repathTimer = 0x3080; // CountdownTimer
+                constexpr std::ptrdiff_t m_vecPathGoal = 0x3118; // Vector
+                constexpr std::ptrdiff_t m_flActiveFollowStartTime = 0x3124; // GameTime_t
+                constexpr std::ptrdiff_t m_followMinuteTimer = 0x3128; // CountdownTimer
+                constexpr std::ptrdiff_t m_BlockDirectionTimer = 0x3148; // CountdownTimer
+            }
+            // Parent: CBaseTrigger
+            // Field count: 7
+            namespace CChangeLevel {
+                constexpr std::ptrdiff_t m_sMapName = 0x960; // CUtlString
+                constexpr std::ptrdiff_t m_sLandmarkName = 0x968; // CUtlString
+                constexpr std::ptrdiff_t m_OnChangeLevel = 0x970; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bTouched = 0x998; // bool
+                constexpr std::ptrdiff_t m_bNoTouch = 0x999; // bool
+                constexpr std::ptrdiff_t m_bNewChapter = 0x99A; // bool
+                constexpr std::ptrdiff_t m_bOnChangeLevelFired = 0x99B; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 14
+            namespace CTriggerLerpObject {
+                constexpr std::ptrdiff_t m_iszLerpTarget = 0x960; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hLerpTarget = 0x968; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iszLerpTargetAttachment = 0x970; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hLerpTargetAttachment = 0x978; // AttachmentHandle_t
+                constexpr std::ptrdiff_t m_flLerpDuration = 0x97C; // float32
+                constexpr std::ptrdiff_t m_bLerpRestoreMoveType = 0x980; // bool
+                constexpr std::ptrdiff_t m_bSingleLerpObject = 0x981; // bool
+                constexpr std::ptrdiff_t m_vecLerpingObjects = 0x988; // CUtlVector<lerpdata_t>
+                constexpr std::ptrdiff_t m_iszLerpEffect = 0x9A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszLerpSound = 0x9A8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bAttachTouchingObject = 0x9B0; // bool
+                constexpr std::ptrdiff_t m_hEntityToWaitForDisconnect = 0x9B4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_OnLerpStarted = 0x9B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnLerpFinished = 0x9E0; // CEntityIOOutput
+            }
+            // Parent: CBaseToggle
+            // Field count: 12
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bClientSidePredicted (bool)
+            namespace CBaseTrigger {
+                constexpr std::ptrdiff_t m_bDisabled = 0x810; // bool
+                constexpr std::ptrdiff_t m_iFilterName = 0x818; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFilter = 0x820; // CHandle<CBaseFilter>
+                constexpr std::ptrdiff_t m_OnStartTouch = 0x828; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnStartTouchAll = 0x850; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEndTouch = 0x878; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnEndTouchAll = 0x8A0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTouching = 0x8C8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTouchingEachEntity = 0x8F0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnNotTouching = 0x918; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_hTouchingEntities = 0x940; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_bClientSidePredicted = 0x958; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CLogicScript {
+            }
+            // Parent: CBaseFlex
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_OriginalOwnerXuidLow (uint32)
+            // NetworkVarNames: m_OriginalOwnerXuidHigh (uint32)
+            // NetworkVarNames: m_nFallbackPaintKit (int)
+            // NetworkVarNames: m_nFallbackSeed (int)
+            // NetworkVarNames: m_flFallbackWear (float)
+            // NetworkVarNames: m_nFallbackStatTrak (int)
+            namespace CEconEntity {
+                constexpr std::ptrdiff_t m_AttributeManager = 0xA48; // CAttributeContainer
+                constexpr std::ptrdiff_t m_OriginalOwnerXuidLow = 0xD10; // uint32
+                constexpr std::ptrdiff_t m_OriginalOwnerXuidHigh = 0xD14; // uint32
+                constexpr std::ptrdiff_t m_nFallbackPaintKit = 0xD18; // int32
+                constexpr std::ptrdiff_t m_nFallbackSeed = 0xD1C; // int32
+                constexpr std::ptrdiff_t m_flFallbackWear = 0xD20; // float32
+                constexpr std::ptrdiff_t m_nFallbackStatTrak = 0xD24; // int32
+                constexpr std::ptrdiff_t m_hOldProvidee = 0xD28; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iOldOwnerClass = 0xD2C; // int32
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_collisionAttribute (VPhysicsCollisionAttribute_t)
+            // NetworkVarNames: m_vecMins (Vector)
+            // NetworkVarNames: m_vecMaxs (Vector)
+            // NetworkVarNames: m_usSolidFlags (uint8)
+            // NetworkVarNames: m_nSolidType (SolidType_t)
+            // NetworkVarNames: m_triggerBloat (uint8)
+            // NetworkVarNames: m_nSurroundType (SurroundingBoundsType_t)
+            // NetworkVarNames: m_CollisionGroup (uint8)
+            // NetworkVarNames: m_nEnablePhysics (uint8)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMins (Vector)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMaxs (Vector)
+            // NetworkVarNames: m_vCapsuleCenter1 (Vector)
+            // NetworkVarNames: m_vCapsuleCenter2 (Vector)
+            // NetworkVarNames: m_flCapsuleRadius (float)
+            namespace CCollisionProperty {
+                constexpr std::ptrdiff_t m_collisionAttribute = 0x10; // VPhysicsCollisionAttribute_t
+                constexpr std::ptrdiff_t m_vecMins = 0x40; // Vector
+                constexpr std::ptrdiff_t m_vecMaxs = 0x4C; // Vector
+                constexpr std::ptrdiff_t m_usSolidFlags = 0x5A; // uint8
+                constexpr std::ptrdiff_t m_nSolidType = 0x5B; // SolidType_t
+                constexpr std::ptrdiff_t m_triggerBloat = 0x5C; // uint8
+                constexpr std::ptrdiff_t m_nSurroundType = 0x5D; // SurroundingBoundsType_t
+                constexpr std::ptrdiff_t m_CollisionGroup = 0x5E; // uint8
+                constexpr std::ptrdiff_t m_nEnablePhysics = 0x5F; // uint8
+                constexpr std::ptrdiff_t m_flBoundingRadius = 0x60; // float32
+                constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMins = 0x64; // Vector
+                constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMaxs = 0x70; // Vector
+                constexpr std::ptrdiff_t m_vecSurroundingMaxs = 0x7C; // Vector
+                constexpr std::ptrdiff_t m_vecSurroundingMins = 0x88; // Vector
+                constexpr std::ptrdiff_t m_vCapsuleCenter1 = 0x94; // Vector
+                constexpr std::ptrdiff_t m_vCapsuleCenter2 = 0xA0; // Vector
+                constexpr std::ptrdiff_t m_flCapsuleRadius = 0xAC; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CServerOnlyEntity {
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flPrevCycle (float32)
+            // NetworkVarNames: m_flCycle (float32)
+            namespace CNetworkedSequenceOperation {
+                constexpr std::ptrdiff_t m_hSequence = 0x8; // HSequence
+                constexpr std::ptrdiff_t m_flPrevCycle = 0xC; // float32
+                constexpr std::ptrdiff_t m_flCycle = 0x10; // float32
+                constexpr std::ptrdiff_t m_flWeight = 0x14; // CNetworkedQuantizedFloat
+                constexpr std::ptrdiff_t m_bSequenceChangeNetworked = 0x1C; // bool
+                constexpr std::ptrdiff_t m_bDiscontinuity = 0x1D; // bool
+                constexpr std::ptrdiff_t m_flPrevCycleFromDiscontinuity = 0x20; // float32
+                constexpr std::ptrdiff_t m_flPrevCycleForAnimEventDetection = 0x24; // float32
+            }
+            // Parent: CModelPointEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            // NetworkVarNames: m_FontName (char)
+            // NetworkVarNames: m_BackgroundMaterialName (char)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFullbright (bool)
+            // NetworkVarNames: m_flWorldUnitsPerPx (float)
+            // NetworkVarNames: m_flFontSize (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_bDrawBackground (bool)
+            // NetworkVarNames: m_flBackgroundBorderWidth (float)
+            // NetworkVarNames: m_flBackgroundBorderHeight (float)
+            // NetworkVarNames: m_flBackgroundWorldToUV (float)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_nJustifyHorizontal (PointWorldTextJustifyHorizontal_t)
+            // NetworkVarNames: m_nJustifyVertical (PointWorldTextJustifyVertical_t)
+            // NetworkVarNames: m_nReorientMode (PointWorldTextReorientMode_t)
+            namespace CPointWorldText {
+                constexpr std::ptrdiff_t m_messageText = 0x790; // char[512]
+                constexpr std::ptrdiff_t m_FontName = 0x990; // char[64]
+                constexpr std::ptrdiff_t m_BackgroundMaterialName = 0x9D0; // char[64]
+                constexpr std::ptrdiff_t m_bEnabled = 0xA10; // bool
+                constexpr std::ptrdiff_t m_bFullbright = 0xA11; // bool
+                constexpr std::ptrdiff_t m_flWorldUnitsPerPx = 0xA14; // float32
+                constexpr std::ptrdiff_t m_flFontSize = 0xA18; // float32
+                constexpr std::ptrdiff_t m_flDepthOffset = 0xA1C; // float32
+                constexpr std::ptrdiff_t m_bDrawBackground = 0xA20; // bool
+                constexpr std::ptrdiff_t m_flBackgroundBorderWidth = 0xA24; // float32
+                constexpr std::ptrdiff_t m_flBackgroundBorderHeight = 0xA28; // float32
+                constexpr std::ptrdiff_t m_flBackgroundWorldToUV = 0xA2C; // float32
+                constexpr std::ptrdiff_t m_Color = 0xA30; // Color
+                constexpr std::ptrdiff_t m_nJustifyHorizontal = 0xA34; // PointWorldTextJustifyHorizontal_t
+                constexpr std::ptrdiff_t m_nJustifyVertical = 0xA38; // PointWorldTextJustifyVertical_t
+                constexpr std::ptrdiff_t m_nReorientMode = 0xA3C; // PointWorldTextReorientMode_t
+            }
+            // Parent: CSoundAreaEntityBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMin (Vector)
+            // NetworkVarNames: m_vMax (Vector)
+            namespace CSoundAreaEntityOrientedBox {
+                constexpr std::ptrdiff_t m_vMin = 0x500; // Vector
+                constexpr std::ptrdiff_t m_vMax = 0x50C; // Vector
+            }
+            // Parent: CBaseTrigger
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_gravityScale (float)
+            // NetworkVarNames: m_linearLimit (float)
+            // NetworkVarNames: m_linearDamping (float)
+            // NetworkVarNames: m_angularLimit (float)
+            // NetworkVarNames: m_angularDamping (float)
+            // NetworkVarNames: m_linearForce (float)
+            // NetworkVarNames: m_flFrequency (float)
+            // NetworkVarNames: m_flDampingRatio (float)
+            // NetworkVarNames: m_vecLinearForcePointAt (Vector)
+            // NetworkVarNames: m_bCollapseToForcePoint (bool)
+            // NetworkVarNames: m_vecLinearForcePointAtWorld (Vector)
+            // NetworkVarNames: m_vecLinearForceDirection (Vector)
+            // NetworkVarNames: m_bConvertToDebrisWhenPossible (bool)
+            namespace CTriggerPhysics {
+                constexpr std::ptrdiff_t m_gravityScale = 0x970; // float32
+                constexpr std::ptrdiff_t m_linearLimit = 0x974; // float32
+                constexpr std::ptrdiff_t m_linearDamping = 0x978; // float32
+                constexpr std::ptrdiff_t m_angularLimit = 0x97C; // float32
+                constexpr std::ptrdiff_t m_angularDamping = 0x980; // float32
+                constexpr std::ptrdiff_t m_linearForce = 0x984; // float32
+                constexpr std::ptrdiff_t m_flFrequency = 0x988; // float32
+                constexpr std::ptrdiff_t m_flDampingRatio = 0x98C; // float32
+                constexpr std::ptrdiff_t m_vecLinearForcePointAt = 0x990; // Vector
+                constexpr std::ptrdiff_t m_bCollapseToForcePoint = 0x99C; // bool
+                constexpr std::ptrdiff_t m_vecLinearForcePointAtWorld = 0x9A0; // Vector
+                constexpr std::ptrdiff_t m_vecLinearForceDirection = 0x9AC; // Vector
+                constexpr std::ptrdiff_t m_bConvertToDebrisWhenPossible = 0x9B8; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_ID (CUtlStringToken)
+            // NetworkVarNames: m_Values (Vector4D)
+            namespace EntityRenderAttribute_t {
+                constexpr std::ptrdiff_t m_ID = 0x30; // CUtlStringToken
+                constexpr std::ptrdiff_t m_Values = 0x34; // Vector4D
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CPointBroadcastClientCommand {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 26
+            namespace CFuncShatterglass {
+                constexpr std::ptrdiff_t m_matPanelTransform = 0x790; // matrix3x4_t
+                constexpr std::ptrdiff_t m_matPanelTransformWsTemp = 0x7C0; // matrix3x4_t
+                constexpr std::ptrdiff_t m_vecShatterGlassShards = 0x7F0; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_PanelSize = 0x808; // Vector2D
+                constexpr std::ptrdiff_t m_flLastShatterSoundEmitTime = 0x810; // GameTime_t
+                constexpr std::ptrdiff_t m_flLastCleanupTime = 0x814; // GameTime_t
+                constexpr std::ptrdiff_t m_flInitAtTime = 0x818; // GameTime_t
+                constexpr std::ptrdiff_t m_flGlassThickness = 0x81C; // float32
+                constexpr std::ptrdiff_t m_flSpawnInvulnerability = 0x820; // float32
+                constexpr std::ptrdiff_t m_bBreakSilent = 0x824; // bool
+                constexpr std::ptrdiff_t m_bBreakShardless = 0x825; // bool
+                constexpr std::ptrdiff_t m_bBroken = 0x826; // bool
+                constexpr std::ptrdiff_t m_bGlassNavIgnore = 0x827; // bool
+                constexpr std::ptrdiff_t m_bGlassInFrame = 0x828; // bool
+                constexpr std::ptrdiff_t m_bStartBroken = 0x829; // bool
+                constexpr std::ptrdiff_t m_iInitialDamageType = 0x82A; // uint8
+                constexpr std::ptrdiff_t m_szDamagePositioningEntityName01 = 0x830; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_szDamagePositioningEntityName02 = 0x838; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_szDamagePositioningEntityName03 = 0x840; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_szDamagePositioningEntityName04 = 0x848; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vInitialDamagePositions = 0x850; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_vExtraDamagePositions = 0x868; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_vInitialPanelVertices = 0x880; // CUtlVector<Vector4D>
+                constexpr std::ptrdiff_t m_OnBroken = 0x898; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iSurfaceType = 0x8C0; // uint8
+                constexpr std::ptrdiff_t m_hMaterialDamageBase = 0x8C8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CBaseButton
+            // Field count: 0
+            namespace CRotButton {
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            namespace CSoundEventSphereEntity {
+                constexpr std::ptrdiff_t m_flRadius = 0x598; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponHKP2000 {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 27
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombTicking (bool)
+            // NetworkVarNames: m_flC4Blow (GameTime_t)
+            // NetworkVarNames: m_nBombSite (int)
+            // NetworkVarNames: m_nSourceSoundscapeHash (int)
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_bCannotBeDefused (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_bHasExploded (bool)
+            // NetworkVarNames: m_flTimerLength (float)
+            // NetworkVarNames: m_bBeingDefused (bool)
+            // NetworkVarNames: m_flDefuseLength (float)
+            // NetworkVarNames: m_flDefuseCountDown (GameTime_t)
+            // NetworkVarNames: m_bBombDefused (bool)
+            // NetworkVarNames: m_hBombDefuser (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            namespace CPlantedC4 {
+                constexpr std::ptrdiff_t m_bBombTicking = 0x9B0; // bool
+                constexpr std::ptrdiff_t m_flC4Blow = 0x9B4; // GameTime_t
+                constexpr std::ptrdiff_t m_nBombSite = 0x9B8; // int32
+                constexpr std::ptrdiff_t m_nSourceSoundscapeHash = 0x9BC; // int32
+                constexpr std::ptrdiff_t m_AttributeManager = 0x9C0; // CAttributeContainer
+                constexpr std::ptrdiff_t m_OnBombDefused = 0xC88; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBombBeginDefuse = 0xCB0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBombDefuseAborted = 0xCD8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bCannotBeDefused = 0xD00; // bool
+                constexpr std::ptrdiff_t m_entitySpottedState = 0xD08; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_nSpotRules = 0xD20; // int32
+                constexpr std::ptrdiff_t m_bTrainingPlacedByPlayer = 0xD24; // bool
+                constexpr std::ptrdiff_t m_bHasExploded = 0xD25; // bool
+                constexpr std::ptrdiff_t m_flTimerLength = 0xD28; // float32
+                constexpr std::ptrdiff_t m_bBeingDefused = 0xD2C; // bool
+                constexpr std::ptrdiff_t m_fLastDefuseTime = 0xD34; // GameTime_t
+                constexpr std::ptrdiff_t m_flDefuseLength = 0xD3C; // float32
+                constexpr std::ptrdiff_t m_flDefuseCountDown = 0xD40; // GameTime_t
+                constexpr std::ptrdiff_t m_bBombDefused = 0xD44; // bool
+                constexpr std::ptrdiff_t m_hBombDefuser = 0xD48; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_hControlPanel = 0xD4C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iProgressBarTime = 0xD50; // int32
+                constexpr std::ptrdiff_t m_bVoiceAlertFired = 0xD54; // bool
+                constexpr std::ptrdiff_t m_bVoiceAlertPlayed = 0xD55; // bool[4]
+                constexpr std::ptrdiff_t m_flNextBotBeepTime = 0xD5C; // GameTime_t
+                constexpr std::ptrdiff_t m_angCatchUpToPlayerEye = 0xD64; // QAngle
+                constexpr std::ptrdiff_t m_flLastSpinDetectionTime = 0xD70; // GameTime_t
+            }
+            // Parent: CBaseClientUIEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hActivator (EHANDLE)
+            namespace CPointClientUIDialog {
+                constexpr std::ptrdiff_t m_hActivator = 0x940; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bStartEnabled = 0x944; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            namespace CEnvSplash {
+                constexpr std::ptrdiff_t m_flScale = 0x4E0; // float32
+            }
+            // Parent: None
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: dirPrimary (Vector)
+            // NetworkVarNames: colorPrimary (Color)
+            // NetworkVarNames: colorSecondary (Color)
+            // NetworkVarNames: colorPrimaryLerpTo (Color)
+            // NetworkVarNames: colorSecondaryLerpTo (Color)
+            // NetworkVarNames: start (float32)
+            // NetworkVarNames: end (float32)
+            // NetworkVarNames: farz (float32)
+            // NetworkVarNames: maxdensity (float32)
+            // NetworkVarNames: exponent (float32)
+            // NetworkVarNames: HDRColorScale (float32)
+            // NetworkVarNames: skyboxFogFactor (float32)
+            // NetworkVarNames: skyboxFogFactorLerpTo (float32)
+            // NetworkVarNames: startLerpTo (float32)
+            // NetworkVarNames: endLerpTo (float32)
+            // NetworkVarNames: maxdensityLerpTo (float32)
+            // NetworkVarNames: lerptime (GameTime_t)
+            // NetworkVarNames: duration (float32)
+            // NetworkVarNames: blendtobackground (float32)
+            // NetworkVarNames: scattering (float32)
+            // NetworkVarNames: locallightscale (float32)
+            // NetworkVarNames: enable (bool)
+            // NetworkVarNames: blend (bool)
+            // NetworkVarNames: m_bNoReflectionFog (bool)
+            namespace fogparams_t {
+                constexpr std::ptrdiff_t dirPrimary = 0x8; // Vector
+                constexpr std::ptrdiff_t colorPrimary = 0x14; // Color
+                constexpr std::ptrdiff_t colorSecondary = 0x18; // Color
+                constexpr std::ptrdiff_t colorPrimaryLerpTo = 0x1C; // Color
+                constexpr std::ptrdiff_t colorSecondaryLerpTo = 0x20; // Color
+                constexpr std::ptrdiff_t start = 0x24; // float32
+                constexpr std::ptrdiff_t end = 0x28; // float32
+                constexpr std::ptrdiff_t farz = 0x2C; // float32
+                constexpr std::ptrdiff_t maxdensity = 0x30; // float32
+                constexpr std::ptrdiff_t exponent = 0x34; // float32
+                constexpr std::ptrdiff_t HDRColorScale = 0x38; // float32
+                constexpr std::ptrdiff_t skyboxFogFactor = 0x3C; // float32
+                constexpr std::ptrdiff_t skyboxFogFactorLerpTo = 0x40; // float32
+                constexpr std::ptrdiff_t startLerpTo = 0x44; // float32
+                constexpr std::ptrdiff_t endLerpTo = 0x48; // float32
+                constexpr std::ptrdiff_t maxdensityLerpTo = 0x4C; // float32
+                constexpr std::ptrdiff_t lerptime = 0x50; // GameTime_t
+                constexpr std::ptrdiff_t duration = 0x54; // float32
+                constexpr std::ptrdiff_t blendtobackground = 0x58; // float32
+                constexpr std::ptrdiff_t scattering = 0x5C; // float32
+                constexpr std::ptrdiff_t locallightscale = 0x60; // float32
+                constexpr std::ptrdiff_t enable = 0x64; // bool
+                constexpr std::ptrdiff_t blend = 0x65; // bool
+                constexpr std::ptrdiff_t m_bNoReflectionFog = 0x66; // bool
+                constexpr std::ptrdiff_t m_bPadding = 0x67; // bool
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 0
+            namespace CWeaponNOVA {
+            }
+            // Parent: CPointCamera
+            // Field count: 1
+            namespace CPointCameraVFOV {
+                constexpr std::ptrdiff_t m_flVerticalFOV = 0x540; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_fFireTime (GameTime_t)
+            namespace CWeaponTaser {
+                constexpr std::ptrdiff_t m_fFireTime = 0xF88; // GameTime_t
+                constexpr std::ptrdiff_t m_nLastAttackTick = 0xF8C; // int32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            namespace CWaterBullet {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CMarkupVolume {
+                constexpr std::ptrdiff_t m_bDisabled = 0x790; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            namespace CMessage {
+                constexpr std::ptrdiff_t m_iszMessage = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_MessageVolume = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_MessageAttenuation = 0x4EC; // int32
+                constexpr std::ptrdiff_t m_Radius = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_sNoise = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnShowMessage = 0x500; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            namespace CLogicGameEventListener {
+                constexpr std::ptrdiff_t m_OnEventFired = 0x4F0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iszGameEventName = 0x518; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszGameEventItem = 0x520; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bEnabled = 0x528; // bool
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x529; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+            namespace CBreakable {
+                constexpr std::ptrdiff_t m_CPropDataComponent = 0x798; // CPropDataComponent
+                constexpr std::ptrdiff_t m_Material = 0x7D8; // Materials
+                constexpr std::ptrdiff_t m_hBreaker = 0x7DC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_Explosion = 0x7E0; // Explosions
+                constexpr std::ptrdiff_t m_iszSpawnObject = 0x7E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flPressureDelay = 0x7F0; // float32
+                constexpr std::ptrdiff_t m_iMinHealthDmg = 0x7F4; // int32
+                constexpr std::ptrdiff_t m_iszPropData = 0x7F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_impactEnergyScale = 0x800; // float32
+                constexpr std::ptrdiff_t m_nOverrideBlockLOS = 0x804; // EOverrideBlockLOS_t
+                constexpr std::ptrdiff_t m_OnBreak = 0x808; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHealthChanged = 0x830; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_PerformanceMode = 0x858; // PerformanceMode_t
+                constexpr std::ptrdiff_t m_hPhysicsAttacker = 0x85C; // CHandle<CBasePlayerPawn>
+                constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0x860; // GameTime_t
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 16
+            namespace CBaseToggle {
+                constexpr std::ptrdiff_t m_toggle_state = 0x790; // TOGGLE_STATE
+                constexpr std::ptrdiff_t m_flMoveDistance = 0x794; // float32
+                constexpr std::ptrdiff_t m_flWait = 0x798; // float32
+                constexpr std::ptrdiff_t m_flLip = 0x79C; // float32
+                constexpr std::ptrdiff_t m_bAlwaysFireBlockedOutputs = 0x7A0; // bool
+                constexpr std::ptrdiff_t m_vecPosition1 = 0x7A4; // Vector
+                constexpr std::ptrdiff_t m_vecPosition2 = 0x7B0; // Vector
+                constexpr std::ptrdiff_t m_vecMoveAng = 0x7BC; // QAngle
+                constexpr std::ptrdiff_t m_vecAngle1 = 0x7C8; // QAngle
+                constexpr std::ptrdiff_t m_vecAngle2 = 0x7D4; // QAngle
+                constexpr std::ptrdiff_t m_flHeight = 0x7E0; // float32
+                constexpr std::ptrdiff_t m_hActivator = 0x7E4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_vecFinalDest = 0x7E8; // Vector
+                constexpr std::ptrdiff_t m_vecFinalAngle = 0x7F4; // QAngle
+                constexpr std::ptrdiff_t m_movementType = 0x800; // int32
+                constexpr std::ptrdiff_t m_sMaster = 0x808; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoTarget {
+            }
+            // Parent: CRotButton
+            // Field count: 14
+            namespace CMomentaryRotButton {
+                constexpr std::ptrdiff_t m_Position = 0x960; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnUnpressed = 0x988; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyOpen = 0x9B0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyClosed = 0x9D8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnReachedPosition = 0xA00; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_lastUsed = 0xA28; // int32
+                constexpr std::ptrdiff_t m_start = 0xA2C; // QAngle
+                constexpr std::ptrdiff_t m_end = 0xA38; // QAngle
+                constexpr std::ptrdiff_t m_IdealYaw = 0xA44; // float32
+                constexpr std::ptrdiff_t m_sNoise = 0xA48; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bUpdateTarget = 0xA50; // bool
+                constexpr std::ptrdiff_t m_direction = 0xA54; // int32
+                constexpr std::ptrdiff_t m_returnSpeed = 0xA58; // float32
+                constexpr std::ptrdiff_t m_flStartPosition = 0xA5C; // float32
+            }
+            // Parent: CEntityComponent
+            // Field count: 10
+            namespace CPropDataComponent {
+                constexpr std::ptrdiff_t m_flDmgModBullet = 0x10; // float32
+                constexpr std::ptrdiff_t m_flDmgModClub = 0x14; // float32
+                constexpr std::ptrdiff_t m_flDmgModExplosive = 0x18; // float32
+                constexpr std::ptrdiff_t m_flDmgModFire = 0x1C; // float32
+                constexpr std::ptrdiff_t m_iszPhysicsDamageTableName = 0x20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszBasePropData = 0x28; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nInteractions = 0x30; // int32
+                constexpr std::ptrdiff_t m_bSpawnMotionDisabled = 0x34; // bool
+                constexpr std::ptrdiff_t m_nDisableTakePhysicsDamageSpawnFlag = 0x38; // int32
+                constexpr std::ptrdiff_t m_nMotionDisabledSpawnFlag = 0x3C; // int32
+            }
+            // Parent: CRulePointEntity
+            // Field count: 2
+            namespace CGameText {
+                constexpr std::ptrdiff_t m_iszMessage = 0x7A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_textParms = 0x7A8; // hudtextparms_t
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponMP5SD {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_bLoop (bool)
+            // NetworkVarNames: m_flFPS (float)
+            // NetworkVarNames: m_hPositionKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_hRotationKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_vAnimationBoundsMin (Vector)
+            // NetworkVarNames: m_vAnimationBoundsMax (Vector)
+            // NetworkVarNames: m_flStartTime (float)
+            // NetworkVarNames: m_flStartFrame (float)
+            namespace CTextureBasedAnimatable {
+                constexpr std::ptrdiff_t m_bLoop = 0x790; // bool
+                constexpr std::ptrdiff_t m_flFPS = 0x794; // float32
+                constexpr std::ptrdiff_t m_hPositionKeys = 0x798; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_hRotationKeys = 0x7A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_vAnimationBoundsMin = 0x7A8; // Vector
+                constexpr std::ptrdiff_t m_vAnimationBoundsMax = 0x7B4; // Vector
+                constexpr std::ptrdiff_t m_flStartTime = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_flStartFrame = 0x7C4; // float32
+            }
+            // Parent: CMarkupVolumeTagged
+            // Field count: 3
+            namespace CMarkupVolumeWithRef {
+                constexpr std::ptrdiff_t m_bUseRef = 0x7D0; // bool
+                constexpr std::ptrdiff_t m_vRefPos = 0x7D4; // Vector
+                constexpr std::ptrdiff_t m_flRefDot = 0x7E0; // float32
+            }
+            // Parent: CPhysForce
+            // Field count: 1
+            namespace CPhysThruster {
+                constexpr std::ptrdiff_t m_localOrigin = 0x540; // Vector
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CCSPointScriptExtensions_player {
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_vDistanceInnerMins (Vector)
+            // NetworkVarNames: m_vDistanceInnerMaxs (Vector)
+            // NetworkVarNames: m_vDistanceOuterMins (Vector)
+            // NetworkVarNames: m_vDistanceOuterMaxs (Vector)
+            // NetworkVarNames: m_nAABBDirection (int)
+            namespace CCitadelSoundOpvarSetOBB {
+                constexpr std::ptrdiff_t m_iszStackName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOperatorName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszOpvarName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_vDistanceInnerMins = 0x4F8; // Vector
+                constexpr std::ptrdiff_t m_vDistanceInnerMaxs = 0x504; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMins = 0x510; // Vector
+                constexpr std::ptrdiff_t m_vDistanceOuterMaxs = 0x51C; // Vector
+                constexpr std::ptrdiff_t m_nAABBDirection = 0x528; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_unDefIdx (item_definition_index_t)
+            // NetworkVarNames: m_nCost (int)
+            // NetworkVarNames: m_nPrevArmor (int)
+            // NetworkVarNames: m_bPrevHelmet (bool)
+            // NetworkVarNames: m_hItem (CEntityHandle)
+            namespace SellbackPurchaseEntry_t {
+                constexpr std::ptrdiff_t m_unDefIdx = 0x30; // uint16
+                constexpr std::ptrdiff_t m_nCost = 0x34; // int32
+                constexpr std::ptrdiff_t m_nPrevArmor = 0x38; // int32
+                constexpr std::ptrdiff_t m_bPrevHelmet = 0x3C; // bool
+                constexpr std::ptrdiff_t m_hItem = 0x40; // CEntityHandle
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponFamas {
+            }
+            // Parent: CPhysicsProp
+            // Field count: 3
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_ShardDesc (shard_model_desc_t)
+            namespace CShatterGlassShardPhysics {
+                constexpr std::ptrdiff_t m_bDebris = 0xD00; // bool
+                constexpr std::ptrdiff_t m_hParentShard = 0xD04; // uint32
+                constexpr std::ptrdiff_t m_ShardDesc = 0xD08; // shard_model_desc_t
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterModel {
+                constexpr std::ptrdiff_t m_iFilterModel = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CBasePlayerPawn
+            // Field count: 22
+            //
+            // Metadata:
+            // NetworkVarNames: m_CTouchExpansionComponent (CTouchExpansionComponent::Storage_t)
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pPingServices (CCSPlayer_PingServices*)
+            // NetworkVarNames: m_pViewModelServices (CPlayer_ViewModelServices*)
+            // NetworkVarNames: m_iPlayerState (CSPlayerState)
+            // NetworkVarNames: m_fImmuneToGunGameDamageTime (GameTime_t)
+            // NetworkVarNames: m_bGunGameImmunity (bool)
+            // NetworkVarNames: m_fMolotovDamageTime (float)
+            // NetworkVarNames: m_bHasMovedSinceSpawn (bool)
+            // NetworkVarNames: m_flFlashDuration (float)
+            // NetworkVarNames: m_flFlashMaxAlpha (float)
+            // NetworkVarNames: m_flProgressBarStartTime (float)
+            // NetworkVarNames: m_iProgressBarDuration (int)
+            // NetworkVarNames: m_angEyeAngles (QAngle)
+            // NetworkVarNames: m_hOriginalController (CHandle<CCSPlayerController>)
+            namespace CCSPlayerPawnBase {
+                constexpr std::ptrdiff_t m_CTouchExpansionComponent = 0xC68; // CTouchExpansionComponent
+                constexpr std::ptrdiff_t m_pPingServices = 0xCB8; // CCSPlayer_PingServices*
+                constexpr std::ptrdiff_t m_pViewModelServices = 0xCC0; // CPlayer_ViewModelServices*
+                constexpr std::ptrdiff_t m_blindUntilTime = 0xCC8; // GameTime_t
+                constexpr std::ptrdiff_t m_blindStartTime = 0xCCC; // GameTime_t
+                constexpr std::ptrdiff_t m_iPlayerState = 0xCD0; // CSPlayerState
+                constexpr std::ptrdiff_t m_bRespawning = 0xD80; // bool
+                constexpr std::ptrdiff_t m_fImmuneToGunGameDamageTime = 0xD84; // GameTime_t
+                constexpr std::ptrdiff_t m_bGunGameImmunity = 0xD88; // bool
+                constexpr std::ptrdiff_t m_fMolotovDamageTime = 0xD8C; // float32
+                constexpr std::ptrdiff_t m_bHasMovedSinceSpawn = 0xD90; // bool
+                constexpr std::ptrdiff_t m_iNumSpawns = 0xD94; // int32
+                constexpr std::ptrdiff_t m_flIdleTimeSinceLastAction = 0xD9C; // float32
+                constexpr std::ptrdiff_t m_fNextRadarUpdateTime = 0xDA0; // float32
+                constexpr std::ptrdiff_t m_flFlashDuration = 0xDA4; // float32
+                constexpr std::ptrdiff_t m_flFlashMaxAlpha = 0xDA8; // float32
+                constexpr std::ptrdiff_t m_flProgressBarStartTime = 0xDAC; // float32
+                constexpr std::ptrdiff_t m_iProgressBarDuration = 0xDB0; // int32
+                constexpr std::ptrdiff_t m_angEyeAngles = 0xDB4; // QAngle
+                constexpr std::ptrdiff_t m_wasNotKilledNaturally = 0xDC0; // bool
+                constexpr std::ptrdiff_t m_bCommittingSuicideOnTeamChange = 0xDC1; // bool
+                constexpr std::ptrdiff_t m_hOriginalController = 0xDC4; // CHandle<CCSPlayerController>
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            namespace CPathTrack {
+                constexpr std::ptrdiff_t m_pnext = 0x4E0; // CPathTrack*
+                constexpr std::ptrdiff_t m_pprevious = 0x4E8; // CPathTrack*
+                constexpr std::ptrdiff_t m_paltpath = 0x4F0; // CPathTrack*
+                constexpr std::ptrdiff_t m_flRadius = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_length = 0x4FC; // float32
+                constexpr std::ptrdiff_t m_altName = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nIterVal = 0x508; // int32
+                constexpr std::ptrdiff_t m_eOrientationType = 0x50C; // TrackOrientationType_t
+                constexpr std::ptrdiff_t m_OnPass = 0x510; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            namespace CLogicDistanceCheck {
+                constexpr std::ptrdiff_t m_iszEntityA = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszEntityB = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flZone1Distance = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_flZone2Distance = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_InZone1 = 0x4F8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_InZone2 = 0x520; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_InZone3 = 0x548; // CEntityIOOutput
+            }
+            // Parent: CBarnLight
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flInnerAngle (float)
+            // NetworkVarNames: m_flOuterAngle (float)
+            // NetworkVarNames: m_bShowLight (bool)
+            namespace COmniLight {
+                constexpr std::ptrdiff_t m_flInnerAngle = 0xAB0; // float32
+                constexpr std::ptrdiff_t m_flOuterAngle = 0xAB4; // float32
+                constexpr std::ptrdiff_t m_bShowLight = 0xAB8; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_nResolutionX (int)
+            // NetworkVarNames: m_nResolutionY (int)
+            // NetworkVarNames: m_szLayoutFileName (string_t)
+            // NetworkVarNames: m_RenderAttrName (string_t)
+            // NetworkVarNames: m_TargetEntities (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_nTargetChangeCount (int)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            namespace CInfoOffscreenPanoramaTexture {
+                constexpr std::ptrdiff_t m_bDisabled = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_nResolutionX = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_nResolutionY = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_szLayoutFileName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_RenderAttrName = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_TargetEntities = 0x500; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                constexpr std::ptrdiff_t m_nTargetChangeCount = 0x518; // int32
+                constexpr std::ptrdiff_t m_vecCSSClasses = 0x520; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+                constexpr std::ptrdiff_t m_szTargetsName = 0x538; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_AdditionalTargetEntities = 0x540; // CUtlVector<CHandle<CBaseModelEntity>>
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMode (int)
+            // NetworkVarNames: m_vBoxSize (Vector)
+            // NetworkVarNames: m_bEnabled (bool)
+            namespace CInfoVisibilityBox {
+                constexpr std::ptrdiff_t m_nMode = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_vBoxSize = 0x4E8; // Vector
+                constexpr std::ptrdiff_t m_bEnabled = 0x4F4; // bool
+            }
+            // Parent: CRulePointEntity
+            // Field count: 0
+            namespace CGamePlayerEquip {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 0
+            namespace CInfoTargetServerOnly {
+            }
+            // Parent: CSoundOpvarSetPointEntity
+            // Field count: 3
+            namespace CSoundOpvarSetPathCornerEntity {
+                constexpr std::ptrdiff_t m_flDistMinSqr = 0x6A0; // float32
+                constexpr std::ptrdiff_t m_flDistMaxSqr = 0x6A4; // float32
+                constexpr std::ptrdiff_t m_iszPathCornerEntityName = 0x6A8; // CUtlSymbolLarge
+            }
+            // Parent: CPlayer_WeaponServices
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_flNextAttack (GameTime_t)
+            // NetworkVarNames: m_bIsLookingAtWeapon (bool)
+            // NetworkVarNames: m_bIsHoldingLookAtWeapon (bool)
+            namespace CCSPlayer_WeaponServices {
+                constexpr std::ptrdiff_t m_flNextAttack = 0xA8; // GameTime_t
+                constexpr std::ptrdiff_t m_bIsLookingAtWeapon = 0xAC; // bool
+                constexpr std::ptrdiff_t m_bIsHoldingLookAtWeapon = 0xAD; // bool
+                constexpr std::ptrdiff_t m_hSavedWeapon = 0xB0; // CHandle<CBasePlayerWeapon>
+                constexpr std::ptrdiff_t m_nTimeToMelee = 0xB4; // int32
+                constexpr std::ptrdiff_t m_nTimeToSecondary = 0xB8; // int32
+                constexpr std::ptrdiff_t m_nTimeToPrimary = 0xBC; // int32
+                constexpr std::ptrdiff_t m_nTimeToSniperRifle = 0xC0; // int32
+                constexpr std::ptrdiff_t m_bIsBeingGivenItem = 0xC4; // bool
+                constexpr std::ptrdiff_t m_bIsPickingUpItemWithUse = 0xC5; // bool
+                constexpr std::ptrdiff_t m_bPickedUpWeapon = 0xC6; // bool
+                constexpr std::ptrdiff_t m_bDisableAutoDeploy = 0xC7; // bool
+                constexpr std::ptrdiff_t m_bIsPickingUpGroundWeapon = 0xC8; // bool
+                constexpr std::ptrdiff_t m_nOldShootPositionHistoryCount = 0xCC; // uint32
+                constexpr std::ptrdiff_t m_nOldInputHistoryCount = 0x468; // uint32
+            }
+            // Parent: CBaseEntity
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_hEntAttached (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bCheapEffect (bool)
+            namespace CEntityFlame {
+                constexpr std::ptrdiff_t m_hEntAttached = 0x4E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bCheapEffect = 0x4E4; // bool
+                constexpr std::ptrdiff_t m_flSize = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_bUseHitboxes = 0x4EC; // bool
+                constexpr std::ptrdiff_t m_iNumHitboxFires = 0x4F0; // int32
+                constexpr std::ptrdiff_t m_flHitboxFireScale = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flLifetime = 0x4F8; // GameTime_t
+                constexpr std::ptrdiff_t m_hAttacker = 0x4FC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_iDangerSound = 0x500; // int32
+                constexpr std::ptrdiff_t m_flDirectDamagePerSecond = 0x504; // float32
+                constexpr std::ptrdiff_t m_iCustomDamageType = 0x508; // int32
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_zoomLevel (int)
+            // NetworkVarNames: m_iBurstShotsRemaining (int)
+            // NetworkVarNames: m_bNeedsBoltAction (bool)
+            namespace CCSWeaponBaseGun {
+                constexpr std::ptrdiff_t m_zoomLevel = 0xF68; // int32
+                constexpr std::ptrdiff_t m_iBurstShotsRemaining = 0xF6C; // int32
+                constexpr std::ptrdiff_t m_silencedModelIndex = 0xF78; // int32
+                constexpr std::ptrdiff_t m_inPrecache = 0xF7C; // bool
+                constexpr std::ptrdiff_t m_bNeedsBoltAction = 0xF7D; // bool
+                constexpr std::ptrdiff_t m_bSkillReloadAvailable = 0xF7E; // bool
+                constexpr std::ptrdiff_t m_bSkillReloadLiftedReloadKey = 0xF7F; // bool
+                constexpr std::ptrdiff_t m_bSkillBoltInterruptAvailable = 0xF80; // bool
+                constexpr std::ptrdiff_t m_bSkillBoltLiftedFireKey = 0xF81; // bool
+            }
+            // Parent: None
+            // Field count: 13
+            namespace CBot {
+                constexpr std::ptrdiff_t m_pController = 0x10; // CCSPlayerController*
+                constexpr std::ptrdiff_t m_pPlayer = 0x18; // CCSPlayerPawn*
+                constexpr std::ptrdiff_t m_bHasSpawned = 0x20; // bool
+                constexpr std::ptrdiff_t m_id = 0x24; // uint32
+                constexpr std::ptrdiff_t m_isRunning = 0xC0; // bool
+                constexpr std::ptrdiff_t m_isCrouching = 0xC1; // bool
+                constexpr std::ptrdiff_t m_forwardSpeed = 0xC4; // float32
+                constexpr std::ptrdiff_t m_leftSpeed = 0xC8; // float32
+                constexpr std::ptrdiff_t m_verticalSpeed = 0xCC; // float32
+                constexpr std::ptrdiff_t m_buttonFlags = 0xD0; // uint64
+                constexpr std::ptrdiff_t m_jumpTimestamp = 0xD8; // float32
+                constexpr std::ptrdiff_t m_viewForward = 0xDC; // Vector
+                constexpr std::ptrdiff_t m_postureStackIndex = 0xF8; // int32
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_nameStringableIndex (int32)
+            namespace CEntityIdentity {
+                constexpr std::ptrdiff_t m_nameStringableIndex = 0x14; // int32
+                constexpr std::ptrdiff_t m_name = 0x18; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_designerName = 0x20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flags = 0x30; // uint32
+                constexpr std::ptrdiff_t m_worldGroupId = 0x38; // WorldGroupId_t
+                constexpr std::ptrdiff_t m_fDataObjectTypes = 0x3C; // uint32
+                constexpr std::ptrdiff_t m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t
+                constexpr std::ptrdiff_t m_pPrev = 0x58; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_pNext = 0x60; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_pPrevByClass = 0x68; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_pNextByClass = 0x70; // CEntityIdentity*
+            }
+            // Parent: CBaseToggle
+            // Field count: 3
+            namespace CGunTarget {
+                constexpr std::ptrdiff_t m_on = 0x810; // bool
+                constexpr std::ptrdiff_t m_hTargetEnt = 0x814; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_OnDeath = 0x818; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            namespace CSoundEventParameter {
+                constexpr std::ptrdiff_t m_iszParamName = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flFloatValue = 0x4F0; // float32
+            }
+            // Parent: CPulseGraphInstance_ServerEntity
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            namespace CPulseGraphInstance_GameBlackboard {
+            }
+            // Parent: CMarkupVolume
+            // Field count: 5
+            namespace CMarkupVolumeTagged {
+                constexpr std::ptrdiff_t m_bIsGroup = 0x7C8; // bool
+                constexpr std::ptrdiff_t m_bGroupByPrefab = 0x7C9; // bool
+                constexpr std::ptrdiff_t m_bGroupByVolume = 0x7CA; // bool
+                constexpr std::ptrdiff_t m_bGroupOtherGroups = 0x7CB; // bool
+                constexpr std::ptrdiff_t m_bIsInGroup = 0x7CC; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 5
+            namespace CTestEffect {
+                constexpr std::ptrdiff_t m_iLoop = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_iBeam = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_pBeam = 0x4E8; // CBeam*[24]
+                constexpr std::ptrdiff_t m_flBeamTime = 0x5A8; // GameTime_t[24]
+                constexpr std::ptrdiff_t m_flStartTime = 0x608; // GameTime_t
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponM4A1Silencer {
+            }
+            // Parent: CFuncNavBlocker
+            // Field count: 1
+            namespace CScriptNavBlocker {
+                constexpr std::ptrdiff_t m_vExtent = 0x7A0; // Vector
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 1
+            namespace CConstraintAnchor {
+                constexpr std::ptrdiff_t m_massScale = 0x9A8; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponTec9 {
+            }
+            // Parent: CMarkupVolumeTagged
+            // Field count: 0
+            namespace CMarkupVolumeTagged_Nav {
+            }
+            // Parent: CPointEntity
+            // Field count: 66
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsPlayingBack (bool)
+            // NetworkVarNames: m_bPaused (bool)
+            // NetworkVarNames: m_bMultiplayer (bool)
+            // NetworkVarNames: m_bAutogenerated (bool)
+            // NetworkVarNames: m_flForceClientTime (float32)
+            // NetworkVarNames: m_hActorList (CHandle<CBaseFlex>)
+            // NetworkVarNames: m_nSceneStringIndex (uint16)
+            namespace CSceneEntity {
+                constexpr std::ptrdiff_t m_iszSceneFile = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszResumeSceneFile = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget1 = 0x4F8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget2 = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget3 = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget4 = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget5 = 0x518; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget6 = 0x520; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget7 = 0x528; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszTarget8 = 0x530; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hTarget1 = 0x538; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget2 = 0x53C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget3 = 0x540; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget4 = 0x544; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget5 = 0x548; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget6 = 0x54C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget7 = 0x550; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget8 = 0x554; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_sTargetAttachment = 0x558; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bIsPlayingBack = 0x560; // bool
+                constexpr std::ptrdiff_t m_bPaused = 0x561; // bool
+                constexpr std::ptrdiff_t m_bMultiplayer = 0x562; // bool
+                constexpr std::ptrdiff_t m_bAutogenerated = 0x563; // bool
+                constexpr std::ptrdiff_t m_flForceClientTime = 0x564; // float32
+                constexpr std::ptrdiff_t m_flCurrentTime = 0x568; // float32
+                constexpr std::ptrdiff_t m_flFrameTime = 0x56C; // float32
+                constexpr std::ptrdiff_t m_bCancelAtNextInterrupt = 0x570; // bool
+                constexpr std::ptrdiff_t m_fPitch = 0x574; // float32
+                constexpr std::ptrdiff_t m_bAutomated = 0x578; // bool
+                constexpr std::ptrdiff_t m_nAutomatedAction = 0x57C; // int32
+                constexpr std::ptrdiff_t m_flAutomationDelay = 0x580; // float32
+                constexpr std::ptrdiff_t m_flAutomationTime = 0x584; // float32
+                constexpr std::ptrdiff_t m_hWaitingForThisResumeScene = 0x588; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_bWaitingForResumeScene = 0x58C; // bool
+                constexpr std::ptrdiff_t m_bPausedViaInput = 0x58D; // bool
+                constexpr std::ptrdiff_t m_bPauseAtNextInterrupt = 0x58E; // bool
+                constexpr std::ptrdiff_t m_bWaitingForActor = 0x58F; // bool
+                constexpr std::ptrdiff_t m_bWaitingForInterrupt = 0x590; // bool
+                constexpr std::ptrdiff_t m_bInterruptedActorsScenes = 0x591; // bool
+                constexpr std::ptrdiff_t m_bBreakOnNonIdle = 0x592; // bool
+                constexpr std::ptrdiff_t m_bSceneFinished = 0x593; // bool
+                constexpr std::ptrdiff_t m_hActorList = 0x598; // CNetworkUtlVectorBase<CHandle<CBaseFlex>>
+                constexpr std::ptrdiff_t m_hRemoveActorList = 0x5B0; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_nSceneFlushCounter = 0x5F8; // int32
+                constexpr std::ptrdiff_t m_nSceneStringIndex = 0x5FC; // uint16
+                constexpr std::ptrdiff_t m_OnStart = 0x600; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnCompletion = 0x628; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnCanceled = 0x650; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnPaused = 0x678; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnResumed = 0x6A0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnTrigger = 0x6C8; // CEntityIOOutput[16]
+                constexpr std::ptrdiff_t m_hInterruptScene = 0x9D8; // CHandle<CSceneEntity>
+                constexpr std::ptrdiff_t m_nInterruptCount = 0x9DC; // int32
+                constexpr std::ptrdiff_t m_bSceneMissing = 0x9E0; // bool
+                constexpr std::ptrdiff_t m_bInterrupted = 0x9E1; // bool
+                constexpr std::ptrdiff_t m_bCompletedEarly = 0x9E2; // bool
+                constexpr std::ptrdiff_t m_bInterruptSceneFinished = 0x9E3; // bool
+                constexpr std::ptrdiff_t m_bRestoring = 0x9E4; // bool
+                constexpr std::ptrdiff_t m_hNotifySceneCompletion = 0x9E8; // CUtlVector<CHandle<CSceneEntity>>
+                constexpr std::ptrdiff_t m_hListManagers = 0xA00; // CUtlVector<CHandle<CSceneListManager>>
+                constexpr std::ptrdiff_t m_iszSoundName = 0xA18; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iszSequenceName = 0xA20; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hActor = 0xA28; // CHandle<CBaseFlex>
+                constexpr std::ptrdiff_t m_hActivator = 0xA2C; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_BusyActor = 0xA30; // int32
+                constexpr std::ptrdiff_t m_iPlayerDeathBehavior = 0xA34; // SceneOnPlayerDeath_t
+            }
+            // Parent: CLightDirectionalEntity
+            // Field count: 0
+            namespace CLightEnvironmentEntity {
+            }
+            // Parent: CLogicAutosave
+            // Field count: 4
+            namespace CLogicActiveAutosave {
+                constexpr std::ptrdiff_t m_TriggerHitPoints = 0x4F0; // int32
+                constexpr std::ptrdiff_t m_flTimeToTrigger = 0x4F4; // float32
+                constexpr std::ptrdiff_t m_flStartTime = 0x4F8; // GameTime_t
+                constexpr std::ptrdiff_t m_flDangerousTime = 0x4FC; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            namespace CEnvBeverage {
+                constexpr std::ptrdiff_t m_CanInDispenser = 0x4E0; // bool
+                constexpr std::ptrdiff_t m_nBeverageType = 0x4E4; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_iActiveIssueIndex (int)
+            // NetworkVarNames: m_iOnlyTeamToVote (int)
+            // NetworkVarNames: m_nVoteOptionCount (int)
+            // NetworkVarNames: m_nPotentialVotes (int)
+            // NetworkVarNames: m_bIsYesNoVote (bool)
+            namespace CVoteController {
+                constexpr std::ptrdiff_t m_iActiveIssueIndex = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_iOnlyTeamToVote = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_nVoteOptionCount = 0x4E8; // int32[5]
+                constexpr std::ptrdiff_t m_nPotentialVotes = 0x4FC; // int32
+                constexpr std::ptrdiff_t m_bIsYesNoVote = 0x500; // bool
+                constexpr std::ptrdiff_t m_acceptingVotesTimer = 0x508; // CountdownTimer
+                constexpr std::ptrdiff_t m_executeCommandTimer = 0x520; // CountdownTimer
+                constexpr std::ptrdiff_t m_resetVoteTimer = 0x538; // CountdownTimer
+                constexpr std::ptrdiff_t m_nVotesCast = 0x550; // int32[64]
+                constexpr std::ptrdiff_t m_playerHoldingVote = 0x650; // CPlayerSlot
+                constexpr std::ptrdiff_t m_playerOverrideForVote = 0x654; // CPlayerSlot
+                constexpr std::ptrdiff_t m_nHighestCountIndex = 0x658; // int32
+                constexpr std::ptrdiff_t m_potentialIssues = 0x660; // CUtlVector<CBaseIssue*>
+                constexpr std::ptrdiff_t m_VoteOptions = 0x678; // CUtlVector<char*>
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponCZ75a {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponP250 {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_flexWeight (float32)
+            // NetworkVarNames: m_vLookTargetPosition (Vector)
+            // NetworkVarNames: m_blinktoggle (bool)
+            namespace CBaseFlex {
+                constexpr std::ptrdiff_t m_flexWeight = 0x9A8; // CNetworkUtlVectorBase<float32>
+                constexpr std::ptrdiff_t m_vLookTargetPosition = 0x9C0; // Vector
+                constexpr std::ptrdiff_t m_blinktoggle = 0x9CC; // bool
+                constexpr std::ptrdiff_t m_flAllowResponsesEndTime = 0xA20; // GameTime_t
+                constexpr std::ptrdiff_t m_flLastFlexAnimationTime = 0xA24; // GameTime_t
+                constexpr std::ptrdiff_t m_nNextSceneEventId = 0xA28; // SceneEventId_t
+                constexpr std::ptrdiff_t m_bUpdateLayerPriorities = 0xA2C; // bool
+            }
+            // Parent: CTriggerHurt
+            // Field count: 1
+            namespace CScriptTriggerHurt {
+                constexpr std::ptrdiff_t m_vExtent = 0xA00; // Vector
+            }
+            // Parent: CBasePlayerWeaponVData
+            // Field count: 92
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertySuppressBaseClassField
+            // MPropertySuppressBaseClassField
+            namespace CCSWeaponBaseVData {
+                constexpr std::ptrdiff_t m_WeaponType = 0x348; // CSWeaponType
+                constexpr std::ptrdiff_t m_WeaponCategory = 0x34C; // CSWeaponCategory
+                constexpr std::ptrdiff_t m_szViewModel = 0x350; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szPlayerModel = 0x430; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szWorldDroppedModel = 0x510; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szAimsightLensMaskModel = 0x5F0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szMagazineModel = 0x6D0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                constexpr std::ptrdiff_t m_szHeatEffect = 0x7B0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szEjectBrassEffect = 0x890; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szMuzzleFlashParticleAlt = 0x970; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticle = 0xA50; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticleAlt = 0xB30; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_szTracerParticle = 0xC10; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                constexpr std::ptrdiff_t m_GearSlot = 0xCF0; // gear_slot_t
+                constexpr std::ptrdiff_t m_GearSlotPosition = 0xCF4; // int32
+                constexpr std::ptrdiff_t m_DefaultLoadoutSlot = 0xCF8; // loadout_slot_t
+                constexpr std::ptrdiff_t m_sWrongTeamMsg = 0xD00; // CUtlString
+                constexpr std::ptrdiff_t m_nPrice = 0xD08; // int32
+                constexpr std::ptrdiff_t m_nKillAward = 0xD0C; // int32
+                constexpr std::ptrdiff_t m_nPrimaryReserveAmmoMax = 0xD10; // int32
+                constexpr std::ptrdiff_t m_nSecondaryReserveAmmoMax = 0xD14; // int32
+                constexpr std::ptrdiff_t m_bMeleeWeapon = 0xD18; // bool
+                constexpr std::ptrdiff_t m_bHasBurstMode = 0xD19; // bool
+                constexpr std::ptrdiff_t m_bIsRevolver = 0xD1A; // bool
+                constexpr std::ptrdiff_t m_bCannotShootUnderwater = 0xD1B; // bool
+                constexpr std::ptrdiff_t m_szName = 0xD20; // CGlobalSymbol
+                constexpr std::ptrdiff_t m_szAnimExtension = 0xD28; // CUtlString
+                constexpr std::ptrdiff_t m_eSilencerType = 0xD30; // CSWeaponSilencerType
+                constexpr std::ptrdiff_t m_nCrosshairMinDistance = 0xD34; // int32
+                constexpr std::ptrdiff_t m_nCrosshairDeltaDistance = 0xD38; // int32
+                constexpr std::ptrdiff_t m_bIsFullAuto = 0xD3C; // bool
+                constexpr std::ptrdiff_t m_nNumBullets = 0xD40; // int32
+                constexpr std::ptrdiff_t m_flCycleTime = 0xD44; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flMaxSpeed = 0xD4C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flSpread = 0xD54; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyCrouch = 0xD5C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyStand = 0xD64; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyJump = 0xD6C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyLand = 0xD74; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyLadder = 0xD7C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyFire = 0xD84; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flInaccuracyMove = 0xD8C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilAngle = 0xD94; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilAngleVariance = 0xD9C; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilMagnitude = 0xDA4; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_flRecoilMagnitudeVariance = 0xDAC; // CFiringModeFloat
+                constexpr std::ptrdiff_t m_nTracerFrequency = 0xDB4; // CFiringModeInt
+                constexpr std::ptrdiff_t m_flInaccuracyJumpInitial = 0xDBC; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyJumpApex = 0xDC0; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyReload = 0xDC4; // float32
+                constexpr std::ptrdiff_t m_nRecoilSeed = 0xDC8; // int32
+                constexpr std::ptrdiff_t m_nSpreadSeed = 0xDCC; // int32
+                constexpr std::ptrdiff_t m_flTimeToIdleAfterFire = 0xDD0; // float32
+                constexpr std::ptrdiff_t m_flIdleInterval = 0xDD4; // float32
+                constexpr std::ptrdiff_t m_flAttackMovespeedFactor = 0xDD8; // float32
+                constexpr std::ptrdiff_t m_flHeatPerShot = 0xDDC; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyPitchShift = 0xDE0; // float32
+                constexpr std::ptrdiff_t m_flInaccuracyAltSoundThreshold = 0xDE4; // float32
+                constexpr std::ptrdiff_t m_flBotAudibleRange = 0xDE8; // float32
+                constexpr std::ptrdiff_t m_szUseRadioSubtitle = 0xDF0; // CUtlString
+                constexpr std::ptrdiff_t m_bUnzoomsAfterShot = 0xDF8; // bool
+                constexpr std::ptrdiff_t m_bHideViewModelWhenZoomed = 0xDF9; // bool
+                constexpr std::ptrdiff_t m_nZoomLevels = 0xDFC; // int32
+                constexpr std::ptrdiff_t m_nZoomFOV1 = 0xE00; // int32
+                constexpr std::ptrdiff_t m_nZoomFOV2 = 0xE04; // int32
+                constexpr std::ptrdiff_t m_flZoomTime0 = 0xE08; // float32
+                constexpr std::ptrdiff_t m_flZoomTime1 = 0xE0C; // float32
+                constexpr std::ptrdiff_t m_flZoomTime2 = 0xE10; // float32
+                constexpr std::ptrdiff_t m_flIronSightPullUpSpeed = 0xE14; // float32
+                constexpr std::ptrdiff_t m_flIronSightPutDownSpeed = 0xE18; // float32
+                constexpr std::ptrdiff_t m_flIronSightFOV = 0xE1C; // float32
+                constexpr std::ptrdiff_t m_flIronSightPivotForward = 0xE20; // float32
+                constexpr std::ptrdiff_t m_flIronSightLooseness = 0xE24; // float32
+                constexpr std::ptrdiff_t m_angPivotAngle = 0xE28; // QAngle
+                constexpr std::ptrdiff_t m_vecIronSightEyePos = 0xE34; // Vector
+                constexpr std::ptrdiff_t m_nDamage = 0xE40; // int32
+                constexpr std::ptrdiff_t m_flHeadshotMultiplier = 0xE44; // float32
+                constexpr std::ptrdiff_t m_flArmorRatio = 0xE48; // float32
+                constexpr std::ptrdiff_t m_flPenetration = 0xE4C; // float32
+                constexpr std::ptrdiff_t m_flRange = 0xE50; // float32
+                constexpr std::ptrdiff_t m_flRangeModifier = 0xE54; // float32
+                constexpr std::ptrdiff_t m_flFlinchVelocityModifierLarge = 0xE58; // float32
+                constexpr std::ptrdiff_t m_flFlinchVelocityModifierSmall = 0xE5C; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeCrouch = 0xE60; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeStand = 0xE64; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeCrouchFinal = 0xE68; // float32
+                constexpr std::ptrdiff_t m_flRecoveryTimeStandFinal = 0xE6C; // float32
+                constexpr std::ptrdiff_t m_nRecoveryTransitionStartBullet = 0xE70; // int32
+                constexpr std::ptrdiff_t m_nRecoveryTransitionEndBullet = 0xE74; // int32
+                constexpr std::ptrdiff_t m_flThrowVelocity = 0xE78; // float32
+                constexpr std::ptrdiff_t m_vSmokeColor = 0xE7C; // Vector
+                constexpr std::ptrdiff_t m_szAnimClass = 0xE88; // CGlobalSymbol
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            namespace CMathColorBlend {
+                constexpr std::ptrdiff_t m_flInMin = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flInMax = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_OutColor1 = 0x4E8; // Color
+                constexpr std::ptrdiff_t m_OutColor2 = 0x4EC; // Color
+                constexpr std::ptrdiff_t m_OutValue = 0x4F0; // CEntityOutputTemplate<Color>
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszOverlayNames (string_t)
+            // NetworkVarNames: m_flOverlayTimes (float32)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iDesiredOverlay (int32)
+            // NetworkVarNames: m_bIsActive (bool)
+            namespace CEnvScreenOverlay {
+                constexpr std::ptrdiff_t m_iszOverlayNames = 0x4E0; // CUtlSymbolLarge[10]
+                constexpr std::ptrdiff_t m_flOverlayTimes = 0x530; // float32[10]
+                constexpr std::ptrdiff_t m_flStartTime = 0x558; // GameTime_t
+                constexpr std::ptrdiff_t m_iDesiredOverlay = 0x55C; // int32
+                constexpr std::ptrdiff_t m_bIsActive = 0x560; // bool
+            }
+            // Parent: CCSPlayerPawnBase
+            // Field count: 118
+            //
+            // Metadata:
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_pBulletServices (CCSPlayer_BulletServices*)
+            // NetworkVarNames: m_pHostageServices (CCSPlayer_HostageServices*)
+            // NetworkVarNames: m_pBuyServices (CCSPlayer_BuyServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayer_ActionTrackingServices*)
+            // NetworkVarNames: m_bHasFemaleVoice (bool)
+            // NetworkVarNames: m_szLastPlaceName (char)
+            // NetworkVarNames: m_bInBuyZone (bool)
+            // NetworkVarNames: m_bInHostageRescueZone (bool)
+            // NetworkVarNames: m_bInBombZone (bool)
+            // NetworkVarNames: m_iRetakesOffering (int)
+            // NetworkVarNames: m_iRetakesOfferingCard (int)
+            // NetworkVarNames: m_bRetakesHasDefuseKit (bool)
+            // NetworkVarNames: m_bRetakesMVPLastRound (bool)
+            // NetworkVarNames: m_iRetakesMVPBoostItem (int)
+            // NetworkVarNames: m_RetakesMVPBoostExtraUtility (loadout_slot_t)
+            // NetworkVarNames: m_flHealthShotBoostExpirationTime (GameTime_t)
+            // NetworkVarNames: m_aimPunchAngle (QAngle)
+            // NetworkVarNames: m_aimPunchAngleVel (QAngle)
+            // NetworkVarNames: m_aimPunchTickBase (int)
+            // NetworkVarNames: m_aimPunchTickFraction (float)
+            // NetworkVarNames: m_bIsBuyMenuOpen (bool)
+            // NetworkVarNames: m_flTimeOfLastInjury (GameTime_t)
+            // NetworkVarNames: m_flNextSprayDecalTime (GameTime_t)
+            // NetworkVarNames: m_nRagdollDamageBone (int)
+            // NetworkVarNames: m_vRagdollDamageForce (Vector)
+            // NetworkVarNames: m_vRagdollDamagePosition (Vector)
+            // NetworkVarNames: m_szRagdollDamageWeaponName (char)
+            // NetworkVarNames: m_bRagdollDamageHeadshot (bool)
+            // NetworkVarNames: m_vRagdollServerOrigin (Vector)
+            // NetworkVarNames: m_EconGloves (CEconItemView)
+            // NetworkVarNames: m_nEconGlovesChanged (uint8)
+            // NetworkVarNames: m_qDeathEyeAngles (QAngle)
+            // NetworkVarNames: m_bLeftHanded (bool)
+            // NetworkVarNames: m_fSwitchedHandednessTime (GameTime_t)
+            // NetworkVarNames: m_flViewmodelOffsetX (float)
+            // NetworkVarNames: m_flViewmodelOffsetY (float)
+            // NetworkVarNames: m_flViewmodelOffsetZ (float)
+            // NetworkVarNames: m_flViewmodelFOV (float)
+            // NetworkVarNames: m_bIsWalking (bool)
+            // NetworkVarNames: m_nLastKillerIndex (CEntityIndex)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_bIsScoped (bool)
+            // NetworkVarNames: m_bResumeZoom (bool)
+            // NetworkVarNames: m_bIsDefusing (bool)
+            // NetworkVarNames: m_bIsGrabbingHostage (bool)
+            // NetworkVarNames: m_iBlockingUseActionInProgress (CSPlayerBlockingUseAction_t)
+            // NetworkVarNames: m_flEmitSoundTime (GameTime_t)
+            // NetworkVarNames: m_bInNoDefuseArea (bool)
+            // NetworkVarNames: m_nWhichBombZone (int)
+            // NetworkVarNames: m_iShotsFired (int)
+            // NetworkVarNames: m_flFlinchStack (float)
+            // NetworkVarNames: m_flVelocityModifier (float)
+            // NetworkVarNames: m_flHitHeading (float)
+            // NetworkVarNames: m_nHitBodyPart (int)
+            // NetworkVarNames: m_bWaitForNoAttack (bool)
+            // NetworkVarNames: m_bKilledByHeadshot (bool)
+            // NetworkVarNames: m_thirdPersonHeading (QAngle)
+            // NetworkVarNames: m_flSlopeDropOffset (float)
+            // NetworkVarNames: m_flSlopeDropHeight (float)
+            // NetworkVarNames: m_vHeadConstraintOffset (Vector)
+            // NetworkVarNames: m_ArmorValue (int32)
+            // NetworkVarNames: m_unCurrentEquipmentValue (uint16)
+            // NetworkVarNames: m_unRoundStartEquipmentValue (uint16)
+            // NetworkVarNames: m_unFreezetimeEndEquipmentValue (uint16)
+            // NetworkVarNames: m_vecPlayerPatchEconIndices (uint32)
+            // NetworkVarNames: m_GunGameImmunityColor (Color)
+            // NetworkVarNames: m_PredictedDamageTags (PredictedDamageTag_t)
+            namespace CCSPlayerPawn {
+                constexpr std::ptrdiff_t m_pBulletServices = 0xDD0; // CCSPlayer_BulletServices*
+                constexpr std::ptrdiff_t m_pHostageServices = 0xDD8; // CCSPlayer_HostageServices*
+                constexpr std::ptrdiff_t m_pBuyServices = 0xDE0; // CCSPlayer_BuyServices*
+                constexpr std::ptrdiff_t m_pActionTrackingServices = 0xDE8; // CCSPlayer_ActionTrackingServices*
+                constexpr std::ptrdiff_t m_pRadioServices = 0xDF0; // CCSPlayer_RadioServices*
+                constexpr std::ptrdiff_t m_pDamageReactServices = 0xDF8; // CCSPlayer_DamageReactServices*
+                constexpr std::ptrdiff_t m_nCharacterDefIndex = 0xE00; // uint16
+                constexpr std::ptrdiff_t m_bHasFemaleVoice = 0xE02; // bool
+                constexpr std::ptrdiff_t m_strVOPrefix = 0xE08; // CUtlString
+                constexpr std::ptrdiff_t m_szLastPlaceName = 0xE10; // char[18]
+                constexpr std::ptrdiff_t m_bInHostageResetZone = 0xED0; // bool
+                constexpr std::ptrdiff_t m_bInBuyZone = 0xED1; // bool
+                constexpr std::ptrdiff_t m_TouchingBuyZones = 0xED8; // CUtlVector<CHandle<CBaseEntity>>
+                constexpr std::ptrdiff_t m_bWasInBuyZone = 0xEF0; // bool
+                constexpr std::ptrdiff_t m_bInHostageRescueZone = 0xEF1; // bool
+                constexpr std::ptrdiff_t m_bInBombZone = 0xEF2; // bool
+                constexpr std::ptrdiff_t m_bWasInHostageRescueZone = 0xEF3; // bool
+                constexpr std::ptrdiff_t m_iRetakesOffering = 0xEF4; // int32
+                constexpr std::ptrdiff_t m_iRetakesOfferingCard = 0xEF8; // int32
+                constexpr std::ptrdiff_t m_bRetakesHasDefuseKit = 0xEFC; // bool
+                constexpr std::ptrdiff_t m_bRetakesMVPLastRound = 0xEFD; // bool
+                constexpr std::ptrdiff_t m_iRetakesMVPBoostItem = 0xF00; // int32
+                constexpr std::ptrdiff_t m_RetakesMVPBoostExtraUtility = 0xF04; // loadout_slot_t
+                constexpr std::ptrdiff_t m_flHealthShotBoostExpirationTime = 0xF08; // GameTime_t
+                constexpr std::ptrdiff_t m_flLandingTimeSeconds = 0xF0C; // float32
+                constexpr std::ptrdiff_t m_aimPunchAngle = 0xF10; // QAngle
+                constexpr std::ptrdiff_t m_aimPunchAngleVel = 0xF1C; // QAngle
+                constexpr std::ptrdiff_t m_aimPunchTickBase = 0xF28; // int32
+                constexpr std::ptrdiff_t m_aimPunchTickFraction = 0xF2C; // float32
+                constexpr std::ptrdiff_t m_aimPunchCache = 0xF30; // CUtlVector<QAngle>
+                constexpr std::ptrdiff_t m_bIsBuyMenuOpen = 0xF48; // bool
+                constexpr std::ptrdiff_t m_xLastHeadBoneTransform = 0x15F0; // CTransform
+                constexpr std::ptrdiff_t m_bLastHeadBoneTransformIsValid = 0x1610; // bool
+                constexpr std::ptrdiff_t m_lastLandTime = 0x1614; // GameTime_t
+                constexpr std::ptrdiff_t m_bOnGroundLastTick = 0x1618; // bool
+                constexpr std::ptrdiff_t m_iPlayerLocked = 0x161C; // int32
+                constexpr std::ptrdiff_t m_flTimeOfLastInjury = 0x1624; // GameTime_t
+                constexpr std::ptrdiff_t m_flNextSprayDecalTime = 0x1628; // GameTime_t
+                constexpr std::ptrdiff_t m_bNextSprayDecalTimeExpedited = 0x162C; // bool
+                constexpr std::ptrdiff_t m_nRagdollDamageBone = 0x1630; // int32
+                constexpr std::ptrdiff_t m_vRagdollDamageForce = 0x1634; // Vector
+                constexpr std::ptrdiff_t m_vRagdollDamagePosition = 0x1640; // Vector
+                constexpr std::ptrdiff_t m_szRagdollDamageWeaponName = 0x164C; // char[64]
+                constexpr std::ptrdiff_t m_bRagdollDamageHeadshot = 0x168C; // bool
+                constexpr std::ptrdiff_t m_vRagdollServerOrigin = 0x1690; // Vector
+                constexpr std::ptrdiff_t m_EconGloves = 0x16A0; // CEconItemView
+                constexpr std::ptrdiff_t m_nEconGlovesChanged = 0x1918; // uint8
+                constexpr std::ptrdiff_t m_qDeathEyeAngles = 0x191C; // QAngle
+                constexpr std::ptrdiff_t m_bSkipOneHeadConstraintUpdate = 0x1928; // bool
+                constexpr std::ptrdiff_t m_bLeftHanded = 0x1929; // bool
+                constexpr std::ptrdiff_t m_fSwitchedHandednessTime = 0x192C; // GameTime_t
+                constexpr std::ptrdiff_t m_flViewmodelOffsetX = 0x1930; // float32
+                constexpr std::ptrdiff_t m_flViewmodelOffsetY = 0x1934; // float32
+                constexpr std::ptrdiff_t m_flViewmodelOffsetZ = 0x1938; // float32
+                constexpr std::ptrdiff_t m_flViewmodelFOV = 0x193C; // float32
+                constexpr std::ptrdiff_t m_bIsWalking = 0x1940; // bool
+                constexpr std::ptrdiff_t m_fLastGivenDefuserTime = 0x1944; // float32
+                constexpr std::ptrdiff_t m_fLastGivenBombTime = 0x1948; // float32
+                constexpr std::ptrdiff_t m_flDealtDamageToEnemyMostRecentTimestamp = 0x194C; // float32
+                constexpr std::ptrdiff_t m_iDisplayHistoryBits = 0x1950; // uint32
+                constexpr std::ptrdiff_t m_flLastAttackedTeammate = 0x1954; // float32
+                constexpr std::ptrdiff_t m_allowAutoFollowTime = 0x1958; // GameTime_t
+                constexpr std::ptrdiff_t m_bResetArmorNextSpawn = 0x195C; // bool
+                constexpr std::ptrdiff_t m_nLastKillerIndex = 0x1960; // CEntityIndex
+                constexpr std::ptrdiff_t m_entitySpottedState = 0x1968; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_nSpotRules = 0x1980; // int32
+                constexpr std::ptrdiff_t m_bIsScoped = 0x1984; // bool
+                constexpr std::ptrdiff_t m_bResumeZoom = 0x1985; // bool
+                constexpr std::ptrdiff_t m_bIsDefusing = 0x1986; // bool
+                constexpr std::ptrdiff_t m_bIsGrabbingHostage = 0x1987; // bool
+                constexpr std::ptrdiff_t m_iBlockingUseActionInProgress = 0x1988; // CSPlayerBlockingUseAction_t
+                constexpr std::ptrdiff_t m_flEmitSoundTime = 0x198C; // GameTime_t
+                constexpr std::ptrdiff_t m_bInNoDefuseArea = 0x1990; // bool
+                constexpr std::ptrdiff_t m_iBombSiteIndex = 0x1994; // CEntityIndex
+                constexpr std::ptrdiff_t m_nWhichBombZone = 0x1998; // int32
+                constexpr std::ptrdiff_t m_bInBombZoneTrigger = 0x199C; // bool
+                constexpr std::ptrdiff_t m_bWasInBombZoneTrigger = 0x199D; // bool
+                constexpr std::ptrdiff_t m_iShotsFired = 0x19A0; // int32
+                constexpr std::ptrdiff_t m_flFlinchStack = 0x19A4; // float32
+                constexpr std::ptrdiff_t m_flVelocityModifier = 0x19A8; // float32
+                constexpr std::ptrdiff_t m_flHitHeading = 0x19AC; // float32
+                constexpr std::ptrdiff_t m_nHitBodyPart = 0x19B0; // int32
+                constexpr std::ptrdiff_t m_vecTotalBulletForce = 0x19B4; // Vector
+                constexpr std::ptrdiff_t m_bWaitForNoAttack = 0x19C0; // bool
+                constexpr std::ptrdiff_t m_ignoreLadderJumpTime = 0x19C4; // float32
+                constexpr std::ptrdiff_t m_bKilledByHeadshot = 0x19C8; // bool
+                constexpr std::ptrdiff_t m_LastHitBox = 0x19CC; // int32
+                constexpr std::ptrdiff_t m_LastHealth = 0x19D0; // int32
+                constexpr std::ptrdiff_t m_pBot = 0x19D8; // CCSBot*
+                constexpr std::ptrdiff_t m_bBotAllowActive = 0x19E0; // bool
+                constexpr std::ptrdiff_t m_thirdPersonHeading = 0x19E4; // QAngle
+                constexpr std::ptrdiff_t m_flSlopeDropOffset = 0x19F0; // float32
+                constexpr std::ptrdiff_t m_flSlopeDropHeight = 0x19F4; // float32
+                constexpr std::ptrdiff_t m_vHeadConstraintOffset = 0x19F8; // Vector
+                constexpr std::ptrdiff_t m_nLastPickupPriority = 0x1A04; // int32
+                constexpr std::ptrdiff_t m_flLastPickupPriorityTime = 0x1A08; // float32
+                constexpr std::ptrdiff_t m_ArmorValue = 0x1A0C; // int32
+                constexpr std::ptrdiff_t m_unCurrentEquipmentValue = 0x1A10; // uint16
+                constexpr std::ptrdiff_t m_unRoundStartEquipmentValue = 0x1A12; // uint16
+                constexpr std::ptrdiff_t m_unFreezetimeEndEquipmentValue = 0x1A14; // uint16
+                constexpr std::ptrdiff_t m_iLastWeaponFireUsercmd = 0x1A18; // int32
+                constexpr std::ptrdiff_t m_bIsSpawning = 0x1A1C; // bool
+                constexpr std::ptrdiff_t m_iDeathFlags = 0x1A28; // int32
+                constexpr std::ptrdiff_t m_bHasDeathInfo = 0x1A2C; // bool
+                constexpr std::ptrdiff_t m_flDeathInfoTime = 0x1A30; // float32
+                constexpr std::ptrdiff_t m_vecDeathInfoOrigin = 0x1A34; // Vector
+                constexpr std::ptrdiff_t m_vecPlayerPatchEconIndices = 0x1A40; // uint32[5]
+                constexpr std::ptrdiff_t m_GunGameImmunityColor = 0x1A54; // Color
+                constexpr std::ptrdiff_t m_grenadeParameterStashTime = 0x1A58; // GameTime_t
+                constexpr std::ptrdiff_t m_bGrenadeParametersStashed = 0x1A5C; // bool
+                constexpr std::ptrdiff_t m_angStashedShootAngles = 0x1A60; // QAngle
+                constexpr std::ptrdiff_t m_vecStashedGrenadeThrowPosition = 0x1A6C; // Vector
+                constexpr std::ptrdiff_t m_vecStashedVelocity = 0x1A78; // Vector
+                constexpr std::ptrdiff_t m_angShootAngleHistory = 0x1A84; // QAngle[2]
+                constexpr std::ptrdiff_t m_vecThrowPositionHistory = 0x1A9C; // Vector[2]
+                constexpr std::ptrdiff_t m_vecVelocityHistory = 0x1AB4; // Vector[2]
+                constexpr std::ptrdiff_t m_PredictedDamageTags = 0x1AD0; // CUtlVectorEmbeddedNetworkVar<PredictedDamageTag_t>
+                constexpr std::ptrdiff_t m_nHighestAppliedDamageTagTick = 0x1B20; // int32
+            }
+            // Parent: CBasePlayerController
+            // Field count: 91
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_pInGameMoneyServices (CCSPlayerController_InGameMoneyServices*)
+            // NetworkVarNames: m_pInventoryServices (CCSPlayerController_InventoryServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayerController_ActionTrackingServices*)
+            // NetworkVarNames: m_pDamageServices (CCSPlayerController_DamageServices*)
+            // NetworkVarNames: m_iPing (uint32)
+            // NetworkVarNames: m_bHasCommunicationAbuseMute (bool)
+            // NetworkVarNames: m_szCrosshairCodes (string_t)
+            // NetworkVarNames: m_iPendingTeamNum (uint8)
+            // NetworkVarNames: m_flForceTeamTime (GameTime_t)
+            // NetworkVarNames: m_iCompTeammateColor (int)
+            // NetworkVarNames: m_bEverPlayedOnTeam (bool)
+            // NetworkVarNames: m_szClan (string_t)
+            // NetworkVarNames: m_iCoachingTeam (int)
+            // NetworkVarNames: m_nPlayerDominated (uint64)
+            // NetworkVarNames: m_nPlayerDominatingMe (uint64)
+            // NetworkVarNames: m_iCompetitiveRanking (int)
+            // NetworkVarNames: m_iCompetitiveWins (int)
+            // NetworkVarNames: m_iCompetitiveRankType (int8)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Win (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Loss (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Tie (int)
+            // NetworkVarNames: m_nEndMatchNextMapVote (int)
+            // NetworkVarNames: m_unActiveQuestId (uint16)
+            // NetworkVarNames: m_nQuestProgressReason (QuestProgress::Reason)
+            // NetworkVarNames: m_unPlayerTvControlFlags (uint32)
+            // NetworkVarNames: m_nDisconnectionTick (int)
+            // NetworkVarNames: m_bControllingBot (bool)
+            // NetworkVarNames: m_bHasControlledBotThisRound (bool)
+            // NetworkVarNames: m_bCanControlObservedBot (bool)
+            // NetworkVarNames: m_hPlayerPawn (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hObserverPawn (CHandle<CCSObserverPawn>)
+            // NetworkVarNames: m_bPawnIsAlive (bool)
+            // NetworkVarNames: m_iPawnHealth (uint32)
+            // NetworkVarNames: m_iPawnArmor (int)
+            // NetworkVarNames: m_bPawnHasDefuser (bool)
+            // NetworkVarNames: m_bPawnHasHelmet (bool)
+            // NetworkVarNames: m_nPawnCharacterDefIndex (item_definition_index_t)
+            // NetworkVarNames: m_iPawnLifetimeStart (int)
+            // NetworkVarNames: m_iPawnLifetimeEnd (int)
+            // NetworkVarNames: m_iPawnBotDifficulty (int)
+            // NetworkVarNames: m_hOriginalControllerOfCurrentPawn (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_recentKillQueue (uint8)
+            // NetworkVarNames: m_nFirstKill (uint8)
+            // NetworkVarNames: m_nKillCount (uint8)
+            // NetworkVarNames: m_bMvpNoMusic (bool)
+            // NetworkVarNames: m_eMvpReason (int)
+            // NetworkVarNames: m_iMusicKitID (int)
+            // NetworkVarNames: m_iMusicKitMVPs (int)
+            // NetworkVarNames: m_iMVPs (int)
+            // NetworkVarNames: m_bFireBulletsSeedSynchronized (bool)
+            namespace CCSPlayerController {
+                constexpr std::ptrdiff_t m_pInGameMoneyServices = 0x788; // CCSPlayerController_InGameMoneyServices*
+                constexpr std::ptrdiff_t m_pInventoryServices = 0x790; // CCSPlayerController_InventoryServices*
+                constexpr std::ptrdiff_t m_pActionTrackingServices = 0x798; // CCSPlayerController_ActionTrackingServices*
+                constexpr std::ptrdiff_t m_pDamageServices = 0x7A0; // CCSPlayerController_DamageServices*
+                constexpr std::ptrdiff_t m_iPing = 0x7A8; // uint32
+                constexpr std::ptrdiff_t m_bHasCommunicationAbuseMute = 0x7AC; // bool
+                constexpr std::ptrdiff_t m_szCrosshairCodes = 0x7B0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iPendingTeamNum = 0x7B8; // uint8
+                constexpr std::ptrdiff_t m_flForceTeamTime = 0x7BC; // GameTime_t
+                constexpr std::ptrdiff_t m_iCompTeammateColor = 0x7C0; // int32
+                constexpr std::ptrdiff_t m_bEverPlayedOnTeam = 0x7C4; // bool
+                constexpr std::ptrdiff_t m_bAttemptedToGetColor = 0x7C5; // bool
+                constexpr std::ptrdiff_t m_iTeammatePreferredColor = 0x7C8; // int32
+                constexpr std::ptrdiff_t m_bTeamChanged = 0x7CC; // bool
+                constexpr std::ptrdiff_t m_bInSwitchTeam = 0x7CD; // bool
+                constexpr std::ptrdiff_t m_bHasSeenJoinGame = 0x7CE; // bool
+                constexpr std::ptrdiff_t m_bJustBecameSpectator = 0x7CF; // bool
+                constexpr std::ptrdiff_t m_bSwitchTeamsOnNextRoundReset = 0x7D0; // bool
+                constexpr std::ptrdiff_t m_bRemoveAllItemsOnNextRoundReset = 0x7D1; // bool
+                constexpr std::ptrdiff_t m_flLastJoinTeamTime = 0x7D4; // GameTime_t
+                constexpr std::ptrdiff_t m_szClan = 0x7D8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_szClanName = 0x7E0; // char[32]
+                constexpr std::ptrdiff_t m_iCoachingTeam = 0x800; // int32
+                constexpr std::ptrdiff_t m_nPlayerDominated = 0x808; // uint64
+                constexpr std::ptrdiff_t m_nPlayerDominatingMe = 0x810; // uint64
+                constexpr std::ptrdiff_t m_iCompetitiveRanking = 0x818; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveWins = 0x81C; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveRankType = 0x820; // int8
+                constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Win = 0x824; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Loss = 0x828; // int32
+                constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Tie = 0x82C; // int32
+                constexpr std::ptrdiff_t m_nEndMatchNextMapVote = 0x830; // int32
+                constexpr std::ptrdiff_t m_unActiveQuestId = 0x834; // uint16
+                constexpr std::ptrdiff_t m_nQuestProgressReason = 0x838; // QuestProgress::Reason
+                constexpr std::ptrdiff_t m_unPlayerTvControlFlags = 0x83C; // uint32
+                constexpr std::ptrdiff_t m_iDraftIndex = 0x868; // int32
+                constexpr std::ptrdiff_t m_msQueuedModeDisconnectionTimestamp = 0x86C; // uint32
+                constexpr std::ptrdiff_t m_uiAbandonRecordedReason = 0x870; // uint32
+                constexpr std::ptrdiff_t m_eNetworkDisconnectionReason = 0x874; // uint32
+                constexpr std::ptrdiff_t m_bCannotBeKicked = 0x878; // bool
+                constexpr std::ptrdiff_t m_bEverFullyConnected = 0x879; // bool
+                constexpr std::ptrdiff_t m_bAbandonAllowsSurrender = 0x87A; // bool
+                constexpr std::ptrdiff_t m_bAbandonOffersInstantSurrender = 0x87B; // bool
+                constexpr std::ptrdiff_t m_bDisconnection1MinWarningPrinted = 0x87C; // bool
+                constexpr std::ptrdiff_t m_bScoreReported = 0x87D; // bool
+                constexpr std::ptrdiff_t m_nDisconnectionTick = 0x880; // int32
+                constexpr std::ptrdiff_t m_bControllingBot = 0x890; // bool
+                constexpr std::ptrdiff_t m_bHasControlledBotThisRound = 0x891; // bool
+                constexpr std::ptrdiff_t m_bHasBeenControlledByPlayerThisRound = 0x892; // bool
+                constexpr std::ptrdiff_t m_nBotsControlledThisRound = 0x894; // int32
+                constexpr std::ptrdiff_t m_bCanControlObservedBot = 0x898; // bool
+                constexpr std::ptrdiff_t m_hPlayerPawn = 0x89C; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_hObserverPawn = 0x8A0; // CHandle<CCSObserverPawn>
+                constexpr std::ptrdiff_t m_DesiredObserverMode = 0x8A4; // int32
+                constexpr std::ptrdiff_t m_hDesiredObserverTarget = 0x8A8; // CEntityHandle
+                constexpr std::ptrdiff_t m_bPawnIsAlive = 0x8AC; // bool
+                constexpr std::ptrdiff_t m_iPawnHealth = 0x8B0; // uint32
+                constexpr std::ptrdiff_t m_iPawnArmor = 0x8B4; // int32
+                constexpr std::ptrdiff_t m_bPawnHasDefuser = 0x8B8; // bool
+                constexpr std::ptrdiff_t m_bPawnHasHelmet = 0x8B9; // bool
+                constexpr std::ptrdiff_t m_nPawnCharacterDefIndex = 0x8BA; // uint16
+                constexpr std::ptrdiff_t m_iPawnLifetimeStart = 0x8BC; // int32
+                constexpr std::ptrdiff_t m_iPawnLifetimeEnd = 0x8C0; // int32
+                constexpr std::ptrdiff_t m_iPawnBotDifficulty = 0x8C4; // int32
+                constexpr std::ptrdiff_t m_hOriginalControllerOfCurrentPawn = 0x8C8; // CHandle<CCSPlayerController>
+                constexpr std::ptrdiff_t m_iScore = 0x8CC; // int32
+                constexpr std::ptrdiff_t m_iRoundScore = 0x8D0; // int32
+                constexpr std::ptrdiff_t m_iRoundsWon = 0x8D4; // int32
+                constexpr std::ptrdiff_t m_recentKillQueue = 0x8D8; // uint8[8]
+                constexpr std::ptrdiff_t m_nFirstKill = 0x8E0; // uint8
+                constexpr std::ptrdiff_t m_nKillCount = 0x8E1; // uint8
+                constexpr std::ptrdiff_t m_bMvpNoMusic = 0x8E2; // bool
+                constexpr std::ptrdiff_t m_eMvpReason = 0x8E4; // int32
+                constexpr std::ptrdiff_t m_iMusicKitID = 0x8E8; // int32
+                constexpr std::ptrdiff_t m_iMusicKitMVPs = 0x8EC; // int32
+                constexpr std::ptrdiff_t m_iMVPs = 0x8F0; // int32
+                constexpr std::ptrdiff_t m_nUpdateCounter = 0x8F4; // int32
+                constexpr std::ptrdiff_t m_flSmoothedPing = 0x8F8; // float32
+                constexpr std::ptrdiff_t m_lastHeldVoteTimer = 0xF9A0; // IntervalTimer
+                constexpr std::ptrdiff_t m_bShowHints = 0xF9B8; // bool
+                constexpr std::ptrdiff_t m_iNextTimeCheck = 0xF9BC; // int32
+                constexpr std::ptrdiff_t m_bJustDidTeamKill = 0xF9C0; // bool
+                constexpr std::ptrdiff_t m_bPunishForTeamKill = 0xF9C1; // bool
+                constexpr std::ptrdiff_t m_bGaveTeamDamageWarning = 0xF9C2; // bool
+                constexpr std::ptrdiff_t m_bGaveTeamDamageWarningThisRound = 0xF9C3; // bool
+                constexpr std::ptrdiff_t m_dblLastReceivedPacketPlatFloatTime = 0xF9C8; // float64
+                constexpr std::ptrdiff_t m_LastTeamDamageWarningTime = 0xF9D0; // GameTime_t
+                constexpr std::ptrdiff_t m_LastTimePlayerWasDisconnectedForPawnsRemove = 0xF9D4; // GameTime_t
+                constexpr std::ptrdiff_t m_nSuspiciousHitCount = 0xF9D8; // uint32
+                constexpr std::ptrdiff_t m_nNonSuspiciousHitStreak = 0xF9DC; // uint32
+                constexpr std::ptrdiff_t m_bFireBulletsSeedSynchronized = 0xFA81; // bool
+            }
+            // Parent: IEconItemInterface
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_iItemDefinitionIndex (item_definition_index_t)
+            // NetworkVarNames: m_iEntityQuality (int)
+            // NetworkVarNames: m_iEntityLevel (uint32)
+            // NetworkVarNames: m_iItemIDHigh (uint32)
+            // NetworkVarNames: m_iItemIDLow (uint32)
+            // NetworkVarNames: m_iAccountID (uint32)
+            // NetworkVarNames: m_iInventoryPosition (uint32)
+            // NetworkVarNames: m_bInitialized (bool)
+            // NetworkVarNames: m_AttributeList (CAttributeList)
+            // NetworkVarNames: m_NetworkedDynamicAttributes (CAttributeList)
+            // NetworkVarNames: m_szCustomName (char)
+            namespace CEconItemView {
+                constexpr std::ptrdiff_t m_iItemDefinitionIndex = 0x38; // uint16
+                constexpr std::ptrdiff_t m_iEntityQuality = 0x3C; // int32
+                constexpr std::ptrdiff_t m_iEntityLevel = 0x40; // uint32
+                constexpr std::ptrdiff_t m_iItemID = 0x48; // uint64
+                constexpr std::ptrdiff_t m_iItemIDHigh = 0x50; // uint32
+                constexpr std::ptrdiff_t m_iItemIDLow = 0x54; // uint32
+                constexpr std::ptrdiff_t m_iAccountID = 0x58; // uint32
+                constexpr std::ptrdiff_t m_iInventoryPosition = 0x5C; // uint32
+                constexpr std::ptrdiff_t m_bInitialized = 0x68; // bool
+                constexpr std::ptrdiff_t m_AttributeList = 0x70; // CAttributeList
+                constexpr std::ptrdiff_t m_NetworkedDynamicAttributes = 0xD0; // CAttributeList
+                constexpr std::ptrdiff_t m_szCustomName = 0x130; // char[161]
+                constexpr std::ptrdiff_t m_szCustomNameOverride = 0x1D1; // char[161]
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            namespace CInfoInstructorHintBombTargetA {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponAWP {
+            }
+            // Parent: CBaseCombatCharacter
+            // Field count: 25
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pWeaponServices (CPlayer_WeaponServices*)
+            // NetworkVarNames: m_pItemServices (CPlayer_ItemServices*)
+            // NetworkVarNames: m_pAutoaimServices (CPlayer_AutoaimServices*)
+            // NetworkVarNames: m_pObserverServices (CPlayer_ObserverServices*)
+            // NetworkVarNames: m_pWaterServices (CPlayer_WaterServices*)
+            // NetworkVarNames: m_pUseServices (CPlayer_UseServices*)
+            // NetworkVarNames: m_pFlashlightServices (CPlayer_FlashlightServices*)
+            // NetworkVarNames: m_pCameraServices (CPlayer_CameraServices*)
+            // NetworkVarNames: m_pMovementServices (CPlayer_MovementServices*)
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_ServerViewAngleChanges (ViewAngleServerChange_t)
+            // NetworkVarNames: m_iHideHUD (uint32)
+            // NetworkVarNames: m_skybox3d (sky3dparams_t)
+            // NetworkVarNames: m_flDeathTime (GameTime_t)
+            // NetworkVarNames: m_hController (CHandle<CBasePlayerController>)
+            namespace CBasePlayerPawn {
+                constexpr std::ptrdiff_t m_pWeaponServices = 0xAC0; // CPlayer_WeaponServices*
+                constexpr std::ptrdiff_t m_pItemServices = 0xAC8; // CPlayer_ItemServices*
+                constexpr std::ptrdiff_t m_pAutoaimServices = 0xAD0; // CPlayer_AutoaimServices*
+                constexpr std::ptrdiff_t m_pObserverServices = 0xAD8; // CPlayer_ObserverServices*
+                constexpr std::ptrdiff_t m_pWaterServices = 0xAE0; // CPlayer_WaterServices*
+                constexpr std::ptrdiff_t m_pUseServices = 0xAE8; // CPlayer_UseServices*
+                constexpr std::ptrdiff_t m_pFlashlightServices = 0xAF0; // CPlayer_FlashlightServices*
+                constexpr std::ptrdiff_t m_pCameraServices = 0xAF8; // CPlayer_CameraServices*
+                constexpr std::ptrdiff_t m_pMovementServices = 0xB00; // CPlayer_MovementServices*
+                constexpr std::ptrdiff_t m_ServerViewAngleChanges = 0xB10; // CUtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
+                constexpr std::ptrdiff_t m_nHighestGeneratedServerViewAngleChangeIndex = 0xB60; // uint32
+                constexpr std::ptrdiff_t v_angle = 0xB64; // QAngle
+                constexpr std::ptrdiff_t v_anglePrevious = 0xB70; // QAngle
+                constexpr std::ptrdiff_t m_iHideHUD = 0xB7C; // uint32
+                constexpr std::ptrdiff_t m_skybox3d = 0xB80; // sky3dparams_t
+                constexpr std::ptrdiff_t m_fTimeLastHurt = 0xC10; // GameTime_t
+                constexpr std::ptrdiff_t m_flDeathTime = 0xC14; // GameTime_t
+                constexpr std::ptrdiff_t m_fNextSuicideTime = 0xC18; // GameTime_t
+                constexpr std::ptrdiff_t m_fInitHUD = 0xC1C; // bool
+                constexpr std::ptrdiff_t m_pExpresser = 0xC20; // CAI_Expresser*
+                constexpr std::ptrdiff_t m_hController = 0xC28; // CHandle<CBasePlayerController>
+                constexpr std::ptrdiff_t m_fHltvReplayDelay = 0xC30; // float32
+                constexpr std::ptrdiff_t m_fHltvReplayEnd = 0xC34; // float32
+                constexpr std::ptrdiff_t m_iHltvReplayEntity = 0xC38; // CEntityIndex
+                constexpr std::ptrdiff_t m_sndOpvarLatchData = 0xC40; // CUtlVector<sndopvarlatchdata_t>
+            }
+            // Parent: CBaseTrigger
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPostSettings (HPostProcessingStrong)
+            // NetworkVarNames: m_flFadeDuration (float)
+            // NetworkVarNames: m_flMinLogExposure (float)
+            // NetworkVarNames: m_flMaxLogExposure (float)
+            // NetworkVarNames: m_flMinExposure (float)
+            // NetworkVarNames: m_flMaxExposure (float)
+            // NetworkVarNames: m_flExposureCompensation (float)
+            // NetworkVarNames: m_flExposureFadeSpeedUp (float)
+            // NetworkVarNames: m_flExposureFadeSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bExposureControl (bool)
+            // NetworkVarNames: m_flRate (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            namespace CPostProcessingVolume {
+                constexpr std::ptrdiff_t m_hPostSettings = 0x970; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+                constexpr std::ptrdiff_t m_flFadeDuration = 0x978; // float32
+                constexpr std::ptrdiff_t m_flMinLogExposure = 0x97C; // float32
+                constexpr std::ptrdiff_t m_flMaxLogExposure = 0x980; // float32
+                constexpr std::ptrdiff_t m_flMinExposure = 0x984; // float32
+                constexpr std::ptrdiff_t m_flMaxExposure = 0x988; // float32
+                constexpr std::ptrdiff_t m_flExposureCompensation = 0x98C; // float32
+                constexpr std::ptrdiff_t m_flExposureFadeSpeedUp = 0x990; // float32
+                constexpr std::ptrdiff_t m_flExposureFadeSpeedDown = 0x994; // float32
+                constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0x998; // float32
+                constexpr std::ptrdiff_t m_bMaster = 0x99C; // bool
+                constexpr std::ptrdiff_t m_bExposureControl = 0x99D; // bool
+                constexpr std::ptrdiff_t m_flRate = 0x9A0; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0x9A4; // float32
+                constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0x9A8; // float32
+                constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0x9AC; // float32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_flLightScale (float32)
+            // NetworkVarNames: m_Radius (float32)
+            namespace CSpotlightEnd {
+                constexpr std::ptrdiff_t m_flLightScale = 0x790; // float32
+                constexpr std::ptrdiff_t m_Radius = 0x794; // float32
+                constexpr std::ptrdiff_t m_vSpotlightDir = 0x798; // Vector
+                constexpr std::ptrdiff_t m_vSpotlightOrg = 0x7A4; // Vector
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            namespace CRuleEntity {
+                constexpr std::ptrdiff_t m_iszMaster = 0x790; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nVariant (int)
+            // NetworkVarNames: m_nRandom (int)
+            // NetworkVarNames: m_nOrdinal (int)
+            // NetworkVarNames: m_sWeaponName (CUtlString)
+            // NetworkVarNames: m_xuid (XUID)
+            // NetworkVarNames: m_agentItem (CEconItemView)
+            // NetworkVarNames: m_glovesItem (CEconItemView)
+            // NetworkVarNames: m_weaponItem (CEconItemView)
+            namespace CCSGO_TeamPreviewCharacterPosition {
+                constexpr std::ptrdiff_t m_nVariant = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_nRandom = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_nOrdinal = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_sWeaponName = 0x4F0; // CUtlString
+                constexpr std::ptrdiff_t m_xuid = 0x4F8; // uint64
+                constexpr std::ptrdiff_t m_agentItem = 0x500; // CEconItemView
+                constexpr std::ptrdiff_t m_glovesItem = 0x778; // CEconItemView
+                constexpr std::ptrdiff_t m_weaponItem = 0x9F0; // CEconItemView
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            namespace CTriggerDetectExplosion {
+                constexpr std::ptrdiff_t m_OnDetectedExplosion = 0x988; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 1
+            namespace CSoundStackSave {
+                constexpr std::ptrdiff_t m_iszStackName = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CPhysConstraint
+            // Field count: 18
+            namespace CPhysHinge {
+                constexpr std::ptrdiff_t m_soundInfo = 0x560; // ConstraintSoundInfo
+                constexpr std::ptrdiff_t m_NotifyMinLimitReached = 0x5E8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_NotifyMaxLimitReached = 0x610; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bAtMinLimit = 0x638; // bool
+                constexpr std::ptrdiff_t m_bAtMaxLimit = 0x639; // bool
+                constexpr std::ptrdiff_t m_hinge = 0x63C; // constraint_hingeparams_t
+                constexpr std::ptrdiff_t m_hingeFriction = 0x67C; // float32
+                constexpr std::ptrdiff_t m_systemLoadScale = 0x680; // float32
+                constexpr std::ptrdiff_t m_bIsAxisLocal = 0x684; // bool
+                constexpr std::ptrdiff_t m_flMinRotation = 0x688; // float32
+                constexpr std::ptrdiff_t m_flMaxRotation = 0x68C; // float32
+                constexpr std::ptrdiff_t m_flInitialRotation = 0x690; // float32
+                constexpr std::ptrdiff_t m_flMotorFrequency = 0x694; // float32
+                constexpr std::ptrdiff_t m_flMotorDampingRatio = 0x698; // float32
+                constexpr std::ptrdiff_t m_flAngleSpeed = 0x69C; // float32
+                constexpr std::ptrdiff_t m_flAngleSpeedThreshold = 0x6A0; // float32
+                constexpr std::ptrdiff_t m_OnStartMoving = 0x6A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnStopMoving = 0x6D0; // CEntityIOOutput
+            }
+            // Parent: CGameRules
+            // Field count: 1
+            namespace CSingleplayRules {
+                constexpr std::ptrdiff_t m_bSinglePlayerGameEnding = 0xC0; // bool
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            namespace CFilterProximity {
+                constexpr std::ptrdiff_t m_flRadius = 0x538; // float32
+            }
+            // Parent: CEconEntity
+            // Field count: 2
+            namespace CEconWearable {
+                constexpr std::ptrdiff_t m_nForceSkin = 0xD30; // int32
+                constexpr std::ptrdiff_t m_bAlwaysAllow = 0xD34; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_ItemServices {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // NetworkVarNames: m_vecMoveDirEntitySpace (Vector)
+            // NetworkVarNames: m_flTargetSpeed (float32)
+            // NetworkVarNames: m_nTransitionStartTick (GameTick_t)
+            // NetworkVarNames: m_nTransitionDurationTicks (int)
+            // NetworkVarNames: m_flTransitionStartSpeed (float32)
+            // NetworkVarNames: m_hConveyorModels (EHANDLE)
+            namespace CFuncConveyor {
+                constexpr std::ptrdiff_t m_szConveyorModels = 0x790; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flTransitionDurationSeconds = 0x798; // float32
+                constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x79C; // QAngle
+                constexpr std::ptrdiff_t m_vecMoveDirEntitySpace = 0x7A8; // Vector
+                constexpr std::ptrdiff_t m_flTargetSpeed = 0x7B4; // float32
+                constexpr std::ptrdiff_t m_nTransitionStartTick = 0x7B8; // GameTick_t
+                constexpr std::ptrdiff_t m_nTransitionDurationTicks = 0x7BC; // int32
+                constexpr std::ptrdiff_t m_flTransitionStartSpeed = 0x7C0; // float32
+                constexpr std::ptrdiff_t m_hConveyorModels = 0x7C8; // CNetworkUtlVectorBase<CHandle<CBaseEntity>>
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponMag7 {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 11
+            namespace CMathCounter {
+                constexpr std::ptrdiff_t m_flMin = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flMax = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_bHitMin = 0x4E8; // bool
+                constexpr std::ptrdiff_t m_bHitMax = 0x4E9; // bool
+                constexpr std::ptrdiff_t m_bDisabled = 0x4EA; // bool
+                constexpr std::ptrdiff_t m_OutValue = 0x4F0; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnGetValue = 0x518; // CEntityOutputTemplate<float32>
+                constexpr std::ptrdiff_t m_OnHitMin = 0x540; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnHitMax = 0x568; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnChangedFromMin = 0x590; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnChangedFromMax = 0x5B8; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_worldName (string_t)
+            // NetworkVarNames: m_layerName (string_t)
+            // NetworkVarNames: m_bWorldLayerVisible (bool)
+            // NetworkVarNames: m_bEntitiesSpawned (bool)
+            namespace CInfoWorldLayer {
+                constexpr std::ptrdiff_t m_pOutputOnEntitiesSpawned = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_worldName = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_layerName = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_bWorldLayerVisible = 0x518; // bool
+                constexpr std::ptrdiff_t m_bEntitiesSpawned = 0x519; // bool
+                constexpr std::ptrdiff_t m_bCreateAsChildSpawnGroup = 0x51A; // bool
+                constexpr std::ptrdiff_t m_hLayerSpawnGroup = 0x51C; // uint32
+            }
+            // Parent: CBarnLight
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShowLight (bool)
+            namespace CRectLight {
+                constexpr std::ptrdiff_t m_bShowLight = 0xAB0; // bool
+            }
+            // Parent: CCSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            namespace CCSGO_TeamSelectTerroristPosition {
+            }
+            // Parent: CBaseDoor
+            // Field count: 1
+            namespace CRotDoor {
+                constexpr std::ptrdiff_t m_bSolidBsp = 0xA18; // bool
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            namespace CLogicLineToEntity {
+                constexpr std::ptrdiff_t m_Line = 0x4E0; // CEntityOutputTemplate<Vector>
+                constexpr std::ptrdiff_t m_SourceName = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_StartEntity = 0x510; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_EndEntity = 0x514; // CHandle<CBaseEntity>
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_nTotalPausedTicks (int)
+            // NetworkVarNames: m_nPauseStartTick (int)
+            // NetworkVarNames: m_bGamePaused (bool)
+            namespace CGameRules {
+                constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer
+                constexpr std::ptrdiff_t m_szQuestName = 0x30; // char[128]
+                constexpr std::ptrdiff_t m_nQuestPhase = 0xB0; // int32
+                constexpr std::ptrdiff_t m_nTotalPausedTicks = 0xB4; // int32
+                constexpr std::ptrdiff_t m_nPauseStartTick = 0xB8; // int32
+                constexpr std::ptrdiff_t m_bGamePaused = 0xBC; // bool
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_pEntity (CEntityIdentity*)
+            // NetworkVarNames: m_CScriptComponent (CScriptComponent::Storage_t)
+            namespace CEntityInstance {
+                constexpr std::ptrdiff_t m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_pEntity = 0x10; // CEntityIdentity*
+                constexpr std::ptrdiff_t m_CScriptComponent = 0x28; // CScriptComponent*
+                constexpr std::ptrdiff_t m_bVisibleinPVS = 0x30; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_flInfluenceRadius (float)
+            // NetworkVarNames: m_Entity_vBoxProjectMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxProjectMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_flDiffuseScale (float)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_bDefaultEnvMap (bool)
+            // NetworkVarNames: m_Entity_bDefaultSpecEnvMap (bool)
+            // NetworkVarNames: m_Entity_bIndoorCubeMap (bool)
+            // NetworkVarNames: m_Entity_bCopyDiffuseFromDefaultCubemap (bool)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            namespace CEnvCubemap {
+                constexpr std::ptrdiff_t m_Entity_hCubemapTexture = 0x560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                constexpr std::ptrdiff_t m_Entity_bCustomCubemapTexture = 0x568; // bool
+                constexpr std::ptrdiff_t m_Entity_flInfluenceRadius = 0x56C; // float32
+                constexpr std::ptrdiff_t m_Entity_vBoxProjectMins = 0x570; // Vector
+                constexpr std::ptrdiff_t m_Entity_vBoxProjectMaxs = 0x57C; // Vector
+                constexpr std::ptrdiff_t m_Entity_bMoveable = 0x588; // bool
+                constexpr std::ptrdiff_t m_Entity_nHandshake = 0x58C; // int32
+                constexpr std::ptrdiff_t m_Entity_nEnvCubeMapArrayIndex = 0x590; // int32
+                constexpr std::ptrdiff_t m_Entity_nPriority = 0x594; // int32
+                constexpr std::ptrdiff_t m_Entity_flEdgeFadeDist = 0x598; // float32
+                constexpr std::ptrdiff_t m_Entity_vEdgeFadeDists = 0x59C; // Vector
+                constexpr std::ptrdiff_t m_Entity_flDiffuseScale = 0x5A8; // float32
+                constexpr std::ptrdiff_t m_Entity_bStartDisabled = 0x5AC; // bool
+                constexpr std::ptrdiff_t m_Entity_bDefaultEnvMap = 0x5AD; // bool
+                constexpr std::ptrdiff_t m_Entity_bDefaultSpecEnvMap = 0x5AE; // bool
+                constexpr std::ptrdiff_t m_Entity_bIndoorCubeMap = 0x5AF; // bool
+                constexpr std::ptrdiff_t m_Entity_bCopyDiffuseFromDefaultCubemap = 0x5B0; // bool
+                constexpr std::ptrdiff_t m_Entity_bEnabled = 0x5C0; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            namespace ServerAuthoritativeWeaponSlot_t {
+                constexpr std::ptrdiff_t unClass = 0x28; // uint16
+                constexpr std::ptrdiff_t unSlot = 0x2A; // uint16
+                constexpr std::ptrdiff_t unItemDefIdx = 0x2C; // uint16
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CCSPlayer_DamageReactServices {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMatchSeed (int)
+            // NetworkVarNames: m_bBlockersPresent (bool)
+            // NetworkVarNames: m_bRoundInProgress (bool)
+            // NetworkVarNames: m_iFirstSecondHalfRound (int)
+            // NetworkVarNames: m_iBombSite (int)
+            namespace CRetakeGameRules {
+                constexpr std::ptrdiff_t m_nMatchSeed = 0xF8; // int32
+                constexpr std::ptrdiff_t m_bBlockersPresent = 0xFC; // bool
+                constexpr std::ptrdiff_t m_bRoundInProgress = 0xFD; // bool
+                constexpr std::ptrdiff_t m_iFirstSecondHalfRound = 0x100; // int32
+                constexpr std::ptrdiff_t m_iBombSite = 0x104; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_flFadeInDuration (float32)
+            // NetworkVarNames: m_flFadeOutDuration (float32)
+            // NetworkVarNames: m_flMaxWeight (float32)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bClientSide (bool)
+            // NetworkVarNames: m_bExclusive (bool)
+            // NetworkVarNames: m_MinFalloff (float32)
+            // NetworkVarNames: m_MaxFalloff (float32)
+            // NetworkVarNames: m_flCurWeight (float32)
+            // NetworkVarNames: m_netlookupFilename (char)
+            namespace CColorCorrection {
+                constexpr std::ptrdiff_t m_flFadeInDuration = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_flFadeOutDuration = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_flStartFadeInWeight = 0x4E8; // float32
+                constexpr std::ptrdiff_t m_flStartFadeOutWeight = 0x4EC; // float32
+                constexpr std::ptrdiff_t m_flTimeStartFadeIn = 0x4F0; // GameTime_t
+                constexpr std::ptrdiff_t m_flTimeStartFadeOut = 0x4F4; // GameTime_t
+                constexpr std::ptrdiff_t m_flMaxWeight = 0x4F8; // float32
+                constexpr std::ptrdiff_t m_bStartDisabled = 0x4FC; // bool
+                constexpr std::ptrdiff_t m_bEnabled = 0x4FD; // bool
+                constexpr std::ptrdiff_t m_bMaster = 0x4FE; // bool
+                constexpr std::ptrdiff_t m_bClientSide = 0x4FF; // bool
+                constexpr std::ptrdiff_t m_bExclusive = 0x500; // bool
+                constexpr std::ptrdiff_t m_MinFalloff = 0x504; // float32
+                constexpr std::ptrdiff_t m_MaxFalloff = 0x508; // float32
+                constexpr std::ptrdiff_t m_flCurWeight = 0x50C; // float32
+                constexpr std::ptrdiff_t m_netlookupFilename = 0x510; // char[512]
+                constexpr std::ptrdiff_t m_lookupFilename = 0x710; // CUtlSymbolLarge
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponElite {
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 0
+            namespace CSoundEventEntityAlias_snd_event_point {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            namespace CBaseEntityAPI {
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_bStartedArming (bool)
+            // NetworkVarNames: m_fArmedTime (GameTime_t)
+            // NetworkVarNames: m_bBombPlacedAnimation (bool)
+            // NetworkVarNames: m_bIsPlantingViaUse (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            namespace CC4 {
+                constexpr std::ptrdiff_t m_vecLastValidPlayerHeldPosition = 0xF98; // Vector
+                constexpr std::ptrdiff_t m_vecLastValidDroppedPosition = 0xFA4; // Vector
+                constexpr std::ptrdiff_t m_bDoValidDroppedPositionCheck = 0xFB0; // bool
+                constexpr std::ptrdiff_t m_bStartedArming = 0xFB1; // bool
+                constexpr std::ptrdiff_t m_fArmedTime = 0xFB4; // GameTime_t
+                constexpr std::ptrdiff_t m_bBombPlacedAnimation = 0xFB8; // bool
+                constexpr std::ptrdiff_t m_bIsPlantingViaUse = 0xFB9; // bool
+                constexpr std::ptrdiff_t m_entitySpottedState = 0xFC0; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_nSpotRules = 0xFD8; // int32
+                constexpr std::ptrdiff_t m_bPlayedArmingBeeps = 0xFDC; // bool[7]
+                constexpr std::ptrdiff_t m_bBombPlanted = 0xFE3; // bool
+            }
+            // Parent: CHostageRescueZoneShim
+            // Field count: 0
+            namespace CHostageRescueZone {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 6
+            namespace CPointPrefab {
+                constexpr std::ptrdiff_t m_targetMapName = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_forceWorldGroupID = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_associatedRelayTargetName = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_fixupNames = 0x4F8; // bool
+                constexpr std::ptrdiff_t m_bLoadDynamic = 0x4F9; // bool
+                constexpr std::ptrdiff_t m_associatedRelayEntity = 0x4FC; // CHandle<CPointPrefab>
+            }
+            // Parent: CBaseToggle
+            // Field count: 27
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsUsable (bool)
+            namespace CBaseDoor {
+                constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x820; // QAngle
+                constexpr std::ptrdiff_t m_vecMoveDirParentSpace = 0x82C; // Vector
+                constexpr std::ptrdiff_t m_ls = 0x838; // locksound_t
+                constexpr std::ptrdiff_t m_bForceClosed = 0x858; // bool
+                constexpr std::ptrdiff_t m_bDoorGroup = 0x859; // bool
+                constexpr std::ptrdiff_t m_bLocked = 0x85A; // bool
+                constexpr std::ptrdiff_t m_bIgnoreDebris = 0x85B; // bool
+                constexpr std::ptrdiff_t m_eSpawnPosition = 0x85C; // FuncDoorSpawnPos_t
+                constexpr std::ptrdiff_t m_flBlockDamage = 0x860; // float32
+                constexpr std::ptrdiff_t m_NoiseMoving = 0x868; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_NoiseArrived = 0x870; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_NoiseMovingClosed = 0x878; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_NoiseArrivedClosed = 0x880; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_ChainTarget = 0x888; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_OnBlockedClosing = 0x890; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnBlockedOpening = 0x8B8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUnblockedClosing = 0x8E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUnblockedOpening = 0x908; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyClosed = 0x930; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyOpen = 0x958; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnClose = 0x980; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnOpen = 0x9A8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnLockedUse = 0x9D0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bLoopMoveSound = 0x9F8; // bool
+                constexpr std::ptrdiff_t m_bCreateNavObstacle = 0xA10; // bool
+                constexpr std::ptrdiff_t m_isChaining = 0xA11; // bool
+                constexpr std::ptrdiff_t m_bIsUsable = 0xA12; // bool
+            }
+            // Parent: None
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_hParent (CGameSceneNodeHandle)
+            // NetworkVarNames: m_vecOrigin (CNetworkOriginCellCoordQuantizedVector)
+            // NetworkVarNames: m_angRotation (QAngle)
+            // NetworkVarNames: m_flScale (float)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            // NetworkVarNames: m_hierarchyAttachName (CUtlStringToken)
+            namespace CGameSceneNode {
+                constexpr std::ptrdiff_t m_nodeToWorld = 0x10; // CTransform
+                constexpr std::ptrdiff_t m_pOwner = 0x30; // CEntityInstance*
+                constexpr std::ptrdiff_t m_pParent = 0x38; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_pChild = 0x40; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_pNextSibling = 0x48; // CGameSceneNode*
+                constexpr std::ptrdiff_t m_hParent = 0x78; // CGameSceneNodeHandle
+                constexpr std::ptrdiff_t m_vecOrigin = 0x88; // CNetworkOriginCellCoordQuantizedVector
+                constexpr std::ptrdiff_t m_angRotation = 0xC0; // QAngle
+                constexpr std::ptrdiff_t m_flScale = 0xCC; // float32
+                constexpr std::ptrdiff_t m_vecAbsOrigin = 0xD0; // Vector
+                constexpr std::ptrdiff_t m_angAbsRotation = 0xDC; // QAngle
+                constexpr std::ptrdiff_t m_flAbsScale = 0xE8; // float32
+                constexpr std::ptrdiff_t m_nParentAttachmentOrBone = 0xEC; // int16
+                constexpr std::ptrdiff_t m_bDebugAbsOriginChanges = 0xEE; // bool
+                constexpr std::ptrdiff_t m_bDormant = 0xEF; // bool
+                constexpr std::ptrdiff_t m_bForceParentToBeNetworked = 0xF0; // bool
+                constexpr std::ptrdiff_t m_bDirtyHierarchy = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bDirtyBoneMergeInfo = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNetworkedPositionChanged = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNetworkedAnglesChanged = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bNetworkedScaleChanged = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bWillBeCallingPostDataUpdate = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_bBoneMergeFlex = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_nLatchAbsOrigin = 0x0; // bitfield:2
+                constexpr std::ptrdiff_t m_bDirtyBoneMergeBoneToRoot = 0x0; // bitfield:1
+                constexpr std::ptrdiff_t m_nHierarchicalDepth = 0xF3; // uint8
+                constexpr std::ptrdiff_t m_nHierarchyType = 0xF4; // uint8
+                constexpr std::ptrdiff_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount = 0xF5; // uint8
+                constexpr std::ptrdiff_t m_name = 0xF8; // CUtlStringToken
+                constexpr std::ptrdiff_t m_hierarchyAttachName = 0x138; // CUtlStringToken
+                constexpr std::ptrdiff_t m_flZOffset = 0x13C; // float32
+                constexpr std::ptrdiff_t m_flClientLocalScale = 0x140; // float32
+                constexpr std::ptrdiff_t m_vRenderOrigin = 0x144; // Vector
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            namespace CTankTrainAI {
+                constexpr std::ptrdiff_t m_hTrain = 0x4E0; // CHandle<CFuncTrackTrain>
+                constexpr std::ptrdiff_t m_hTargetEntity = 0x4E4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_soundPlaying = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_startSoundName = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_engineSoundName = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_movementSoundName = 0x510; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_targetEntityName = 0x518; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            namespace CGameGibManager {
+                constexpr std::ptrdiff_t m_bAllowNewGibs = 0x500; // bool
+                constexpr std::ptrdiff_t m_iCurrentMaxPieces = 0x504; // int32
+                constexpr std::ptrdiff_t m_iMaxPieces = 0x508; // int32
+                constexpr std::ptrdiff_t m_iLastFrame = 0x50C; // int32
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            namespace CCSPointScript {
+                constexpr std::ptrdiff_t m_pParent = 0xF8; // CCSPointScriptEntity*
+            }
+            // Parent: CRagdollProp
+            // Field count: 0
+            namespace CRagdollPropAlias_physics_prop_ragdoll {
+            }
+            // Parent: CSprite
+            // Field count: 0
+            namespace CCSSprite {
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            namespace CFuncPropRespawnZone {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 3
+            namespace SpawnPoint {
+                constexpr std::ptrdiff_t m_iPriority = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_bEnabled = 0x4E4; // bool
+                constexpr std::ptrdiff_t m_nType = 0x4E8; // int32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            namespace CWeaponSCAR20 {
+            }
+            // Parent: CFuncPlat
+            // Field count: 2
+            namespace CFuncPlatRot {
+                constexpr std::ptrdiff_t m_end = 0x840; // QAngle
+                constexpr std::ptrdiff_t m_start = 0x84C; // QAngle
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            namespace CEnvSpark {
+                constexpr std::ptrdiff_t m_flDelay = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_nMagnitude = 0x4E4; // int32
+                constexpr std::ptrdiff_t m_nTrailLength = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_nType = 0x4EC; // int32
+                constexpr std::ptrdiff_t m_OnSpark = 0x4F0; // CEntityIOOutput
+            }
+            // Parent: CPlayer_ObserverServices
+            // Field count: 0
+            namespace CCSObserver_ObserverServices {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            namespace CPlayer_AutoaimServices {
+            }
+            // Parent: CBasePlatTrain
+            // Field count: 6
+            namespace CFuncTrain {
+                constexpr std::ptrdiff_t m_hCurrentTarget = 0x838; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_activated = 0x83C; // bool
+                constexpr std::ptrdiff_t m_hEnemy = 0x840; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flBlockDamage = 0x844; // float32
+                constexpr std::ptrdiff_t m_flNextBlockTime = 0x848; // GameTime_t
+                constexpr std::ptrdiff_t m_iszLastTarget = 0x850; // CUtlSymbolLarge
+            }
+            // Parent: CHostageExpresserShim
+            // Field count: 39
+            //
+            // Metadata:
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_vel (Vector)
+            // NetworkVarNames: m_isRescued (bool)
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_nHostageState (int)
+            // NetworkVarNames: m_leader (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_reuseTimer (CountdownTimer)
+            // NetworkVarNames: m_bHandsHaveBeenCut (bool)
+            // NetworkVarNames: m_hHostageGrabber (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_flRescueStartTime (GameTime_t)
+            // NetworkVarNames: m_flGrabSuccessTime (GameTime_t)
+            // NetworkVarNames: m_flDropStartTime (GameTime_t)
+            namespace CHostage {
+                constexpr std::ptrdiff_t m_OnHostageBeginGrab = 0xAD8; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFirstPickedUp = 0xB00; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnDroppedNotRescued = 0xB28; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnRescued = 0xB50; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_entitySpottedState = 0xB78; // EntitySpottedState_t
+                constexpr std::ptrdiff_t m_nSpotRules = 0xB90; // int32
+                constexpr std::ptrdiff_t m_uiHostageSpawnExclusionGroupMask = 0xB94; // uint32
+                constexpr std::ptrdiff_t m_nHostageSpawnRandomFactor = 0xB98; // uint32
+                constexpr std::ptrdiff_t m_bRemove = 0xB9C; // bool
+                constexpr std::ptrdiff_t m_vel = 0xBA0; // Vector
+                constexpr std::ptrdiff_t m_isRescued = 0xBAC; // bool
+                constexpr std::ptrdiff_t m_jumpedThisFrame = 0xBAD; // bool
+                constexpr std::ptrdiff_t m_nHostageState = 0xBB0; // int32
+                constexpr std::ptrdiff_t m_leader = 0xBB4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_lastLeader = 0xBB8; // CHandle<CCSPlayerPawnBase>
+                constexpr std::ptrdiff_t m_reuseTimer = 0xBC0; // CountdownTimer
+                constexpr std::ptrdiff_t m_hasBeenUsed = 0xBD8; // bool
+                constexpr std::ptrdiff_t m_accel = 0xBDC; // Vector
+                constexpr std::ptrdiff_t m_isRunning = 0xBE8; // bool
+                constexpr std::ptrdiff_t m_isCrouching = 0xBE9; // bool
+                constexpr std::ptrdiff_t m_jumpTimer = 0xBF0; // CountdownTimer
+                constexpr std::ptrdiff_t m_isWaitingForLeader = 0xC08; // bool
+                constexpr std::ptrdiff_t m_repathTimer = 0x2C18; // CountdownTimer
+                constexpr std::ptrdiff_t m_inhibitDoorTimer = 0x2C30; // CountdownTimer
+                constexpr std::ptrdiff_t m_inhibitObstacleAvoidanceTimer = 0x2CC0; // CountdownTimer
+                constexpr std::ptrdiff_t m_wiggleTimer = 0x2CE0; // CountdownTimer
+                constexpr std::ptrdiff_t m_isAdjusted = 0x2CFC; // bool
+                constexpr std::ptrdiff_t m_bHandsHaveBeenCut = 0x2CFD; // bool
+                constexpr std::ptrdiff_t m_hHostageGrabber = 0x2D00; // CHandle<CCSPlayerPawn>
+                constexpr std::ptrdiff_t m_fLastGrabTime = 0x2D04; // GameTime_t
+                constexpr std::ptrdiff_t m_vecPositionWhenStartedDroppingToGround = 0x2D08; // Vector
+                constexpr std::ptrdiff_t m_vecGrabbedPos = 0x2D14; // Vector
+                constexpr std::ptrdiff_t m_flRescueStartTime = 0x2D20; // GameTime_t
+                constexpr std::ptrdiff_t m_flGrabSuccessTime = 0x2D24; // GameTime_t
+                constexpr std::ptrdiff_t m_flDropStartTime = 0x2D28; // GameTime_t
+                constexpr std::ptrdiff_t m_nApproachRewardPayouts = 0x2D2C; // int32
+                constexpr std::ptrdiff_t m_nPickupEventCount = 0x2D30; // int32
+                constexpr std::ptrdiff_t m_vecSpawnGroundPos = 0x2D34; // Vector
+                constexpr std::ptrdiff_t m_vecHostageResetPosition = 0x2D54; // Vector
+            }
+            // Parent: CPointEntity
+            // Field count: 13
+            namespace CNavLinkAreaEntity {
+                constexpr std::ptrdiff_t m_flWidth = 0x4E0; // float32
+                constexpr std::ptrdiff_t m_vLocatorOffset = 0x4E4; // Vector
+                constexpr std::ptrdiff_t m_qLocatorAnglesOffset = 0x4F0; // QAngle
+                constexpr std::ptrdiff_t m_strMovementForward = 0x500; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_strMovementReverse = 0x508; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_nNavLinkIdForward = 0x510; // int32
+                constexpr std::ptrdiff_t m_nNavLinkIdReverse = 0x514; // int32
+                constexpr std::ptrdiff_t m_bEnabled = 0x518; // bool
+                constexpr std::ptrdiff_t m_strFilterName = 0x520; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hFilter = 0x528; // CHandle<CBaseFilter>
+                constexpr std::ptrdiff_t m_OnNavLinkStart = 0x530; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnNavLinkFinish = 0x558; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bIsTerminus = 0x580; // bool
+            }
+            // Parent: CBaseToggle
+            // Field count: 12
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            namespace CFuncMoveLinear {
+                constexpr std::ptrdiff_t m_authoredPosition = 0x810; // MoveLinearAuthoredPos_t
+                constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x814; // QAngle
+                constexpr std::ptrdiff_t m_vecMoveDirParentSpace = 0x820; // Vector
+                constexpr std::ptrdiff_t m_soundStart = 0x830; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_soundStop = 0x838; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_currentSound = 0x840; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flBlockDamage = 0x848; // float32
+                constexpr std::ptrdiff_t m_flStartPosition = 0x84C; // float32
+                constexpr std::ptrdiff_t m_OnFullyOpen = 0x858; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnFullyClosed = 0x880; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_bCreateMovableNavMesh = 0x8A8; // bool
+                constexpr std::ptrdiff_t m_bCreateNavObstacle = 0x8A9; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            namespace CCommentaryAuto {
+                constexpr std::ptrdiff_t m_OnCommentaryNewGame = 0x4E0; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnCommentaryMidGame = 0x508; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnCommentaryMultiplayerSpawn = 0x530; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            namespace CMapInfo {
+                constexpr std::ptrdiff_t m_iBuyingStatus = 0x4E0; // int32
+                constexpr std::ptrdiff_t m_flBombRadius = 0x4E4; // float32
+                constexpr std::ptrdiff_t m_iPetPopulation = 0x4E8; // int32
+                constexpr std::ptrdiff_t m_bUseNormalSpawnsForDM = 0x4EC; // bool
+                constexpr std::ptrdiff_t m_bDisableAutoGeneratedDMSpawns = 0x4ED; // bool
+                constexpr std::ptrdiff_t m_flBotMaxVisionDistance = 0x4F0; // float32
+                constexpr std::ptrdiff_t m_iHostageCount = 0x4F4; // int32
+                constexpr std::ptrdiff_t m_bFadePlayerVisibilityFarZ = 0x4F8; // bool
+                constexpr std::ptrdiff_t m_bRainTraceToSkyEnabled = 0x4F9; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            namespace CTriggerBombReset {
+            }
+            // Parent: CEntityInstance
+            // Field count: 77
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_CBodyComponent (CBodyComponent::Storage_t)
+            // NetworkVarNames: m_iHealth (int32)
+            // NetworkVarNames: m_iMaxHealth (int32)
+            // NetworkVarNames: m_lifeState (uint8)
+            // NetworkVarNames: m_bTakesDamage (bool)
+            // NetworkVarNames: m_nTakeDamageFlags (TakeDamageFlags_t)
+            // NetworkVarNames: m_nPlatformType (EntityPlatformTypes_t)
+            // NetworkVarNames: m_MoveCollide (MoveCollide_t)
+            // NetworkVarNames: m_MoveType (MoveType_t)
+            // NetworkVarNames: m_nSubclassID (EntitySubclassID_t)
+            // NetworkVarNames: m_flAnimTime (float32)
+            // NetworkVarNames: m_flSimulationTime (float32)
+            // NetworkVarNames: m_flCreateTime (GameTime_t)
+            // NetworkVarNames: m_bClientSideRagdoll (bool)
+            // NetworkVarNames: m_ubInterpolationFrame (uint8)
+            // NetworkVarNames: m_iTeamNum (uint8)
+            // NetworkVarNames: m_flSpeed (float)
+            // NetworkVarNames: m_spawnflags (uint32)
+            // NetworkVarNames: m_nNextThinkTick (GameTick_t)
+            // NetworkVarNames: m_fFlags (uint32)
+            // NetworkVarNames: m_vecVelocity (CNetworkVelocityVector)
+            // NetworkVarNames: m_vecBaseVelocity (Vector)
+            // NetworkVarNames: m_hEffectEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hOwnerEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_fEffects (uint32)
+            // NetworkVarNames: m_hGroundEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nGroundBodyIndex (int)
+            // NetworkVarNames: m_flFriction (float32)
+            // NetworkVarNames: m_flElasticity (float32)
+            // NetworkVarNames: m_flGravityScale (float32)
+            // NetworkVarNames: m_flTimeScale (float32)
+            // NetworkVarNames: m_flWaterLevel (float)
+            // NetworkVarNames: m_bAnimatedEveryTick (bool)
+            // NetworkVarNames: m_flNavIgnoreUntilTime (GameTime_t)
+            // NetworkVarNames: m_nBloodType (BloodType)
+            namespace CBaseEntity {
+                constexpr std::ptrdiff_t m_CBodyComponent = 0x38; // CBodyComponent*
+                constexpr std::ptrdiff_t m_NetworkTransmitComponent = 0x40; // CNetworkTransmitComponent
+                constexpr std::ptrdiff_t m_aThinkFunctions = 0x240; // CUtlVector<thinkfunc_t>
+                constexpr std::ptrdiff_t m_iCurrentThinkContext = 0x258; // int32
+                constexpr std::ptrdiff_t m_nLastThinkTick = 0x25C; // GameTick_t
+                constexpr std::ptrdiff_t m_bDisabledContextThinks = 0x260; // bool
+                constexpr std::ptrdiff_t m_isSteadyState = 0x270; // CTypedBitVec<64>
+                constexpr std::ptrdiff_t m_lastNetworkChange = 0x278; // float32
+                constexpr std::ptrdiff_t m_ResponseContexts = 0x288; // CUtlVector<ResponseContext_t>
+                constexpr std::ptrdiff_t m_iszResponseContext = 0x2A0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iHealth = 0x2C8; // int32
+                constexpr std::ptrdiff_t m_iMaxHealth = 0x2CC; // int32
+                constexpr std::ptrdiff_t m_lifeState = 0x2D0; // uint8
+                constexpr std::ptrdiff_t m_flDamageAccumulator = 0x2D4; // float32
+                constexpr std::ptrdiff_t m_bTakesDamage = 0x2D8; // bool
+                constexpr std::ptrdiff_t m_nTakeDamageFlags = 0x2E0; // TakeDamageFlags_t
+                constexpr std::ptrdiff_t m_nPlatformType = 0x2E8; // EntityPlatformTypes_t
+                constexpr std::ptrdiff_t m_MoveCollide = 0x2EA; // MoveCollide_t
+                constexpr std::ptrdiff_t m_MoveType = 0x2EB; // MoveType_t
+                constexpr std::ptrdiff_t m_nActualMoveType = 0x2EC; // MoveType_t
+                constexpr std::ptrdiff_t m_nWaterTouch = 0x2ED; // uint8
+                constexpr std::ptrdiff_t m_nSlimeTouch = 0x2EE; // uint8
+                constexpr std::ptrdiff_t m_bRestoreInHierarchy = 0x2EF; // bool
+                constexpr std::ptrdiff_t m_target = 0x2F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hDamageFilter = 0x2F8; // CHandle<CBaseFilter>
+                constexpr std::ptrdiff_t m_iszDamageFilterName = 0x300; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_flMoveDoneTime = 0x308; // float32
+                constexpr std::ptrdiff_t m_nSubclassID = 0x30C; // CUtlStringToken
+                constexpr std::ptrdiff_t m_flAnimTime = 0x318; // float32
+                constexpr std::ptrdiff_t m_flSimulationTime = 0x31C; // float32
+                constexpr std::ptrdiff_t m_flCreateTime = 0x320; // GameTime_t
+                constexpr std::ptrdiff_t m_bClientSideRagdoll = 0x324; // bool
+                constexpr std::ptrdiff_t m_ubInterpolationFrame = 0x325; // uint8
+                constexpr std::ptrdiff_t m_vPrevVPhysicsUpdatePos = 0x328; // Vector
+                constexpr std::ptrdiff_t m_iTeamNum = 0x334; // uint8
+                constexpr std::ptrdiff_t m_iGlobalname = 0x338; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_iSentToClients = 0x340; // int32
+                constexpr std::ptrdiff_t m_flSpeed = 0x344; // float32
+                constexpr std::ptrdiff_t m_sUniqueHammerID = 0x348; // CUtlString
+                constexpr std::ptrdiff_t m_spawnflags = 0x350; // uint32
+                constexpr std::ptrdiff_t m_nNextThinkTick = 0x354; // GameTick_t
+                constexpr std::ptrdiff_t m_nSimulationTick = 0x358; // int32
+                constexpr std::ptrdiff_t m_OnKilled = 0x360; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_fFlags = 0x388; // uint32
+                constexpr std::ptrdiff_t m_vecAbsVelocity = 0x38C; // Vector
+                constexpr std::ptrdiff_t m_vecVelocity = 0x398; // CNetworkVelocityVector
+                constexpr std::ptrdiff_t m_vecBaseVelocity = 0x3C8; // Vector
+                constexpr std::ptrdiff_t m_nPushEnumCount = 0x3D4; // int32
+                constexpr std::ptrdiff_t m_pCollision = 0x3D8; // CCollisionProperty*
+                constexpr std::ptrdiff_t m_hEffectEntity = 0x3E0; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hOwnerEntity = 0x3E4; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_fEffects = 0x3E8; // uint32
+                constexpr std::ptrdiff_t m_hGroundEntity = 0x3EC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_nGroundBodyIndex = 0x3F0; // int32
+                constexpr std::ptrdiff_t m_flFriction = 0x3F4; // float32
+                constexpr std::ptrdiff_t m_flElasticity = 0x3F8; // float32
+                constexpr std::ptrdiff_t m_flGravityScale = 0x3FC; // float32
+                constexpr std::ptrdiff_t m_flTimeScale = 0x400; // float32
+                constexpr std::ptrdiff_t m_flWaterLevel = 0x404; // float32
+                constexpr std::ptrdiff_t m_bAnimatedEveryTick = 0x408; // bool
+                constexpr std::ptrdiff_t m_bDisableLowViolence = 0x409; // bool
+                constexpr std::ptrdiff_t m_nWaterType = 0x40A; // uint8
+                constexpr std::ptrdiff_t m_iEFlags = 0x40C; // int32
+                constexpr std::ptrdiff_t m_OnUser1 = 0x410; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUser2 = 0x438; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUser3 = 0x460; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_OnUser4 = 0x488; // CEntityIOOutput
+                constexpr std::ptrdiff_t m_iInitialTeamNum = 0x4B0; // int32
+                constexpr std::ptrdiff_t m_flNavIgnoreUntilTime = 0x4B4; // GameTime_t
+                constexpr std::ptrdiff_t m_vecAngVelocity = 0x4B8; // QAngle
+                constexpr std::ptrdiff_t m_bNetworkQuantizeOriginAndAngles = 0x4C4; // bool
+                constexpr std::ptrdiff_t m_bLagCompensate = 0x4C5; // bool
+                constexpr std::ptrdiff_t m_flOverriddenFriction = 0x4C8; // float32
+                constexpr std::ptrdiff_t m_pBlocker = 0x4CC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flLocalTime = 0x4D0; // float32
+                constexpr std::ptrdiff_t m_flVPhysicsUpdateLocalTime = 0x4D4; // float32
+                constexpr std::ptrdiff_t m_nBloodType = 0x4D8; // BloodType
+            }
+            // Parent: CLogicalEntity
+            // Field count: 9
+            namespace CLogicMeasureMovement {
+                constexpr std::ptrdiff_t m_strMeasureTarget = 0x4E0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_strMeasureReference = 0x4E8; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_strTargetReference = 0x4F0; // CUtlSymbolLarge
+                constexpr std::ptrdiff_t m_hMeasureTarget = 0x4F8; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hMeasureReference = 0x4FC; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTarget = 0x500; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_hTargetReference = 0x504; // CHandle<CBaseEntity>
+                constexpr std::ptrdiff_t m_flScale = 0x508; // float32
+                constexpr std::ptrdiff_t m_nMeasureType = 0x50C; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: nType (FixAngleSet_t)
+            // NetworkVarNames: qAngle (QAngle)
+            // NetworkVarNames: nIndex (uint32)
+            namespace ViewAngleServerChange_t {
+                constexpr std::ptrdiff_t nType = 0x30; // FixAngleSet_t
+                constexpr std::ptrdiff_t qAngle = 0x34; // QAngle
+                constexpr std::ptrdiff_t nIndex = 0x40; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Transforms (CTransform)
+            // NetworkVarNames: m_hOwner (EHANDLE)
+            namespace PhysicsRagdollPose_t {
+                constexpr std::ptrdiff_t m_Transforms = 0x8; // CNetworkUtlVectorBase<CTransform>
+                constexpr std::ptrdiff_t m_hOwner = 0x20; // CHandle<CBaseEntity>
+            }
+        }
+    }
+}
diff --git a/output/server_dll.json b/output/server_dll.json
new file mode 100644
index 0000000..012cc90
--- /dev/null
+++ b/output/server_dll.json
@@ -0,0 +1,19373 @@
+{
+  "server.dll": {
+    "classes": {
+      "ActiveModelConfig_t": {
+        "fields": {
+          "m_AssociatedEntities": 56,
+          "m_AssociatedEntityNames": 80,
+          "m_Handle": 40,
+          "m_Name": 48
+        },
+        "metadata": [
+          {
+            "name": "m_Handle",
+            "type": "NetworkVarNames",
+            "type_name": "ModelConfigHandle_t"
+          },
+          {
+            "name": "m_Name",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_AssociatedEntities",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseModelEntity>"
+          },
+          {
+            "name": "m_AssociatedEntityNames",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": null
+      },
+      "CAISound": {
+        "fields": {
+          "m_flDuration": 1260,
+          "m_iSoundFlags": 1250,
+          "m_iSoundIndex": 1256,
+          "m_iSoundType": 1248,
+          "m_iVolume": 1252,
+          "m_iszProxyEntityName": 1264
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CAI_ChangeHintGroup": {
+        "fields": {
+          "m_flRadius": 1272,
+          "m_iSearchType": 1248,
+          "m_strNewHintGroup": 1264,
+          "m_strSearchName": 1256
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CAK47": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CAmbientGeneric": {
+        "fields": {
+          "m_dpv": 1260,
+          "m_fActive": 1360,
+          "m_fLooping": 1361,
+          "m_flMaxRadius": 1252,
+          "m_hSoundSource": 1384,
+          "m_iSoundLevel": 1256,
+          "m_iszSound": 1368,
+          "m_nSoundSourceEntIndex": 1388,
+          "m_radius": 1248,
+          "m_sSourceEntName": 1376
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CAnimGraphNetworkedVariables": {
+        "fields": {
+          "m_OwnerOnlyPredNetBoolVariables": 248,
+          "m_OwnerOnlyPredNetByteVariables": 272,
+          "m_OwnerOnlyPredNetFloatVariables": 392,
+          "m_OwnerOnlyPredNetGlobalSymbolVariables": 464,
+          "m_OwnerOnlyPredNetIntVariables": 320,
+          "m_OwnerOnlyPredNetQuaternionVariables": 440,
+          "m_OwnerOnlyPredNetUInt16Variables": 296,
+          "m_OwnerOnlyPredNetUInt32Variables": 344,
+          "m_OwnerOnlyPredNetUInt64Variables": 368,
+          "m_OwnerOnlyPredNetVectorVariables": 416,
+          "m_PredNetBoolVariables": 8,
+          "m_PredNetByteVariables": 32,
+          "m_PredNetFloatVariables": 152,
+          "m_PredNetGlobalSymbolVariables": 224,
+          "m_PredNetIntVariables": 80,
+          "m_PredNetQuaternionVariables": 200,
+          "m_PredNetUInt16Variables": 56,
+          "m_PredNetUInt32Variables": 104,
+          "m_PredNetUInt64Variables": 128,
+          "m_PredNetVectorVariables": 176,
+          "m_flLastTeleportTime": 500,
+          "m_nBoolVariablesCount": 488,
+          "m_nOwnerOnlyBoolVariablesCount": 492,
+          "m_nRandomSeedOffset": 496
+        },
+        "metadata": [
+          {
+            "name": "m_PredNetBoolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_PredNetByteVariables",
+            "type": "NetworkVarNames",
+            "type_name": "byte"
+          },
+          {
+            "name": "m_PredNetUInt16Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_PredNetIntVariables",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_PredNetUInt32Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_PredNetUInt64Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_PredNetFloatVariables",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_PredNetVectorVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PredNetQuaternionVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Quaternion"
+          },
+          {
+            "name": "m_PredNetGlobalSymbolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "CGlobalSymbol"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetBoolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetByteVariables",
+            "type": "NetworkVarNames",
+            "type_name": "byte"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetUInt16Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetIntVariables",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetUInt32Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetUInt64Variables",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetFloatVariables",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetVectorVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetQuaternionVariables",
+            "type": "NetworkVarNames",
+            "type_name": "Quaternion"
+          },
+          {
+            "name": "m_OwnerOnlyPredNetGlobalSymbolVariables",
+            "type": "NetworkVarNames",
+            "type_name": "CGlobalSymbol"
+          },
+          {
+            "name": "m_nBoolVariablesCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nOwnerOnlyBoolVariablesCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRandomSeedOffset",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flLastTeleportTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": null
+      },
+      "CAttributeContainer": {
+        "fields": {
+          "m_Item": 80
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_Item",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          }
+        ],
+        "parent": "CAttributeManager"
+      },
+      "CAttributeList": {
+        "fields": {
+          "m_Attributes": 8,
+          "m_pManager": 88
+        },
+        "metadata": [
+          {
+            "name": "m_Attributes",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemAttribute"
+          }
+        ],
+        "parent": null
+      },
+      "CAttributeManager": {
+        "fields": {
+          "m_CachedResults": 48,
+          "m_ProviderType": 44,
+          "m_Providers": 8,
+          "m_bPreventLoopback": 40,
+          "m_hOuter": 36,
+          "m_iReapplyProvisionParity": 32
+        },
+        "metadata": [
+          {
+            "name": "m_iReapplyProvisionParity",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hOuter",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          },
+          {
+            "name": "m_ProviderType",
+            "type": "NetworkVarNames",
+            "type_name": "attributeprovidertypes_t"
+          }
+        ],
+        "parent": null
+      },
+      "CAttributeManager__cached_attribute_float_t": {
+        "fields": {
+          "flIn": 0,
+          "flOut": 16,
+          "iAttribHook": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CBarnLight": {
+        "fields": {
+          "m_Color": 1944,
+          "m_LightStyleEvents": 2024,
+          "m_LightStyleString": 1984,
+          "m_LightStyleTargets": 2048,
+          "m_QueuedLightStyleStrings": 2000,
+          "m_StyleEvent": 2072,
+          "m_VisClusters": 2704,
+          "m_bContactShadow": 2348,
+          "m_bEnabled": 1936,
+          "m_bFogMixedShadows": 2396,
+          "m_bPrecomputedFieldsValid": 2416,
+          "m_bPvsModifyEntity": 2700,
+          "m_fAlternateColorBrightness": 2376,
+          "m_flBounceScale": 2356,
+          "m_flBrightness": 1952,
+          "m_flBrightnessScale": 1956,
+          "m_flColorTemperature": 1948,
+          "m_flFadeSizeEnd": 2404,
+          "m_flFadeSizeStart": 2400,
+          "m_flFogScale": 2392,
+          "m_flFogStrength": 2384,
+          "m_flLightStyleStartTime": 1992,
+          "m_flLuminaireAnisotropy": 1976,
+          "m_flLuminaireSize": 1972,
+          "m_flMinRoughness": 2360,
+          "m_flRange": 2304,
+          "m_flShadowFadeSizeEnd": 2412,
+          "m_flShadowFadeSizeStart": 2408,
+          "m_flShape": 2272,
+          "m_flSkirt": 2284,
+          "m_flSkirtNear": 2288,
+          "m_flSoftX": 2276,
+          "m_flSoftY": 2280,
+          "m_hLightCookie": 2264,
+          "m_nBakeSpecularToCubemaps": 2320,
+          "m_nBakedShadowIndex": 1964,
+          "m_nBounceLight": 2352,
+          "m_nCastShadows": 2336,
+          "m_nColorMode": 1940,
+          "m_nDirectLight": 1960,
+          "m_nFog": 2380,
+          "m_nFogShadows": 2388,
+          "m_nLuminaireShape": 1968,
+          "m_nPrecomputedSubFrusta": 2480,
+          "m_nShadowMapSize": 2340,
+          "m_nShadowPriority": 2344,
+          "m_vAlternateColor": 2364,
+          "m_vBakeSpecularToCubemapsSize": 2324,
+          "m_vPrecomputedBoundsMaxs": 2432,
+          "m_vPrecomputedBoundsMins": 2420,
+          "m_vPrecomputedOBBAngles": 2456,
+          "m_vPrecomputedOBBAngles0": 2496,
+          "m_vPrecomputedOBBAngles1": 2532,
+          "m_vPrecomputedOBBAngles2": 2568,
+          "m_vPrecomputedOBBAngles3": 2604,
+          "m_vPrecomputedOBBAngles4": 2640,
+          "m_vPrecomputedOBBAngles5": 2676,
+          "m_vPrecomputedOBBExtent": 2468,
+          "m_vPrecomputedOBBExtent0": 2508,
+          "m_vPrecomputedOBBExtent1": 2544,
+          "m_vPrecomputedOBBExtent2": 2580,
+          "m_vPrecomputedOBBExtent3": 2616,
+          "m_vPrecomputedOBBExtent4": 2652,
+          "m_vPrecomputedOBBExtent5": 2688,
+          "m_vPrecomputedOBBOrigin": 2444,
+          "m_vPrecomputedOBBOrigin0": 2484,
+          "m_vPrecomputedOBBOrigin1": 2520,
+          "m_vPrecomputedOBBOrigin2": 2556,
+          "m_vPrecomputedOBBOrigin3": 2592,
+          "m_vPrecomputedOBBOrigin4": 2628,
+          "m_vPrecomputedOBBOrigin5": 2664,
+          "m_vShear": 2308,
+          "m_vSizeParams": 2292
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nColorMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flColorTemperature",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nDirectLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nBakedShadowIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nLuminaireShape",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flLuminaireSize",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flLuminaireAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_LightStyleString",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_flLightStyleStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_QueuedLightStyleStrings",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_LightStyleEvents",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_LightStyleTargets",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseModelEntity>"
+          },
+          {
+            "name": "m_hLightCookie",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_flShape",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSoftX",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSoftY",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSkirt",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSkirtNear",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vSizeParams",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vShear",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nBakeSpecularToCubemaps",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vBakeSpecularToCubemapsSize",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nCastShadows",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowMapSize",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bContactShadow",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nBounceLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flBounceScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinRoughness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vAlternateColor",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_fAlternateColorBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFog",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFogShadows",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bFogMixedShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFadeSizeStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeSizeEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeSizeStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeSizeEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bPrecomputedFieldsValid",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nPrecomputedSubFrusta",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin0",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles0",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent0",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin1",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles1",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent1",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin2",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles2",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent2",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin3",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles3",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent3",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin4",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles4",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent4",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin5",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles5",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent5",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_VisClusters",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CBaseAnimGraph": {
+        "fields": {
+          "m_RagdollPose": 2128,
+          "m_bAnimGraphUpdateEnabled": 2072,
+          "m_bAnimationUpdateScheduled": 2092,
+          "m_bInitiallyPopulateInterpHistory": 2056,
+          "m_bRagdollClientSide": 2168,
+          "m_flMaxSlopeDistance": 2076,
+          "m_nForceBone": 2108,
+          "m_nLastDestructiblePartDestroyedAnimgraphSetTick": 2464,
+          "m_pChoreoServices": 2064,
+          "m_vLastSlopeCheckPos": 2080,
+          "m_vecForce": 2096
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bInitiallyPopulateInterpHistory",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAnimGraphUpdateEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecForce",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nForceBone",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_RagdollPose",
+            "type": "NetworkVarNames",
+            "type_name": "PhysicsRagdollPose_t"
+          },
+          {
+            "name": "m_bRagdollClientSide",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CBaseAnimGraphController": {
+        "fields": {
+          "m_animGraphNetworkedVars": 24,
+          "m_bLastUpdateSkipped": 588,
+          "m_bNetworkedAnimationInputsChanged": 586,
+          "m_bNetworkedSequenceChanged": 587,
+          "m_bSequenceFinished": 544,
+          "m_flPlaybackRate": 572,
+          "m_flPrevAnimUpdateTime": 592,
+          "m_flSeqFixedCycle": 564,
+          "m_flSeqStartTime": 560,
+          "m_flSoundSyncTime": 548,
+          "m_hSequence": 556,
+          "m_nActiveIKChainMask": 552,
+          "m_nAnimLoopMode": 568,
+          "m_nNotifyState": 584
+        },
+        "metadata": [
+          {
+            "name": "m_animGraphNetworkedVars",
+            "type": "NetworkVarNames",
+            "type_name": "CAnimGraphNetworkedVariables"
+          },
+          {
+            "name": "m_hSequence",
+            "type": "NetworkVarNames",
+            "type_name": "HSequence"
+          },
+          {
+            "name": "m_flSeqStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flSeqFixedCycle",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nAnimLoopMode",
+            "type": "NetworkVarNames",
+            "type_name": "AnimLoopMode_t"
+          }
+        ],
+        "parent": "CSkeletonAnimationController"
+      },
+      "CBaseButton": {
+        "fields": {
+          "m_OnDamaged": 2160,
+          "m_OnIn": 2280,
+          "m_OnOut": 2320,
+          "m_OnPressed": 2200,
+          "m_OnUseLocked": 2240,
+          "m_angMoveEntitySpace": 2064,
+          "m_bDisabled": 2145,
+          "m_bForceNpcExclude": 2372,
+          "m_bLocked": 2144,
+          "m_bSolidBsp": 2152,
+          "m_fRotating": 2077,
+          "m_fStayPushed": 2076,
+          "m_flUseLockedTime": 2148,
+          "m_glowEntity": 2384,
+          "m_hConstraint": 2364,
+          "m_hConstraintParent": 2368,
+          "m_ls": 2080,
+          "m_nState": 2360,
+          "m_sGlowEntity": 2376,
+          "m_sLockedSound": 2120,
+          "m_sOverrideAnticipationName": 2136,
+          "m_sUnlockedSound": 2128,
+          "m_sUseSound": 2112,
+          "m_szDisplayText": 2392,
+          "m_usable": 2388
+        },
+        "metadata": [
+          {
+            "name": "m_glowEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseModelEntity>"
+          },
+          {
+            "name": "m_usable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szDisplayText",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "CBaseToggle"
+      },
+      "CBaseCSGrenade": {
+        "fields": {
+          "m_bIsHeldByPlayer": 3945,
+          "m_bJumpThrow": 3947,
+          "m_bJustPulledPin": 3972,
+          "m_bPinPulled": 3946,
+          "m_bRedraw": 3944,
+          "m_bThrowAnimating": 3948,
+          "m_fDropTime": 3964,
+          "m_fPinPullTime": 3968,
+          "m_fThrowTime": 3952,
+          "m_flNextHoldFrac": 3980,
+          "m_flThrowStrength": 3956,
+          "m_flThrowStrengthApproach": 3960,
+          "m_hSwitchToWeaponAfterThrow": 3984,
+          "m_nNextHoldTick": 3976
+        },
+        "metadata": [
+          {
+            "name": "m_bRedraw",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsHeldByPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPinPulled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bJumpThrow",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bThrowAnimating",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fThrowTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flThrowStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flThrowStrengthApproach",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fDropTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_fPinPullTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bJustPulledPin",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nNextHoldTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flNextHoldFrac",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_hSwitchToWeaponAfterThrow",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSWeaponBase>"
+          }
+        ],
+        "parent": "CCSWeaponBase"
+      },
+      "CBaseCSGrenadeProjectile": {
+        "fields": {
+          "m_bDetonationRecorded": 2845,
+          "m_bHasEverHitEnemy": 2892,
+          "m_flLastBounceSoundTime": 2860,
+          "m_flSpawnTime": 2840,
+          "m_nBounces": 2808,
+          "m_nExplodeEffectIndex": 2816,
+          "m_nExplodeEffectTickBegin": 2824,
+          "m_nItemIndex": 2846,
+          "m_nTicksAtZeroVelocity": 2888,
+          "m_unOGSExtraFlags": 2844,
+          "m_vInitialPosition": 2784,
+          "m_vInitialVelocity": 2796,
+          "m_vecExplodeEffectOrigin": 2828,
+          "m_vecGrenadeSpin": 2864,
+          "m_vecLastHitSurfaceNormal": 2876,
+          "m_vecOriginalSpawnLocation": 2848
+        },
+        "metadata": [
+          {
+            "name": "m_vInitialPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vInitialVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nBounces",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nExplodeEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinitionStrong"
+          },
+          {
+            "name": "m_nExplodeEffectTickBegin",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vecExplodeEffectOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CBaseGrenade"
+      },
+      "CBaseClientUIEntity": {
+        "fields": {
+          "m_CustomOutput0": 1968,
+          "m_CustomOutput1": 2008,
+          "m_CustomOutput2": 2048,
+          "m_CustomOutput3": 2088,
+          "m_CustomOutput4": 2128,
+          "m_CustomOutput5": 2168,
+          "m_CustomOutput6": 2208,
+          "m_CustomOutput7": 2248,
+          "m_CustomOutput8": 2288,
+          "m_CustomOutput9": 2328,
+          "m_DialogXMLName": 1944,
+          "m_PanelClassName": 1952,
+          "m_PanelID": 1960,
+          "m_bEnabled": 1936
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_DialogXMLName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_PanelClassName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_PanelID",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CBaseCombatCharacter": {
+        "fields": {
+          "m_bApplyStressDamage": 2652,
+          "m_bForceServerRagdoll": 2616,
+          "m_eHull": 2744,
+          "m_hMyWearables": 2624,
+          "m_iDamageCount": 2720,
+          "m_impactEnergyScale": 2648,
+          "m_nNavHullIdx": 2748,
+          "m_pVecRelationships": 2728,
+          "m_strRelationships": 2736
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_hMyWearables",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CEconWearable>"
+          }
+        ],
+        "parent": "CBaseFlex"
+      },
+      "CBaseDMStart": {
+        "fields": {
+          "m_Master": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CBaseDoor": {
+        "fields": {
+          "m_ChainTarget": 2184,
+          "m_NoiseArrived": 2160,
+          "m_NoiseArrivedClosed": 2176,
+          "m_NoiseMoving": 2152,
+          "m_NoiseMovingClosed": 2168,
+          "m_OnBlockedClosing": 2192,
+          "m_OnBlockedOpening": 2232,
+          "m_OnClose": 2432,
+          "m_OnFullyClosed": 2352,
+          "m_OnFullyOpen": 2392,
+          "m_OnLockedUse": 2512,
+          "m_OnOpen": 2472,
+          "m_OnUnblockedClosing": 2272,
+          "m_OnUnblockedOpening": 2312,
+          "m_angMoveEntitySpace": 2080,
+          "m_bCreateNavObstacle": 2576,
+          "m_bDoorGroup": 2137,
+          "m_bForceClosed": 2136,
+          "m_bIgnoreDebris": 2139,
+          "m_bIsUsable": 2578,
+          "m_bLocked": 2138,
+          "m_bLoopMoveSound": 2552,
+          "m_eSpawnPosition": 2140,
+          "m_flBlockDamage": 2144,
+          "m_isChaining": 2577,
+          "m_ls": 2104,
+          "m_vecMoveDirParentSpace": 2092
+        },
+        "metadata": [
+          {
+            "name": "m_bIsUsable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseToggle"
+      },
+      "CBaseEntity": {
+        "fields": {
+          "m_CBodyComponent": 56,
+          "m_MoveCollide": 746,
+          "m_MoveType": 747,
+          "m_NetworkTransmitComponent": 64,
+          "m_OnKilled": 864,
+          "m_OnUser1": 1040,
+          "m_OnUser2": 1080,
+          "m_OnUser3": 1120,
+          "m_OnUser4": 1160,
+          "m_ResponseContexts": 648,
+          "m_aThinkFunctions": 576,
+          "m_bAnimatedEveryTick": 1032,
+          "m_bClientSideRagdoll": 804,
+          "m_bDisableLowViolence": 1033,
+          "m_bDisabledContextThinks": 608,
+          "m_bLagCompensate": 1221,
+          "m_bNetworkQuantizeOriginAndAngles": 1220,
+          "m_bRestoreInHierarchy": 751,
+          "m_bTakesDamage": 728,
+          "m_fEffects": 1000,
+          "m_fFlags": 904,
+          "m_flAnimTime": 792,
+          "m_flCreateTime": 800,
+          "m_flDamageAccumulator": 724,
+          "m_flElasticity": 1016,
+          "m_flFriction": 1012,
+          "m_flGravityScale": 1020,
+          "m_flLocalTime": 1232,
+          "m_flMoveDoneTime": 776,
+          "m_flNavIgnoreUntilTime": 1204,
+          "m_flOverriddenFriction": 1224,
+          "m_flSimulationTime": 796,
+          "m_flSpeed": 836,
+          "m_flTimeScale": 1024,
+          "m_flVPhysicsUpdateLocalTime": 1236,
+          "m_flWaterLevel": 1028,
+          "m_hDamageFilter": 760,
+          "m_hEffectEntity": 992,
+          "m_hGroundEntity": 1004,
+          "m_hOwnerEntity": 996,
+          "m_iCurrentThinkContext": 600,
+          "m_iEFlags": 1036,
+          "m_iGlobalname": 824,
+          "m_iHealth": 712,
+          "m_iInitialTeamNum": 1200,
+          "m_iMaxHealth": 716,
+          "m_iSentToClients": 832,
+          "m_iTeamNum": 820,
+          "m_isSteadyState": 624,
+          "m_iszDamageFilterName": 768,
+          "m_iszResponseContext": 672,
+          "m_lastNetworkChange": 632,
+          "m_lifeState": 720,
+          "m_nActualMoveType": 748,
+          "m_nBloodType": 1240,
+          "m_nGroundBodyIndex": 1008,
+          "m_nLastThinkTick": 604,
+          "m_nNextThinkTick": 852,
+          "m_nPlatformType": 744,
+          "m_nPushEnumCount": 980,
+          "m_nSimulationTick": 856,
+          "m_nSlimeTouch": 750,
+          "m_nSubclassID": 780,
+          "m_nTakeDamageFlags": 736,
+          "m_nWaterTouch": 749,
+          "m_nWaterType": 1034,
+          "m_pBlocker": 1228,
+          "m_pCollision": 984,
+          "m_sUniqueHammerID": 840,
+          "m_spawnflags": 848,
+          "m_target": 752,
+          "m_ubInterpolationFrame": 805,
+          "m_vPrevVPhysicsUpdatePos": 808,
+          "m_vecAbsVelocity": 908,
+          "m_vecAngVelocity": 1208,
+          "m_vecBaseVelocity": 968,
+          "m_vecVelocity": 920
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_CBodyComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CBodyComponent::Storage_t"
+          },
+          {
+            "name": "m_iHealth",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iMaxHealth",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_lifeState",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_bTakesDamage",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nTakeDamageFlags",
+            "type": "NetworkVarNames",
+            "type_name": "TakeDamageFlags_t"
+          },
+          {
+            "name": "m_nPlatformType",
+            "type": "NetworkVarNames",
+            "type_name": "EntityPlatformTypes_t"
+          },
+          {
+            "name": "m_MoveCollide",
+            "type": "NetworkVarNames",
+            "type_name": "MoveCollide_t"
+          },
+          {
+            "name": "m_MoveType",
+            "type": "NetworkVarNames",
+            "type_name": "MoveType_t"
+          },
+          {
+            "name": "m_nSubclassID",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySubclassID_t"
+          },
+          {
+            "name": "m_flAnimTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flSimulationTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flCreateTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bClientSideRagdoll",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_ubInterpolationFrame",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_iTeamNum",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_flSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_spawnflags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nNextThinkTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_fFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_vecVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "CNetworkVelocityVector"
+          },
+          {
+            "name": "m_vecBaseVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_hEffectEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hOwnerEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_fEffects",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_hGroundEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nGroundBodyIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFriction",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flElasticity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flGravityScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flTimeScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flWaterLevel",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bAnimatedEveryTick",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flNavIgnoreUntilTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nBloodType",
+            "type": "NetworkVarNames",
+            "type_name": "BloodType"
+          }
+        ],
+        "parent": "CEntityInstance"
+      },
+      "CBaseEntityAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CBaseFilter": {
+        "fields": {
+          "m_OnFail": 1296,
+          "m_OnPass": 1256,
+          "m_bNegated": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CBaseFire": {
+        "fields": {
+          "m_flScale": 1248,
+          "m_flScaleTime": 1256,
+          "m_flStartScale": 1252,
+          "m_nFlags": 1260
+        },
+        "metadata": [
+          {
+            "name": "m_flScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flStartScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flScaleTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CBaseFlex": {
+        "fields": {
+          "m_bUpdateLayerPriorities": 2604,
+          "m_blinktoggle": 2508,
+          "m_flAllowResponsesEndTime": 2592,
+          "m_flLastFlexAnimationTime": 2596,
+          "m_flexWeight": 2472,
+          "m_nNextSceneEventId": 2600,
+          "m_vLookTargetPosition": 2496
+        },
+        "metadata": [
+          {
+            "name": "m_flexWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_vLookTargetPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_blinktoggle",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "CBaseFlexAlias_funCBaseFlex": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseFlex"
+      },
+      "CBaseGrenade": {
+        "fields": {
+          "m_DmgRadius": 2708,
+          "m_ExplosionSound": 2736,
+          "m_OnExplode": 2664,
+          "m_OnPlayerPickup": 2624,
+          "m_bHasWarnedAI": 2704,
+          "m_bIsLive": 2706,
+          "m_bIsSmokeGrenade": 2705,
+          "m_flDamage": 2720,
+          "m_flDetonateTime": 2712,
+          "m_flNextAttack": 2772,
+          "m_flWarnAITime": 2716,
+          "m_hOriginalThrower": 2776,
+          "m_hThrower": 2748,
+          "m_iszBounceSound": 2728
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bIsLive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_DmgRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flDetonateTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flDamage",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hThrower",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          }
+        ],
+        "parent": "CBaseFlex"
+      },
+      "CBaseModelEntity": {
+        "fields": {
+          "m_CHitboxComponent": 1256,
+          "m_CRenderComponent": 1248,
+          "m_Collision": 1536,
+          "m_ConfigEntitiesToPropagateMaterialDecalsTo": 1864,
+          "m_Glow": 1712,
+          "m_LastHitGroup": 1360,
+          "m_OnIgnite": 1368,
+          "m_bAllowFadeInView": 1410,
+          "m_bNoInterpolate": 1529,
+          "m_bRenderToCubemaps": 1528,
+          "m_clrRender": 1440,
+          "m_fadeMaxDist": 1808,
+          "m_fadeMinDist": 1804,
+          "m_flDecalHealBloodRate": 1852,
+          "m_flDecalHealHeightRate": 1856,
+          "m_flDissolveStartTime": 1364,
+          "m_flFadeScale": 1812,
+          "m_flGlowBackfaceMult": 1800,
+          "m_flShadowStrength": 1816,
+          "m_nAddDecal": 1824,
+          "m_nDestructiblePartInitialStateDestructed0": 1296,
+          "m_nDestructiblePartInitialStateDestructed1": 1300,
+          "m_nDestructiblePartInitialStateDestructed2": 1304,
+          "m_nDestructiblePartInitialStateDestructed3": 1308,
+          "m_nDestructiblePartInitialStateDestructed4": 1312,
+          "m_nLastHitDestructiblePartIndex": 1316,
+          "m_nObjectCulling": 1820,
+          "m_nRenderFX": 1409,
+          "m_nRenderMode": 1408,
+          "m_vDecalForwardAxis": 1840,
+          "m_vDecalPosition": 1828,
+          "m_vecRenderAttributes": 1448,
+          "m_vecViewOffset": 1888
+        },
+        "metadata": [
+          {
+            "name": "m_CRenderComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CRenderComponent::Storage_t"
+          },
+          {
+            "name": "m_CHitboxComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CHitboxComponent::Storage_t"
+          },
+          {
+            "name": "m_nRenderMode",
+            "type": "NetworkVarNames",
+            "type_name": "RenderMode_t"
+          },
+          {
+            "name": "m_nRenderFX",
+            "type": "NetworkVarNames",
+            "type_name": "RenderFx_t"
+          },
+          {
+            "name": "m_clrRender",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_vecRenderAttributes",
+            "type": "NetworkVarNames",
+            "type_name": "EntityRenderAttribute_t"
+          },
+          {
+            "name": "m_bRenderToCubemaps",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoInterpolate",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Collision",
+            "type": "NetworkVarNames",
+            "type_name": "CCollisionProperty"
+          },
+          {
+            "name": "m_Glow",
+            "type": "NetworkVarNames",
+            "type_name": "CGlowProperty"
+          },
+          {
+            "name": "m_flGlowBackfaceMult",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fadeMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fadeMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flShadowStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nObjectCulling",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nAddDecal",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vDecalPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDecalForwardAxis",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flDecalHealBloodRate",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDecalHealHeightRate",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_ConfigEntitiesToPropagateMaterialDecalsTo",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseModelEntity>"
+          },
+          {
+            "name": "m_vecViewOffset",
+            "type": "NetworkVarNames",
+            "type_name": "CNetworkViewOffsetVector"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CBaseMoveBehavior": {
+        "fields": {
+          "m_flAnimEndTime": 1356,
+          "m_flAnimStartTime": 1352,
+          "m_flAverageSpeedAcrossFrame": 1360,
+          "m_flTimeIntoFrame": 1400,
+          "m_iDirection": 1404,
+          "m_iPositionInterpolator": 1344,
+          "m_iRotationInterpolator": 1348,
+          "m_pCurrentKeyFrame": 1368,
+          "m_pPostKeyFrame": 1392,
+          "m_pPreKeyFrame": 1384,
+          "m_pTargetKeyFrame": 1376
+        },
+        "metadata": [],
+        "parent": "CPathKeyFrame"
+      },
+      "CBasePlatTrain": {
+        "fields": {
+          "m_NoiseArrived": 2072,
+          "m_NoiseMoving": 2064,
+          "m_flTLength": 2096,
+          "m_flTWidth": 2092,
+          "m_volume": 2088
+        },
+        "metadata": [],
+        "parent": "CBaseToggle"
+      },
+      "CBasePlayerController": {
+        "fields": {
+          "m_bGamePaused": 1509,
+          "m_bHasAnySteadyStateEnts": 1840,
+          "m_bIsHLTV": 1352,
+          "m_bIsLowViolence": 1508,
+          "m_bKnownTeamMismatch": 1316,
+          "m_bLagCompensation": 1500,
+          "m_bPredict": 1501,
+          "m_fLerpTime": 1496,
+          "m_flLastEntitySteadyState": 1832,
+          "m_flLastPlayerTalkTime": 1828,
+          "m_hPawn": 1312,
+          "m_hSplitOwner": 1324,
+          "m_hSplitScreenPlayers": 1328,
+          "m_iConnected": 1356,
+          "m_iDesiredFOV": 1864,
+          "m_iIgnoreGlobalChat": 1824,
+          "m_iszPlayerName": 1360,
+          "m_nAvailableEntitySteadyState": 1836,
+          "m_nInButtonsWhichAreToggles": 1256,
+          "m_nSplitScreenSlot": 1320,
+          "m_nTickBase": 1264,
+          "m_steamID": 1856,
+          "m_szNetworkIDString": 1488
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nTickBase",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_hPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerPawn>"
+          },
+          {
+            "name": "m_bKnownTeamMismatch",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iConnected",
+            "type": "NetworkVarNames",
+            "type_name": "PlayerConnectedState"
+          },
+          {
+            "name": "m_iszPlayerName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_steamID",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_iDesiredFOV",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CBasePlayerControllerAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CBasePlayerPawn": {
+        "fields": {
+          "m_ServerViewAngleChanges": 2832,
+          "m_fHltvReplayDelay": 3120,
+          "m_fHltvReplayEnd": 3124,
+          "m_fInitHUD": 3100,
+          "m_fNextSuicideTime": 3096,
+          "m_fTimeLastHurt": 3088,
+          "m_flDeathTime": 3092,
+          "m_hController": 3112,
+          "m_iHideHUD": 2940,
+          "m_iHltvReplayEntity": 3128,
+          "m_nHighestGeneratedServerViewAngleChangeIndex": 2912,
+          "m_pAutoaimServices": 2768,
+          "m_pCameraServices": 2808,
+          "m_pExpresser": 3104,
+          "m_pFlashlightServices": 2800,
+          "m_pItemServices": 2760,
+          "m_pMovementServices": 2816,
+          "m_pObserverServices": 2776,
+          "m_pUseServices": 2792,
+          "m_pWaterServices": 2784,
+          "m_pWeaponServices": 2752,
+          "m_skybox3d": 2944,
+          "m_sndOpvarLatchData": 3136,
+          "v_angle": 2916,
+          "v_anglePrevious": 2928
+        },
+        "metadata": [
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pWeaponServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_WeaponServices*"
+          },
+          {
+            "name": "m_pItemServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_ItemServices*"
+          },
+          {
+            "name": "m_pAutoaimServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_AutoaimServices*"
+          },
+          {
+            "name": "m_pObserverServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_ObserverServices*"
+          },
+          {
+            "name": "m_pWaterServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_WaterServices*"
+          },
+          {
+            "name": "m_pUseServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_UseServices*"
+          },
+          {
+            "name": "m_pFlashlightServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_FlashlightServices*"
+          },
+          {
+            "name": "m_pCameraServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_CameraServices*"
+          },
+          {
+            "name": "m_pMovementServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_MovementServices*"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_ServerViewAngleChanges",
+            "type": "NetworkVarNames",
+            "type_name": "ViewAngleServerChange_t"
+          },
+          {
+            "name": "m_iHideHUD",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_skybox3d",
+            "type": "NetworkVarNames",
+            "type_name": "sky3dparams_t"
+          },
+          {
+            "name": "m_flDeathTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_hController",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerController>"
+          }
+        ],
+        "parent": "CBaseCombatCharacter"
+      },
+      "CBasePlayerVData": {
+        "fields": {
+          "m_flArmDamageMultiplier": 312,
+          "m_flChestDamageMultiplier": 280,
+          "m_flCrouchTime": 372,
+          "m_flDrowningDamageInterval": 348,
+          "m_flHeadDamageMultiplier": 264,
+          "m_flHoldBreathTime": 344,
+          "m_flLegDamageMultiplier": 328,
+          "m_flStomachDamageMultiplier": 296,
+          "m_flUseAngleTolerance": 368,
+          "m_flUseRange": 364,
+          "m_nDrowningDamageInitial": 352,
+          "m_nDrowningDamageMax": 356,
+          "m_nWaterSpeed": 360,
+          "m_sModelName": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CEntitySubclassVDataBase"
+      },
+      "CBasePlayerWeapon": {
+        "fields": {
+          "m_OnPlayerUse": 3408,
+          "m_flNextPrimaryAttackTickRatio": 3380,
+          "m_flNextSecondaryAttackTickRatio": 3388,
+          "m_iClip1": 3392,
+          "m_iClip2": 3396,
+          "m_nNextPrimaryAttackTick": 3376,
+          "m_nNextSecondaryAttackTick": 3384,
+          "m_pReserveAmmo": 3400
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nNextPrimaryAttackTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flNextPrimaryAttackTickRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nNextSecondaryAttackTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flNextSecondaryAttackTickRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_iClip1",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iClip2",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_pReserveAmmo",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CEconEntity"
+      },
+      "CBasePlayerWeaponVData": {
+        "fields": {
+          "m_aShootSounds": 800,
+          "m_bAllowFlipping": 489,
+          "m_bAutoSwitchFrom": 781,
+          "m_bAutoSwitchTo": 780,
+          "m_bBuiltRightHanded": 488,
+          "m_bLinkedCooldowns": 752,
+          "m_bReserveAmmoAsClips": 772,
+          "m_iDefaultClip1": 764,
+          "m_iDefaultClip2": 768,
+          "m_iFlags": 753,
+          "m_iMaxClip1": 756,
+          "m_iMaxClip2": 760,
+          "m_iPosition": 792,
+          "m_iRumbleEffect": 784,
+          "m_iSlot": 788,
+          "m_iWeight": 776,
+          "m_nPrimaryAmmoType": 754,
+          "m_nSecondaryAmmoType": 755,
+          "m_sMuzzleAttachment": 496,
+          "m_sToolsOnlyOwnerModelName": 264,
+          "m_szMuzzleFlashParticle": 528,
+          "m_szWorldModel": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CEntitySubclassVDataBase"
+      },
+      "CBaseProp": {
+        "fields": {
+          "m_bConformToCollisionBounds": 2480,
+          "m_bModelOverrodeBlockLOS": 2472,
+          "m_iShapeType": 2476,
+          "m_mPreferredCatchTransform": 2484
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CBasePropDoor": {
+        "fields": {
+          "m_OnAjarOpen": 3776,
+          "m_OnBlockedClosing": 3416,
+          "m_OnBlockedOpening": 3456,
+          "m_OnClose": 3656,
+          "m_OnFullyClosed": 3576,
+          "m_OnFullyOpen": 3616,
+          "m_OnLockedUse": 3736,
+          "m_OnOpen": 3696,
+          "m_OnUnblockedClosing": 3496,
+          "m_OnUnblockedOpening": 3536,
+          "m_SlaveName": 3400,
+          "m_SoundClose": 3336,
+          "m_SoundJiggle": 3376,
+          "m_SoundLatch": 3360,
+          "m_SoundLock": 3344,
+          "m_SoundLockedAnim": 3384,
+          "m_SoundMoving": 3320,
+          "m_SoundOpen": 3328,
+          "m_SoundPound": 3368,
+          "m_SoundUnlock": 3352,
+          "m_bFirstBlocked": 3252,
+          "m_bForceClosed": 3288,
+          "m_bLocked": 3220,
+          "m_bNeedsHardware": 3212,
+          "m_closedAngles": 3236,
+          "m_closedPosition": 3224,
+          "m_eDoorState": 3216,
+          "m_flAutoReturnDelay": 3176,
+          "m_hActivator": 3304,
+          "m_hBlocker": 3248,
+          "m_hDoorList": 3184,
+          "m_hMaster": 3408,
+          "m_ls": 3256,
+          "m_nHardwareType": 3208,
+          "m_nPhysicsMaterial": 3396,
+          "m_numCloseAttempts": 3392,
+          "m_vecLatchWorldPosition": 3292
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_eDoorState",
+            "type": "NetworkVarNames",
+            "type_name": "DoorState_t"
+          },
+          {
+            "name": "m_bLocked",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_closedPosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_closedAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_hMaster",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePropDoor>"
+          }
+        ],
+        "parent": "CDynamicProp"
+      },
+      "CBaseToggle": {
+        "fields": {
+          "m_bAlwaysFireBlockedOutputs": 1952,
+          "m_flHeight": 2016,
+          "m_flLip": 1948,
+          "m_flMoveDistance": 1940,
+          "m_flWait": 1944,
+          "m_hActivator": 2020,
+          "m_movementType": 2048,
+          "m_sMaster": 2056,
+          "m_toggle_state": 1936,
+          "m_vecAngle1": 1992,
+          "m_vecAngle2": 2004,
+          "m_vecFinalAngle": 2036,
+          "m_vecFinalDest": 2024,
+          "m_vecMoveAng": 1980,
+          "m_vecPosition1": 1956,
+          "m_vecPosition2": 1968
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CBaseTrigger": {
+        "fields": {
+          "m_OnEndTouch": 2168,
+          "m_OnEndTouchAll": 2208,
+          "m_OnNotTouching": 2328,
+          "m_OnStartTouch": 2088,
+          "m_OnStartTouchAll": 2128,
+          "m_OnTouching": 2248,
+          "m_OnTouchingEachEntity": 2288,
+          "m_bClientSidePredicted": 2392,
+          "m_bDisabled": 2064,
+          "m_hFilter": 2080,
+          "m_hTouchingEntities": 2368,
+          "m_iFilterName": 2072
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bClientSidePredicted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseToggle"
+      },
+      "CBaseViewModel": {
+        "fields": {
+          "m_flAnimationStartTime": 2500,
+          "m_hControlPanel": 2540,
+          "m_hOldLayerSequence": 2528,
+          "m_hWeapon": 2504,
+          "m_nAnimationParity": 2496,
+          "m_nViewModelIndex": 2492,
+          "m_oldLayer": 2532,
+          "m_oldLayerStartTime": 2536,
+          "m_sAnimationPrefix": 2520,
+          "m_sVMName": 2512,
+          "m_vecLastFacing": 2480
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nViewModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nAnimationParity",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flAnimationStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_hControlPanel",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "CBeam": {
+        "fields": {
+          "m_bTurnedOff": 2072,
+          "m_fAmplitude": 2052,
+          "m_fEndWidth": 2040,
+          "m_fFadeLength": 2044,
+          "m_fHaloScale": 2048,
+          "m_fSpeed": 2060,
+          "m_fStartFrame": 2056,
+          "m_fWidth": 2036,
+          "m_flDamage": 1948,
+          "m_flFireTime": 1944,
+          "m_flFrame": 2064,
+          "m_flFrameRate": 1936,
+          "m_flHDRColorScale": 1940,
+          "m_hAttachEntity": 1984,
+          "m_hBaseMaterial": 1960,
+          "m_hEndEntity": 2088,
+          "m_nAttachIndex": 2024,
+          "m_nBeamFlags": 1980,
+          "m_nBeamType": 1976,
+          "m_nClipStyle": 2068,
+          "m_nDissolveType": 2092,
+          "m_nHaloIndex": 1968,
+          "m_nNumBeamEnts": 1952,
+          "m_vecEndPos": 2076
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flFrameRate",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nNumBeamEnts",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hBaseMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_nHaloIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_nBeamType",
+            "type": "NetworkVarNames",
+            "type_name": "BeamType_t"
+          },
+          {
+            "name": "m_nBeamFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_hAttachEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nAttachIndex",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_fWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fEndWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fFadeLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fHaloScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fAmplitude",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fStartFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_fSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nClipStyle",
+            "type": "NetworkVarNames",
+            "type_name": "BeamClipStyle_t"
+          },
+          {
+            "name": "m_bTurnedOff",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecEndPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CBlood": {
+        "fields": {
+          "m_Color": 1276,
+          "m_flAmount": 1272,
+          "m_vecSprayAngles": 1248,
+          "m_vecSprayDir": 1260
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CBodyComponent": {
+        "fields": {
+          "__m_pChainEntity": 32,
+          "m_pSceneNode": 8
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CBodyComponentBaseAnimGraph": {
+        "fields": {
+          "m_animationController": 1168
+        },
+        "metadata": [
+          {
+            "name": "m_animationController",
+            "type": "NetworkVarNames",
+            "type_name": "CBaseAnimGraphController"
+          }
+        ],
+        "parent": "CBodyComponentSkeletonInstance"
+      },
+      "CBodyComponentBaseModelEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBodyComponentSkeletonInstance"
+      },
+      "CBodyComponentPoint": {
+        "fields": {
+          "m_sceneNode": 80
+        },
+        "metadata": [
+          {
+            "name": "m_sceneNode",
+            "type": "NetworkVarNames",
+            "type_name": "CGameSceneNode"
+          }
+        ],
+        "parent": "CBodyComponent"
+      },
+      "CBodyComponentSkeletonInstance": {
+        "fields": {
+          "m_skeletonInstance": 80
+        },
+        "metadata": [
+          {
+            "name": "m_skeletonInstance",
+            "type": "NetworkVarNames",
+            "type_name": "CSkeletonInstance"
+          }
+        ],
+        "parent": "CBodyComponent"
+      },
+      "CBombTarget": {
+        "fields": {
+          "m_OnBombDefused": 2480,
+          "m_OnBombExplode": 2400,
+          "m_OnBombPlanted": 2440,
+          "m_bBombPlantedHere": 2522,
+          "m_bIsBombSiteB": 2520,
+          "m_bIsHeistBombTarget": 2521,
+          "m_hInstructorHint": 2536,
+          "m_nBombSiteDesignation": 2540,
+          "m_szMountTarget": 2528
+        },
+        "metadata": [
+          {
+            "name": "m_bBombPlantedHere",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CBot": {
+        "fields": {
+          "m_bHasSpawned": 32,
+          "m_buttonFlags": 208,
+          "m_forwardSpeed": 196,
+          "m_id": 36,
+          "m_isCrouching": 193,
+          "m_isRunning": 192,
+          "m_jumpTimestamp": 216,
+          "m_leftSpeed": 200,
+          "m_pController": 16,
+          "m_pPlayer": 24,
+          "m_postureStackIndex": 248,
+          "m_verticalSpeed": 204,
+          "m_viewForward": 220
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CBreakable": {
+        "fields": {
+          "m_CPropDataComponent": 1944,
+          "m_Explosion": 2016,
+          "m_Material": 2008,
+          "m_OnBreak": 2056,
+          "m_OnHealthChanged": 2096,
+          "m_PerformanceMode": 2136,
+          "m_flLastPhysicsInfluenceTime": 2144,
+          "m_flPressureDelay": 2032,
+          "m_hBreaker": 2012,
+          "m_hPhysicsAttacker": 2140,
+          "m_iMinHealthDmg": 2036,
+          "m_impactEnergyScale": 2048,
+          "m_iszPropData": 2040,
+          "m_iszSpawnObject": 2024,
+          "m_nOverrideBlockLOS": 2052
+        },
+        "metadata": [
+          {
+            "name": "m_CPropDataComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CPropDataComponent::Storage_t"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CBreakableProp": {
+        "fields": {
+          "m_BreakableContentsType": 2780,
+          "m_CPropDataComponent": 2544,
+          "m_OnBreak": 2608,
+          "m_OnHealthChanged": 2648,
+          "m_OnTakeDamage": 2688,
+          "m_PerformanceMode": 2772,
+          "m_bHasBreakPiecesOrCommands": 2800,
+          "m_bOriginalBlockLOS": 2864,
+          "m_bUsePuntSound": 2880,
+          "m_explodeDamage": 2804,
+          "m_explodeRadius": 2808,
+          "m_explosionBuildupSound": 2824,
+          "m_explosionCustomEffect": 2832,
+          "m_explosionCustomSound": 2840,
+          "m_explosionDelay": 2816,
+          "m_explosionModifier": 2848,
+          "m_flDefBurstScale": 2752,
+          "m_flDefaultFadeScale": 2868,
+          "m_flLastPhysicsInfluenceTime": 2860,
+          "m_flPressureDelay": 2748,
+          "m_flPreventDamageBeforeTime": 2776,
+          "m_hBreaker": 2768,
+          "m_hFlareEnt": 2876,
+          "m_hLastAttacker": 2872,
+          "m_hPhysicsAttacker": 2856,
+          "m_iMinHealthDmg": 2732,
+          "m_impactEnergyScale": 2728,
+          "m_iszPuntSound": 2888,
+          "m_noGhostCollision": 2896,
+          "m_preferredCarryAngles": 2736,
+          "m_strBreakableContentsParticleOverride": 2792,
+          "m_strBreakableContentsPropGroupOverride": 2784,
+          "m_vDefBurstOffset": 2756
+        },
+        "metadata": [
+          {
+            "name": "m_CPropDataComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CPropDataComponent::Storage_t"
+          },
+          {
+            "name": "m_noGhostCollision",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseProp"
+      },
+      "CBtActionAim": {
+        "fields": {
+          "m_AimTimer": 168,
+          "m_FocusIntervalTimer": 216,
+          "m_NextLookTarget": 156,
+          "m_SniperHoldTimer": 192,
+          "m_bAcquired": 240,
+          "m_bDoneAiming": 140,
+          "m_flLerpStartTime": 144,
+          "m_flNextLookTargetLerpTime": 148,
+          "m_flPenaltyReductionRatio": 152,
+          "m_flZoomCooldownTimestamp": 136,
+          "m_szAimReadyKey": 128,
+          "m_szSensorInputKey": 104
+        },
+        "metadata": [],
+        "parent": "CBtNode"
+      },
+      "CBtActionCombatPositioning": {
+        "fields": {
+          "m_ActionTimer": 136,
+          "m_bCrouching": 160,
+          "m_szIsAttackingKey": 128,
+          "m_szSensorInputKey": 104
+        },
+        "metadata": [],
+        "parent": "CBtNode"
+      },
+      "CBtActionMoveTo": {
+        "fields": {
+          "m_CheckApproximateCornersTimer": 144,
+          "m_CheckHighPriorityItem": 168,
+          "m_RepathTimer": 192,
+          "m_bAutoLookAdjust": 132,
+          "m_bComputePath": 133,
+          "m_flAdditionalArrivalEpsilon2D": 220,
+          "m_flArrivalEpsilon": 216,
+          "m_flDamagingAreasPenaltyCost": 136,
+          "m_flHidingSpotCheckDistanceThreshold": 224,
+          "m_flNearestAreaDistanceThreshold": 228,
+          "m_szDestinationInputKey": 96,
+          "m_szHidingSpotInputKey": 104,
+          "m_szThreatInputKey": 112,
+          "m_vecDestination": 120
+        },
+        "metadata": [],
+        "parent": "CBtNode"
+      },
+      "CBtActionParachutePositioning": {
+        "fields": {
+          "m_ActionTimer": 88
+        },
+        "metadata": [],
+        "parent": "CBtNode"
+      },
+      "CBtNodeCondition": {
+        "fields": {
+          "m_bNegated": 88
+        },
+        "metadata": [],
+        "parent": "CBtNodeDecorator"
+      },
+      "CBtNodeConditionInactive": {
+        "fields": {
+          "m_SensorInactivityTimer": 128,
+          "m_flRoundStartThresholdSeconds": 120,
+          "m_flSensorInactivityThresholdSeconds": 124
+        },
+        "metadata": [],
+        "parent": "CBtNodeCondition"
+      },
+      "CBubbling": {
+        "fields": {
+          "m_density": 1936,
+          "m_frequency": 1940,
+          "m_state": 1944
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CBuoyancyHelper": {
+        "fields": {
+          "m_flFluidDensity": 28,
+          "m_nFluidType": 24,
+          "m_vecFractionOfWheelSubmergedForWheelDrag": 80,
+          "m_vecFractionOfWheelSubmergedForWheelFriction": 32,
+          "m_vecWheelDrag": 104,
+          "m_vecWheelFrictionScales": 56
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CBuyZone": {
+        "fields": {
+          "m_LegacyTeamNum": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CC4": {
+        "fields": {
+          "m_bBombPlacedAnimation": 4024,
+          "m_bBombPlanted": 4067,
+          "m_bDoValidDroppedPositionCheck": 4016,
+          "m_bIsPlantingViaUse": 4025,
+          "m_bPlayedArmingBeeps": 4060,
+          "m_bStartedArming": 4017,
+          "m_entitySpottedState": 4032,
+          "m_fArmedTime": 4020,
+          "m_nSpotRules": 4056,
+          "m_vecLastValidDroppedPosition": 4004,
+          "m_vecLastValidPlayerHeldPosition": 3992
+        },
+        "metadata": [
+          {
+            "name": "m_bStartedArming",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fArmedTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bBombPlacedAnimation",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsPlantingViaUse",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          }
+        ],
+        "parent": "CCSWeaponBase"
+      },
+      "CCSBot": {
+        "fields": {
+          "m_aimError": 24776,
+          "m_aimFocus": 24804,
+          "m_aimFocusInterval": 24808,
+          "m_aimFocusNextUpdate": 24812,
+          "m_aimGoal": 24788,
+          "m_alertTimer": 464,
+          "m_allowAutoFollowTime": 436,
+          "m_approachPointCount": 23584,
+          "m_approachPointViewPosition": 23588,
+          "m_areaEnteredTimestamp": 22036,
+          "m_attackedTimestamp": 25452,
+          "m_attacker": 25448,
+          "m_attentionInterval": 25432,
+          "m_avgVel": 25820,
+          "m_avgVelCount": 25864,
+          "m_avgVelIndex": 25860,
+          "m_avoid": 1276,
+          "m_avoidFriendTimer": 22064,
+          "m_avoidTimestamp": 1280,
+          "m_bAllowActive": 424,
+          "m_bEyeAnglesUnderPathFinderControl": 1304,
+          "m_bIsSleeping": 25552,
+          "m_bendNoisePositionValid": 23124,
+          "m_bentNoisePosition": 23112,
+          "m_blindFire": 396,
+          "m_bomber": 25416,
+          "m_burnedByFlamesTimer": 25456,
+          "m_checkedHidingSpotCount": 24720,
+          "m_closestVisibleFriend": 25424,
+          "m_closestVisibleHumanFriend": 25428,
+          "m_combatRange": 340,
+          "m_currentEnemyAcquireTimestamp": 24876,
+          "m_desiredTeam": 22984,
+          "m_diedLastRound": 380,
+          "m_enemy": 24848,
+          "m_enemyDeathTimestamp": 24880,
+          "m_enemyQueueAttendIndex": 25746,
+          "m_enemyQueueCount": 25745,
+          "m_enemyQueueIndex": 25744,
+          "m_equipTimer": 25480,
+          "m_eyePosition": 264,
+          "m_fireWeaponTimestamp": 25520,
+          "m_firstSawEnemyTimestamp": 24872,
+          "m_followTimestamp": 432,
+          "m_forwardAngle": 23136,
+          "m_friendDeathTimestamp": 24884,
+          "m_goalEntity": 1272,
+          "m_goalPosition": 1260,
+          "m_hasJoined": 22988,
+          "m_hasVisitedEnemySpawn": 1285,
+          "m_hostageEscortCount": 22976,
+          "m_hostageEscortCountTimestamp": 22980,
+          "m_hurryTimer": 440,
+          "m_ignoreEnemiesTimer": 24824,
+          "m_inhibitLookAroundTimestamp": 23140,
+          "m_inhibitWaitingForHostageTimer": 22992,
+          "m_isAimingAtEnemy": 25476,
+          "m_isAttacking": 1236,
+          "m_isAvoidingGrenade": 23656,
+          "m_isEnemySniperVisible": 25553,
+          "m_isEnemyVisible": 24852,
+          "m_isFollowing": 425,
+          "m_isFriendInTheWay": 22088,
+          "m_isLastEnemyDead": 24888,
+          "m_isOpeningDoor": 1237,
+          "m_isRapidFiring": 25477,
+          "m_isRogue": 344,
+          "m_isStopping": 1284,
+          "m_isStuck": 25747,
+          "m_isWaitingBehindFriend": 22120,
+          "m_isWaitingForHostage": 22989,
+          "m_lastEnemyPosition": 24856,
+          "m_lastOrigin": 25868,
+          "m_lastRadioRecievedTimestamp": 25884,
+          "m_lastRadioSentTimestamp": 25888,
+          "m_lastSawEnemyTimestamp": 24868,
+          "m_lastValidReactionQueueFrame": 25920,
+          "m_lastVictimID": 25472,
+          "m_leader": 428,
+          "m_lookAheadAngle": 23132,
+          "m_lookAroundStateTimestamp": 23128,
+          "m_lookAtDesc": 23184,
+          "m_lookAtSpot": 23148,
+          "m_lookAtSpotAngleTolerance": 23172,
+          "m_lookAtSpotAttack": 23177,
+          "m_lookAtSpotClearIfClose": 23176,
+          "m_lookAtSpotDuration": 23164,
+          "m_lookAtSpotTimestamp": 23168,
+          "m_lookForWeaponsOnGroundTimer": 25528,
+          "m_lookPitch": 24724,
+          "m_lookPitchVel": 24728,
+          "m_lookYaw": 24732,
+          "m_lookYawVel": 24736,
+          "m_mustRunTimer": 22240,
+          "m_name": 276,
+          "m_nearbyEnemyCount": 24892,
+          "m_nearbyFriendCount": 25420,
+          "m_nextCleanupCheckTimestamp": 25816,
+          "m_noiseBendTimer": 23088,
+          "m_noisePosition": 23040,
+          "m_noiseSource": 23064,
+          "m_noiseTimestamp": 23056,
+          "m_noiseTravelDistance": 23052,
+          "m_panicTimer": 512,
+          "m_pathIndex": 22032,
+          "m_pathLadderEnd": 22164,
+          "m_peripheralTimestamp": 23192,
+          "m_playerTravelDistance": 22312,
+          "m_politeTimer": 22096,
+          "m_radioPosition": 25896,
+          "m_radioSubject": 25892,
+          "m_repathTimer": 22040,
+          "m_rogueTimer": 352,
+          "m_safeTime": 384,
+          "m_sawEnemySniperTimer": 25560,
+          "m_sneakTimer": 488,
+          "m_spotCheckTimestamp": 23688,
+          "m_stateTimestamp": 1232,
+          "m_stillTimer": 1288,
+          "m_stuckJumpTimer": 25792,
+          "m_stuckSpot": 25752,
+          "m_stuckTimestamp": 25748,
+          "m_surpriseTimer": 400,
+          "m_targetSpot": 24740,
+          "m_targetSpotPredicted": 24764,
+          "m_targetSpotTime": 24800,
+          "m_targetSpotVelocity": 24752,
+          "m_taskEntity": 1244,
+          "m_tossGrenadeTimer": 23624,
+          "m_travelDistancePhase": 22568,
+          "m_updateTravelDistanceTimer": 22288,
+          "m_viewSteadyTimer": 23600,
+          "m_visibleEnemyParts": 24853,
+          "m_voiceEndTimestamp": 25908,
+          "m_waitForHostageTimer": 23016,
+          "m_waitTimer": 22264,
+          "m_wasSafe": 388,
+          "m_wiggleTimer": 25768,
+          "m_zoomTimer": 25496
+        },
+        "metadata": [],
+        "parent": "CBot"
+      },
+      "CCSGOViewModel": {
+        "fields": {
+          "m_bShouldIgnoreOffsetAndAccuracy": 2544
+        },
+        "metadata": [
+          {
+            "name": "m_bShouldIgnoreOffsetAndAccuracy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPredictedViewModel"
+      },
+      "CCSGO_TeamIntroCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamPreviewCharacterPosition"
+      },
+      "CCSGO_TeamIntroCounterTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamIntroCharacterPosition"
+      },
+      "CCSGO_TeamIntroTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamIntroCharacterPosition"
+      },
+      "CCSGO_TeamPreviewCharacterPosition": {
+        "fields": {
+          "m_agentItem": 1280,
+          "m_glovesItem": 1912,
+          "m_nOrdinal": 1256,
+          "m_nRandom": 1252,
+          "m_nVariant": 1248,
+          "m_sWeaponName": 1264,
+          "m_weaponItem": 2544,
+          "m_xuid": 1272
+        },
+        "metadata": [
+          {
+            "name": "m_nVariant",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRandom",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nOrdinal",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_sWeaponName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_xuid",
+            "type": "NetworkVarNames",
+            "type_name": "XUID"
+          },
+          {
+            "name": "m_agentItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          },
+          {
+            "name": "m_glovesItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          },
+          {
+            "name": "m_weaponItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CCSGO_TeamSelectCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamPreviewCharacterPosition"
+      },
+      "CCSGO_TeamSelectCounterTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamSelectCharacterPosition"
+      },
+      "CCSGO_TeamSelectTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamSelectCharacterPosition"
+      },
+      "CCSGO_WingmanIntroCharacterPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_TeamIntroCharacterPosition"
+      },
+      "CCSGO_WingmanIntroCounterTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_WingmanIntroCharacterPosition"
+      },
+      "CCSGO_WingmanIntroTerroristPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGO_WingmanIntroCharacterPosition"
+      },
+      "CCSGameModeRules": {
+        "fields": {
+          "__m_pChainEntity": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CCSGameModeRules_ArmsRace": {
+        "fields": {
+          "m_WeaponSequence": 48
+        },
+        "metadata": [
+          {
+            "name": "m_WeaponSequence",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "CCSGameModeRules"
+      },
+      "CCSGameModeRules_Deathmatch": {
+        "fields": {
+          "m_flDMBonusStartTime": 48,
+          "m_flDMBonusTimeLength": 52,
+          "m_sDMBonusWeapon": 56
+        },
+        "metadata": [
+          {
+            "name": "m_flDMBonusStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flDMBonusTimeLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_sDMBonusWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "CCSGameModeRules"
+      },
+      "CCSGameModeRules_Noop": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSGameModeRules"
+      },
+      "CCSGameRules": {
+        "fields": {
+          "mTeamDMLastThinkTime": 3684,
+          "mTeamDMLastWinningTeamNumber": 3680,
+          "m_BtGlobalBlackboard": 5360,
+          "m_CTSpawnPoints": 3992,
+          "m_CTSpawnPointsMasterList": 3920,
+          "m_MatchDevice": 304,
+          "m_MinimapVerticalSectionHeights": 3264,
+          "m_RetakeRules": 5512,
+          "m_TeamRespawnWaveTimes": 2980,
+          "m_TerroristSpawnPoints": 4016,
+          "m_TerroristSpawnPointsMasterList": 3944,
+          "m_arrProhibitedItemIndices": 2380,
+          "m_arrSelectedHostageSpawnIndices": 3480,
+          "m_arrTeamUniqueKillWeaponsMatch": 5920,
+          "m_arrTournamentActiveCasterAccounts": 2580,
+          "m_bAllowWeaponSwitch": 4664,
+          "m_bAnyHostageReached": 284,
+          "m_bBombDefused": 3825,
+          "m_bBombDropped": 2604,
+          "m_bBombPlanted": 2605,
+          "m_bBuyTimeEnded": 3816,
+          "m_bCTCantBuy": 2617,
+          "m_bCTTimeOutActive": 214,
+          "m_bCanDonateWeapons": 3751,
+          "m_bCompleteReset": 3509,
+          "m_bFirstConnected": 3508,
+          "m_bForceTeamChangeSilent": 3592,
+          "m_bFreezePeriod": 200,
+          "m_bGameRestart": 252,
+          "m_bHasHostageBeenTouched": 3432,
+          "m_bHasMatchStarted": 308,
+          "m_bHasTriggeredRoundStartMusic": 5324,
+          "m_bIsDroppingItems": 2376,
+          "m_bIsHltvActive": 2378,
+          "m_bIsQuestEligible": 2377,
+          "m_bIsQueuedMatchmaking": 288,
+          "m_bIsUnreservedGameServer": 4040,
+          "m_bIsValveDS": 296,
+          "m_bLevelInitialized": 3444,
+          "m_bLoadingRoundBackupData": 3593,
+          "m_bLogoMap": 297,
+          "m_bMapHasBombTarget": 285,
+          "m_bMapHasBombZone": 3826,
+          "m_bMapHasBuyZone": 287,
+          "m_bMapHasRescueZone": 286,
+          "m_bMatchWaitingForResume": 233,
+          "m_bNeedToAskPlayersForContinueVote": 3548,
+          "m_bNoCTsKilled": 3749,
+          "m_bNoEnemiesKilled": 3750,
+          "m_bNoTerroristsKilled": 3748,
+          "m_bPickNewTeamsOnReset": 3510,
+          "m_bPlayAllStepSoundsOnServer": 298,
+          "m_bPlayedTeamIntroVO": 6076,
+          "m_bRespawningAllRespawnablePlayers": 3968,
+          "m_bRoundEndNoMusic": 6132,
+          "m_bRoundEndShowTimerDefend": 6088,
+          "m_bRoundTimeWarningTriggered": 4665,
+          "m_bScrambleTeamsOnRestart": 3511,
+          "m_bServerPaused": 212,
+          "m_bServerVoteOnReset": 3809,
+          "m_bSpawnedTerrorHuntHeavy": 3296,
+          "m_bSwapTeamsOnRestart": 3512,
+          "m_bSwitchingTeamsAtRoundReset": 5325,
+          "m_bTCantBuy": 2616,
+          "m_bTargetBombed": 3824,
+          "m_bTeamIntroPeriod": 6068,
+          "m_bTeamLastKillUsedUniqueWeaponMatch": 6016,
+          "m_bTechnicalTimeOut": 232,
+          "m_bTerroristTimeOutActive": 213,
+          "m_bVoiceWonMatchBragFired": 3724,
+          "m_bVoteCalled": 3808,
+          "m_bWarmupPeriod": 201,
+          "m_eRoundEndReason": 6084,
+          "m_eRoundWinReason": 2612,
+          "m_endMatchOnRoundReset": 3456,
+          "m_endMatchOnThink": 3457,
+          "m_fAccumulatedRoundOffDamage": 4680,
+          "m_fAutobalanceDisplayTime": 4044,
+          "m_fAvgPlayerRank": 3556,
+          "m_fMatchStartTime": 240,
+          "m_fNextUpdateTeamClanNamesTime": 4672,
+          "m_fRoundStartTime": 244,
+          "m_fTeamIntroPeriodEnd": 6072,
+          "m_fWarmupNextChatNoticeTime": 3728,
+          "m_fWarmupPeriodEnd": 204,
+          "m_fWarmupPeriodStart": 208,
+          "m_firstBloodTime": 3764,
+          "m_firstKillTime": 3756,
+          "m_flCMMItemDropRevealEndTime": 2372,
+          "m_flCMMItemDropRevealStartTime": 2368,
+          "m_flCTSpawnPointUsedTime": 3976,
+          "m_flCTTimeOutRemaining": 220,
+          "m_flGameStartTime": 256,
+          "m_flIntermissionEndTime": 3440,
+          "m_flIntermissionStartTime": 3436,
+          "m_flLastPerfSampleTime": 22544,
+          "m_flLastThinkTime": 4676,
+          "m_flMatchInfoDecidedTime": 3652,
+          "m_flNextHostageAnnouncement": 3744,
+          "m_flNextRespawnWave": 3108,
+          "m_flRestartRoundTime": 248,
+          "m_flTeamDMLastAnnouncementTime": 3688,
+          "m_flTerroristSpawnPointUsedTime": 3984,
+          "m_flTerroristTimeOutRemaining": 216,
+          "m_flVoteCheckThrottle": 3812,
+          "m_gamePhase": 264,
+          "m_hPlayerResource": 5504,
+          "m_hostageWasInjured": 3792,
+          "m_hostageWasKilled": 3793,
+          "m_iAccountCT": 3696,
+          "m_iAccountTerrorist": 3692,
+          "m_iFreezeTime": 3460,
+          "m_iHostagesRemaining": 280,
+          "m_iHostagesRescued": 3736,
+          "m_iHostagesTouched": 3740,
+          "m_iLoserBonusMostRecentTeam": 3716,
+          "m_iMatchStats_PlayersAlive_CT": 2740,
+          "m_iMatchStats_PlayersAlive_T": 2860,
+          "m_iMatchStats_RoundResults": 2620,
+          "m_iMaxNumCTs": 3712,
+          "m_iMaxNumTerrorists": 3708,
+          "m_iNextCTSpawnPoint": 3972,
+          "m_iNextTerroristSpawnPoint": 3980,
+          "m_iNumCT": 3468,
+          "m_iNumConsecutiveCTLoses": 3396,
+          "m_iNumConsecutiveTerroristLoses": 3400,
+          "m_iNumSpawnableCT": 3476,
+          "m_iNumSpawnableTerrorist": 3472,
+          "m_iNumTerrorist": 3464,
+          "m_iRoundEndFunFactData1": 6108,
+          "m_iRoundEndFunFactData2": 6112,
+          "m_iRoundEndFunFactData3": 6116,
+          "m_iRoundEndFunFactPlayerSlot": 6104,
+          "m_iRoundEndLegacy": 6136,
+          "m_iRoundEndPlayerCount": 6128,
+          "m_iRoundEndTimerTime": 6092,
+          "m_iRoundEndWinnerTeam": 6080,
+          "m_iRoundStartRoundNumber": 6144,
+          "m_iRoundTime": 236,
+          "m_iRoundWinStatus": 2608,
+          "m_iSpawnPointCount_CT": 3704,
+          "m_iSpawnPointCount_Terrorist": 3700,
+          "m_iSpectatorSlotCount": 300,
+          "m_iTotalRoundsPlayed": 3448,
+          "m_iUnBalancedRounds": 3452,
+          "m_nCTTeamIntroVariant": 6064,
+          "m_nCTTimeOuts": 228,
+          "m_nEndMatchMapGroupVoteOptions": 3352,
+          "m_nEndMatchMapGroupVoteTypes": 3312,
+          "m_nEndMatchMapVoteWinner": 3392,
+          "m_nEndMatchTiedVotes": 3520,
+          "m_nHalloweenMaskListSeed": 2600,
+          "m_nLastFreezeEndBeep": 3820,
+          "m_nMatchAbortedEarlyReason": 5320,
+          "m_nMatchEndCount": 6056,
+          "m_nMatchInfoShowType": 3648,
+          "m_nNextMapInMapgroup": 312,
+          "m_nOvertimePlaying": 276,
+          "m_nQueuedMatchmakingMode": 292,
+          "m_nRoundEndCount": 6140,
+          "m_nRoundStartCount": 6148,
+          "m_nRoundsPlayedThisPhase": 272,
+          "m_nServerQuestID": 3236,
+          "m_nShorthandedBonusLastEvalRound": 4684,
+          "m_nSpawnPointsRandomSeed": 3504,
+          "m_nTTeamIntroVariant": 6060,
+          "m_nTerroristTimeOuts": 224,
+          "m_nTournamentPredictionsPct": 2364,
+          "m_numBestOfMaps": 2596,
+          "m_numQueuedMatchmakingAccounts": 3552,
+          "m_numSpectatorsCountMax": 3572,
+          "m_numSpectatorsCountMaxLnk": 3580,
+          "m_numSpectatorsCountMaxTV": 3576,
+          "m_numTotalTournamentDrops": 3568,
+          "m_pGameModeRules": 5352,
+          "m_pQueuedMatchmakingReservationString": 3560,
+          "m_phaseChangeAnnouncementTime": 4668,
+          "m_sRoundEndFunFactToken": 6096,
+          "m_sRoundEndMessage": 6120,
+          "m_szMatchStatTxt": 1340,
+          "m_szTournamentEventName": 316,
+          "m_szTournamentEventStage": 828,
+          "m_szTournamentPredictionsTxt": 1852,
+          "m_timeUntilNextPhaseStarts": 260,
+          "m_tmNextPeriodicThink": 3720,
+          "m_totalRoundsPlayed": 268,
+          "m_ullLocalMatchID": 3304,
+          "m_vMinimapMaxs": 3252,
+          "m_vMinimapMins": 3240,
+          "m_vecMainCTSpawnPos": 3904
+        },
+        "metadata": [
+          {
+            "name": "m_bFreezePeriod",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bWarmupPeriod",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fWarmupPeriodEnd",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_fWarmupPeriodStart",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bServerPaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bTerroristTimeOutActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCTTimeOutActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTerroristTimeOutRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flCTTimeOutRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nTerroristTimeOuts",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCTTimeOuts",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bTechnicalTimeOut",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMatchWaitingForResume",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundTime",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_fMatchStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fRoundStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flRestartRoundTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bGameRestart",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flGameStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_timeUntilNextPhaseStarts",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_gamePhase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_totalRoundsPlayed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRoundsPlayedThisPhase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nOvertimePlaying",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iHostagesRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bAnyHostageReached",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMapHasBombTarget",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMapHasRescueZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMapHasBuyZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsQueuedMatchmaking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nQueuedMatchmakingMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bIsValveDS",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLogoMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPlayAllStepSoundsOnServer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iSpectatorSlotCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_MatchDevice",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bHasMatchStarted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nNextMapInMapgroup",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_szTournamentEventName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szTournamentEventStage",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szMatchStatTxt",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szTournamentPredictionsTxt",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_nTournamentPredictionsPct",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flCMMItemDropRevealStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flCMMItemDropRevealEndTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsDroppingItems",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsQuestEligible",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsHltvActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_arrProhibitedItemIndices",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_arrTournamentActiveCasterAccounts",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_numBestOfMaps",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nHalloweenMaskListSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bBombDropped",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bBombPlanted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundWinStatus",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_eRoundWinReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bTCantBuy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCTCantBuy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iMatchStats_RoundResults",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMatchStats_PlayersAlive_CT",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMatchStats_PlayersAlive_T",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_TeamRespawnWaveTimes",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flNextRespawnWave",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nServerQuestID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vMinimapMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMinimapMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_MinimapVerticalSectionHeights",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nEndMatchMapGroupVoteTypes",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEndMatchMapGroupVoteOptions",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEndMatchMapVoteWinner",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumConsecutiveCTLoses",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumConsecutiveTerroristLoses",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMatchAbortedEarlyReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_pGameModeRules",
+            "type": "NetworkVarNames",
+            "type_name": "CCSGameModeRules*"
+          },
+          {
+            "name": "m_RetakeRules",
+            "type": "NetworkVarNames",
+            "type_name": "CRetakeGameRules"
+          },
+          {
+            "name": "m_nMatchEndCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nTTeamIntroVariant",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCTTeamIntroVariant",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bTeamIntroPeriod",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundEndWinnerTeam",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_eRoundEndReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRoundEndShowTimerDefend",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundEndTimerTime",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_sRoundEndFunFactToken",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_iRoundEndFunFactPlayerSlot",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayerSlot"
+          },
+          {
+            "name": "m_iRoundEndFunFactData1",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iRoundEndFunFactData2",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iRoundEndFunFactData3",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_sRoundEndMessage",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_iRoundEndPlayerCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRoundEndNoMusic",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRoundEndLegacy",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRoundEndCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_iRoundStartRoundNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nRoundStartCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": "CTeamplayRules"
+      },
+      "CCSGameRulesProxy": {
+        "fields": {
+          "m_pGameRules": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_pGameRules",
+            "type": "NetworkVarNames",
+            "type_name": "CCSGameRules*"
+          }
+        ],
+        "parent": "CGameRulesProxy"
+      },
+      "CCSMinimapBoundary": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CCSObserverPawn": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CCSPlayerPawnBase"
+      },
+      "CCSObserver_CameraServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSPlayerBase_CameraServices"
+      },
+      "CCSObserver_MovementServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_MovementServices"
+      },
+      "CCSObserver_ObserverServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_ObserverServices"
+      },
+      "CCSObserver_UseServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_UseServices"
+      },
+      "CCSObserver_ViewModelServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayer_ViewModelServices"
+      },
+      "CCSPlace": {
+        "fields": {
+          "m_name": 1944
+        },
+        "metadata": [],
+        "parent": "CServerOnlyModelEntity"
+      },
+      "CCSPlayerBase_CameraServices": {
+        "fields": {
+          "m_flFOVRate": 380,
+          "m_flFOVTime": 376,
+          "m_hLastFogTrigger": 416,
+          "m_hTriggerFogList": 392,
+          "m_hZoomOwner": 384,
+          "m_iFOV": 368,
+          "m_iFOVStart": 372
+        },
+        "metadata": [
+          {
+            "name": "m_iFOV",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iFOVStart",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flFOVTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flFOVRate",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hZoomOwner",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayer_CameraServices"
+      },
+      "CCSPlayerController": {
+        "fields": {
+          "m_DesiredObserverMode": 2212,
+          "m_LastTeamDamageWarningTime": 63952,
+          "m_LastTimePlayerWasDisconnectedForPawnsRemove": 63956,
+          "m_bAbandonAllowsSurrender": 2170,
+          "m_bAbandonOffersInstantSurrender": 2171,
+          "m_bAttemptedToGetColor": 1989,
+          "m_bCanControlObservedBot": 2200,
+          "m_bCannotBeKicked": 2168,
+          "m_bControllingBot": 2192,
+          "m_bDisconnection1MinWarningPrinted": 2172,
+          "m_bEverFullyConnected": 2169,
+          "m_bEverPlayedOnTeam": 1988,
+          "m_bFireBulletsSeedSynchronized": 64129,
+          "m_bGaveTeamDamageWarning": 63938,
+          "m_bGaveTeamDamageWarningThisRound": 63939,
+          "m_bHasBeenControlledByPlayerThisRound": 2194,
+          "m_bHasCommunicationAbuseMute": 1964,
+          "m_bHasControlledBotThisRound": 2193,
+          "m_bHasSeenJoinGame": 1998,
+          "m_bInSwitchTeam": 1997,
+          "m_bJustBecameSpectator": 1999,
+          "m_bJustDidTeamKill": 63936,
+          "m_bMvpNoMusic": 2274,
+          "m_bPawnHasDefuser": 2232,
+          "m_bPawnHasHelmet": 2233,
+          "m_bPawnIsAlive": 2220,
+          "m_bPunishForTeamKill": 63937,
+          "m_bRemoveAllItemsOnNextRoundReset": 2001,
+          "m_bScoreReported": 2173,
+          "m_bShowHints": 63928,
+          "m_bSwitchTeamsOnNextRoundReset": 2000,
+          "m_bTeamChanged": 1996,
+          "m_dblLastReceivedPacketPlatFloatTime": 63944,
+          "m_eMvpReason": 2276,
+          "m_eNetworkDisconnectionReason": 2164,
+          "m_flForceTeamTime": 1980,
+          "m_flLastJoinTeamTime": 2004,
+          "m_flSmoothedPing": 2296,
+          "m_hDesiredObserverTarget": 2216,
+          "m_hObserverPawn": 2208,
+          "m_hOriginalControllerOfCurrentPawn": 2248,
+          "m_hPlayerPawn": 2204,
+          "m_iCoachingTeam": 2048,
+          "m_iCompTeammateColor": 1984,
+          "m_iCompetitiveRankType": 2080,
+          "m_iCompetitiveRanking": 2072,
+          "m_iCompetitiveRankingPredicted_Loss": 2088,
+          "m_iCompetitiveRankingPredicted_Tie": 2092,
+          "m_iCompetitiveRankingPredicted_Win": 2084,
+          "m_iCompetitiveWins": 2076,
+          "m_iDraftIndex": 2152,
+          "m_iMVPs": 2288,
+          "m_iMusicKitID": 2280,
+          "m_iMusicKitMVPs": 2284,
+          "m_iNextTimeCheck": 63932,
+          "m_iPawnArmor": 2228,
+          "m_iPawnBotDifficulty": 2244,
+          "m_iPawnHealth": 2224,
+          "m_iPawnLifetimeEnd": 2240,
+          "m_iPawnLifetimeStart": 2236,
+          "m_iPendingTeamNum": 1976,
+          "m_iPing": 1960,
+          "m_iRoundScore": 2256,
+          "m_iRoundsWon": 2260,
+          "m_iScore": 2252,
+          "m_iTeammatePreferredColor": 1992,
+          "m_lastHeldVoteTimer": 63904,
+          "m_msQueuedModeDisconnectionTimestamp": 2156,
+          "m_nBotsControlledThisRound": 2196,
+          "m_nDisconnectionTick": 2176,
+          "m_nEndMatchNextMapVote": 2096,
+          "m_nFirstKill": 2272,
+          "m_nKillCount": 2273,
+          "m_nNonSuspiciousHitStreak": 63964,
+          "m_nPawnCharacterDefIndex": 2234,
+          "m_nPlayerDominated": 2056,
+          "m_nPlayerDominatingMe": 2064,
+          "m_nQuestProgressReason": 2104,
+          "m_nSuspiciousHitCount": 63960,
+          "m_nUpdateCounter": 2292,
+          "m_pActionTrackingServices": 1944,
+          "m_pDamageServices": 1952,
+          "m_pInGameMoneyServices": 1928,
+          "m_pInventoryServices": 1936,
+          "m_recentKillQueue": 2264,
+          "m_szClan": 2008,
+          "m_szClanName": 2016,
+          "m_szCrosshairCodes": 1968,
+          "m_uiAbandonRecordedReason": 2160,
+          "m_unActiveQuestId": 2100,
+          "m_unPlayerTvControlFlags": 2108
+        },
+        "metadata": [
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkUserGroupProxy",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pInGameMoneyServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_InGameMoneyServices*"
+          },
+          {
+            "name": "m_pInventoryServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_InventoryServices*"
+          },
+          {
+            "name": "m_pActionTrackingServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_ActionTrackingServices*"
+          },
+          {
+            "name": "m_pDamageServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayerController_DamageServices*"
+          },
+          {
+            "name": "m_iPing",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bHasCommunicationAbuseMute",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szCrosshairCodes",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iPendingTeamNum",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_flForceTeamTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iCompTeammateColor",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bEverPlayedOnTeam",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szClan",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iCoachingTeam",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPlayerDominated",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nPlayerDominatingMe",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_iCompetitiveRanking",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveWins",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveRankType",
+            "type": "NetworkVarNames",
+            "type_name": "int8"
+          },
+          {
+            "name": "m_iCompetitiveRankingPredicted_Win",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveRankingPredicted_Loss",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCompetitiveRankingPredicted_Tie",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEndMatchNextMapVote",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_unActiveQuestId",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nQuestProgressReason",
+            "type": "NetworkVarNames",
+            "type_name": "QuestProgress::Reason"
+          },
+          {
+            "name": "m_unPlayerTvControlFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nDisconnectionTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bControllingBot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasControlledBotThisRound",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCanControlObservedBot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hPlayerPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hObserverPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSObserverPawn>"
+          },
+          {
+            "name": "m_bPawnIsAlive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iPawnHealth",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iPawnArmor",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bPawnHasDefuser",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPawnHasHelmet",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nPawnCharacterDefIndex",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_iPawnLifetimeStart",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iPawnLifetimeEnd",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iPawnBotDifficulty",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hOriginalControllerOfCurrentPawn",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          },
+          {
+            "name": "m_iScore",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_recentKillQueue",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nFirstKill",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nKillCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_bMvpNoMusic",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_eMvpReason",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMusicKitID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMusicKitMVPs",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMVPs",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bFireBulletsSeedSynchronized",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBasePlayerController"
+      },
+      "CCSPlayerController_ActionTrackingServices": {
+        "fields": {
+          "m_iNumRoundKills": 368,
+          "m_iNumRoundKillsHeadshots": 372,
+          "m_matchStats": 176,
+          "m_perRoundStats": 64,
+          "m_unTotalRoundDamageDealt": 376
+        },
+        "metadata": [
+          {
+            "name": "m_perRoundStats",
+            "type": "NetworkVarNames",
+            "type_name": "CSPerRoundStats_t"
+          },
+          {
+            "name": "m_matchStats",
+            "type": "NetworkVarNames",
+            "type_name": "CSMatchStats_t"
+          },
+          {
+            "name": "m_iNumRoundKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumRoundKillsHeadshots",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_unTotalRoundDamageDealt",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerController_DamageServices": {
+        "fields": {
+          "m_DamageList": 72,
+          "m_nSendUpdate": 64
+        },
+        "metadata": [
+          {
+            "name": "m_nSendUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_DamageList",
+            "type": "NetworkVarNames",
+            "type_name": "CDamageRecord"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerController_InGameMoneyServices": {
+        "fields": {
+          "m_bReceivesMoneyNextRound": 64,
+          "m_iAccount": 72,
+          "m_iCashSpentThisRound": 84,
+          "m_iMoneyEarnedForNextRound": 68,
+          "m_iStartAccount": 76,
+          "m_iTotalCashSpent": 80
+        },
+        "metadata": [
+          {
+            "name": "m_iAccount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iStartAccount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iTotalCashSpent",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCashSpentThisRound",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerController_InventoryServices": {
+        "fields": {
+          "m_nPersonaDataPublicCommendsFriendly": 104,
+          "m_nPersonaDataPublicCommendsLeader": 96,
+          "m_nPersonaDataPublicCommendsTeacher": 100,
+          "m_nPersonaDataPublicLevel": 92,
+          "m_nPersonaDataXpTrailLevel": 108,
+          "m_rank": 68,
+          "m_unEquippedPlayerSprayIDs": 3912,
+          "m_unMusicID": 64,
+          "m_vecServerAuthoritativeWeaponSlots": 3920
+        },
+        "metadata": [
+          {
+            "name": "m_unMusicID",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_rank",
+            "type": "NetworkVarNames",
+            "type_name": "MedalRank_t"
+          },
+          {
+            "name": "m_nPersonaDataPublicLevel",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataPublicCommendsLeader",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataPublicCommendsTeacher",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataPublicCommendsFriendly",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPersonaDataXpTrailLevel",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vecServerAuthoritativeWeaponSlots",
+            "type": "NetworkVarNames",
+            "type_name": "ServerAuthoritativeWeaponSlot_t"
+          }
+        ],
+        "parent": "CPlayerControllerComponent"
+      },
+      "CCSPlayerPawn": {
+        "fields": {
+          "m_ArmorValue": 6668,
+          "m_EconGloves": 5792,
+          "m_GunGameImmunityColor": 6740,
+          "m_LastHealth": 6608,
+          "m_LastHitBox": 6604,
+          "m_PredictedDamageTags": 6864,
+          "m_RetakesMVPBoostExtraUtility": 3844,
+          "m_TouchingBuyZones": 3800,
+          "m_aimPunchAngle": 3856,
+          "m_aimPunchAngleVel": 3868,
+          "m_aimPunchCache": 3888,
+          "m_aimPunchTickBase": 3880,
+          "m_aimPunchTickFraction": 3884,
+          "m_allowAutoFollowTime": 6488,
+          "m_angShootAngleHistory": 6788,
+          "m_angStashedShootAngles": 6752,
+          "m_bBotAllowActive": 6624,
+          "m_bGrenadeParametersStashed": 6748,
+          "m_bHasDeathInfo": 6700,
+          "m_bHasFemaleVoice": 3586,
+          "m_bInBombZone": 3826,
+          "m_bInBombZoneTrigger": 6556,
+          "m_bInBuyZone": 3793,
+          "m_bInHostageRescueZone": 3825,
+          "m_bInHostageResetZone": 3792,
+          "m_bInNoDefuseArea": 6544,
+          "m_bIsBuyMenuOpen": 3912,
+          "m_bIsDefusing": 6534,
+          "m_bIsGrabbingHostage": 6535,
+          "m_bIsScoped": 6532,
+          "m_bIsSpawning": 6684,
+          "m_bIsWalking": 6464,
+          "m_bKilledByHeadshot": 6600,
+          "m_bLastHeadBoneTransformIsValid": 5648,
+          "m_bLeftHanded": 6441,
+          "m_bNextSprayDecalTimeExpedited": 5676,
+          "m_bOnGroundLastTick": 5656,
+          "m_bRagdollDamageHeadshot": 5772,
+          "m_bResetArmorNextSpawn": 6492,
+          "m_bResumeZoom": 6533,
+          "m_bRetakesHasDefuseKit": 3836,
+          "m_bRetakesMVPLastRound": 3837,
+          "m_bSkipOneHeadConstraintUpdate": 6440,
+          "m_bWaitForNoAttack": 6592,
+          "m_bWasInBombZoneTrigger": 6557,
+          "m_bWasInBuyZone": 3824,
+          "m_bWasInHostageRescueZone": 3827,
+          "m_entitySpottedState": 6504,
+          "m_fLastGivenBombTime": 6472,
+          "m_fLastGivenDefuserTime": 6468,
+          "m_fSwitchedHandednessTime": 6444,
+          "m_flDealtDamageToEnemyMostRecentTimestamp": 6476,
+          "m_flDeathInfoTime": 6704,
+          "m_flEmitSoundTime": 6540,
+          "m_flFlinchStack": 6564,
+          "m_flHealthShotBoostExpirationTime": 3848,
+          "m_flHitHeading": 6572,
+          "m_flLandingTimeSeconds": 3852,
+          "m_flLastAttackedTeammate": 6484,
+          "m_flLastPickupPriorityTime": 6664,
+          "m_flNextSprayDecalTime": 5672,
+          "m_flSlopeDropHeight": 6644,
+          "m_flSlopeDropOffset": 6640,
+          "m_flTimeOfLastInjury": 5668,
+          "m_flVelocityModifier": 6568,
+          "m_flViewmodelFOV": 6460,
+          "m_flViewmodelOffsetX": 6448,
+          "m_flViewmodelOffsetY": 6452,
+          "m_flViewmodelOffsetZ": 6456,
+          "m_grenadeParameterStashTime": 6744,
+          "m_iBlockingUseActionInProgress": 6536,
+          "m_iBombSiteIndex": 6548,
+          "m_iDeathFlags": 6696,
+          "m_iDisplayHistoryBits": 6480,
+          "m_iLastWeaponFireUsercmd": 6680,
+          "m_iPlayerLocked": 5660,
+          "m_iRetakesMVPBoostItem": 3840,
+          "m_iRetakesOffering": 3828,
+          "m_iRetakesOfferingCard": 3832,
+          "m_iShotsFired": 6560,
+          "m_ignoreLadderJumpTime": 6596,
+          "m_lastLandTime": 5652,
+          "m_nCharacterDefIndex": 3584,
+          "m_nEconGlovesChanged": 6424,
+          "m_nHighestAppliedDamageTagTick": 6944,
+          "m_nHitBodyPart": 6576,
+          "m_nLastKillerIndex": 6496,
+          "m_nLastPickupPriority": 6660,
+          "m_nRagdollDamageBone": 5680,
+          "m_nSpotRules": 6528,
+          "m_nWhichBombZone": 6552,
+          "m_pActionTrackingServices": 3560,
+          "m_pBot": 6616,
+          "m_pBulletServices": 3536,
+          "m_pBuyServices": 3552,
+          "m_pDamageReactServices": 3576,
+          "m_pHostageServices": 3544,
+          "m_pRadioServices": 3568,
+          "m_qDeathEyeAngles": 6428,
+          "m_strVOPrefix": 3592,
+          "m_szLastPlaceName": 3600,
+          "m_szRagdollDamageWeaponName": 5708,
+          "m_thirdPersonHeading": 6628,
+          "m_unCurrentEquipmentValue": 6672,
+          "m_unFreezetimeEndEquipmentValue": 6676,
+          "m_unRoundStartEquipmentValue": 6674,
+          "m_vHeadConstraintOffset": 6648,
+          "m_vRagdollDamageForce": 5684,
+          "m_vRagdollDamagePosition": 5696,
+          "m_vRagdollServerOrigin": 5776,
+          "m_vecDeathInfoOrigin": 6708,
+          "m_vecPlayerPatchEconIndices": 6720,
+          "m_vecStashedGrenadeThrowPosition": 6764,
+          "m_vecStashedVelocity": 6776,
+          "m_vecThrowPositionHistory": 6812,
+          "m_vecTotalBulletForce": 6580,
+          "m_vecVelocityHistory": 6836,
+          "m_xLastHeadBoneTransform": 5616
+        },
+        "metadata": [
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkVarTypeOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pBulletServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_BulletServices*"
+          },
+          {
+            "name": "m_pHostageServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_HostageServices*"
+          },
+          {
+            "name": "m_pBuyServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_BuyServices*"
+          },
+          {
+            "name": "m_pActionTrackingServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_ActionTrackingServices*"
+          },
+          {
+            "name": "m_bHasFemaleVoice",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szLastPlaceName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bInBuyZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bInHostageRescueZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bInBombZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRetakesOffering",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iRetakesOfferingCard",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRetakesHasDefuseKit",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bRetakesMVPLastRound",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRetakesMVPBoostItem",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_RetakesMVPBoostExtraUtility",
+            "type": "NetworkVarNames",
+            "type_name": "loadout_slot_t"
+          },
+          {
+            "name": "m_flHealthShotBoostExpirationTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_aimPunchAngle",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_aimPunchAngleVel",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_aimPunchTickBase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_aimPunchTickFraction",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bIsBuyMenuOpen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimeOfLastInjury",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flNextSprayDecalTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nRagdollDamageBone",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vRagdollDamageForce",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vRagdollDamagePosition",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_szRagdollDamageWeaponName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bRagdollDamageHeadshot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vRagdollServerOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_EconGloves",
+            "type": "NetworkVarNames",
+            "type_name": "CEconItemView"
+          },
+          {
+            "name": "m_nEconGlovesChanged",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_qDeathEyeAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_bLeftHanded",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fSwitchedHandednessTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flViewmodelOffsetX",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flViewmodelOffsetY",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flViewmodelOffsetZ",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flViewmodelFOV",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bIsWalking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nLastKillerIndex",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityIndex"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          },
+          {
+            "name": "m_bIsScoped",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bResumeZoom",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsDefusing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsGrabbingHostage",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iBlockingUseActionInProgress",
+            "type": "NetworkVarNames",
+            "type_name": "CSPlayerBlockingUseAction_t"
+          },
+          {
+            "name": "m_flEmitSoundTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bInNoDefuseArea",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nWhichBombZone",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iShotsFired",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFlinchStack",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flVelocityModifier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHitHeading",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nHitBodyPart",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bWaitForNoAttack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bKilledByHeadshot",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_thirdPersonHeading",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_flSlopeDropOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSlopeDropHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vHeadConstraintOffset",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_ArmorValue",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_unCurrentEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_unRoundStartEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_unFreezetimeEndEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_vecPlayerPatchEconIndices",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_GunGameImmunityColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_PredictedDamageTags",
+            "type": "NetworkVarNames",
+            "type_name": "PredictedDamageTag_t"
+          }
+        ],
+        "parent": "CCSPlayerPawnBase"
+      },
+      "CCSPlayerPawnBase": {
+        "fields": {
+          "m_CTouchExpansionComponent": 3176,
+          "m_angEyeAngles": 3508,
+          "m_bCommittingSuicideOnTeamChange": 3521,
+          "m_bGunGameImmunity": 3464,
+          "m_bHasMovedSinceSpawn": 3472,
+          "m_bRespawning": 3456,
+          "m_blindStartTime": 3276,
+          "m_blindUntilTime": 3272,
+          "m_fImmuneToGunGameDamageTime": 3460,
+          "m_fMolotovDamageTime": 3468,
+          "m_fNextRadarUpdateTime": 3488,
+          "m_flFlashDuration": 3492,
+          "m_flFlashMaxAlpha": 3496,
+          "m_flIdleTimeSinceLastAction": 3484,
+          "m_flProgressBarStartTime": 3500,
+          "m_hOriginalController": 3524,
+          "m_iNumSpawns": 3476,
+          "m_iPlayerState": 3280,
+          "m_iProgressBarDuration": 3504,
+          "m_pPingServices": 3256,
+          "m_pViewModelServices": 3264,
+          "m_wasNotKilledNaturally": 3520
+        },
+        "metadata": [
+          {
+            "name": "m_CTouchExpansionComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CTouchExpansionComponent::Storage_t"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_pPingServices",
+            "type": "NetworkVarNames",
+            "type_name": "CCSPlayer_PingServices*"
+          },
+          {
+            "name": "m_pViewModelServices",
+            "type": "NetworkVarNames",
+            "type_name": "CPlayer_ViewModelServices*"
+          },
+          {
+            "name": "m_iPlayerState",
+            "type": "NetworkVarNames",
+            "type_name": "CSPlayerState"
+          },
+          {
+            "name": "m_fImmuneToGunGameDamageTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bGunGameImmunity",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fMolotovDamageTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHasMovedSinceSpawn",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFlashDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFlashMaxAlpha",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flProgressBarStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_iProgressBarDuration",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_angEyeAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_hOriginalController",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          }
+        ],
+        "parent": "CBasePlayerPawn"
+      },
+      "CCSPlayerResource": {
+        "fields": {
+          "m_bEndMatchNextMapAllVoted": 1392,
+          "m_bHostageAlive": 1248,
+          "m_bombsiteCenterA": 1320,
+          "m_bombsiteCenterB": 1332,
+          "m_foundGoalPositions": 1393,
+          "m_hostageRescueX": 1344,
+          "m_hostageRescueY": 1360,
+          "m_hostageRescueZ": 1376,
+          "m_iHostageEntityIDs": 1272,
+          "m_isHostageFollowingSomeone": 1260
+        },
+        "metadata": [
+          {
+            "name": "m_bHostageAlive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_isHostageFollowingSomeone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iHostageEntityIDs",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityIndex"
+          },
+          {
+            "name": "m_bombsiteCenterA",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bombsiteCenterB",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_hostageRescueX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hostageRescueY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hostageRescueZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bEndMatchNextMapAllVoted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CCSPlayer_ActionTrackingServices": {
+        "fields": {
+          "m_bIsRescuing": 580,
+          "m_hLastWeaponBeforeC4AutoSwitch": 536,
+          "m_weaponPurchasesThisMatch": 584,
+          "m_weaponPurchasesThisRound": 672
+        },
+        "metadata": [
+          {
+            "name": "m_bIsRescuing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_weaponPurchasesThisMatch",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponPurchaseTracker_t"
+          },
+          {
+            "name": "m_weaponPurchasesThisRound",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponPurchaseTracker_t"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_BulletServices": {
+        "fields": {
+          "m_totalHitsOnServer": 64
+        },
+        "metadata": [
+          {
+            "name": "m_totalHitsOnServer",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_BuyServices": {
+        "fields": {
+          "m_vecSellbackPurchaseEntries": 200
+        },
+        "metadata": [
+          {
+            "name": "m_vecSellbackPurchaseEntries",
+            "type": "NetworkVarNames",
+            "type_name": "SellbackPurchaseEntry_t"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_CameraServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSPlayerBase_CameraServices"
+      },
+      "CCSPlayer_DamageReactServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_HostageServices": {
+        "fields": {
+          "m_hCarriedHostage": 64,
+          "m_hCarriedHostageProp": 68
+        },
+        "metadata": [
+          {
+            "name": "m_hCarriedHostage",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hCarriedHostageProp",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_ItemServices": {
+        "fields": {
+          "m_bHasDefuser": 64,
+          "m_bHasHeavyArmor": 66,
+          "m_bHasHelmet": 65
+        },
+        "metadata": [
+          {
+            "name": "m_bHasDefuser",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasHelmet",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bHasHeavyArmor",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPlayer_ItemServices"
+      },
+      "CCSPlayer_MovementServices": {
+        "fields": {
+          "m_StuckLast": 1148,
+          "m_bDesiresDuck": 577,
+          "m_bDuckOverride": 576,
+          "m_bHasWalkMovedSinceLastJump": 617,
+          "m_bInStuckTest": 618,
+          "m_bMadeFootstepNoise": 1208,
+          "m_bOldJumpPressed": 1216,
+          "m_bSpeedCropped": 1152,
+          "m_duckUntilOnGround": 616,
+          "m_fStashGrenadeParameterWhen": 1224,
+          "m_flAccumulatedJumpError": 1268,
+          "m_flDuckAmount": 568,
+          "m_flDuckOffset": 580,
+          "m_flDuckSpeed": 572,
+          "m_flGroundMoveEfficiency": 1156,
+          "m_flHeightAtJumpStart": 1252,
+          "m_flJumpPressedTime": 1220,
+          "m_flLastDuckTime": 596,
+          "m_flMaxJumpHeightLastJump": 1260,
+          "m_flMaxJumpHeightThisJump": 1256,
+          "m_flOffsetTickCompleteTime": 1240,
+          "m_flOffsetTickStashedSpeed": 1244,
+          "m_flStamina": 1248,
+          "m_flStaminaAtJumpStart": 1264,
+          "m_flStuckCheckTime": 632,
+          "m_flWaterEntryTime": 1164,
+          "m_iFootsteps": 1212,
+          "m_nButtonDownMaskPrev": 1232,
+          "m_nDuckJumpTimeMsecs": 588,
+          "m_nDuckTimeMsecs": 584,
+          "m_nGameCodeHasMovedPlayerAfterCommand": 1204,
+          "m_nJumpTimeMsecs": 592,
+          "m_nLadderSurfacePropIndex": 564,
+          "m_nOldWaterLevel": 1160,
+          "m_nTraceCount": 1144,
+          "m_vecForward": 1168,
+          "m_vecLadderNormal": 552,
+          "m_vecLastPositionAtFullCrouchSpeed": 608,
+          "m_vecLeft": 1180,
+          "m_vecUp": 1192
+        },
+        "metadata": [
+          {
+            "name": "m_vecLadderNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nLadderSurfacePropIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flDuckAmount",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDuckSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bDuckOverride",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDesiresDuck",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nDuckTimeMsecs",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nDuckJumpTimeMsecs",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nJumpTimeMsecs",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flLastDuckTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nGameCodeHasMovedPlayerAfterCommand",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bOldJumpPressed",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fStashGrenadeParameterWhen",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nButtonDownMaskPrev",
+            "type": "NetworkVarNames",
+            "type_name": "ButtonBitMask_t"
+          },
+          {
+            "name": "m_flOffsetTickCompleteTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flOffsetTickStashedSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStamina",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CPlayer_MovementServices_Humanoid"
+      },
+      "CCSPlayer_PingServices": {
+        "fields": {
+          "m_flPlayerPingTokens": 64,
+          "m_hPlayerPing": 84
+        },
+        "metadata": [
+          {
+            "name": "m_hPlayerPing",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_RadioServices": {
+        "fields": {
+          "m_bIgnoreRadio": 88,
+          "m_flC4PlantTalkTimer": 72,
+          "m_flDefusingTalkTimer": 68,
+          "m_flGotHostageTalkTimer": 64,
+          "m_flRadioTokenSlots": 76
+        },
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CCSPlayer_UseServices": {
+        "fields": {
+          "m_flLastUseTimeStamp": 68,
+          "m_flTimeLastUsedWindow": 72,
+          "m_hLastKnownUseEntity": 64
+        },
+        "metadata": [],
+        "parent": "CPlayer_UseServices"
+      },
+      "CCSPlayer_ViewModelServices": {
+        "fields": {
+          "m_hViewModel": 64
+        },
+        "metadata": [
+          {
+            "name": "m_hViewModel",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseViewModel>"
+          }
+        ],
+        "parent": "CPlayer_ViewModelServices"
+      },
+      "CCSPlayer_WaterServices": {
+        "fields": {
+          "m_AirFinishedTime": 72,
+          "m_NextDrownDamageTime": 64,
+          "m_flSwimSoundTime": 92,
+          "m_flWaterJumpTime": 76,
+          "m_nDrownDmgRate": 68,
+          "m_vecWaterJumpVel": 80
+        },
+        "metadata": [],
+        "parent": "CPlayer_WaterServices"
+      },
+      "CCSPlayer_WeaponServices": {
+        "fields": {
+          "m_bDisableAutoDeploy": 199,
+          "m_bIsBeingGivenItem": 196,
+          "m_bIsHoldingLookAtWeapon": 173,
+          "m_bIsLookingAtWeapon": 172,
+          "m_bIsPickingUpGroundWeapon": 200,
+          "m_bIsPickingUpItemWithUse": 197,
+          "m_bPickedUpWeapon": 198,
+          "m_flNextAttack": 168,
+          "m_hSavedWeapon": 176,
+          "m_nOldInputHistoryCount": 1128,
+          "m_nOldShootPositionHistoryCount": 204,
+          "m_nTimeToMelee": 180,
+          "m_nTimeToPrimary": 188,
+          "m_nTimeToSecondary": 184,
+          "m_nTimeToSniperRifle": 192
+        },
+        "metadata": [
+          {
+            "name": "m_flNextAttack",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsLookingAtWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsHoldingLookAtWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPlayer_WeaponServices"
+      },
+      "CCSPointScript": {
+        "fields": {
+          "m_pParent": 248
+        },
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePulseGraphInstance"
+      },
+      "CCSPointScriptEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CCSPointScriptExtensions_CCSWeaponBaseVData": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_entity": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_observer": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_player": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_player_controller": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSPointScriptExtensions_weapon_cs_base": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CCSServerPointScriptEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSPointScriptEntity"
+      },
+      "CCSSprite": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSprite"
+      },
+      "CCSTeam": {
+        "fields": {
+          "m_bSurrendered": 1440,
+          "m_flNextResourceTime": 2124,
+          "m_iClanID": 2104,
+          "m_iLastUpdateSentAt": 2128,
+          "m_nLastRecievedShorthandedRoundBonus": 1432,
+          "m_nShorthandedRoundBonusStartRound": 1436,
+          "m_numMapVictories": 1956,
+          "m_scoreFirstHalf": 1960,
+          "m_scoreOvertime": 1968,
+          "m_scoreSecondHalf": 1964,
+          "m_szClanTeamname": 1972,
+          "m_szTeamFlagImage": 2108,
+          "m_szTeamLogoImage": 2116,
+          "m_szTeamMatchStat": 1441
+        },
+        "metadata": [
+          {
+            "name": "m_bSurrendered",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szTeamMatchStat",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_numMapVictories",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_scoreFirstHalf",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_scoreSecondHalf",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_scoreOvertime",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_szClanTeamname",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_iClanID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_szTeamFlagImage",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_szTeamLogoImage",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "CTeam"
+      },
+      "CCSWeaponBase": {
+        "fields": {
+          "m_IronSightController": 3888,
+          "m_OnPlayerPickup": 3656,
+          "m_bBurstMode": 3744,
+          "m_bCanBePickedUp": 3808,
+          "m_bDroppedNearBuyZone": 3780,
+          "m_bFireOnEmpty": 3652,
+          "m_bFiredOutOfAmmoEvent": 3878,
+          "m_bInReload": 3756,
+          "m_bIsHauledBack": 3764,
+          "m_bPlayerAmmoStockOnPickup": 3600,
+          "m_bReloadVisuallyComplete": 3757,
+          "m_bReloadsWithClips": 3620,
+          "m_bRemoveable": 3488,
+          "m_bRequireUseToTouch": 3601,
+          "m_bSilencerOn": 3765,
+          "m_bUseCanOverrideNextOwnerTouchTime": 3809,
+          "m_bWasOwnedByCT": 3876,
+          "m_bWasOwnedByTerrorist": 3877,
+          "m_donated": 3868,
+          "m_ePlayerFireEvent": 3508,
+          "m_ePlayerFireEventAttackType": 3512,
+          "m_fAccuracyPenalty": 3720,
+          "m_fAccuracySmoothedForZoom": 3728,
+          "m_fLastShotTime": 3872,
+          "m_fScopeZoomEndTime": 3732,
+          "m_flDroppedAtTime": 3760,
+          "m_flFireSequenceStartTime": 3496,
+          "m_flLastAccuracyUpdateTime": 3724,
+          "m_flLastLOSTraceFailureTime": 3916,
+          "m_flLastTimeInAir": 3608,
+          "m_flNextAttackRenderTimeOffset": 3784,
+          "m_flPostponeFireReadyFrac": 3752,
+          "m_flRecoilIndex": 3740,
+          "m_flTimeSilencerSwitchComplete": 3768,
+          "m_flTimeWeaponIdle": 3648,
+          "m_flTurningInaccuracy": 3716,
+          "m_flTurningInaccuracyDelta": 3700,
+          "m_flWatTickOffset": 3924,
+          "m_hCurrentThirdPersonSequence": 3552,
+          "m_hPrevOwner": 3828,
+          "m_iIronSightMode": 3912,
+          "m_iMostRecentTeamNumber": 3776,
+          "m_iNumEmptyAttacks": 3920,
+          "m_iOriginalTeamNumber": 3772,
+          "m_iRecoilIndex": 3736,
+          "m_iState": 3604,
+          "m_nDropTick": 3832,
+          "m_nFireSequenceStartTimeAck": 3504,
+          "m_nFireSequenceStartTimeChange": 3500,
+          "m_nLastEmptySoundCmdNum": 3612,
+          "m_nPostponeFireReadyTicks": 3748,
+          "m_nSilencerBoneIndex": 3556,
+          "m_nViewModelIndex": 3616,
+          "m_nextOwnerTouchTime": 3812,
+          "m_nextPrevOwnerTouchTime": 3816,
+          "m_nextPrevOwnerUseTime": 3824,
+          "m_numRemoveUnownedWeaponThink": 3880,
+          "m_seqFirePrimary": 3520,
+          "m_seqFireSecondary": 3524,
+          "m_seqIdle": 3516,
+          "m_thirdPersonFireSequences": 3528,
+          "m_thirdPersonSequences": 3560,
+          "m_vecTurningInaccuracyEyeDirLast": 3704,
+          "m_weaponMode": 3696
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flFireSequenceStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFireSequenceStartTimeChange",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_ePlayerFireEvent",
+            "type": "NetworkVarNames",
+            "type_name": "PlayerAnimEvent_t"
+          },
+          {
+            "name": "m_ePlayerFireEventAttackType",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponAttackType_t"
+          },
+          {
+            "name": "m_iState",
+            "type": "NetworkVarNames",
+            "type_name": "CSWeaponState_t"
+          },
+          {
+            "name": "m_nViewModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flTimeWeaponIdle",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_weaponMode",
+            "type": "NetworkVarNames",
+            "type_name": "CSWeaponMode"
+          },
+          {
+            "name": "m_fAccuracyPenalty",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_iRecoilIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flRecoilIndex",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bBurstMode",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nPostponeFireReadyTicks",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flPostponeFireReadyFrac",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bInReload",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bReloadVisuallyComplete",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDroppedAtTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bIsHauledBack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bSilencerOn",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimeSilencerSwitchComplete",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iOriginalTeamNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMostRecentTeamNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bDroppedNearBuyZone",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nextPrevOwnerUseTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_hPrevOwner",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_nDropTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_fLastShotTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iIronSightMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumEmptyAttacks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CBasePlayerWeapon"
+      },
+      "CCSWeaponBaseGun": {
+        "fields": {
+          "m_bNeedsBoltAction": 3965,
+          "m_bSkillBoltInterruptAvailable": 3968,
+          "m_bSkillBoltLiftedFireKey": 3969,
+          "m_bSkillReloadAvailable": 3966,
+          "m_bSkillReloadLiftedReloadKey": 3967,
+          "m_iBurstShotsRemaining": 3948,
+          "m_inPrecache": 3964,
+          "m_silencedModelIndex": 3960,
+          "m_zoomLevel": 3944
+        },
+        "metadata": [
+          {
+            "name": "m_zoomLevel",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iBurstShotsRemaining",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bNeedsBoltAction",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CCSWeaponBase"
+      },
+      "CCSWeaponBaseVData": {
+        "fields": {
+          "m_DefaultLoadoutSlot": 3320,
+          "m_GearSlot": 3312,
+          "m_GearSlotPosition": 3316,
+          "m_WeaponCategory": 844,
+          "m_WeaponType": 840,
+          "m_angPivotAngle": 3624,
+          "m_bCannotShootUnderwater": 3355,
+          "m_bHasBurstMode": 3353,
+          "m_bHideViewModelWhenZoomed": 3577,
+          "m_bIsFullAuto": 3388,
+          "m_bIsRevolver": 3354,
+          "m_bMeleeWeapon": 3352,
+          "m_bUnzoomsAfterShot": 3576,
+          "m_eSilencerType": 3376,
+          "m_flArmorRatio": 3656,
+          "m_flAttackMovespeedFactor": 3544,
+          "m_flBotAudibleRange": 3560,
+          "m_flCycleTime": 3396,
+          "m_flFlinchVelocityModifierLarge": 3672,
+          "m_flFlinchVelocityModifierSmall": 3676,
+          "m_flHeadshotMultiplier": 3652,
+          "m_flHeatPerShot": 3548,
+          "m_flIdleInterval": 3540,
+          "m_flInaccuracyAltSoundThreshold": 3556,
+          "m_flInaccuracyCrouch": 3420,
+          "m_flInaccuracyFire": 3460,
+          "m_flInaccuracyJump": 3436,
+          "m_flInaccuracyJumpApex": 3520,
+          "m_flInaccuracyJumpInitial": 3516,
+          "m_flInaccuracyLadder": 3452,
+          "m_flInaccuracyLand": 3444,
+          "m_flInaccuracyMove": 3468,
+          "m_flInaccuracyPitchShift": 3552,
+          "m_flInaccuracyReload": 3524,
+          "m_flInaccuracyStand": 3428,
+          "m_flIronSightFOV": 3612,
+          "m_flIronSightLooseness": 3620,
+          "m_flIronSightPivotForward": 3616,
+          "m_flIronSightPullUpSpeed": 3604,
+          "m_flIronSightPutDownSpeed": 3608,
+          "m_flMaxSpeed": 3404,
+          "m_flPenetration": 3660,
+          "m_flRange": 3664,
+          "m_flRangeModifier": 3668,
+          "m_flRecoilAngle": 3476,
+          "m_flRecoilAngleVariance": 3484,
+          "m_flRecoilMagnitude": 3492,
+          "m_flRecoilMagnitudeVariance": 3500,
+          "m_flRecoveryTimeCrouch": 3680,
+          "m_flRecoveryTimeCrouchFinal": 3688,
+          "m_flRecoveryTimeStand": 3684,
+          "m_flRecoveryTimeStandFinal": 3692,
+          "m_flSpread": 3412,
+          "m_flThrowVelocity": 3704,
+          "m_flTimeToIdleAfterFire": 3536,
+          "m_flZoomTime0": 3592,
+          "m_flZoomTime1": 3596,
+          "m_flZoomTime2": 3600,
+          "m_nCrosshairDeltaDistance": 3384,
+          "m_nCrosshairMinDistance": 3380,
+          "m_nDamage": 3648,
+          "m_nKillAward": 3340,
+          "m_nNumBullets": 3392,
+          "m_nPrice": 3336,
+          "m_nPrimaryReserveAmmoMax": 3344,
+          "m_nRecoilSeed": 3528,
+          "m_nRecoveryTransitionEndBullet": 3700,
+          "m_nRecoveryTransitionStartBullet": 3696,
+          "m_nSecondaryReserveAmmoMax": 3348,
+          "m_nSpreadSeed": 3532,
+          "m_nTracerFrequency": 3508,
+          "m_nZoomFOV1": 3584,
+          "m_nZoomFOV2": 3588,
+          "m_nZoomLevels": 3580,
+          "m_sWrongTeamMsg": 3328,
+          "m_szAimsightLensMaskModel": 1520,
+          "m_szAnimClass": 3720,
+          "m_szAnimExtension": 3368,
+          "m_szEjectBrassEffect": 2192,
+          "m_szHeatEffect": 1968,
+          "m_szMagazineModel": 1744,
+          "m_szMuzzleFlashParticleAlt": 2416,
+          "m_szMuzzleFlashThirdPersonParticle": 2640,
+          "m_szMuzzleFlashThirdPersonParticleAlt": 2864,
+          "m_szName": 3360,
+          "m_szPlayerModel": 1072,
+          "m_szTracerParticle": 3088,
+          "m_szUseRadioSubtitle": 3568,
+          "m_szViewModel": 848,
+          "m_szWorldDroppedModel": 1296,
+          "m_vSmokeColor": 3708,
+          "m_vecIronSightEyePos": 3636
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertySuppressBaseClassField",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertySuppressBaseClassField",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePlayerWeaponVData"
+      },
+      "CChangeLevel": {
+        "fields": {
+          "m_OnChangeLevel": 2416,
+          "m_bNewChapter": 2458,
+          "m_bNoTouch": 2457,
+          "m_bOnChangeLevelFired": 2459,
+          "m_bTouched": 2456,
+          "m_sLandmarkName": 2408,
+          "m_sMapName": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CChicken": {
+        "fields": {
+          "m_AttributeManager": 3192,
+          "m_BlockDirectionTimer": 12616,
+          "m_activityTimer": 4016,
+          "m_bInJump": 4212,
+          "m_collisionStuckTimer": 3968,
+          "m_currentActivity": 4012,
+          "m_desiredActivity": 4008,
+          "m_flActiveFollowStartTime": 12580,
+          "m_flLastJumpTime": 4208,
+          "m_flWhenZombified": 4120,
+          "m_fleeFrom": 4044,
+          "m_followMinuteTimer": 12584,
+          "m_hasBeenUsed": 4176,
+          "m_isOnGround": 3992,
+          "m_jumpTimer": 4184,
+          "m_jumpedThisFrame": 4124,
+          "m_leader": 4128,
+          "m_moveRateThrottleTimer": 4048,
+          "m_repathTimer": 12416,
+          "m_reuseTimer": 4152,
+          "m_startleTimer": 4072,
+          "m_stuckAnchor": 3928,
+          "m_stuckTimer": 3944,
+          "m_turnRate": 4040,
+          "m_updateTimer": 3904,
+          "m_vFallVelocity": 3996,
+          "m_vecPathGoal": 12568,
+          "m_vocalizeTimer": 4096
+        },
+        "metadata": [
+          {
+            "name": "m_AttributeManager",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeContainer"
+          },
+          {
+            "name": "m_jumpedThisFrame",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_leader",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          }
+        ],
+        "parent": "CDynamicProp"
+      },
+      "CCitadelSoundOpvarSetOBB": {
+        "fields": {
+          "m_iszOperatorName": 1256,
+          "m_iszOpvarName": 1264,
+          "m_iszStackName": 1248,
+          "m_nAABBDirection": 1320,
+          "m_vDistanceInnerMaxs": 1284,
+          "m_vDistanceInnerMins": 1272,
+          "m_vDistanceOuterMaxs": 1308,
+          "m_vDistanceOuterMins": 1296
+        },
+        "metadata": [
+          {
+            "name": "m_iszStackName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOperatorName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOpvarName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_vDistanceInnerMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDistanceInnerMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDistanceOuterMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vDistanceOuterMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nAABBDirection",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CCollisionProperty": {
+        "fields": {
+          "m_CollisionGroup": 94,
+          "m_collisionAttribute": 16,
+          "m_flBoundingRadius": 96,
+          "m_flCapsuleRadius": 172,
+          "m_nEnablePhysics": 95,
+          "m_nSolidType": 91,
+          "m_nSurroundType": 93,
+          "m_triggerBloat": 92,
+          "m_usSolidFlags": 90,
+          "m_vCapsuleCenter1": 148,
+          "m_vCapsuleCenter2": 160,
+          "m_vecMaxs": 76,
+          "m_vecMins": 64,
+          "m_vecSpecifiedSurroundingMaxs": 112,
+          "m_vecSpecifiedSurroundingMins": 100,
+          "m_vecSurroundingMaxs": 124,
+          "m_vecSurroundingMins": 136
+        },
+        "metadata": [
+          {
+            "name": "m_collisionAttribute",
+            "type": "NetworkVarNames",
+            "type_name": "VPhysicsCollisionAttribute_t"
+          },
+          {
+            "name": "m_vecMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_usSolidFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nSolidType",
+            "type": "NetworkVarNames",
+            "type_name": "SolidType_t"
+          },
+          {
+            "name": "m_triggerBloat",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nSurroundType",
+            "type": "NetworkVarNames",
+            "type_name": "SurroundingBoundsType_t"
+          },
+          {
+            "name": "m_CollisionGroup",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nEnablePhysics",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_vecSpecifiedSurroundingMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecSpecifiedSurroundingMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vCapsuleCenter1",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vCapsuleCenter2",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flCapsuleRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": null
+      },
+      "CColorCorrection": {
+        "fields": {
+          "m_MaxFalloff": 1288,
+          "m_MinFalloff": 1284,
+          "m_bClientSide": 1279,
+          "m_bEnabled": 1277,
+          "m_bExclusive": 1280,
+          "m_bMaster": 1278,
+          "m_bStartDisabled": 1276,
+          "m_flCurWeight": 1292,
+          "m_flFadeInDuration": 1248,
+          "m_flFadeOutDuration": 1252,
+          "m_flMaxWeight": 1272,
+          "m_flStartFadeInWeight": 1256,
+          "m_flStartFadeOutWeight": 1260,
+          "m_flTimeStartFadeIn": 1264,
+          "m_flTimeStartFadeOut": 1268,
+          "m_lookupFilename": 1808,
+          "m_netlookupFilename": 1296
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_flFadeInDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flMaxWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMaster",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bClientSide",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bExclusive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_MinFalloff",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_MaxFalloff",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flCurWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_netlookupFilename",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CColorCorrectionVolume": {
+        "fields": {
+          "m_FadeDuration": 2408,
+          "m_LastEnterTime": 2936,
+          "m_LastEnterWeight": 2932,
+          "m_LastExitTime": 2944,
+          "m_LastExitWeight": 2940,
+          "m_MaxWeight": 2404,
+          "m_Weight": 2416,
+          "m_bEnabled": 2400,
+          "m_bStartDisabled": 2412,
+          "m_lookupFilename": 2420
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_MaxWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_FadeDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_Weight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_lookupFilename",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CCommentaryAuto": {
+        "fields": {
+          "m_OnCommentaryMidGame": 1288,
+          "m_OnCommentaryMultiplayerSpawn": 1328,
+          "m_OnCommentaryNewGame": 1248
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CCommentaryViewPosition": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSprite"
+      },
+      "CConstraintAnchor": {
+        "fields": {
+          "m_massScale": 2472
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CCredits": {
+        "fields": {
+          "m_OnCreditsDone": 1248,
+          "m_bRolledOutroCredits": 1288,
+          "m_flLogoLength": 1292
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CDEagle": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CDamageRecord": {
+        "fields": {
+          "m_DamagerXuid": 72,
+          "m_PlayerDamager": 40,
+          "m_PlayerRecipient": 44,
+          "m_RecipientXuid": 80,
+          "m_bIsOtherEnemy": 108,
+          "m_hPlayerControllerDamager": 48,
+          "m_hPlayerControllerRecipient": 52,
+          "m_iActualHealthRemoved": 96,
+          "m_iBulletsDamage": 88,
+          "m_iDamage": 92,
+          "m_iLastBulletUpdate": 104,
+          "m_iNumHits": 100,
+          "m_killType": 109,
+          "m_szPlayerDamagerName": 56,
+          "m_szPlayerRecipientName": 64
+        },
+        "metadata": [
+          {
+            "name": "m_PlayerDamager",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_PlayerRecipient",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hPlayerControllerDamager",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          },
+          {
+            "name": "m_hPlayerControllerRecipient",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerController>"
+          },
+          {
+            "name": "m_szPlayerDamagerName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_szPlayerRecipientName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_DamagerXuid",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_RecipientXuid",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_iDamage",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iActualHealthRemoved",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNumHits",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iLastBulletUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bIsOtherEnemy",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_killType",
+            "type": "NetworkVarNames",
+            "type_name": "EKillTypes_t"
+          }
+        ],
+        "parent": null
+      },
+      "CDebugHistory": {
+        "fields": {
+          "m_nNpcEvents": 4097312
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CDecoyGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseCSGrenade"
+      },
+      "CDecoyProjectile": {
+        "fields": {
+          "m_decoyWeaponDefIndex": 2928,
+          "m_fExpireTime": 2912,
+          "m_nDecoyShotTick": 2904,
+          "m_shotsRemaining": 2908
+        },
+        "metadata": [
+          {
+            "name": "m_nDecoyShotTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CBaseCSGrenadeProjectile"
+      },
+      "CDynamicLight": {
+        "fields": {
+          "m_ActualFlags": 1936,
+          "m_Exponent": 1944,
+          "m_Flags": 1937,
+          "m_InnerAngle": 1948,
+          "m_LightStyle": 1938,
+          "m_On": 1939,
+          "m_OuterAngle": 1952,
+          "m_Radius": 1940,
+          "m_SpotRadius": 1956
+        },
+        "metadata": [
+          {
+            "name": "m_Flags",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_LightStyle",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_Radius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_Exponent",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_InnerAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_OuterAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_SpotRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CDynamicProp": {
+        "fields": {
+          "m_OnAnimReachedEnd": 3080,
+          "m_OnAnimReachedStart": 3040,
+          "m_bCreateNavObstacle": 2912,
+          "m_bCreateNonSolid": 3136,
+          "m_bFiredStartEndOutput": 3134,
+          "m_bForceNpcExclude": 3135,
+          "m_bIsOverrideProp": 3137,
+          "m_bNavObstacleUpdatesOverridden": 2913,
+          "m_bRandomizeCycle": 3132,
+          "m_bStartDisabled": 3133,
+          "m_bUseAnimGraph": 2915,
+          "m_bUseHitboxesForRenderBox": 2914,
+          "m_glowColor": 3152,
+          "m_iInitialGlowState": 3140,
+          "m_iszIdleAnim": 3120,
+          "m_nGlowRange": 3144,
+          "m_nGlowRangeMin": 3148,
+          "m_nGlowTeam": 3156,
+          "m_nIdleAnimLoopMode": 3128,
+          "m_pOutputAnimBegun": 2920,
+          "m_pOutputAnimLoopCycleOver": 3000,
+          "m_pOutputAnimOver": 2960
+        },
+        "metadata": [
+          {
+            "name": "m_bUseHitboxesForRenderBox",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseAnimGraph",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBreakableProp"
+      },
+      "CDynamicPropAlias_cable_dynamic": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CDynamicProp"
+      },
+      "CDynamicPropAlias_dynamic_prop": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CDynamicProp"
+      },
+      "CDynamicPropAlias_prop_dynamic_override": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CDynamicProp"
+      },
+      "CEconEntity": {
+        "fields": {
+          "m_AttributeManager": 2632,
+          "m_OriginalOwnerXuidHigh": 3348,
+          "m_OriginalOwnerXuidLow": 3344,
+          "m_flFallbackWear": 3360,
+          "m_hOldProvidee": 3368,
+          "m_iOldOwnerClass": 3372,
+          "m_nFallbackPaintKit": 3352,
+          "m_nFallbackSeed": 3356,
+          "m_nFallbackStatTrak": 3364
+        },
+        "metadata": [
+          {
+            "name": "m_AttributeManager",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeContainer"
+          },
+          {
+            "name": "m_OriginalOwnerXuidLow",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_OriginalOwnerXuidHigh",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nFallbackPaintKit",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nFallbackSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFallbackWear",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFallbackStatTrak",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CBaseFlex"
+      },
+      "CEconItemAttribute": {
+        "fields": {
+          "m_bSetBonus": 64,
+          "m_flInitialValue": 56,
+          "m_flValue": 52,
+          "m_iAttributeDefinitionIndex": 48,
+          "m_nRefundableCurrency": 60
+        },
+        "metadata": [
+          {
+            "name": "m_iAttributeDefinitionIndex",
+            "type": "NetworkVarNames",
+            "type_name": "attrib_definition_index_t"
+          },
+          {
+            "name": "m_flValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flInitialValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nRefundableCurrency",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bSetBonus",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "CEconItemView": {
+        "fields": {
+          "m_AttributeList": 112,
+          "m_NetworkedDynamicAttributes": 208,
+          "m_bInitialized": 104,
+          "m_iAccountID": 88,
+          "m_iEntityLevel": 64,
+          "m_iEntityQuality": 60,
+          "m_iInventoryPosition": 92,
+          "m_iItemDefinitionIndex": 56,
+          "m_iItemID": 72,
+          "m_iItemIDHigh": 80,
+          "m_iItemIDLow": 84,
+          "m_szCustomName": 304,
+          "m_szCustomNameOverride": 465
+        },
+        "metadata": [
+          {
+            "name": "m_iItemDefinitionIndex",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_iEntityQuality",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEntityLevel",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iItemIDHigh",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iItemIDLow",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iAccountID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iInventoryPosition",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bInitialized",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_AttributeList",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeList"
+          },
+          {
+            "name": "m_NetworkedDynamicAttributes",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeList"
+          },
+          {
+            "name": "m_szCustomName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "IEconItemInterface"
+      },
+      "CEconWearable": {
+        "fields": {
+          "m_bAlwaysAllow": 3380,
+          "m_nForceSkin": 3376
+        },
+        "metadata": [],
+        "parent": "CEconEntity"
+      },
+      "CEffectData": {
+        "fields": {
+          "m_fFlags": 99,
+          "m_flMagnitude": 68,
+          "m_flRadius": 72,
+          "m_flScale": 64,
+          "m_hEntity": 56,
+          "m_hOtherEntity": 60,
+          "m_iEffectName": 108,
+          "m_nAttachmentIndex": 100,
+          "m_nAttachmentName": 104,
+          "m_nColor": 98,
+          "m_nDamageType": 88,
+          "m_nEffectIndex": 80,
+          "m_nExplosionType": 110,
+          "m_nHitBox": 96,
+          "m_nMaterial": 94,
+          "m_nPenetrate": 92,
+          "m_nSurfaceProp": 76,
+          "m_vAngles": 44,
+          "m_vNormal": 32,
+          "m_vOrigin": 8,
+          "m_vStart": 20
+        },
+        "metadata": [
+          {
+            "name": "m_vOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vStart",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_hEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          },
+          {
+            "name": "m_hOtherEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          },
+          {
+            "name": "m_flScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flMagnitude",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nSurfaceProp",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_nEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinition"
+          },
+          {
+            "name": "m_nDamageType",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nPenetrate",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nHitBox",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nColor",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_fFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nAttachmentIndex",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_nAttachmentName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_iEffectName",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nExplosionType",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": null
+      },
+      "CEnableMotionFixup": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEntityBlocker": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CEntityComponent": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "CEntityDissolve": {
+        "fields": {
+          "m_flFadeInLength": 1940,
+          "m_flFadeInStart": 1936,
+          "m_flFadeOutLength": 1956,
+          "m_flFadeOutModelLength": 1948,
+          "m_flFadeOutModelStart": 1944,
+          "m_flFadeOutStart": 1952,
+          "m_flStartTime": 1960,
+          "m_nDissolveType": 1964,
+          "m_nMagnitude": 1980,
+          "m_vDissolverOrigin": 1968
+        },
+        "metadata": [
+          {
+            "name": "m_flFadeInStart",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeInLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutModelStart",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutModelLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutStart",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeOutLength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nDissolveType",
+            "type": "NetworkVarNames",
+            "type_name": "EntityDisolveType_t"
+          },
+          {
+            "name": "m_vDissolverOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nMagnitude",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CEntityFlame": {
+        "fields": {
+          "m_bCheapEffect": 1252,
+          "m_bUseHitboxes": 1260,
+          "m_flDirectDamagePerSecond": 1284,
+          "m_flHitboxFireScale": 1268,
+          "m_flLifetime": 1272,
+          "m_flSize": 1256,
+          "m_hAttacker": 1276,
+          "m_hEntAttached": 1248,
+          "m_iCustomDamageType": 1288,
+          "m_iDangerSound": 1280,
+          "m_iNumHitboxFires": 1264
+        },
+        "metadata": [
+          {
+            "name": "m_hEntAttached",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bCheapEffect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEntityIdentity": {
+        "fields": {
+          "m_PathIndex": 64,
+          "m_designerName": 32,
+          "m_fDataObjectTypes": 60,
+          "m_flags": 48,
+          "m_name": 24,
+          "m_nameStringableIndex": 20,
+          "m_pNext": 96,
+          "m_pNextByClass": 112,
+          "m_pPrev": 88,
+          "m_pPrevByClass": 104,
+          "m_worldGroupId": 56
+        },
+        "metadata": [
+          {
+            "name": "m_nameStringableIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": null
+      },
+      "CEntityInstance": {
+        "fields": {
+          "m_CScriptComponent": 40,
+          "m_bVisibleinPVS": 48,
+          "m_iszPrivateVScripts": 8,
+          "m_pEntity": 16
+        },
+        "metadata": [
+          {
+            "name": "m_pEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityIdentity*"
+          },
+          {
+            "name": "m_CScriptComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CScriptComponent::Storage_t"
+          }
+        ],
+        "parent": null
+      },
+      "CEnvBeam": {
+        "fields": {
+          "m_OnTouchedByEntity": 2224,
+          "m_TouchType": 2192,
+          "m_active": 2096,
+          "m_boltWidth": 2132,
+          "m_frameStart": 2160,
+          "m_hFilter": 2208,
+          "m_iFilterName": 2200,
+          "m_iszDecal": 2216,
+          "m_iszEndEntity": 2120,
+          "m_iszSpriteName": 2152,
+          "m_iszStartEntity": 2112,
+          "m_life": 2128,
+          "m_noiseAmplitude": 2136,
+          "m_radius": 2188,
+          "m_restrike": 2144,
+          "m_speed": 2140,
+          "m_spriteTexture": 2104,
+          "m_vEndPointRelative": 2176,
+          "m_vEndPointWorld": 2164
+        },
+        "metadata": [],
+        "parent": "CBeam"
+      },
+      "CEnvBeverage": {
+        "fields": {
+          "m_CanInDispenser": 1248,
+          "m_nBeverageType": 1252
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEnvCombinedLightProbeVolume": {
+        "fields": {
+          "m_Entity_Color": 5440,
+          "m_Entity_bCustomCubemapTexture": 5456,
+          "m_Entity_bEnabled": 5601,
+          "m_Entity_bMoveable": 5520,
+          "m_Entity_bStartDisabled": 5536,
+          "m_Entity_flBrightness": 5444,
+          "m_Entity_flEdgeFadeDist": 5540,
+          "m_Entity_hCubemapTexture": 5448,
+          "m_Entity_hLightProbeDirectLightIndicesTexture": 5472,
+          "m_Entity_hLightProbeDirectLightScalarsTexture": 5480,
+          "m_Entity_hLightProbeDirectLightShadowsTexture": 5488,
+          "m_Entity_hLightProbeTexture": 5464,
+          "m_Entity_nEnvCubeMapArrayIndex": 5528,
+          "m_Entity_nHandshake": 5524,
+          "m_Entity_nLightProbeAtlasX": 5568,
+          "m_Entity_nLightProbeAtlasY": 5572,
+          "m_Entity_nLightProbeAtlasZ": 5576,
+          "m_Entity_nLightProbeSizeX": 5556,
+          "m_Entity_nLightProbeSizeY": 5560,
+          "m_Entity_nLightProbeSizeZ": 5564,
+          "m_Entity_nPriority": 5532,
+          "m_Entity_vBoxMaxs": 5508,
+          "m_Entity_vBoxMins": 5496,
+          "m_Entity_vEdgeFadeDists": 5544
+        },
+        "metadata": [
+          {
+            "name": "m_Entity_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_Entity_flBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_hCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_bCustomCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_hLightProbeTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightIndicesTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightScalarsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightShadowsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_bMoveable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nHandshake",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nEnvCubeMapArrayIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_flEdgeFadeDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_vEdgeFadeDists",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvCubemap": {
+        "fields": {
+          "m_Entity_bCopyDiffuseFromDefaultCubemap": 1456,
+          "m_Entity_bCustomCubemapTexture": 1384,
+          "m_Entity_bDefaultEnvMap": 1453,
+          "m_Entity_bDefaultSpecEnvMap": 1454,
+          "m_Entity_bEnabled": 1472,
+          "m_Entity_bIndoorCubeMap": 1455,
+          "m_Entity_bMoveable": 1416,
+          "m_Entity_bStartDisabled": 1452,
+          "m_Entity_flDiffuseScale": 1448,
+          "m_Entity_flEdgeFadeDist": 1432,
+          "m_Entity_flInfluenceRadius": 1388,
+          "m_Entity_hCubemapTexture": 1376,
+          "m_Entity_nEnvCubeMapArrayIndex": 1424,
+          "m_Entity_nHandshake": 1420,
+          "m_Entity_nPriority": 1428,
+          "m_Entity_vBoxProjectMaxs": 1404,
+          "m_Entity_vBoxProjectMins": 1392,
+          "m_Entity_vEdgeFadeDists": 1436
+        },
+        "metadata": [
+          {
+            "name": "m_Entity_hCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_bCustomCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_flInfluenceRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_vBoxProjectMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_vBoxProjectMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_bMoveable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nHandshake",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nEnvCubeMapArrayIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_flEdgeFadeDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_vEdgeFadeDists",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_flDiffuseScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Entity_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bDefaultEnvMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bDefaultSpecEnvMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bIndoorCubeMap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bCopyDiffuseFromDefaultCubemap",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvCubemapBox": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvCubemap"
+      },
+      "CEnvCubemapFog": {
+        "fields": {
+          "m_bActive": 1284,
+          "m_bFirstTime": 1321,
+          "m_bHasHeightFogEnd": 1320,
+          "m_bHeightFogEnabled": 1260,
+          "m_bStartDisabled": 1285,
+          "m_flEndDistance": 1248,
+          "m_flFogFalloffExponent": 1256,
+          "m_flFogHeightEnd": 1268,
+          "m_flFogHeightExponent": 1276,
+          "m_flFogHeightStart": 1272,
+          "m_flFogHeightWidth": 1264,
+          "m_flFogMaxOpacity": 1288,
+          "m_flLODBias": 1280,
+          "m_flStartDistance": 1252,
+          "m_hFogCubemapTexture": 1312,
+          "m_hSkyMaterial": 1296,
+          "m_iszSkyEntity": 1304,
+          "m_nCubemapSourceType": 1292
+        },
+        "metadata": [
+          {
+            "name": "m_flEndDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogFalloffExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHeightFogEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFogHeightWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogHeightEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogHeightStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogHeightExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flLODBias",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFogMaxOpacity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nCubemapSourceType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_hSkyMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_iszSkyEntity",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_hFogCubemapTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_bHasHeightFogEnd",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvDecal": {
+        "fields": {
+          "m_bProjectOnCharacters": 1961,
+          "m_bProjectOnWater": 1962,
+          "m_bProjectOnWorld": 1960,
+          "m_flDepth": 1952,
+          "m_flDepthSortBias": 1964,
+          "m_flHeight": 1948,
+          "m_flWidth": 1944,
+          "m_hDecalMaterial": 1936,
+          "m_nRenderOrder": 1956
+        },
+        "metadata": [
+          {
+            "name": "m_hDecalMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_flWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nRenderOrder",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bProjectOnWorld",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bProjectOnCharacters",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bProjectOnWater",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDepthSortBias",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CEnvDetailController": {
+        "fields": {
+          "m_flFadeEndDist": 1252,
+          "m_flFadeStartDist": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_flFadeStartDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFadeEndDist",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvEntityIgniter": {
+        "fields": {
+          "m_flLifetime": 1248
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEnvEntityMaker": {
+        "fields": {
+          "m_angPostSpawnDirection": 1292,
+          "m_bPostSpawnUseAngles": 1312,
+          "m_flPostSpawnDirectionVariance": 1304,
+          "m_flPostSpawnSpeed": 1308,
+          "m_hCurrentBlocker": 1276,
+          "m_hCurrentInstance": 1272,
+          "m_iszTemplate": 1320,
+          "m_pOutputOnFailedSpawn": 1368,
+          "m_pOutputOnSpawned": 1328,
+          "m_vecBlockerOrigin": 1280,
+          "m_vecEntityMaxs": 1260,
+          "m_vecEntityMins": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvExplosion": {
+        "fields": {
+          "m_bCreateDebris": 1968,
+          "m_flDamageForce": 1956,
+          "m_flInnerRadius": 1948,
+          "m_flPlayerDamage": 1940,
+          "m_hEntityIgnore": 2016,
+          "m_hInflictor": 1960,
+          "m_iClassIgnore": 2000,
+          "m_iClassIgnore2": 2004,
+          "m_iCustomDamageType": 1964,
+          "m_iMagnitude": 1936,
+          "m_iRadiusOverride": 1944,
+          "m_iszCustomEffectName": 1984,
+          "m_iszCustomSoundName": 1992,
+          "m_iszEntityIgnoreName": 2008,
+          "m_iszExplosionType": 1976,
+          "m_spriteScale": 1952
+        },
+        "metadata": [],
+        "parent": "CModelPointEntity"
+      },
+      "CEnvFade": {
+        "fields": {
+          "m_Duration": 1252,
+          "m_HoldDuration": 1256,
+          "m_OnBeginFade": 1264,
+          "m_fadeColor": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_fadeColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          }
+        ],
+        "parent": "CLogicalEntity"
+      },
+      "CEnvFireSensor": {
+        "fields": {
+          "m_OnHeatLevelEnd": 1312,
+          "m_OnHeatLevelStart": 1272,
+          "m_bEnabled": 1248,
+          "m_bHeatAtLevel": 1249,
+          "m_levelTime": 1264,
+          "m_radius": 1252,
+          "m_targetLevel": 1256,
+          "m_targetTime": 1260
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEnvFireSource": {
+        "fields": {
+          "m_bEnabled": 1248,
+          "m_damage": 1256,
+          "m_radius": 1252
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEnvFunnel": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEnvGlobal": {
+        "fields": {
+          "m_counter": 1304,
+          "m_globalstate": 1288,
+          "m_initialstate": 1300,
+          "m_outCounter": 1248,
+          "m_triggermode": 1296
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CEnvHudHint": {
+        "fields": {
+          "m_iszMessage": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvInstructorHint": {
+        "fields": {
+          "m_Color": 1312,
+          "m_bAllowNoDrawTarget": 1352,
+          "m_bAutoStart": 1353,
+          "m_bForceCaption": 1329,
+          "m_bLocalPlayerOnly": 1354,
+          "m_bNoOffscreen": 1328,
+          "m_bStatic": 1327,
+          "m_bSuppressRest": 1336,
+          "m_fIconOffset": 1316,
+          "m_fRange": 1320,
+          "m_iAlphaOption": 1325,
+          "m_iDisplayLimit": 1276,
+          "m_iInstanceType": 1332,
+          "m_iPulseOption": 1324,
+          "m_iShakeOption": 1326,
+          "m_iTimeout": 1272,
+          "m_iszActivatorCaption": 1304,
+          "m_iszBinding": 1344,
+          "m_iszCaption": 1296,
+          "m_iszHintTargetEntity": 1264,
+          "m_iszIcon_Offscreen": 1288,
+          "m_iszIcon_Onscreen": 1280,
+          "m_iszName": 1248,
+          "m_iszReplace_Key": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvInstructorVRHint": {
+        "fields": {
+          "m_flHeightOffset": 1308,
+          "m_iAttachType": 1304,
+          "m_iLayoutFileType": 1288,
+          "m_iTimeout": 1264,
+          "m_iszCaption": 1272,
+          "m_iszCustomLayoutFile": 1296,
+          "m_iszHintTargetEntity": 1256,
+          "m_iszName": 1248,
+          "m_iszStartSound": 1280
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvLaser": {
+        "fields": {
+          "m_firePosition": 2120,
+          "m_flStartFrame": 2132,
+          "m_iszLaserTarget": 2096,
+          "m_iszSpriteName": 2112,
+          "m_pSprite": 2104
+        },
+        "metadata": [],
+        "parent": "CBeam"
+      },
+      "CEnvLightProbeVolume": {
+        "fields": {
+          "m_Entity_bEnabled": 5417,
+          "m_Entity_bMoveable": 5368,
+          "m_Entity_bStartDisabled": 5380,
+          "m_Entity_hLightProbeDirectLightIndicesTexture": 5320,
+          "m_Entity_hLightProbeDirectLightScalarsTexture": 5328,
+          "m_Entity_hLightProbeDirectLightShadowsTexture": 5336,
+          "m_Entity_hLightProbeTexture": 5312,
+          "m_Entity_nHandshake": 5372,
+          "m_Entity_nLightProbeAtlasX": 5396,
+          "m_Entity_nLightProbeAtlasY": 5400,
+          "m_Entity_nLightProbeAtlasZ": 5404,
+          "m_Entity_nLightProbeSizeX": 5384,
+          "m_Entity_nLightProbeSizeY": 5388,
+          "m_Entity_nLightProbeSizeZ": 5392,
+          "m_Entity_nPriority": 5376,
+          "m_Entity_vBoxMaxs": 5356,
+          "m_Entity_vBoxMins": 5344
+        },
+        "metadata": [
+          {
+            "name": "m_Entity_hLightProbeTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightIndicesTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightScalarsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_hLightProbeDirectLightShadowsTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_Entity_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_Entity_bMoveable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nHandshake",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeSizeZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_nLightProbeAtlasZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Entity_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvMicrophone": {
+        "fields": {
+          "m_OnHeardSound": 1392,
+          "m_OnRoutedSound": 1352,
+          "m_SoundLevel": 1312,
+          "m_bAvoidFeedback": 1284,
+          "m_bDisabled": 1248,
+          "m_flMaxRange": 1268,
+          "m_flSensitivity": 1260,
+          "m_flSmoothFactor": 1264,
+          "m_hListenFilter": 1304,
+          "m_hMeasureTarget": 1252,
+          "m_hSpeaker": 1280,
+          "m_iLastRoutedFrame": 1688,
+          "m_iSpeakerDSPPreset": 1288,
+          "m_iszListenFilter": 1296,
+          "m_iszSpeakerName": 1272,
+          "m_nSoundFlags": 1258,
+          "m_nSoundType": 1256,
+          "m_szLastSound": 1432
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvMuzzleFlash": {
+        "fields": {
+          "m_flScale": 1248,
+          "m_iszParentAttachment": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvParticleGlow": {
+        "fields": {
+          "m_ColorTint": 3348,
+          "m_flAlphaScale": 3336,
+          "m_flRadiusScale": 3340,
+          "m_flSelfIllumScale": 3344,
+          "m_hTextureOverride": 3352
+        },
+        "metadata": [
+          {
+            "name": "m_flAlphaScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRadiusScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flSelfIllumScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_ColorTint",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_hTextureOverride",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          }
+        ],
+        "parent": "CParticleSystem"
+      },
+      "CEnvProjectedTexture": {
+        "fields": {
+          "m_LightColor": 1960,
+          "m_SpotlightTextureName": 2008,
+          "m_bAlwaysUpdate": 1941,
+          "m_bCameraSpace": 1952,
+          "m_bEnableShadows": 1948,
+          "m_bFlipHorizontal": 2544,
+          "m_bLightOnlyTarget": 1950,
+          "m_bLightWorld": 1951,
+          "m_bSimpleProjection": 1949,
+          "m_bState": 1940,
+          "m_bVolumetric": 1976,
+          "m_flAmbient": 2004,
+          "m_flBrightnessScale": 1956,
+          "m_flColorTransitionTime": 2000,
+          "m_flFarZ": 2532,
+          "m_flFlashlightTime": 1984,
+          "m_flIntensity": 1964,
+          "m_flLightFOV": 1944,
+          "m_flLinearAttenuation": 1968,
+          "m_flNearZ": 2528,
+          "m_flNoiseStrength": 1980,
+          "m_flPlaneOffset": 1992,
+          "m_flProjectionSize": 2536,
+          "m_flQuadraticAttenuation": 1972,
+          "m_flRotation": 2540,
+          "m_flVolumetricIntensity": 1996,
+          "m_hTargetEntity": 1936,
+          "m_nNumPlanes": 1988,
+          "m_nShadowQuality": 2524,
+          "m_nSpotlightTextureFrame": 2520
+        },
+        "metadata": [
+          {
+            "name": "m_hTargetEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bState",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAlwaysUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flLightFOV",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bEnableShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bSimpleProjection",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLightOnlyTarget",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLightWorld",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bCameraSpace",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_LightColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flIntensity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flLinearAttenuation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flQuadraticAttenuation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bVolumetric",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFlashlightTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nNumPlanes",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flPlaneOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flVolumetricIntensity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flColorTransitionTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAmbient",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_SpotlightTextureName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_nSpotlightTextureFrame",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nShadowQuality",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flNearZ",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFarZ",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flProjectionSize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRotation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bFlipHorizontal",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CModelPointEntity"
+      },
+      "CEnvScreenOverlay": {
+        "fields": {
+          "m_bIsActive": 1376,
+          "m_flOverlayTimes": 1328,
+          "m_flStartTime": 1368,
+          "m_iDesiredOverlay": 1372,
+          "m_iszOverlayNames": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_iszOverlayNames",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_flOverlayTimes",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iDesiredOverlay",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_bIsActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPointEntity"
+      },
+      "CEnvShake": {
+        "fields": {
+          "m_Amplitude": 1256,
+          "m_Duration": 1264,
+          "m_Frequency": 1260,
+          "m_Radius": 1268,
+          "m_currentAmp": 1280,
+          "m_limitToEntity": 1248,
+          "m_maxForce": 1284,
+          "m_nextShake": 1276,
+          "m_shakeCallback": 1304,
+          "m_stopTime": 1272
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvSky": {
+        "fields": {
+          "m_bEnabled": 1988,
+          "m_bStartDisabled": 1952,
+          "m_flBrightnessScale": 1964,
+          "m_flFogMaxEnd": 1984,
+          "m_flFogMaxStart": 1980,
+          "m_flFogMinEnd": 1976,
+          "m_flFogMinStart": 1972,
+          "m_hSkyMaterial": 1936,
+          "m_hSkyMaterialLightingOnly": 1944,
+          "m_nFogType": 1968,
+          "m_vTintColor": 1953,
+          "m_vTintColorLightingOnly": 1957
+        },
+        "metadata": [
+          {
+            "name": "m_hSkyMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_hSkyMaterialLightingOnly",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vTintColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_vTintColorLightingOnly",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFogType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogMinStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMinEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CEnvSoundscape": {
+        "fields": {
+          "m_OnPlay": 1248,
+          "m_bDisabled": 1388,
+          "m_bOverrideWithEvent": 1304,
+          "m_flRadius": 1288,
+          "m_hProxySoundscape": 1384,
+          "m_positionNames": 1320,
+          "m_soundEventHash": 1400,
+          "m_soundEventName": 1296,
+          "m_soundscapeEntityListId": 1312,
+          "m_soundscapeIndex": 1308,
+          "m_soundscapeName": 1392
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CEnvSoundscapeAlias_snd_soundscape": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscape"
+      },
+      "CEnvSoundscapeProxy": {
+        "fields": {
+          "m_MainSoundscapeName": 1408
+        },
+        "metadata": [],
+        "parent": "CEnvSoundscape"
+      },
+      "CEnvSoundscapeProxyAlias_snd_soundscape_proxy": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscapeProxy"
+      },
+      "CEnvSoundscapeTriggerable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscape"
+      },
+      "CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEnvSoundscapeTriggerable"
+      },
+      "CEnvSpark": {
+        "fields": {
+          "m_OnSpark": 1264,
+          "m_flDelay": 1248,
+          "m_nMagnitude": 1252,
+          "m_nTrailLength": 1256,
+          "m_nType": 1260
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvSplash": {
+        "fields": {
+          "m_flScale": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvTilt": {
+        "fields": {
+          "m_Duration": 1248,
+          "m_Radius": 1252,
+          "m_TiltTime": 1256,
+          "m_stopTime": 1260
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvTracer": {
+        "fields": {
+          "m_flDelay": 1260,
+          "m_vecEnd": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvViewPunch": {
+        "fields": {
+          "m_angViewPunch": 1252,
+          "m_flRadius": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CEnvVolumetricFogController": {
+        "fields": {
+          "m_bActive": 1320,
+          "m_bEnableIndirect": 1361,
+          "m_bFirstTime": 1400,
+          "m_bIndirectUseLPVs": 1362,
+          "m_bIsMaster": 1363,
+          "m_bStartDisabled": 1360,
+          "m_fFirstVolumeSliceThickness": 1280,
+          "m_fNoiseSpeed": 1380,
+          "m_fNoiseStrength": 1384,
+          "m_flAnisotropy": 1252,
+          "m_flDefaultAnisotropy": 1348,
+          "m_flDefaultDrawDistance": 1356,
+          "m_flDefaultScattering": 1352,
+          "m_flDrawDistance": 1260,
+          "m_flFadeInEnd": 1268,
+          "m_flFadeInStart": 1264,
+          "m_flFadeSpeed": 1256,
+          "m_flIndirectStrength": 1272,
+          "m_flScattering": 1248,
+          "m_flStartAnisoTime": 1324,
+          "m_flStartAnisotropy": 1336,
+          "m_flStartDrawDistance": 1344,
+          "m_flStartDrawDistanceTime": 1332,
+          "m_flStartScatterTime": 1328,
+          "m_flStartScattering": 1340,
+          "m_hFogIndirectTexture": 1368,
+          "m_nForceRefreshCount": 1376,
+          "m_nIndirectTextureDimX": 1284,
+          "m_nIndirectTextureDimY": 1288,
+          "m_nIndirectTextureDimZ": 1292,
+          "m_nVolumeDepth": 1276,
+          "m_vBoxMaxs": 1308,
+          "m_vBoxMins": 1296,
+          "m_vNoiseScale": 1388
+        },
+        "metadata": [
+          {
+            "name": "m_flScattering",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDrawDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeInStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeInEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flIndirectStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nVolumeDepth",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_fFirstVolumeSliceThickness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nIndirectTextureDimX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nIndirectTextureDimY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nIndirectTextureDimZ",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flStartAnisoTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartScatterTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartDrawDistanceTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartScattering",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartDrawDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefaultAnisotropy",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefaultScattering",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefaultDrawDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bEnableIndirect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIndirectUseLPVs",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsMaster",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hFogIndirectTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_nForceRefreshCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_fNoiseSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vNoiseScale",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvVolumetricFogVolume": {
+        "fields": {
+          "m_bActive": 1248,
+          "m_bAllowLPVIndirect": 1315,
+          "m_bOverrideIndirectLightStrength": 1312,
+          "m_bOverrideNoiseStrength": 1314,
+          "m_bOverrideSunLightStrength": 1313,
+          "m_bStartDisabled": 1276,
+          "m_fHeightFogEdgeWidth": 1296,
+          "m_fIndirectLightStrength": 1300,
+          "m_fNoiseStrength": 1308,
+          "m_fSunLightStrength": 1304,
+          "m_flFalloffExponent": 1288,
+          "m_flHeightFogDepth": 1292,
+          "m_flStrength": 1280,
+          "m_nFalloffShape": 1284,
+          "m_vBoxMaxs": 1264,
+          "m_vBoxMins": 1252
+        },
+        "metadata": [
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vBoxMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vBoxMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFalloffShape",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFalloffExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeightFogDepth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fHeightFogEdgeWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fIndirectLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fSunLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bOverrideIndirectLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bOverrideSunLightStrength",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bOverrideNoiseStrength",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAllowLPVIndirect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvWind": {
+        "fields": {
+          "m_EnvWindShared": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_EnvWindShared",
+            "type": "NetworkVarNames",
+            "type_name": "CEnvWindShared"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CEnvWindShared": {
+        "fields": {
+          "m_CurrentSwayVector": 80,
+          "m_OnGustEnd": 152,
+          "m_OnGustStart": 112,
+          "m_PrevSwayVector": 92,
+          "m_bGusting": 212,
+          "m_currentWindVector": 68,
+          "m_flAveWindSpeed": 208,
+          "m_flGustDuration": 36,
+          "m_flInitialWindSpeed": 108,
+          "m_flMaxGustDelay": 32,
+          "m_flMinGustDelay": 28,
+          "m_flSimTime": 200,
+          "m_flStartTime": 8,
+          "m_flSwayTime": 196,
+          "m_flSwitchTime": 204,
+          "m_flVariationTime": 192,
+          "m_flWindAngleVariation": 216,
+          "m_flWindSpeed": 64,
+          "m_flWindSpeedVariation": 220,
+          "m_hEntOwner": 224,
+          "m_iGustDirChange": 40,
+          "m_iInitialWindDir": 104,
+          "m_iMaxGust": 26,
+          "m_iMaxWind": 18,
+          "m_iMinGust": 24,
+          "m_iMinWind": 16,
+          "m_iWindDir": 60,
+          "m_iWindSeed": 12,
+          "m_iszGustSound": 56,
+          "m_location": 44,
+          "m_windRadius": 20
+        },
+        "metadata": [
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_iWindSeed",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_iMinWind",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_iMaxWind",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_windRadius",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iMinGust",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_iMaxGust",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_flMinGustDelay",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flMaxGustDelay",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flGustDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_iGustDirChange",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_location",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_iInitialWindDir",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_flInitialWindSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": null
+      },
+      "CEnvWindShared__WindAveEvent_t": {
+        "fields": {
+          "m_flAveWindSpeed": 4,
+          "m_flStartWindSpeed": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CEnvWindShared__WindVariationEvent_t": {
+        "fields": {
+          "m_flWindAngleVariation": 0,
+          "m_flWindSpeedVariation": 4
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "CFilterAttributeInt": {
+        "fields": {
+          "m_sAttributeName": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterClass": {
+        "fields": {
+          "m_iFilterClass": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterContext": {
+        "fields": {
+          "m_iFilterContext": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterEnemy": {
+        "fields": {
+          "m_flOuterRadius": 1348,
+          "m_flRadius": 1344,
+          "m_iszEnemyName": 1336,
+          "m_iszPlayerName": 1360,
+          "m_nMaxSquadmatesPerEnemy": 1352
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterLOS": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterMassGreater": {
+        "fields": {
+          "m_fFilterMass": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterModel": {
+        "fields": {
+          "m_iFilterModel": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterMultiple": {
+        "fields": {
+          "m_hFilter": 1424,
+          "m_iFilterName": 1344,
+          "m_nFilterCount": 1464,
+          "m_nFilterType": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterName": {
+        "fields": {
+          "m_iFilterName": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFilterProximity": {
+        "fields": {
+          "m_flRadius": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "CFire": {
+        "fields": {
+          "m_OnExtinguished": 2040,
+          "m_OnIgnited": 2000,
+          "m_bDidActivate": 1994,
+          "m_bEnabled": 1992,
+          "m_bStartDisabled": 1993,
+          "m_flAttackTime": 1988,
+          "m_flDamageScale": 1976,
+          "m_flDamageTime": 1952,
+          "m_flFireSize": 1960,
+          "m_flFuel": 1948,
+          "m_flHeatAbsorb": 1972,
+          "m_flHeatLevel": 1968,
+          "m_flLastHeatLevel": 1984,
+          "m_flLastNavUpdateTime": 1964,
+          "m_flMaxHeat": 1980,
+          "m_hEffect": 1936,
+          "m_hOwner": 1940,
+          "m_lastDamage": 1956,
+          "m_nFireType": 1944
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFireCrackerBlast": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CInferno"
+      },
+      "CFireSmoke": {
+        "fields": {
+          "m_nFlameFromAboveModelIndex": 1268,
+          "m_nFlameModelIndex": 1264
+        },
+        "metadata": [
+          {
+            "name": "m_nFlameModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nFlameFromAboveModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": "CBaseFire"
+      },
+      "CFish": {
+        "fields": {
+          "m_angle": 2492,
+          "m_angleChange": 2496,
+          "m_avoidRange": 2556,
+          "m_calmSpeed": 2548,
+          "m_desiredSpeed": 2544,
+          "m_disperseTimer": 2664,
+          "m_forward": 2500,
+          "m_goTimer": 2592,
+          "m_id": 2476,
+          "m_moveTimer": 2616,
+          "m_panicSpeed": 2552,
+          "m_panicTimer": 2640,
+          "m_perp": 2512,
+          "m_pool": 2472,
+          "m_poolOrigin": 2524,
+          "m_proximityTimer": 2688,
+          "m_speed": 2540,
+          "m_turnClockwise": 2584,
+          "m_turnTimer": 2560,
+          "m_visible": 2712,
+          "m_waterLevel": 2536,
+          "m_x": 2480,
+          "m_y": 2484,
+          "m_z": 2488
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_x",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_y",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_z",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_angle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_poolOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_waterLevel",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "CFishPool": {
+        "fields": {
+          "m_fishCount": 1264,
+          "m_fishes": 1288,
+          "m_isDormant": 1280,
+          "m_maxRange": 1268,
+          "m_swimDepth": 1272,
+          "m_visTimer": 1312,
+          "m_waterLevel": 1276
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CFlashbang": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseCSGrenade"
+      },
+      "CFlashbangProjectile": {
+        "fields": {
+          "m_flTimeToDetonate": 2896,
+          "m_numOpponentsHit": 2900,
+          "m_numTeammatesHit": 2901
+        },
+        "metadata": [],
+        "parent": "CBaseCSGrenadeProjectile"
+      },
+      "CFogController": {
+        "fields": {
+          "m_bUseAngles": 1352,
+          "m_fog": 1248,
+          "m_iChangedVariables": 1356
+        },
+        "metadata": [
+          {
+            "name": "m_fog",
+            "type": "NetworkVarNames",
+            "type_name": "fogparams_t"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CFogTrigger": {
+        "fields": {
+          "m_fog": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CFogVolume": {
+        "fields": {
+          "m_bDisabled": 1968,
+          "m_bInFogVolumesList": 1969,
+          "m_colorCorrectionName": 1952,
+          "m_fogName": 1936,
+          "m_postProcessName": 1944
+        },
+        "metadata": [],
+        "parent": "CServerOnlyModelEntity"
+      },
+      "CFootstepControl": {
+        "fields": {
+          "m_destination": 2408,
+          "m_source": 2400
+        },
+        "metadata": [
+          {
+            "name": "m_source",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_destination",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CFuncBrush": {
+        "fields": {
+          "m_bInvertExclusion": 1960,
+          "m_bScriptedMovement": 1961,
+          "m_bSolidBsp": 1944,
+          "m_iDisabled": 1940,
+          "m_iSolidity": 1936,
+          "m_iszExcludedClass": 1952
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncConveyor": {
+        "fields": {
+          "m_angMoveEntitySpace": 1948,
+          "m_flTargetSpeed": 1972,
+          "m_flTransitionDurationSeconds": 1944,
+          "m_flTransitionStartSpeed": 1984,
+          "m_hConveyorModels": 1992,
+          "m_nTransitionDurationTicks": 1980,
+          "m_nTransitionStartTick": 1976,
+          "m_szConveyorModels": 1936,
+          "m_vecMoveDirEntitySpace": 1960
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_vecMoveDirEntitySpace",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flTargetSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nTransitionStartTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_nTransitionDurationTicks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flTransitionStartSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hConveyorModels",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncElectrifiedVolume": {
+        "fields": {
+          "m_EffectInterpenetrateName": 1976,
+          "m_EffectName": 1968,
+          "m_EffectZapName": 1984,
+          "m_iszEffectSource": 1992
+        },
+        "metadata": [
+          {
+            "name": "m_EffectName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "CFuncBrush"
+      },
+      "CFuncIllusionary": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncInteractionLayerClip": {
+        "fields": {
+          "m_bDisabled": 1936,
+          "m_iszInteractsAs": 1944,
+          "m_iszInteractsWith": 1952
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncLadder": {
+        "fields": {
+          "m_Dismounts": 1952,
+          "m_OnPlayerGotOffLadder": 2072,
+          "m_OnPlayerGotOnLadder": 2032,
+          "m_bDisabled": 2016,
+          "m_bFakeLadder": 2017,
+          "m_bHasSlack": 2018,
+          "m_flAutoRideSpeed": 2012,
+          "m_surfacePropName": 2024,
+          "m_vecLadderDir": 1936,
+          "m_vecLocalTop": 1976,
+          "m_vecPlayerMountPositionBottom": 2000,
+          "m_vecPlayerMountPositionTop": 1988
+        },
+        "metadata": [
+          {
+            "name": "m_vecLadderDir",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecPlayerMountPositionTop",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecPlayerMountPositionBottom",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flAutoRideSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bFakeLadder",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncLadderAlias_func_useableladder": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CFuncLadder"
+      },
+      "CFuncMonitor": {
+        "fields": {
+          "m_bDraw3DSkybox": 1997,
+          "m_bEnabled": 1996,
+          "m_bRenderShadows": 1980,
+          "m_bStartEnabled": 1998,
+          "m_bUseUniqueColorTarget": 1981,
+          "m_brushModelName": 1984,
+          "m_hTargetCamera": 1992,
+          "m_nResolutionEnum": 1976,
+          "m_targetCamera": 1968
+        },
+        "metadata": [
+          {
+            "name": "m_targetCamera",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_nResolutionEnum",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseUniqueColorTarget",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_brushModelName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_hTargetCamera",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDraw3DSkybox",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CFuncBrush"
+      },
+      "CFuncMoveLinear": {
+        "fields": {
+          "m_OnFullyClosed": 2176,
+          "m_OnFullyOpen": 2136,
+          "m_angMoveEntitySpace": 2068,
+          "m_authoredPosition": 2064,
+          "m_bCreateMovableNavMesh": 2216,
+          "m_bCreateNavObstacle": 2217,
+          "m_currentSound": 2112,
+          "m_flBlockDamage": 2120,
+          "m_flStartPosition": 2124,
+          "m_soundStart": 2096,
+          "m_soundStop": 2104,
+          "m_vecMoveDirParentSpace": 2080
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseToggle"
+      },
+      "CFuncMoveLinearAlias_momentary_door": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CFuncMoveLinear"
+      },
+      "CFuncMover": {
+        "fields": {
+          "m_OnMovementEnd": 2112,
+          "m_bCreateMovableNavMesh": 1936,
+          "m_bFixedOrientation": 2008,
+          "m_bFixedPitch": 2009,
+          "m_bIsMoving": 2011,
+          "m_bIsReversing": 1972,
+          "m_bStartAtEnd": 2152,
+          "m_eMoveType": 1968,
+          "m_eOrientationUpdate": 2156,
+          "m_eSolidType": 2010,
+          "m_flDistanceToReachMaxSpeed": 2016,
+          "m_flDistanceToReachZeroSpeed": 2024,
+          "m_flDurationBlendToNewOrientationRan": 2168,
+          "m_flPathLocation": 1992,
+          "m_flPathLocationToBeginStop": 2040,
+          "m_flStartSpeed": 1988,
+          "m_flT": 1996,
+          "m_flTimeMovementStart": 2028,
+          "m_flTimeMovementStop": 2032,
+          "m_flTimeStartOrientationChange": 2160,
+          "m_flTimeToBlendToNewOrientation": 2164,
+          "m_flTimeToReachMaxSpeed": 2012,
+          "m_flTimeToReachZeroSpeed": 2020,
+          "m_hPathMover": 1952,
+          "m_hStopAtNode": 2036,
+          "m_iszArriveAtDestinationSound": 2096,
+          "m_iszLoopForwardSound": 2056,
+          "m_iszLoopReverseSound": 2080,
+          "m_iszPathName": 1944,
+          "m_iszPathNodeStart": 1960,
+          "m_iszStartForwardSound": 2048,
+          "m_iszStartReverseSound": 2072,
+          "m_iszStopForwardSound": 2064,
+          "m_iszStopReverseSound": 2088,
+          "m_nCurrentNodeIndex": 2000,
+          "m_nPreviousNodeIndex": 2004,
+          "m_qOriginalOrientation": 2176,
+          "m_vTarget": 1976
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncMoverAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFuncNavBlocker": {
+        "fields": {
+          "m_bDisabled": 1936,
+          "m_nBlockedTeamNumber": 1940
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncNavObstruction": {
+        "fields": {
+          "m_bDisabled": 1944
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncPlat": {
+        "fields": {
+          "m_sNoise": 2104
+        },
+        "metadata": [],
+        "parent": "CBasePlatTrain"
+      },
+      "CFuncPlatRot": {
+        "fields": {
+          "m_end": 2112,
+          "m_start": 2124
+        },
+        "metadata": [],
+        "parent": "CFuncPlat"
+      },
+      "CFuncPropRespawnZone": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CFuncRotating": {
+        "fields": {
+          "m_NoiseRunning": 2096,
+          "m_OnReachedStart": 2016,
+          "m_OnStarted": 1976,
+          "m_OnStopped": 1936,
+          "m_angStart": 2128,
+          "m_bAccelDecel": 2105,
+          "m_bReversed": 2104,
+          "m_bStopAtStartPos": 2140,
+          "m_flAttenuation": 2072,
+          "m_flBlockDamage": 2088,
+          "m_flFanFriction": 2068,
+          "m_flMaxSpeed": 2084,
+          "m_flTargetSpeed": 2080,
+          "m_flVolume": 2076,
+          "m_localRotationVector": 2056,
+          "m_prevLocalAngles": 2116,
+          "m_vecClientAngles": 2156,
+          "m_vecClientOrigin": 2144
+        },
+        "metadata": [
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkOverride",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncShatterglass": {
+        "fields": {
+          "m_OnBroken": 2200,
+          "m_PanelSize": 2056,
+          "m_bBreakShardless": 2085,
+          "m_bBreakSilent": 2084,
+          "m_bBroken": 2086,
+          "m_bGlassInFrame": 2088,
+          "m_bGlassNavIgnore": 2087,
+          "m_bStartBroken": 2089,
+          "m_flGlassThickness": 2076,
+          "m_flInitAtTime": 2072,
+          "m_flLastCleanupTime": 2068,
+          "m_flLastShatterSoundEmitTime": 2064,
+          "m_flSpawnInvulnerability": 2080,
+          "m_hMaterialDamageBase": 2248,
+          "m_iInitialDamageType": 2090,
+          "m_iSurfaceType": 2240,
+          "m_matPanelTransform": 1936,
+          "m_matPanelTransformWsTemp": 1984,
+          "m_szDamagePositioningEntityName01": 2096,
+          "m_szDamagePositioningEntityName02": 2104,
+          "m_szDamagePositioningEntityName03": 2112,
+          "m_szDamagePositioningEntityName04": 2120,
+          "m_vExtraDamagePositions": 2152,
+          "m_vInitialDamagePositions": 2128,
+          "m_vInitialPanelVertices": 2176,
+          "m_vecShatterGlassShards": 2032
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncTankTrain": {
+        "fields": {
+          "m_OnDeath": 2272
+        },
+        "metadata": [],
+        "parent": "CFuncTrackTrain"
+      },
+      "CFuncTimescale": {
+        "fields": {
+          "m_flAcceleration": 1252,
+          "m_flBlendDeltaMultiplier": 1260,
+          "m_flDesiredTimescale": 1248,
+          "m_flMinBlendRate": 1256,
+          "m_isStarted": 1264
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CFuncTrackAuto": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CFuncTrackChange"
+      },
+      "CFuncTrackChange": {
+        "fields": {
+          "m_code": 2184,
+          "m_targetState": 2188,
+          "m_trackBottom": 2144,
+          "m_trackBottomName": 2168,
+          "m_trackTop": 2136,
+          "m_trackTopName": 2160,
+          "m_train": 2152,
+          "m_trainName": 2176,
+          "m_use": 2192
+        },
+        "metadata": [],
+        "parent": "CFuncPlatRot"
+      },
+      "CFuncTrackTrain": {
+        "fields": {
+          "m_OnArrivedAtDestinationNode": 2200,
+          "m_OnNext": 2160,
+          "m_OnStart": 2120,
+          "m_angPrev": 1956,
+          "m_bAccelToSpeed": 2260,
+          "m_bManualSpeedChanges": 2240,
+          "m_controlMaxs": 1980,
+          "m_controlMins": 1968,
+          "m_dir": 2032,
+          "m_eOrientationType": 2100,
+          "m_eVelocityType": 2104,
+          "m_flAccelSpeed": 2252,
+          "m_flBank": 2012,
+          "m_flBlockDamage": 2020,
+          "m_flDecelSpeed": 2256,
+          "m_flDesiredSpeed": 2244,
+          "m_flMoveSoundMaxDuration": 2084,
+          "m_flMoveSoundMaxPitch": 2096,
+          "m_flMoveSoundMinDuration": 2080,
+          "m_flMoveSoundMinPitch": 2092,
+          "m_flNextMPSoundTime": 2264,
+          "m_flNextMoveSoundTime": 2088,
+          "m_flSpeedChangeTime": 2248,
+          "m_flVolume": 2008,
+          "m_height": 2024,
+          "m_iszSoundMove": 2040,
+          "m_iszSoundMovePing": 2048,
+          "m_iszSoundStart": 2056,
+          "m_iszSoundStop": 2064,
+          "m_lastBlockPos": 1992,
+          "m_lastBlockTick": 2004,
+          "m_length": 1940,
+          "m_maxSpeed": 2028,
+          "m_oldSpeed": 2016,
+          "m_ppath": 1936,
+          "m_strPathTarget": 2072,
+          "m_vPosPrev": 1944
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncTrain": {
+        "fields": {
+          "m_activated": 2108,
+          "m_flBlockDamage": 2116,
+          "m_flNextBlockTime": 2120,
+          "m_hCurrentTarget": 2104,
+          "m_hEnemy": 2112,
+          "m_iszLastTarget": 2128
+        },
+        "metadata": [],
+        "parent": "CBasePlatTrain"
+      },
+      "CFuncTrainControls": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncVPhysicsClip": {
+        "fields": {
+          "m_bDisabled": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncVehicleClip": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncWall": {
+        "fields": {
+          "m_nState": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CFuncWallToggle": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CFuncWall"
+      },
+      "CFuncWater": {
+        "fields": {
+          "m_BuoyancyHelper": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CGameEnd": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CRulePointEntity"
+      },
+      "CGameGibManager": {
+        "fields": {
+          "m_bAllowNewGibs": 1280,
+          "m_iCurrentMaxPieces": 1284,
+          "m_iLastFrame": 1292,
+          "m_iMaxPieces": 1288
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CGameMoney": {
+        "fields": {
+          "m_OnMoneySpent": 1952,
+          "m_OnMoneySpentFail": 1992,
+          "m_nMoney": 2032,
+          "m_strAwardText": 2040
+        },
+        "metadata": [],
+        "parent": "CRulePointEntity"
+      },
+      "CGamePlayerEquip": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CRulePointEntity"
+      },
+      "CGamePlayerZone": {
+        "fields": {
+          "m_OnPlayerInZone": 1944,
+          "m_OnPlayerOutZone": 1984,
+          "m_PlayersInCount": 2024,
+          "m_PlayersOutCount": 2064
+        },
+        "metadata": [],
+        "parent": "CRuleBrushEntity"
+      },
+      "CGameRules": {
+        "fields": {
+          "__m_pChainEntity": 8,
+          "m_bGamePaused": 188,
+          "m_nPauseStartTick": 184,
+          "m_nQuestPhase": 176,
+          "m_nTotalPausedTicks": 180,
+          "m_szQuestName": 48
+        },
+        "metadata": [
+          {
+            "name": "m_nTotalPausedTicks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPauseStartTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bGamePaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "CGameRulesProxy": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CGameSceneNode": {
+        "fields": {
+          "m_angAbsRotation": 220,
+          "m_angRotation": 192,
+          "m_bBoneMergeFlex": 0,
+          "m_bDebugAbsOriginChanges": 238,
+          "m_bDirtyBoneMergeBoneToRoot": 0,
+          "m_bDirtyBoneMergeInfo": 0,
+          "m_bDirtyHierarchy": 0,
+          "m_bDormant": 239,
+          "m_bForceParentToBeNetworked": 240,
+          "m_bNetworkedAnglesChanged": 0,
+          "m_bNetworkedPositionChanged": 0,
+          "m_bNetworkedScaleChanged": 0,
+          "m_bWillBeCallingPostDataUpdate": 0,
+          "m_flAbsScale": 232,
+          "m_flClientLocalScale": 320,
+          "m_flScale": 204,
+          "m_flZOffset": 316,
+          "m_hParent": 120,
+          "m_hierarchyAttachName": 312,
+          "m_nDoNotSetAnimTimeInInvalidatePhysicsCount": 245,
+          "m_nHierarchicalDepth": 243,
+          "m_nHierarchyType": 244,
+          "m_nLatchAbsOrigin": 0,
+          "m_nParentAttachmentOrBone": 236,
+          "m_name": 248,
+          "m_nodeToWorld": 16,
+          "m_pChild": 64,
+          "m_pNextSibling": 72,
+          "m_pOwner": 48,
+          "m_pParent": 56,
+          "m_vRenderOrigin": 324,
+          "m_vecAbsOrigin": 208,
+          "m_vecOrigin": 136
+        },
+        "metadata": [
+          {
+            "name": "m_hParent",
+            "type": "NetworkVarNames",
+            "type_name": "CGameSceneNodeHandle"
+          },
+          {
+            "name": "m_vecOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "CNetworkOriginCellCoordQuantizedVector"
+          },
+          {
+            "name": "m_angRotation",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_flScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_name",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_hierarchyAttachName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": null
+      },
+      "CGameSceneNodeHandle": {
+        "fields": {
+          "m_hOwner": 8,
+          "m_name": 12
+        },
+        "metadata": [
+          {
+            "name": "m_hOwner",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          },
+          {
+            "name": "m_name",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": null
+      },
+      "CGameText": {
+        "fields": {
+          "m_iszMessage": 1952,
+          "m_textParms": 1960
+        },
+        "metadata": [],
+        "parent": "CRulePointEntity"
+      },
+      "CGenericConstraint": {
+        "fields": {
+          "m_NotifyForceReachedX": 1552,
+          "m_NotifyForceReachedY": 1592,
+          "m_NotifyForceReachedZ": 1632,
+          "m_bAxisNotifiedX": 1496,
+          "m_bAxisNotifiedY": 1497,
+          "m_bAxisNotifiedZ": 1498,
+          "m_flAngularDampingRatioX": 1524,
+          "m_flAngularDampingRatioY": 1528,
+          "m_flAngularDampingRatioZ": 1532,
+          "m_flAngularFrequencyX": 1512,
+          "m_flAngularFrequencyY": 1516,
+          "m_flAngularFrequencyZ": 1520,
+          "m_flBreakAfterTimeStartTimeX": 1436,
+          "m_flBreakAfterTimeStartTimeY": 1440,
+          "m_flBreakAfterTimeStartTimeZ": 1444,
+          "m_flBreakAfterTimeThresholdX": 1448,
+          "m_flBreakAfterTimeThresholdY": 1452,
+          "m_flBreakAfterTimeThresholdZ": 1456,
+          "m_flBreakAfterTimeX": 1424,
+          "m_flBreakAfterTimeY": 1428,
+          "m_flBreakAfterTimeZ": 1432,
+          "m_flLinearDampingRatioX": 1400,
+          "m_flLinearDampingRatioY": 1404,
+          "m_flLinearDampingRatioZ": 1408,
+          "m_flLinearFrequencyX": 1388,
+          "m_flLinearFrequencyY": 1392,
+          "m_flLinearFrequencyZ": 1396,
+          "m_flMaxAngularImpulseX": 1536,
+          "m_flMaxAngularImpulseY": 1540,
+          "m_flMaxAngularImpulseZ": 1544,
+          "m_flMaxLinearImpulseX": 1412,
+          "m_flMaxLinearImpulseY": 1416,
+          "m_flMaxLinearImpulseZ": 1420,
+          "m_flNotifyForceLastTimeX": 1484,
+          "m_flNotifyForceLastTimeY": 1488,
+          "m_flNotifyForceLastTimeZ": 1492,
+          "m_flNotifyForceMinTimeX": 1472,
+          "m_flNotifyForceMinTimeY": 1476,
+          "m_flNotifyForceMinTimeZ": 1480,
+          "m_flNotifyForceX": 1460,
+          "m_flNotifyForceY": 1464,
+          "m_flNotifyForceZ": 1468,
+          "m_nAngularMotionX": 1500,
+          "m_nAngularMotionY": 1504,
+          "m_nAngularMotionZ": 1508,
+          "m_nLinearMotionX": 1376,
+          "m_nLinearMotionY": 1380,
+          "m_nLinearMotionZ": 1384
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CGlowProperty": {
+        "fields": {
+          "m_bEligibleForScreenHighlight": 80,
+          "m_bFlashing": 68,
+          "m_bGlowing": 81,
+          "m_fGlowColor": 8,
+          "m_flGlowStartTime": 76,
+          "m_flGlowTime": 72,
+          "m_glowColorOverride": 64,
+          "m_iGlowTeam": 52,
+          "m_iGlowType": 48,
+          "m_nGlowRange": 56,
+          "m_nGlowRangeMin": 60
+        },
+        "metadata": [
+          {
+            "name": "m_iGlowType",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_iGlowTeam",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nGlowRange",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_nGlowRangeMin",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_glowColorOverride",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_bFlashing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flGlowTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flGlowStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bEligibleForScreenHighlight",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "CGradientFog": {
+        "fields": {
+          "m_bGradientFogNeedsTextures": 1306,
+          "m_bHeightFogEnabled": 1264,
+          "m_bIsEnabled": 1305,
+          "m_bStartDisabled": 1304,
+          "m_flFadeTime": 1300,
+          "m_flFarZ": 1276,
+          "m_flFogEndDistance": 1260,
+          "m_flFogEndHeight": 1272,
+          "m_flFogFalloffExponent": 1284,
+          "m_flFogMaxOpacity": 1280,
+          "m_flFogStartDistance": 1256,
+          "m_flFogStartHeight": 1268,
+          "m_flFogStrength": 1296,
+          "m_flFogVerticalExponent": 1288,
+          "m_fogColor": 1292,
+          "m_hGradientFogTexture": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_hGradientFogTexture",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_flFogStartDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogEndDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHeightFogEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFogStartHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogEndHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFarZ",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxOpacity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogFalloffExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogVerticalExponent",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_fogColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flFogStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CGunTarget": {
+        "fields": {
+          "m_OnDeath": 2072,
+          "m_hTargetEnt": 2068,
+          "m_on": 2064
+        },
+        "metadata": [],
+        "parent": "CBaseToggle"
+      },
+      "CHEGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseCSGrenade"
+      },
+      "CHEGrenadeProjectile": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseCSGrenadeProjectile"
+      },
+      "CHandleDummy": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CHandleTest": {
+        "fields": {
+          "m_Handle": 1248,
+          "m_bSendHandle": 1252
+        },
+        "metadata": [
+          {
+            "name": "m_Handle",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bSendHandle",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CHitboxComponent": {
+        "fields": {
+          "m_bvDisabledHitGroups": 36
+        },
+        "metadata": [
+          {
+            "name": "m_bvDisabledHitGroups",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": "CEntityComponent"
+      },
+      "CHostage": {
+        "fields": {
+          "m_OnDroppedNotRescued": 2856,
+          "m_OnFirstPickedUp": 2816,
+          "m_OnHostageBeginGrab": 2776,
+          "m_OnRescued": 2896,
+          "m_accel": 3036,
+          "m_bHandsHaveBeenCut": 11517,
+          "m_bRemove": 2972,
+          "m_entitySpottedState": 2936,
+          "m_fLastGrabTime": 11524,
+          "m_flDropStartTime": 11560,
+          "m_flGrabSuccessTime": 11556,
+          "m_flRescueStartTime": 11552,
+          "m_hHostageGrabber": 11520,
+          "m_hasBeenUsed": 3032,
+          "m_inhibitDoorTimer": 11312,
+          "m_inhibitObstacleAvoidanceTimer": 11456,
+          "m_isAdjusted": 11516,
+          "m_isCrouching": 3049,
+          "m_isRescued": 2988,
+          "m_isRunning": 3048,
+          "m_isWaitingForLeader": 3080,
+          "m_jumpTimer": 3056,
+          "m_jumpedThisFrame": 2989,
+          "m_lastLeader": 3000,
+          "m_leader": 2996,
+          "m_nApproachRewardPayouts": 11564,
+          "m_nHostageSpawnRandomFactor": 2968,
+          "m_nHostageState": 2992,
+          "m_nPickupEventCount": 11568,
+          "m_nSpotRules": 2960,
+          "m_repathTimer": 11288,
+          "m_reuseTimer": 3008,
+          "m_uiHostageSpawnExclusionGroupMask": 2964,
+          "m_vecGrabbedPos": 11540,
+          "m_vecHostageResetPosition": 11604,
+          "m_vecPositionWhenStartedDroppingToGround": 11528,
+          "m_vecSpawnGroundPos": 11572,
+          "m_vel": 2976,
+          "m_wiggleTimer": 11488
+        },
+        "metadata": [
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_vel",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_isRescued",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_jumpedThisFrame",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nHostageState",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_leader",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_reuseTimer",
+            "type": "NetworkVarNames",
+            "type_name": "CountdownTimer"
+          },
+          {
+            "name": "m_bHandsHaveBeenCut",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hHostageGrabber",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_flRescueStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flGrabSuccessTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flDropStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          }
+        ],
+        "parent": "CHostageExpresserShim"
+      },
+      "CHostageAlias_info_hostage_spawn": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CHostage"
+      },
+      "CHostageCarriableProp": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CHostageExpresserShim": {
+        "fields": {
+          "m_pExpresser": 2752
+        },
+        "metadata": [],
+        "parent": "CBaseCombatCharacter"
+      },
+      "CHostageRescueZone": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CHostageRescueZoneShim"
+      },
+      "CHostageRescueZoneShim": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CIncendiaryGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CMolotovGrenade"
+      },
+      "CInferno": {
+        "fields": {
+          "m_BookkeepingTimer": 5016,
+          "m_BurnNormal": 3552,
+          "m_InitialSplashVelocity": 4948,
+          "m_NextSpreadTimer": 5040,
+          "m_activeTimer": 4984,
+          "m_bFireIsBurning": 3488,
+          "m_bInPostEffectTime": 4336,
+          "m_bWasCreatedInSmoke": 4344,
+          "m_damageRampTimer": 4912,
+          "m_damageTimer": 4888,
+          "m_extent": 4864,
+          "m_fireCount": 4320,
+          "m_fireParentPositions": 2720,
+          "m_firePositions": 1952,
+          "m_fireSpawnOffset": 5000,
+          "m_nFireEffectTickBegin": 4328,
+          "m_nFireLifetime": 4332,
+          "m_nFiresExtinguishCount": 4340,
+          "m_nInfernoType": 4324,
+          "m_nMaxFlames": 5004,
+          "m_nSourceItemDefIndex": 5064,
+          "m_nSpreadCount": 5008,
+          "m_splashVelocity": 4936,
+          "m_startPos": 4960,
+          "m_vecOriginalSpawnLocation": 4972
+        },
+        "metadata": [
+          {
+            "name": "m_firePositions",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_fireParentPositions",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bFireIsBurning",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_BurnNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_fireCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nInfernoType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nFireEffectTickBegin",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nFireLifetime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bInPostEffectTime",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CInfoData": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CServerOnlyEntity"
+      },
+      "CInfoDeathmatchSpawn": {
+        "fields": {},
+        "metadata": [],
+        "parent": "SpawnPoint"
+      },
+      "CInfoDynamicShadowHint": {
+        "fields": {
+          "m_bDisabled": 1248,
+          "m_flRange": 1252,
+          "m_hLight": 1264,
+          "m_nImportance": 1256,
+          "m_nLightChoice": 1260
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoDynamicShadowHintBox": {
+        "fields": {
+          "m_vBoxMaxs": 1284,
+          "m_vBoxMins": 1272
+        },
+        "metadata": [],
+        "parent": "CInfoDynamicShadowHint"
+      },
+      "CInfoGameEventProxy": {
+        "fields": {
+          "m_flRange": 1256,
+          "m_iszEventName": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoInstructorHintBombTargetA": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoInstructorHintBombTargetB": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoInstructorHintHostageRescueZone": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoInstructorHintTarget": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoLadderDismount": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CInfoLandmark": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoOffscreenPanoramaTexture": {
+        "fields": {
+          "m_AdditionalTargetEntities": 1344,
+          "m_RenderAttrName": 1272,
+          "m_TargetEntities": 1280,
+          "m_bDisabled": 1248,
+          "m_nResolutionX": 1252,
+          "m_nResolutionY": 1256,
+          "m_nTargetChangeCount": 1304,
+          "m_szLayoutFileName": 1264,
+          "m_szTargetsName": 1336,
+          "m_vecCSSClasses": 1312
+        },
+        "metadata": [
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nResolutionX",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nResolutionY",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_szLayoutFileName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_RenderAttrName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_TargetEntities",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseModelEntity>"
+          },
+          {
+            "name": "m_nTargetChangeCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vecCSSClasses",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          }
+        ],
+        "parent": "CPointEntity"
+      },
+      "CInfoParticleTarget": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoPlayerCounterterrorist": {
+        "fields": {},
+        "metadata": [],
+        "parent": "SpawnPoint"
+      },
+      "CInfoPlayerStart": {
+        "fields": {
+          "m_bDisabled": 1248,
+          "m_bIsMaster": 1249,
+          "m_pPawnSubclass": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoPlayerTerrorist": {
+        "fields": {},
+        "metadata": [],
+        "parent": "SpawnPoint"
+      },
+      "CInfoSpawnGroupLandmark": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoSpawnGroupLoadUnload": {
+        "fields": {
+          "m_OnSpawnGroupLoadFinished": 1288,
+          "m_OnSpawnGroupLoadStarted": 1248,
+          "m_OnSpawnGroupUnloadFinished": 1368,
+          "m_OnSpawnGroupUnloadStarted": 1328,
+          "m_bStreamingStarted": 1444,
+          "m_bUnloadingStarted": 1445,
+          "m_flTimeoutInterval": 1440,
+          "m_iszLandmarkName": 1424,
+          "m_iszSpawnGroupFilterName": 1416,
+          "m_iszSpawnGroupName": 1408,
+          "m_sFixedSpawnGroupName": 1432
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CInfoTarget": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoTargetServerOnly": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CServerOnlyPointEntity"
+      },
+      "CInfoTeleportDestination": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CInfoVisibilityBox": {
+        "fields": {
+          "m_bEnabled": 1268,
+          "m_nMode": 1252,
+          "m_vBoxSize": 1256
+        },
+        "metadata": [
+          {
+            "name": "m_nMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vBoxSize",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CInfoWorldLayer": {
+        "fields": {
+          "m_bCreateAsChildSpawnGroup": 1306,
+          "m_bEntitiesSpawned": 1305,
+          "m_bWorldLayerVisible": 1304,
+          "m_hLayerSpawnGroup": 1308,
+          "m_layerName": 1296,
+          "m_pOutputOnEntitiesSpawned": 1248,
+          "m_worldName": 1288
+        },
+        "metadata": [
+          {
+            "name": "m_worldName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_layerName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_bWorldLayerVisible",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bEntitiesSpawned",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CInstancedSceneEntity": {
+        "fields": {
+          "m_bHadOwner": 2628,
+          "m_bIsBackground": 2640,
+          "m_bRemoveOnCompletion": 2641,
+          "m_flPostSpeakDelay": 2632,
+          "m_flPreDelay": 2636,
+          "m_hOwner": 2624,
+          "m_hTarget": 2644
+        },
+        "metadata": [],
+        "parent": "CSceneEntity"
+      },
+      "CInstructorEventEntity": {
+        "fields": {
+          "m_hTargetPlayer": 1264,
+          "m_iszHintTargetEntity": 1256,
+          "m_iszName": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CItem": {
+        "fields": {
+          "m_OnCacheInteraction": 2568,
+          "m_OnGlovePulled": 2608,
+          "m_OnPlayerPickup": 2520,
+          "m_OnPlayerTouch": 2480,
+          "m_bActivateWhenAtRest": 2560,
+          "m_bPhysStartAsleep": 2672,
+          "m_vOriginalSpawnAngles": 2660,
+          "m_vOriginalSpawnOrigin": 2648
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CItemAssaultSuit": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CItem"
+      },
+      "CItemDefuser": {
+        "fields": {
+          "m_entitySpottedState": 2688,
+          "m_nSpotRules": 2712
+        },
+        "metadata": [],
+        "parent": "CItem"
+      },
+      "CItemDefuserAlias_item_defuser": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CItemDefuser"
+      },
+      "CItemDogtags": {
+        "fields": {
+          "m_KillingPlayer": 2692,
+          "m_OwningPlayer": 2688
+        },
+        "metadata": [
+          {
+            "name": "m_OwningPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_KillingPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          }
+        ],
+        "parent": "CItem"
+      },
+      "CItemGeneric": {
+        "fields": {
+          "m_OnPickup": 2816,
+          "m_OnTimeout": 2856,
+          "m_OnTriggerEndTouch": 2976,
+          "m_OnTriggerStartTouch": 2896,
+          "m_OnTriggerTouch": 2936,
+          "m_bAutoStartAmbientSound": 2736,
+          "m_bGlowWhenInTrigger": 3040,
+          "m_bHasPickupRadius": 2697,
+          "m_bHasTriggerRadius": 2696,
+          "m_bPlayerCounterListenerAdded": 2712,
+          "m_bPlayerInTriggerRadius": 2713,
+          "m_bUseable": 3045,
+          "m_flLastPickupCheck": 2708,
+          "m_flPickupRadius": 3024,
+          "m_flPickupRadiusSqr": 2700,
+          "m_flTriggerRadius": 3028,
+          "m_flTriggerRadiusSqr": 2704,
+          "m_glowColor": 3041,
+          "m_hPickupFilter": 2808,
+          "m_hPickupParticleEffect": 2752,
+          "m_hSpawnParticleEffect": 2720,
+          "m_hTimeoutParticleEffect": 2776,
+          "m_hTriggerHelper": 3048,
+          "m_pAllowPickupScriptFunction": 3016,
+          "m_pAmbientSoundEffect": 2728,
+          "m_pPickupFilterName": 2800,
+          "m_pPickupScriptFunction": 2768,
+          "m_pPickupSoundEffect": 2760,
+          "m_pSpawnScriptFunction": 2744,
+          "m_pTimeoutScriptFunction": 2792,
+          "m_pTimeoutSoundEffect": 2784,
+          "m_pTriggerSoundEffect": 3032
+        },
+        "metadata": [],
+        "parent": "CItem"
+      },
+      "CItemGenericTriggerHelper": {
+        "fields": {
+          "m_hParentItem": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CItemHeavyAssaultSuit": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CItemAssaultSuit"
+      },
+      "CItemKevlar": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CItem"
+      },
+      "CItemSoda": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CItem_Healthshot": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CWeaponBaseItem"
+      },
+      "CKeepUpright": {
+        "fields": {
+          "m_angularLimit": 1300,
+          "m_attachedObject": 1296,
+          "m_bActive": 1304,
+          "m_bDampAllRotation": 1305,
+          "m_localTestAxis": 1268,
+          "m_nameAttach": 1288,
+          "m_worldGoalAxis": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CKnife": {
+        "fields": {
+          "m_bFirstAttack": 3944
+        },
+        "metadata": [
+          {
+            "name": "m_bFirstAttack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CCSWeaponBase"
+      },
+      "CLightComponent": {
+        "fields": {
+          "__m_pChainEntity": 56,
+          "m_Color": 117,
+          "m_Pattern": 216,
+          "m_SecondaryColor": 121,
+          "m_SkyAmbientBounce": 396,
+          "m_SkyColor": 388,
+          "m_bEnabled": 308,
+          "m_bFlicker": 309,
+          "m_bMixedShadows": 401,
+          "m_bPrecomputedFieldsValid": 310,
+          "m_bPvsModifyEntity": 432,
+          "m_bRenderDiffuse": 192,
+          "m_bRenderToCubemaps": 280,
+          "m_bRenderTransmissive": 200,
+          "m_bUseSecondaryColor": 400,
+          "m_bUsesBakedShadowing": 268,
+          "m_flAttenuation0": 148,
+          "m_flAttenuation1": 152,
+          "m_flAttenuation2": 156,
+          "m_flBrightness": 128,
+          "m_flBrightnessMult": 136,
+          "m_flBrightnessScale": 132,
+          "m_flCapsuleLength": 408,
+          "m_flFadeMaxDist": 296,
+          "m_flFadeMinDist": 292,
+          "m_flFalloff": 144,
+          "m_flFogContributionStength": 380,
+          "m_flLightStyleStartTime": 404,
+          "m_flMinRoughness": 412,
+          "m_flNearClipPlane": 384,
+          "m_flOrthoLightHeight": 208,
+          "m_flOrthoLightWidth": 204,
+          "m_flPhi": 164,
+          "m_flPrecomputedMaxRange": 372,
+          "m_flRange": 140,
+          "m_flShadowCascadeCrossFade": 228,
+          "m_flShadowCascadeDistance0": 236,
+          "m_flShadowCascadeDistance1": 240,
+          "m_flShadowCascadeDistance2": 244,
+          "m_flShadowCascadeDistance3": 248,
+          "m_flShadowCascadeDistanceFade": 232,
+          "m_flShadowFadeMaxDist": 304,
+          "m_flShadowFadeMinDist": 300,
+          "m_flSkyIntensity": 392,
+          "m_flTheta": 160,
+          "m_hLightCookie": 168,
+          "m_nBakedShadowIndex": 276,
+          "m_nCascadeRenderStaticObjects": 224,
+          "m_nCascades": 176,
+          "m_nCastShadows": 180,
+          "m_nDirectLight": 284,
+          "m_nFogLightingMode": 376,
+          "m_nIndirectLight": 288,
+          "m_nRenderSpecular": 196,
+          "m_nShadowCascadeResolution0": 252,
+          "m_nShadowCascadeResolution1": 256,
+          "m_nShadowCascadeResolution2": 260,
+          "m_nShadowCascadeResolution3": 264,
+          "m_nShadowHeight": 188,
+          "m_nShadowPriority": 272,
+          "m_nShadowWidth": 184,
+          "m_nStyle": 212,
+          "m_vPrecomputedBoundsMaxs": 324,
+          "m_vPrecomputedBoundsMins": 312,
+          "m_vPrecomputedOBBAngles": 348,
+          "m_vPrecomputedOBBExtent": 360,
+          "m_vPrecomputedOBBOrigin": 336
+        },
+        "metadata": [
+          {
+            "name": "m_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_SecondaryColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightnessScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBrightnessMult",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFalloff",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAttenuation0",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAttenuation1",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAttenuation2",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTheta",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flPhi",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_hLightCookie",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_nCascades",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCastShadows",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowWidth",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowHeight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderDiffuse",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nRenderSpecular",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderTransmissive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flOrthoLightWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flOrthoLightHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nStyle",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_Pattern",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_nCascadeRenderStaticObjects",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flShadowCascadeCrossFade",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistanceFade",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance0",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance1",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance2",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowCascadeDistance3",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nShadowCascadeResolution0",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowCascadeResolution1",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowCascadeResolution2",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nShadowCascadeResolution3",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bUsesBakedShadowing",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nShadowPriority",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nBakedShadowIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bRenderToCubemaps",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nDirectLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nIndirectLight",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFadeMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flShadowFadeMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFlicker",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPrecomputedFieldsValid",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedBoundsMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBOrigin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vPrecomputedOBBAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_vPrecomputedOBBExtent",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flPrecomputedMaxRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nFogLightingMode",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flFogContributionStength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flNearClipPlane",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_SkyColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flSkyIntensity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_SkyAmbientBounce",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_bUseSecondaryColor",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMixedShadows",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flLightStyleStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flCapsuleLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinRoughness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CEntityComponent"
+      },
+      "CLightDirectionalEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CLightEntity"
+      },
+      "CLightEntity": {
+        "fields": {
+          "m_CLightComponent": 1936
+        },
+        "metadata": [
+          {
+            "name": "m_CLightComponent",
+            "type": "NetworkVarNames",
+            "type_name": "CLightComponent::Storage_t"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CLightEnvironmentEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CLightDirectionalEntity"
+      },
+      "CLightGlow": {
+        "fields": {
+          "m_flGlowProxySize": 1956,
+          "m_flHDRColorScale": 1960,
+          "m_nHorizontalSize": 1936,
+          "m_nMaxDist": 1948,
+          "m_nMinDist": 1944,
+          "m_nOuterMaxDist": 1952,
+          "m_nVerticalSize": 1940
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_nHorizontalSize",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nVerticalSize",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nMinDist",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nOuterMaxDist",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flGlowProxySize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CLightOrthoEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CLightEntity"
+      },
+      "CLightSpotEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CLightEntity"
+      },
+      "CLogicAchievement": {
+        "fields": {
+          "m_OnFired": 1264,
+          "m_bDisabled": 1248,
+          "m_iszAchievementEventID": 1256
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicActiveAutosave": {
+        "fields": {
+          "m_TriggerHitPoints": 1264,
+          "m_flDangerousTime": 1276,
+          "m_flStartTime": 1272,
+          "m_flTimeToTrigger": 1268
+        },
+        "metadata": [],
+        "parent": "CLogicAutosave"
+      },
+      "CLogicAuto": {
+        "fields": {
+          "m_OnBackgroundMap": 1448,
+          "m_OnDemoMapSpawn": 1288,
+          "m_OnLoadGame": 1368,
+          "m_OnMapSpawn": 1248,
+          "m_OnMapTransition": 1408,
+          "m_OnMultiNewMap": 1488,
+          "m_OnMultiNewRound": 1528,
+          "m_OnNewGame": 1328,
+          "m_OnVREnabled": 1568,
+          "m_OnVRNotEnabled": 1608,
+          "m_globalstate": 1648
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CLogicAutosave": {
+        "fields": {
+          "m_bForceNewLevelUnit": 1248,
+          "m_minHitPoints": 1252,
+          "m_minHitPointsToCommit": 1256
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicBranch": {
+        "fields": {
+          "m_Listeners": 1256,
+          "m_OnFalse": 1320,
+          "m_OnTrue": 1280,
+          "m_bInValue": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicBranchList": {
+        "fields": {
+          "m_LogicBranchList": 1376,
+          "m_OnAllFalse": 1448,
+          "m_OnAllTrue": 1408,
+          "m_OnMixed": 1488,
+          "m_eLastState": 1400,
+          "m_nLogicBranchNames": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicCase": {
+        "fields": {
+          "m_OnCase": 1544,
+          "m_OnDefault": 2824,
+          "m_nCase": 1248,
+          "m_nLastShuffleCase": 1508,
+          "m_nShuffleCases": 1504,
+          "m_uchShuffleCaseMap": 1512
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicCollisionPair": {
+        "fields": {
+          "m_disabled": 1265,
+          "m_nameAttach1": 1248,
+          "m_nameAttach2": 1256,
+          "m_succeeded": 1266,
+          "m_supportMultipleEntitiesWithSameName": 1264
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicCompare": {
+        "fields": {
+          "m_OnEqualTo": 1296,
+          "m_OnGreaterThan": 1376,
+          "m_OnLessThan": 1256,
+          "m_OnNotEqualTo": 1336,
+          "m_flCompareValue": 1252,
+          "m_flInValue": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicDistanceAutosave": {
+        "fields": {
+          "m_bCheckCough": 1261,
+          "m_bForceNewLevelUnit": 1260,
+          "m_bThinkDangerous": 1262,
+          "m_flDangerousTime": 1264,
+          "m_flDistanceToPlayer": 1256,
+          "m_iszTargetEntity": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicDistanceCheck": {
+        "fields": {
+          "m_InZone1": 1272,
+          "m_InZone2": 1312,
+          "m_InZone3": 1352,
+          "m_flZone1Distance": 1264,
+          "m_flZone2Distance": 1268,
+          "m_iszEntityA": 1248,
+          "m_iszEntityB": 1256
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicEventListener": {
+        "fields": {
+          "m_OnEventFired": 1280,
+          "m_bIsEnabled": 1272,
+          "m_nTeam": 1276,
+          "m_strEventName": 1264
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicGameEvent": {
+        "fields": {
+          "m_iszEventName": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicGameEventListener": {
+        "fields": {
+          "m_OnEventFired": 1264,
+          "m_bEnabled": 1320,
+          "m_bStartDisabled": 1321,
+          "m_iszGameEventItem": 1312,
+          "m_iszGameEventName": 1304
+        },
+        "metadata": [
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicLineToEntity": {
+        "fields": {
+          "m_EndEntity": 1300,
+          "m_Line": 1248,
+          "m_SourceName": 1288,
+          "m_StartEntity": 1296
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicMeasureMovement": {
+        "fields": {
+          "m_flScale": 1288,
+          "m_hMeasureReference": 1276,
+          "m_hMeasureTarget": 1272,
+          "m_hTarget": 1280,
+          "m_hTargetReference": 1284,
+          "m_nMeasureType": 1292,
+          "m_strMeasureReference": 1256,
+          "m_strMeasureTarget": 1248,
+          "m_strTargetReference": 1264
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicNPCCounter": {
+        "fields": {
+          "m_OnFactorAll": 1328,
+          "m_OnFactor_1": 1488,
+          "m_OnFactor_2": 1648,
+          "m_OnFactor_3": 1808,
+          "m_OnMaxCountAll": 1288,
+          "m_OnMaxCount_1": 1448,
+          "m_OnMaxCount_2": 1608,
+          "m_OnMaxCount_3": 1768,
+          "m_OnMinCountAll": 1248,
+          "m_OnMinCount_1": 1408,
+          "m_OnMinCount_2": 1568,
+          "m_OnMinCount_3": 1728,
+          "m_OnMinPlayerDistAll": 1368,
+          "m_OnMinPlayerDist_1": 1528,
+          "m_OnMinPlayerDist_2": 1688,
+          "m_OnMinPlayerDist_3": 1848,
+          "m_bDisabled": 1908,
+          "m_bInvertState_1": 1948,
+          "m_bInvertState_2": 1988,
+          "m_bInvertState_3": 2028,
+          "m_flDefaultDist_1": 1972,
+          "m_flDefaultDist_2": 2012,
+          "m_flDefaultDist_3": 2052,
+          "m_flDistanceMax": 1904,
+          "m_hSource": 1888,
+          "m_iszNPCClassname_1": 1936,
+          "m_iszNPCClassname_2": 1976,
+          "m_iszNPCClassname_3": 2016,
+          "m_iszSourceEntityName": 1896,
+          "m_nMaxCountAll": 1916,
+          "m_nMaxCount_1": 1956,
+          "m_nMaxCount_2": 1996,
+          "m_nMaxCount_3": 2036,
+          "m_nMaxFactorAll": 1924,
+          "m_nMaxFactor_1": 1964,
+          "m_nMaxFactor_2": 2004,
+          "m_nMaxFactor_3": 2044,
+          "m_nMinCountAll": 1912,
+          "m_nMinCount_1": 1952,
+          "m_nMinCount_2": 1992,
+          "m_nMinCount_3": 2032,
+          "m_nMinFactorAll": 1920,
+          "m_nMinFactor_1": 1960,
+          "m_nMinFactor_2": 2000,
+          "m_nMinFactor_3": 2040,
+          "m_nNPCState_1": 1944,
+          "m_nNPCState_2": 1984,
+          "m_nNPCState_3": 2024
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CLogicNPCCounterAABB": {
+        "fields": {
+          "m_vDistanceOuterMaxs": 2092,
+          "m_vDistanceOuterMins": 2080,
+          "m_vOuterMaxs": 2116,
+          "m_vOuterMins": 2104
+        },
+        "metadata": [],
+        "parent": "CLogicNPCCounter"
+      },
+      "CLogicNPCCounterOBB": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CLogicNPCCounterAABB"
+      },
+      "CLogicNavigation": {
+        "fields": {
+          "m_isOn": 1256,
+          "m_navProperty": 1260
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicPlayerProxy": {
+        "fields": {
+          "m_PlayerDied": 1336,
+          "m_PlayerHasAmmo": 1256,
+          "m_PlayerHasNoAmmo": 1296,
+          "m_RequestedPlayerHealth": 1376,
+          "m_hPlayer": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicProximity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CLogicRelay": {
+        "fields": {
+          "m_OnSpawn": 1288,
+          "m_OnTrigger": 1248,
+          "m_bDisabled": 1328,
+          "m_bFastRetrigger": 1331,
+          "m_bPassthoughCaller": 1332,
+          "m_bTriggerOnce": 1330,
+          "m_bWaitForRefire": 1329
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CLogicScript": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CLogicalEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CServerOnlyEntity"
+      },
+      "CMapInfo": {
+        "fields": {
+          "m_bDisableAutoGeneratedDMSpawns": 1261,
+          "m_bFadePlayerVisibilityFarZ": 1272,
+          "m_bRainTraceToSkyEnabled": 1273,
+          "m_bUseNormalSpawnsForDM": 1260,
+          "m_flBombRadius": 1252,
+          "m_flBotMaxVisionDistance": 1264,
+          "m_iBuyingStatus": 1248,
+          "m_iHostageCount": 1268,
+          "m_iPetPopulation": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CMapVetoPickController": {
+        "fields": {
+          "m_OnLevelTransition": 3808,
+          "m_OnMapPicked": 3688,
+          "m_OnMapVetoed": 3648,
+          "m_OnNewPhaseStarted": 3768,
+          "m_OnSidesPicked": 3728,
+          "m_bNeedToPlayFiveSecondsRemaining": 1249,
+          "m_bPlayedIntroVcd": 1248,
+          "m_bPreMatchDraftStateChanged": 1288,
+          "m_dblPreMatchDraftSequenceTime": 1280,
+          "m_nAccountIDs": 1584,
+          "m_nCurrentPhase": 3632,
+          "m_nDraftType": 1292,
+          "m_nMapId0": 1840,
+          "m_nMapId1": 2096,
+          "m_nMapId2": 2352,
+          "m_nMapId3": 2608,
+          "m_nMapId4": 2864,
+          "m_nMapId5": 3120,
+          "m_nPhaseDurationTicks": 3640,
+          "m_nPhaseStartTick": 3636,
+          "m_nStartingSide0": 3376,
+          "m_nTeamWinningCoinToss": 1296,
+          "m_nTeamWithFirstChoice": 1300,
+          "m_nVoteMapIdsList": 1556
+        },
+        "metadata": [
+          {
+            "name": "m_nDraftType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nTeamWinningCoinToss",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nTeamWithFirstChoice",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVoteMapIdsList",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nAccountIDs",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId0",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId1",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId2",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId3",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId4",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nMapId5",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nStartingSide0",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nCurrentPhase",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPhaseStartTick",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPhaseDurationTicks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CMarkupVolume": {
+        "fields": {
+          "m_bDisabled": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CMarkupVolumeTagged": {
+        "fields": {
+          "m_bGroupByPrefab": 1993,
+          "m_bGroupByVolume": 1994,
+          "m_bGroupOtherGroups": 1995,
+          "m_bIsGroup": 1992,
+          "m_bIsInGroup": 1996
+        },
+        "metadata": [],
+        "parent": "CMarkupVolume"
+      },
+      "CMarkupVolumeTagged_Nav": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CMarkupVolumeTagged"
+      },
+      "CMarkupVolumeTagged_NavGame": {
+        "fields": {
+          "m_bFloodFillAttribute": 2024
+        },
+        "metadata": [],
+        "parent": "CMarkupVolumeWithRef"
+      },
+      "CMarkupVolumeWithRef": {
+        "fields": {
+          "m_bUseRef": 2000,
+          "m_flRefDot": 2016,
+          "m_vRefPos": 2004
+        },
+        "metadata": [],
+        "parent": "CMarkupVolumeTagged"
+      },
+      "CMathColorBlend": {
+        "fields": {
+          "m_OutColor1": 1256,
+          "m_OutColor2": 1260,
+          "m_OutValue": 1264,
+          "m_flInMax": 1252,
+          "m_flInMin": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CMathCounter": {
+        "fields": {
+          "m_OnChangedFromMax": 1464,
+          "m_OnChangedFromMin": 1424,
+          "m_OnGetValue": 1304,
+          "m_OnHitMax": 1384,
+          "m_OnHitMin": 1344,
+          "m_OutValue": 1264,
+          "m_bDisabled": 1258,
+          "m_bHitMax": 1257,
+          "m_bHitMin": 1256,
+          "m_flMax": 1252,
+          "m_flMin": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CMathRemap": {
+        "fields": {
+          "m_OnFellBelowMax": 1432,
+          "m_OnFellBelowMin": 1392,
+          "m_OnRoseAboveMax": 1352,
+          "m_OnRoseAboveMin": 1312,
+          "m_OutValue": 1272,
+          "m_bEnabled": 1268,
+          "m_flInMax": 1252,
+          "m_flInMin": 1248,
+          "m_flOldInValue": 1264,
+          "m_flOut1": 1256,
+          "m_flOut2": 1260
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CMessage": {
+        "fields": {
+          "m_MessageAttenuation": 1260,
+          "m_MessageVolume": 1256,
+          "m_OnShowMessage": 1280,
+          "m_Radius": 1264,
+          "m_iszMessage": 1248,
+          "m_sNoise": 1272
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CMessageEntity": {
+        "fields": {
+          "m_bDeveloperOnly": 1265,
+          "m_bEnabled": 1266,
+          "m_drawText": 1264,
+          "m_messageText": 1256,
+          "m_radius": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CModelPointEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CModelState": {
+        "fields": {
+          "m_MeshGroupMask": 408,
+          "m_ModelName": 168,
+          "m_bClientClothCreationSuppressed": 232,
+          "m_hModel": 160,
+          "m_nClothUpdateFlags": 540,
+          "m_nForceLOD": 539,
+          "m_nIdealMotionType": 538
+        },
+        "metadata": [
+          {
+            "name": "m_hModel",
+            "type": "NetworkVarNames",
+            "type_name": "HModelStrong"
+          },
+          {
+            "name": "m_bClientClothCreationSuppressed",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_MeshGroupMask",
+            "type": "NetworkVarNames",
+            "type_name": "MeshGroupMask_t"
+          },
+          {
+            "name": "m_nIdealMotionType",
+            "type": "NetworkVarNames",
+            "type_name": "int8"
+          }
+        ],
+        "parent": null
+      },
+      "CMolotovGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseCSGrenade"
+      },
+      "CMolotovProjectile": {
+        "fields": {
+          "m_bDetonated": 2908,
+          "m_bHasBouncedOffPlayer": 3136,
+          "m_bIsIncGrenade": 2896,
+          "m_stillTimer": 2912
+        },
+        "metadata": [
+          {
+            "name": "m_bIsIncGrenade",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseCSGrenadeProjectile"
+      },
+      "CMomentaryRotButton": {
+        "fields": {
+          "m_IdealYaw": 2628,
+          "m_OnFullyClosed": 2520,
+          "m_OnFullyOpen": 2480,
+          "m_OnReachedPosition": 2560,
+          "m_OnUnpressed": 2440,
+          "m_Position": 2400,
+          "m_bUpdateTarget": 2640,
+          "m_direction": 2644,
+          "m_end": 2616,
+          "m_flStartPosition": 2652,
+          "m_lastUsed": 2600,
+          "m_returnSpeed": 2648,
+          "m_sNoise": 2632,
+          "m_start": 2604
+        },
+        "metadata": [],
+        "parent": "CRotButton"
+      },
+      "CMoverPathNode": {
+        "fields": {
+          "m_OnPassThrough": 1280,
+          "m_OnPassThroughForward": 1320,
+          "m_OnPassThroughReverse": 1360,
+          "m_hMover": 1400,
+          "m_szParentPathUniqueID": 1272,
+          "m_vInTangentLocal": 1248,
+          "m_vOutTangentLocal": 1260
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CMultiLightProxy": {
+        "fields": {
+          "m_bPerformScreenFade": 1272,
+          "m_flBrightnessDelta": 1268,
+          "m_flCurrentBrightnessMultiplier": 1280,
+          "m_flLightRadiusFilter": 1264,
+          "m_flTargetBrightnessMultiplier": 1276,
+          "m_iszLightClassFilter": 1256,
+          "m_iszLightNameFilter": 1248,
+          "m_vecLights": 1288
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CMultiSource": {
+        "fields": {
+          "m_OnTrigger": 1504,
+          "m_globalstate": 1552,
+          "m_iTotal": 1544,
+          "m_rgEntities": 1248,
+          "m_rgTriggered": 1376
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CMultiplayRules": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CGameRules"
+      },
+      "CNavLinkAreaEntity": {
+        "fields": {
+          "m_OnNavLinkFinish": 1368,
+          "m_OnNavLinkStart": 1328,
+          "m_bEnabled": 1304,
+          "m_bIsTerminus": 1408,
+          "m_flWidth": 1248,
+          "m_hFilter": 1320,
+          "m_nNavLinkIdForward": 1296,
+          "m_nNavLinkIdReverse": 1300,
+          "m_qLocatorAnglesOffset": 1264,
+          "m_strFilterName": 1312,
+          "m_strMovementForward": 1280,
+          "m_strMovementReverse": 1288,
+          "m_vLocatorOffset": 1252
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CNavSpaceInfo": {
+        "fields": {
+          "m_bCreateFlightSpace": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CNavWalkable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CNetworkedSequenceOperation": {
+        "fields": {
+          "m_bDiscontinuity": 29,
+          "m_bSequenceChangeNetworked": 28,
+          "m_flCycle": 16,
+          "m_flPrevCycle": 12,
+          "m_flPrevCycleForAnimEventDetection": 36,
+          "m_flPrevCycleFromDiscontinuity": 32,
+          "m_flWeight": 20,
+          "m_hSequence": 8
+        },
+        "metadata": [
+          {
+            "name": "m_hSequence",
+            "type": "NetworkVarNames",
+            "type_name": "HSequence"
+          },
+          {
+            "name": "m_flPrevCycle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flCycle",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": null
+      },
+      "CNullEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "COmniLight": {
+        "fields": {
+          "m_bShowLight": 2744,
+          "m_flInnerAngle": 2736,
+          "m_flOuterAngle": 2740
+        },
+        "metadata": [
+          {
+            "name": "m_flInnerAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flOuterAngle",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bShowLight",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBarnLight"
+      },
+      "COrnamentProp": {
+        "fields": {
+          "m_initialOwner": 3160
+        },
+        "metadata": [],
+        "parent": "CDynamicProp"
+      },
+      "CParticleSystem": {
+        "fields": {
+          "m_bActive": 2448,
+          "m_bAnimateDuringGameplayPause": 2460,
+          "m_bFrozen": 2449,
+          "m_bNoFreeze": 2789,
+          "m_bNoRamp": 2790,
+          "m_bNoSave": 2788,
+          "m_bStartActive": 2791,
+          "m_clrTint": 3332,
+          "m_flFreezeTransitionDuration": 2452,
+          "m_flPreSimTime": 2476,
+          "m_flStartTime": 2472,
+          "m_hControlPointEnts": 2532,
+          "m_iEffectIndex": 2464,
+          "m_iServerControlPointAssignments": 2528,
+          "m_iszControlPointNames": 2800,
+          "m_iszEffectName": 2792,
+          "m_nDataCP": 3312,
+          "m_nStopType": 2456,
+          "m_nTintCP": 3328,
+          "m_szSnapshotFileName": 1936,
+          "m_vServerControlPoints": 2480,
+          "m_vecDataCPValue": 3316
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_szSnapshotFileName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFrozen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFreezeTransitionDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nStopType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bAnimateDuringGameplayPause",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinitionStrong"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flPreSimTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_vServerControlPoints",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_iServerControlPointAssignments",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hControlPointEnts",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bNoSave",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoFreeze",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoRamp",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CPathCorner": {
+        "fields": {
+          "m_OnPass": 1256,
+          "m_flRadius": 1252,
+          "m_flWait": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPathCornerCrash": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPathCorner"
+      },
+      "CPathKeyFrame": {
+        "fields": {
+          "m_Angles": 1260,
+          "m_Origin": 1248,
+          "m_flMoveSpeed": 1328,
+          "m_flNextTime": 1304,
+          "m_iNextKey": 1296,
+          "m_pNextKey": 1312,
+          "m_pPrevKey": 1320,
+          "m_qAngle": 1280
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CPathMover": {
+        "fields": {
+          "m_bClosedLoop": 1284,
+          "m_flPathLength": 1280,
+          "m_vecPathNodes": 1256
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CPathParticleRope": {
+        "fields": {
+          "m_ColorTint": 1308,
+          "m_PathNodes_Color": 1400,
+          "m_PathNodes_Name": 1272,
+          "m_PathNodes_PinEnabled": 1424,
+          "m_PathNodes_Position": 1328,
+          "m_PathNodes_RadiusScale": 1448,
+          "m_PathNodes_TangentIn": 1352,
+          "m_PathNodes_TangentOut": 1376,
+          "m_bStartActive": 1256,
+          "m_flMaxSimulationTime": 1260,
+          "m_flParticleSpacing": 1296,
+          "m_flRadius": 1304,
+          "m_flSlack": 1300,
+          "m_iEffectIndex": 1320,
+          "m_iszEffectName": 1264,
+          "m_nEffectState": 1312
+        },
+        "metadata": [
+          {
+            "name": "m_flParticleSpacing",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSlack",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_ColorTint",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_nEffectState",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEffectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HParticleSystemDefinitionStrong"
+          },
+          {
+            "name": "m_PathNodes_Position",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_TangentIn",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_TangentOut",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_PathNodes_PinEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_PathNodes_RadiusScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CPathParticleRopeAlias_path_particle_rope_clientside": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPathParticleRope"
+      },
+      "CPathSimple": {
+        "fields": {
+          "m_pathString": 1336
+        },
+        "metadata": [
+          {
+            "name": "m_pathString",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CPathSimpleAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPathTrack": {
+        "fields": {
+          "m_OnPass": 1296,
+          "m_altName": 1280,
+          "m_eOrientationType": 1292,
+          "m_flRadius": 1272,
+          "m_length": 1276,
+          "m_nIterVal": 1288,
+          "m_paltpath": 1264,
+          "m_pnext": 1248,
+          "m_pprevious": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPhysBallSocket": {
+        "fields": {
+          "m_bEnableSwingLimit": 1372,
+          "m_bEnableTwistLimit": 1380,
+          "m_flJointFriction": 1368,
+          "m_flMaxTwistAngle": 1388,
+          "m_flMinTwistAngle": 1384,
+          "m_flSwingLimit": 1376
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysBox": {
+        "fields": {
+          "m_OnAwakened": 2232,
+          "m_OnDamaged": 2192,
+          "m_OnMotionEnabled": 2272,
+          "m_OnPlayerUse": 2312,
+          "m_OnStartTouch": 2352,
+          "m_angPreferredCarryAngles": 2164,
+          "m_bEnableUseOutput": 2177,
+          "m_bNotSolidToWorld": 2176,
+          "m_damageToEnableMotion": 2156,
+          "m_damageType": 2152,
+          "m_flForceToEnableMotion": 2160,
+          "m_flTouchOutputPerEntityDelay": 2184,
+          "m_hCarryingPlayer": 2392,
+          "m_iExploitableByPlayer": 2180
+        },
+        "metadata": [],
+        "parent": "CBreakable"
+      },
+      "CPhysConstraint": {
+        "fields": {
+          "m_OnBreak": 1328,
+          "m_bSnapObjectPositions": 1320,
+          "m_breakSound": 1296,
+          "m_forceLimit": 1304,
+          "m_hAttach1": 1272,
+          "m_hAttach2": 1276,
+          "m_minTeleportDistance": 1316,
+          "m_nameAttach1": 1256,
+          "m_nameAttach2": 1264,
+          "m_nameAttachment1": 1280,
+          "m_nameAttachment2": 1288,
+          "m_teleportTick": 1312,
+          "m_torqueLimit": 1308
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CPhysExplosion": {
+        "fields": {
+          "m_OnPushedPlayer": 1288,
+          "m_bConvertToDebrisWhenPossible": 1280,
+          "m_bExplodeOnSpawn": 1248,
+          "m_flDamage": 1256,
+          "m_flInnerRadius": 1272,
+          "m_flMagnitude": 1252,
+          "m_flPushScale": 1276,
+          "m_radius": 1260,
+          "m_targetEntityName": 1264
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPhysFixed": {
+        "fields": {
+          "m_bEnableAngularConstraint": 1385,
+          "m_bEnableLinearConstraint": 1384,
+          "m_flAngularDampingRatio": 1380,
+          "m_flAngularFrequency": 1376,
+          "m_flLinearDampingRatio": 1372,
+          "m_flLinearFrequency": 1368
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysForce": {
+        "fields": {
+          "m_attachedObject": 1272,
+          "m_force": 1264,
+          "m_forceTime": 1268,
+          "m_integrator": 1280,
+          "m_nameAttach": 1256,
+          "m_wasRestored": 1276
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPhysHinge": {
+        "fields": {
+          "m_NotifyMaxLimitReached": 1552,
+          "m_NotifyMinLimitReached": 1512,
+          "m_OnStartMoving": 1704,
+          "m_OnStopMoving": 1744,
+          "m_bAtMaxLimit": 1593,
+          "m_bAtMinLimit": 1592,
+          "m_bIsAxisLocal": 1668,
+          "m_flAngleSpeed": 1692,
+          "m_flAngleSpeedThreshold": 1696,
+          "m_flInitialRotation": 1680,
+          "m_flMaxRotation": 1676,
+          "m_flMinRotation": 1672,
+          "m_flMotorDampingRatio": 1688,
+          "m_flMotorFrequency": 1684,
+          "m_hinge": 1596,
+          "m_hingeFriction": 1660,
+          "m_soundInfo": 1376,
+          "m_systemLoadScale": 1664
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysHingeAlias_phys_hinge_local": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPhysHinge"
+      },
+      "CPhysImpact": {
+        "fields": {
+          "m_damage": 1248,
+          "m_directionEntityName": 1256,
+          "m_distance": 1252
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPhysLength": {
+        "fields": {
+          "m_addLength": 1404,
+          "m_bEnableCollision": 1416,
+          "m_minLength": 1408,
+          "m_offset": 1368,
+          "m_totalLength": 1412,
+          "m_vecAttach": 1392
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysMagnet": {
+        "fields": {
+          "m_MagnettedEntities": 2568,
+          "m_OnMagnetAttach": 2472,
+          "m_OnMagnetDetach": 2512,
+          "m_bActive": 2592,
+          "m_bHasHitSomething": 2593,
+          "m_flNextSuckTime": 2604,
+          "m_flRadius": 2600,
+          "m_flTotalMass": 2596,
+          "m_forceLimit": 2556,
+          "m_iMaxObjectsAttached": 2608,
+          "m_massScale": 2552,
+          "m_torqueLimit": 2560
+        },
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CPhysMotor": {
+        "fields": {
+          "m_additionalAcceleration": 1264,
+          "m_angularAcceleration": 1268,
+          "m_hAttachedObject": 1256,
+          "m_lastTime": 1272,
+          "m_motor": 1296,
+          "m_nameAttach": 1248,
+          "m_spinUp": 1260
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CPhysPulley": {
+        "fields": {
+          "m_addLength": 1404,
+          "m_gearRatio": 1408,
+          "m_offset": 1380,
+          "m_position2": 1368
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysSlideConstraint": {
+        "fields": {
+          "m_axisEnd": 1376,
+          "m_bEnableAngularConstraint": 1401,
+          "m_bEnableLinearConstraint": 1400,
+          "m_bUseEntityPivot": 1412,
+          "m_flMotorDampingRatio": 1408,
+          "m_flMotorFrequency": 1404,
+          "m_initialOffset": 1396,
+          "m_slideFriction": 1388,
+          "m_soundInfo": 1416,
+          "m_systemLoadScale": 1392
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysThruster": {
+        "fields": {
+          "m_localOrigin": 1344
+        },
+        "metadata": [],
+        "parent": "CPhysForce"
+      },
+      "CPhysTorque": {
+        "fields": {
+          "m_axis": 1344
+        },
+        "metadata": [],
+        "parent": "CPhysForce"
+      },
+      "CPhysWheelConstraint": {
+        "fields": {
+          "m_bEnableSteeringLimit": 1392,
+          "m_bEnableSuspensionLimit": 1380,
+          "m_flMaxSteeringAngle": 1400,
+          "m_flMaxSuspensionOffset": 1388,
+          "m_flMinSteeringAngle": 1396,
+          "m_flMinSuspensionOffset": 1384,
+          "m_flSpinAxisFriction": 1408,
+          "m_flSteeringAxisFriction": 1404,
+          "m_flSuspensionDampingRatio": 1372,
+          "m_flSuspensionFrequency": 1368,
+          "m_flSuspensionHeightOffset": 1376
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CPhysicalButton": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseButton"
+      },
+      "CPhysicsEntitySolver": {
+        "fields": {
+          "m_cancelTime": 1268,
+          "m_hMovingEntity": 1256,
+          "m_hPhysicsBlocker": 1260,
+          "m_separationDuration": 1264
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CPhysicsProp": {
+        "fields": {
+          "m_CrateType": 3268,
+          "m_MotionEnabled": 2912,
+          "m_OnAsleep": 3032,
+          "m_OnAwake": 2992,
+          "m_OnAwakened": 2952,
+          "m_OnOutOfWorld": 3112,
+          "m_OnPlayerPickup": 3152,
+          "m_OnPlayerUse": 3072,
+          "m_bAcceptDamageFromHeldObjects": 3263,
+          "m_bAwake": 3321,
+          "m_bDroppedByPlayer": 3221,
+          "m_bEnableUseOutput": 3264,
+          "m_bFirstCollisionAfterLaunch": 3223,
+          "m_bForceNavIgnore": 3192,
+          "m_bForceNpcExclude": 3194,
+          "m_bHasBeenAwakened": 3228,
+          "m_bIsOverrideProp": 3229,
+          "m_bMuteImpactEffects": 3253,
+          "m_bNoNavmeshBlocker": 3193,
+          "m_bRemovableForAmmoBalancing": 3320,
+          "m_bShouldAutoConvertBackFromDebris": 3252,
+          "m_bThrownByPlayer": 3220,
+          "m_bTouchedByPlayer": 3222,
+          "m_buoyancyScale": 3204,
+          "m_damageToEnableMotion": 3212,
+          "m_damageType": 3208,
+          "m_fNextCheckDisableMotionContactsTime": 3232,
+          "m_flForceToEnableMotion": 3216,
+          "m_glowColor": 3248,
+          "m_iExploitableByPlayer": 3224,
+          "m_iInitialGlowState": 3236,
+          "m_inertiaScale": 3200,
+          "m_massScale": 3196,
+          "m_nGlowRange": 3240,
+          "m_nGlowRangeMin": 3244,
+          "m_nItemCount": 3304,
+          "m_strItemClass": 3272
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkExcludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_bAwake",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBreakableProp"
+      },
+      "CPhysicsPropMultiplayer": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPhysicsProp"
+      },
+      "CPhysicsPropOverride": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPhysicsProp"
+      },
+      "CPhysicsPropRespawnable": {
+        "fields": {
+          "m_flRespawnDuration": 3376,
+          "m_vOriginalMaxs": 3364,
+          "m_vOriginalMins": 3352,
+          "m_vOriginalSpawnAngles": 3340,
+          "m_vOriginalSpawnOrigin": 3328
+        },
+        "metadata": [],
+        "parent": "CPhysicsProp"
+      },
+      "CPhysicsSpring": {
+        "fields": {
+          "m_end": 1300,
+          "m_flDampingRatio": 1260,
+          "m_flFrequency": 1256,
+          "m_flRestLength": 1264,
+          "m_nameAttachEnd": 1280,
+          "m_nameAttachStart": 1272,
+          "m_start": 1288,
+          "m_teleportTick": 1312
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CPhysicsWire": {
+        "fields": {
+          "m_nDensity": 1248
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CPlantedC4": {
+        "fields": {
+          "m_AttributeManager": 2496,
+          "m_OnBombBeginDefuse": 3248,
+          "m_OnBombDefuseAborted": 3288,
+          "m_OnBombDefused": 3208,
+          "m_angCatchUpToPlayerEye": 3428,
+          "m_bBeingDefused": 3372,
+          "m_bBombDefused": 3396,
+          "m_bBombTicking": 2480,
+          "m_bCannotBeDefused": 3328,
+          "m_bHasExploded": 3365,
+          "m_bTrainingPlacedByPlayer": 3364,
+          "m_bVoiceAlertFired": 3412,
+          "m_bVoiceAlertPlayed": 3413,
+          "m_entitySpottedState": 3336,
+          "m_fLastDefuseTime": 3380,
+          "m_flC4Blow": 2484,
+          "m_flDefuseCountDown": 3392,
+          "m_flDefuseLength": 3388,
+          "m_flLastSpinDetectionTime": 3440,
+          "m_flNextBotBeepTime": 3420,
+          "m_flTimerLength": 3368,
+          "m_hBombDefuser": 3400,
+          "m_hControlPanel": 3404,
+          "m_iProgressBarTime": 3408,
+          "m_nBombSite": 2488,
+          "m_nSourceSoundscapeHash": 2492,
+          "m_nSpotRules": 3360
+        },
+        "metadata": [
+          {
+            "name": "m_bBombTicking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flC4Blow",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nBombSite",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nSourceSoundscapeHash",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_AttributeManager",
+            "type": "NetworkVarNames",
+            "type_name": "CAttributeContainer"
+          },
+          {
+            "name": "m_bCannotBeDefused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_entitySpottedState",
+            "type": "NetworkVarNames",
+            "type_name": "EntitySpottedState_t"
+          },
+          {
+            "name": "m_bHasExploded",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flTimerLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bBeingDefused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDefuseLength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDefuseCountDown",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bBombDefused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hBombDefuser",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hControlPanel",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "CPlatTrigger": {
+        "fields": {
+          "m_pPlatform": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CPlayerPing": {
+        "fields": {
+          "m_bUrgent": 1268,
+          "m_hPingedEntity": 1260,
+          "m_hPlayer": 1256,
+          "m_iType": 1264,
+          "m_szPlaceName": 1269
+        },
+        "metadata": [
+          {
+            "name": "m_hPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CCSPlayerPawn>"
+          },
+          {
+            "name": "m_hPingedEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_iType",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bUrgent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_szPlaceName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CPlayerSprayDecal": {
+        "fields": {
+          "m_flCreationTime": 2012,
+          "m_nEntity": 2004,
+          "m_nHitbox": 2008,
+          "m_nPlayer": 2000,
+          "m_nTintID": 2016,
+          "m_nUniqueID": 1936,
+          "m_nVersion": 2020,
+          "m_rtGcTime": 1948,
+          "m_ubSignature": 2021,
+          "m_unAccountID": 1940,
+          "m_unTraceID": 1944,
+          "m_vecEndPos": 1952,
+          "m_vecLeft": 1976,
+          "m_vecNormal": 1988,
+          "m_vecStart": 1964
+        },
+        "metadata": [
+          {
+            "name": "m_nUniqueID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_unAccountID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unTraceID",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_rtGcTime",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_vecEndPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecStart",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecLeft",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecNormal",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_nPlayer",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nEntity",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nHitbox",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flCreationTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nTintID",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVersion",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_ubSignature",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": "CModelPointEntity"
+      },
+      "CPlayerVisibility": {
+        "fields": {
+          "m_bIsEnabled": 1265,
+          "m_bStartDisabled": 1264,
+          "m_flFadeTime": 1260,
+          "m_flFogDistanceMultiplier": 1252,
+          "m_flFogMaxDensityMultiplier": 1256,
+          "m_flVisibilityStrength": 1248
+        },
+        "metadata": [
+          {
+            "name": "m_flVisibilityStrength",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogDistanceMultiplier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxDensityMultiplier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFadeTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bStartDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bIsEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CPlayer_AutoaimServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_CameraServices": {
+        "fields": {
+          "m_PlayerFog": 88,
+          "m_PostProcessingVolumes": 288,
+          "m_audio": 168,
+          "m_flCsViewPunchAngleTickRatio": 80,
+          "m_flOldPlayerViewOffsetZ": 316,
+          "m_flOldPlayerZ": 312,
+          "m_hColorCorrectionCtrl": 152,
+          "m_hTonemapController": 160,
+          "m_hTriggerSoundscapeList": 344,
+          "m_hViewEntity": 156,
+          "m_nCsViewPunchAngleTick": 76,
+          "m_vecCsViewPunchAngle": 64
+        },
+        "metadata": [
+          {
+            "name": "m_vecCsViewPunchAngle",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_nCsViewPunchAngleTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "m_flCsViewPunchAngleTickRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_PlayerFog",
+            "type": "NetworkVarNames",
+            "type_name": "fogplayerparams_t"
+          },
+          {
+            "name": "m_hColorCorrectionCtrl",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CColorCorrection>"
+          },
+          {
+            "name": "m_hViewEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hTonemapController",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CTonemapController2>"
+          },
+          {
+            "name": "m_audio",
+            "type": "NetworkVarNames",
+            "type_name": "audioparams_t"
+          },
+          {
+            "name": "m_PostProcessingVolumes",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CPostProcessingVolume>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_FlashlightServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_ItemServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_MovementServices": {
+        "fields": {
+          "m_arrForceSubtickMoveWhen": 412,
+          "m_flForwardMove": 428,
+          "m_flLeftMove": 432,
+          "m_flMaxspeed": 408,
+          "m_flUpMove": 436,
+          "m_nButtonDoublePressed": 120,
+          "m_nButtons": 72,
+          "m_nImpulse": 64,
+          "m_nLastCommandNumberProcessed": 384,
+          "m_nQueuedButtonChangeMask": 112,
+          "m_nQueuedButtonDownMask": 104,
+          "m_nToggleButtonDownMask": 392,
+          "m_pButtonPressedCmdNumber": 128,
+          "m_vecLastMovementImpulses": 440,
+          "m_vecOldViewAngles": 452
+        },
+        "metadata": [
+          {
+            "name": "m_nToggleButtonDownMask",
+            "type": "NetworkVarNames",
+            "type_name": "ButtonBitMask_t"
+          },
+          {
+            "name": "m_flMaxspeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_arrForceSubtickMoveWhen",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_MovementServices_Humanoid": {
+        "fields": {
+          "m_bDucked": 492,
+          "m_bDucking": 493,
+          "m_bInCrouch": 480,
+          "m_bInDuckJump": 494,
+          "m_flCrouchTransitionStartTime": 488,
+          "m_flFallVelocity": 476,
+          "m_flStepSoundTime": 472,
+          "m_flSurfaceFriction": 508,
+          "m_groundNormal": 496,
+          "m_iTargetVolume": 532,
+          "m_nCrouchState": 484,
+          "m_nStepside": 528,
+          "m_surfaceProps": 512,
+          "m_vecSmoothedVelocity": 536
+        },
+        "metadata": [
+          {
+            "name": "m_flFallVelocity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bInCrouch",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nCrouchState",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flCrouchTransitionStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_bDucked",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDucking",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bInDuckJump",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CPlayer_MovementServices"
+      },
+      "CPlayer_ObserverServices": {
+        "fields": {
+          "m_bForcedObserverMode": 76,
+          "m_hObserverTarget": 68,
+          "m_iObserverLastMode": 72,
+          "m_iObserverMode": 64
+        },
+        "metadata": [
+          {
+            "name": "m_iObserverMode",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_hObserverTarget",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_UseServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_ViewModelServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_WaterServices": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPlayer_WeaponServices": {
+        "fields": {
+          "m_bPreventWeaponPickup": 160,
+          "m_hActiveWeapon": 88,
+          "m_hLastWeapon": 92,
+          "m_hMyWeapons": 64,
+          "m_iAmmo": 96
+        },
+        "metadata": [
+          {
+            "name": "m_hMyWeapons",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_hActiveWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_hLastWeapon",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerWeapon>"
+          },
+          {
+            "name": "m_iAmmo",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": "CPlayerPawnComponent"
+      },
+      "CPointAngleSensor": {
+        "fields": {
+          "m_FacingPercentage": 1408,
+          "m_OnFacingLookat": 1288,
+          "m_OnNotFacingLookat": 1328,
+          "m_TargetDir": 1368,
+          "m_bDisabled": 1248,
+          "m_bFired": 1284,
+          "m_flDotTolerance": 1276,
+          "m_flDuration": 1272,
+          "m_flFacingTime": 1280,
+          "m_hLookAtEntity": 1268,
+          "m_hTargetEntity": 1264,
+          "m_nLookAtName": 1256
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointAngularVelocitySensor": {
+        "fields": {
+          "m_AngularVelocity": 1304,
+          "m_OnEqualTo": 1504,
+          "m_OnGreaterThan": 1424,
+          "m_OnGreaterThanOrEqualTo": 1464,
+          "m_OnLessThan": 1344,
+          "m_OnLessThanOrEqualTo": 1384,
+          "m_bUseHelper": 1300,
+          "m_flFireInterval": 1268,
+          "m_flFireTime": 1264,
+          "m_flLastAngVelocity": 1272,
+          "m_flThreshold": 1252,
+          "m_hTargetEntity": 1248,
+          "m_lastOrientation": 1276,
+          "m_nLastCompareResult": 1256,
+          "m_nLastFireResult": 1260,
+          "m_vecAxis": 1288
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointBroadcastClientCommand": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointCamera": {
+        "fields": {
+          "m_DegreesPerSecond": 1328,
+          "m_FOV": 1248,
+          "m_FogColor": 1257,
+          "m_Resolution": 1252,
+          "m_TargetFOV": 1324,
+          "m_bActive": 1276,
+          "m_bAlignWithParent": 1301,
+          "m_bCanHLTVUse": 1300,
+          "m_bDofEnabled": 1302,
+          "m_bFogEnable": 1256,
+          "m_bIsOn": 1332,
+          "m_bNoSky": 1284,
+          "m_bUseScreenAspectRatio": 1277,
+          "m_fBrightness": 1288,
+          "m_flAspectRatio": 1280,
+          "m_flDofFarBlurry": 1316,
+          "m_flDofFarCrisp": 1312,
+          "m_flDofNearBlurry": 1304,
+          "m_flDofNearCrisp": 1308,
+          "m_flDofTiltToGround": 1320,
+          "m_flFogEnd": 1268,
+          "m_flFogMaxDensity": 1272,
+          "m_flFogStart": 1264,
+          "m_flZFar": 1292,
+          "m_flZNear": 1296,
+          "m_pNext": 1336
+        },
+        "metadata": [
+          {
+            "name": "m_FOV",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Resolution",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bFogEnable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_FogColor",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_flFogStart",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogEnd",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFogMaxDensity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseScreenAspectRatio",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flAspectRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bNoSky",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_fBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flZFar",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flZNear",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bCanHLTVUse",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAlignWithParent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDofEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flDofNearBlurry",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofNearCrisp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofFarCrisp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofFarBlurry",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDofTiltToGround",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CPointCameraVFOV": {
+        "fields": {
+          "m_flVerticalFOV": 1344
+        },
+        "metadata": [],
+        "parent": "CPointCamera"
+      },
+      "CPointChildModifier": {
+        "fields": {
+          "m_bOrphanInsteadOfDeletingChildrenOnRemove": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointClientCommand": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointClientUIDialog": {
+        "fields": {
+          "m_bStartEnabled": 2372,
+          "m_hActivator": 2368
+        },
+        "metadata": [
+          {
+            "name": "m_hActivator",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": "CBaseClientUIEntity"
+      },
+      "CPointClientUIWorldPanel": {
+        "fields": {
+          "m_bAllowInteractionFromAllSceneWorlds": 2408,
+          "m_bDisableMipGen": 2447,
+          "m_bExcludeFromSaveGames": 2444,
+          "m_bFollowPlayerAcrossTeleport": 2370,
+          "m_bGrabbable": 2445,
+          "m_bIgnoreInput": 2368,
+          "m_bLit": 2369,
+          "m_bNoDepth": 2441,
+          "m_bOnlyRenderToTexture": 2446,
+          "m_bOpaque": 2440,
+          "m_bRenderBackface": 2442,
+          "m_bUseOffScreenIndicator": 2443,
+          "m_flDPI": 2380,
+          "m_flDepthOffset": 2388,
+          "m_flHeight": 2376,
+          "m_flInteractDistance": 2384,
+          "m_flWidth": 2372,
+          "m_nExplicitImageLayout": 2448,
+          "m_unHorizontalAlign": 2396,
+          "m_unOrientation": 2404,
+          "m_unOwnerContext": 2392,
+          "m_unVerticalAlign": 2400,
+          "m_vecCSSClasses": 2416
+        },
+        "metadata": [
+          {
+            "name": "m_bIgnoreInput",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bLit",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFollowPlayerAcrossTeleport",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDPI",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flInteractDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepthOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_unOwnerContext",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unHorizontalAlign",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unVerticalAlign",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_unOrientation",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_bAllowInteractionFromAllSceneWorlds",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecCSSClasses",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_bOpaque",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoDepth",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bRenderBackface",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseOffScreenIndicator",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bExcludeFromSaveGames",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bGrabbable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bOnlyRenderToTexture",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bDisableMipGen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nExplicitImageLayout",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          }
+        ],
+        "parent": "CBaseClientUIEntity"
+      },
+      "CPointClientUIWorldTextPanel": {
+        "fields": {
+          "m_messageText": 2456
+        },
+        "metadata": [
+          {
+            "name": "m_messageText",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "CPointClientUIWorldPanel"
+      },
+      "CPointCommentaryNode": {
+        "fields": {
+          "m_bActive": 2672,
+          "m_bDisabled": 2573,
+          "m_bListenedTo": 2712,
+          "m_bPreventChangesWhileMoving": 2572,
+          "m_bPreventMovement": 2528,
+          "m_bUnderCrosshair": 2529,
+          "m_bUnstoppable": 2530,
+          "m_flAbortedPlaybackAt": 2588,
+          "m_flFinishedTime": 2532,
+          "m_flStartTime": 2676,
+          "m_flStartTimeInCommentary": 2680,
+          "m_hViewPosition": 2520,
+          "m_hViewPositionMover": 2524,
+          "m_hViewTarget": 2504,
+          "m_hViewTargetAngles": 2508,
+          "m_iNodeNumber": 2704,
+          "m_iNodeNumberMax": 2708,
+          "m_iszCommentaryFile": 2488,
+          "m_iszPostCommands": 2480,
+          "m_iszPreCommands": 2472,
+          "m_iszSpeakers": 2696,
+          "m_iszTitle": 2688,
+          "m_iszViewPosition": 2512,
+          "m_iszViewTarget": 2496,
+          "m_pOnCommentaryStarted": 2592,
+          "m_pOnCommentaryStopped": 2632,
+          "m_vecFinishAngles": 2560,
+          "m_vecFinishOrigin": 2536,
+          "m_vecOriginalAngles": 2548,
+          "m_vecTeleportOrigin": 2576
+        },
+        "metadata": [
+          {
+            "name": "m_iszCommentaryFile",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_hViewPosition",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_bActive",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_flStartTimeInCommentary",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_iszTitle",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszSpeakers",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iNodeNumber",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iNodeNumberMax",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bListenedTo",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "CPointEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CPointEntityFinder": {
+        "fields": {
+          "m_FindMethod": 1284,
+          "m_OnFoundEntity": 1288,
+          "m_hEntity": 1248,
+          "m_hFilter": 1264,
+          "m_hReference": 1280,
+          "m_iFilterName": 1256,
+          "m_iRefName": 1272
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CPointGamestatsCounter": {
+        "fields": {
+          "m_bDisabled": 1256,
+          "m_strStatisticName": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointGiveAmmo": {
+        "fields": {
+          "m_pActivator": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointHurt": {
+        "fields": {
+          "m_bitsDamageType": 1252,
+          "m_flDelay": 1260,
+          "m_flRadius": 1256,
+          "m_nDamage": 1248,
+          "m_pActivator": 1272,
+          "m_strTarget": 1264
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointPrefab": {
+        "fields": {
+          "m_associatedRelayEntity": 1276,
+          "m_associatedRelayTargetName": 1264,
+          "m_bLoadDynamic": 1273,
+          "m_fixupNames": 1272,
+          "m_forceWorldGroupID": 1256,
+          "m_targetMapName": 1248
+        },
+        "metadata": [],
+        "parent": "CServerOnlyPointEntity"
+      },
+      "CPointProximitySensor": {
+        "fields": {
+          "m_Distance": 1256,
+          "m_bDisabled": 1248,
+          "m_hTargetEntity": 1252
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointPulse": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CPointPush": {
+        "fields": {
+          "m_bEnabled": 1248,
+          "m_flConeOfInfluence": 1264,
+          "m_flInnerRadius": 1260,
+          "m_flMagnitude": 1252,
+          "m_flRadius": 1256,
+          "m_hFilter": 1280,
+          "m_iszFilterName": 1272
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointServerCommand": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointTeleport": {
+        "fields": {
+          "m_bTeleportParentedEntities": 1272,
+          "m_bTeleportUseCurrentAngle": 1273,
+          "m_vSaveAngles": 1260,
+          "m_vSaveOrigin": 1248
+        },
+        "metadata": [],
+        "parent": "CServerOnlyPointEntity"
+      },
+      "CPointTemplate": {
+        "fields": {
+          "m_ScriptCallbackScope": 1384,
+          "m_ScriptSpawnCallback": 1376,
+          "m_SpawnedEntityHandles": 1352,
+          "m_bAsynchronouslySpawnEntities": 1276,
+          "m_clientOnlyEntityBehavior": 1320,
+          "m_createdSpawnGroupHandles": 1328,
+          "m_flTimeoutInterval": 1272,
+          "m_iszEntityFilterName": 1264,
+          "m_iszSource2EntityLumpName": 1256,
+          "m_iszWorldName": 1248,
+          "m_ownerSpawnGroupType": 1324,
+          "m_pOutputOnSpawned": 1280
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CPointTemplateAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CPointValueRemapper": {
+        "fields": {
+          "m_OnDisengage": 1712,
+          "m_OnEngage": 1672,
+          "m_OnReachedValueCustom": 1632,
+          "m_OnReachedValueOne": 1592,
+          "m_OnReachedValueZero": 1552,
+          "m_Position": 1472,
+          "m_PositionDelta": 1512,
+          "m_bDisabled": 1248,
+          "m_bEngaged": 1392,
+          "m_bFirstUpdate": 1393,
+          "m_bRequiresUseKey": 1292,
+          "m_bUpdateOnClient": 1249,
+          "m_flCurrentMomentum": 1376,
+          "m_flCustomOutputValue": 1420,
+          "m_flDisengageDistance": 1284,
+          "m_flEngageDistance": 1288,
+          "m_flInputOffset": 1388,
+          "m_flMaximumChangePerSecond": 1280,
+          "m_flMomentumModifier": 1368,
+          "m_flPreviousUpdateTickTime": 1400,
+          "m_flPreviousValue": 1396,
+          "m_flRatchetOffset": 1384,
+          "m_flSnapValue": 1372,
+          "m_hOutputEntities": 1336,
+          "m_hRemapLineEnd": 1276,
+          "m_hRemapLineStart": 1272,
+          "m_hUsingPlayer": 1416,
+          "m_iszOutputEntity2Name": 1312,
+          "m_iszOutputEntity3Name": 1320,
+          "m_iszOutputEntity4Name": 1328,
+          "m_iszOutputEntityName": 1304,
+          "m_iszRemapLineEndName": 1264,
+          "m_iszRemapLineStartName": 1256,
+          "m_iszSoundDisengage": 1432,
+          "m_iszSoundEngage": 1424,
+          "m_iszSoundMovingLoop": 1456,
+          "m_iszSoundReachedValueOne": 1448,
+          "m_iszSoundReachedValueZero": 1440,
+          "m_nHapticsType": 1360,
+          "m_nInputType": 1252,
+          "m_nMomentumType": 1364,
+          "m_nOutputType": 1296,
+          "m_nRatchetType": 1380,
+          "m_vecPreviousTestPoint": 1404
+        },
+        "metadata": [
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUpdateOnClient",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nInputType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperInputType_t"
+          },
+          {
+            "name": "m_hRemapLineStart",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hRemapLineEnd",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_flMaximumChangePerSecond",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDisengageDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flEngageDistance",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bRequiresUseKey",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nOutputType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperOutputType_t"
+          },
+          {
+            "name": "m_hOutputEntities",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nHapticsType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperHapticsType_t"
+          },
+          {
+            "name": "m_nMomentumType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperMomentumType_t"
+          },
+          {
+            "name": "m_flMomentumModifier",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flSnapValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nRatchetType",
+            "type": "NetworkVarNames",
+            "type_name": "ValueRemapperRatchetType_t"
+          },
+          {
+            "name": "m_flInputOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CPointVelocitySensor": {
+        "fields": {
+          "m_Velocity": 1280,
+          "m_bEnabled": 1264,
+          "m_fPrevVelocity": 1268,
+          "m_flAvgInterval": 1272,
+          "m_hTargetEntity": 1248,
+          "m_vecAxis": 1252
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPointWorldText": {
+        "fields": {
+          "m_BackgroundMaterialName": 2512,
+          "m_Color": 2608,
+          "m_FontName": 2448,
+          "m_bDrawBackground": 2592,
+          "m_bEnabled": 2576,
+          "m_bFullbright": 2577,
+          "m_flBackgroundBorderHeight": 2600,
+          "m_flBackgroundBorderWidth": 2596,
+          "m_flBackgroundWorldToUV": 2604,
+          "m_flDepthOffset": 2588,
+          "m_flFontSize": 2584,
+          "m_flWorldUnitsPerPx": 2580,
+          "m_messageText": 1936,
+          "m_nJustifyHorizontal": 2612,
+          "m_nJustifyVertical": 2616,
+          "m_nReorientMode": 2620
+        },
+        "metadata": [
+          {
+            "name": "m_messageText",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_FontName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_BackgroundMaterialName",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          },
+          {
+            "name": "m_bEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bFullbright",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flWorldUnitsPerPx",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFontSize",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDepthOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bDrawBackground",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flBackgroundBorderWidth",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBackgroundBorderHeight",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flBackgroundWorldToUV",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_Color",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_nJustifyHorizontal",
+            "type": "NetworkVarNames",
+            "type_name": "PointWorldTextJustifyHorizontal_t"
+          },
+          {
+            "name": "m_nJustifyVertical",
+            "type": "NetworkVarNames",
+            "type_name": "PointWorldTextJustifyVertical_t"
+          },
+          {
+            "name": "m_nReorientMode",
+            "type": "NetworkVarNames",
+            "type_name": "PointWorldTextReorientMode_t"
+          }
+        ],
+        "parent": "CModelPointEntity"
+      },
+      "CPostProcessingVolume": {
+        "fields": {
+          "m_bExposureControl": 2461,
+          "m_bMaster": 2460,
+          "m_flExposureCompensation": 2444,
+          "m_flExposureFadeSpeedDown": 2452,
+          "m_flExposureFadeSpeedUp": 2448,
+          "m_flFadeDuration": 2424,
+          "m_flMaxExposure": 2440,
+          "m_flMaxLogExposure": 2432,
+          "m_flMinExposure": 2436,
+          "m_flMinLogExposure": 2428,
+          "m_flRate": 2464,
+          "m_flTonemapEVSmoothingRange": 2456,
+          "m_flTonemapMinAvgLum": 2476,
+          "m_flTonemapPercentBrightPixels": 2472,
+          "m_flTonemapPercentTarget": 2468,
+          "m_hPostSettings": 2416
+        },
+        "metadata": [
+          {
+            "name": "m_hPostSettings",
+            "type": "NetworkVarNames",
+            "type_name": "HPostProcessingStrong"
+          },
+          {
+            "name": "m_flFadeDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinLogExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMaxLogExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMinExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flMaxExposure",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureCompensation",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureFadeSpeedUp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureFadeSpeedDown",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapEVSmoothingRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bMaster",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bExposureControl",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flRate",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentTarget",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentBrightPixels",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapMinAvgLum",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CPrecipitation": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CPrecipitationBlocker": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CPrecipitationVData": {
+        "fields": {
+          "m_bBatchSameVolumeType": 272,
+          "m_flInnerDistance": 264,
+          "m_nAttachType": 268,
+          "m_nRTEnvCP": 276,
+          "m_nRTEnvCPComponent": 280,
+          "m_szModifier": 288,
+          "m_szParticlePrecipitationEffect": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CEntitySubclassVDataBase"
+      },
+      "CPredictedViewModel": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseViewModel"
+      },
+      "CProjectedDecal": {
+        "fields": {
+          "m_flDistance": 1252,
+          "m_nTexture": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CPropDataComponent": {
+        "fields": {
+          "m_bSpawnMotionDisabled": 52,
+          "m_flDmgModBullet": 16,
+          "m_flDmgModClub": 20,
+          "m_flDmgModExplosive": 24,
+          "m_flDmgModFire": 28,
+          "m_iszBasePropData": 40,
+          "m_iszPhysicsDamageTableName": 32,
+          "m_nDisableTakePhysicsDamageSpawnFlag": 56,
+          "m_nInteractions": 48,
+          "m_nMotionDisabledSpawnFlag": 60
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CPropDoorRotating": {
+        "fields": {
+          "m_angGoal": 3896,
+          "m_angRotationAjarDeprecated": 3848,
+          "m_angRotationClosed": 3860,
+          "m_angRotationOpenBack": 3884,
+          "m_angRotationOpenForward": 3872,
+          "m_bAjarDoorShouldntAlwaysOpen": 3956,
+          "m_eCurrentOpenDirection": 3840,
+          "m_eOpenDirection": 3836,
+          "m_eSpawnPosition": 3832,
+          "m_flAjarAngle": 3844,
+          "m_flDistance": 3828,
+          "m_hEntityBlocker": 3960,
+          "m_vecAxis": 3816,
+          "m_vecBackBoundsMax": 3944,
+          "m_vecBackBoundsMin": 3932,
+          "m_vecForwardBoundsMax": 3920,
+          "m_vecForwardBoundsMin": 3908
+        },
+        "metadata": [],
+        "parent": "CBasePropDoor"
+      },
+      "CPropDoorRotatingBreakable": {
+        "fields": {
+          "m_bBreakable": 3968,
+          "m_currentDamageState": 3972,
+          "m_damageStates": 3976,
+          "m_isAbleToCloseAreaPortals": 3969
+        },
+        "metadata": [],
+        "parent": "CPropDoorRotating"
+      },
+      "CPulseGraphInstance_GameBlackboard": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CPulseGraphInstance_ServerEntity"
+      },
+      "CPulseGraphInstance_ServerEntity": {
+        "fields": {
+          "m_pComponent": 256
+        },
+        "metadata": [
+          {
+            "name": "MPulseInstanceDomainInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainHookInfo",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInGameBlackboard",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseDomainOptInValueType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CBasePulseGraphInstance"
+      },
+      "CPushable": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBreakable"
+      },
+      "CRagdollConstraint": {
+        "fields": {
+          "m_xfriction": 1392,
+          "m_xmax": 1372,
+          "m_xmin": 1368,
+          "m_yfriction": 1396,
+          "m_ymax": 1380,
+          "m_ymin": 1376,
+          "m_zfriction": 1400,
+          "m_zmax": 1388,
+          "m_zmin": 1384
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CRagdollMagnet": {
+        "fields": {
+          "m_axis": 1260,
+          "m_bDisabled": 1248,
+          "m_force": 1256,
+          "m_radius": 1252
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CRagdollManager": {
+        "fields": {
+          "m_bCanTakeDamage": 1257,
+          "m_bSaveImportant": 1256,
+          "m_iCurrentMaxRagdollCount": 1248,
+          "m_iMaxRagdollCount": 1252
+        },
+        "metadata": [
+          {
+            "name": "m_iCurrentMaxRagdollCount",
+            "type": "NetworkVarNames",
+            "type_name": "int8"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CRagdollProp": {
+        "fields": {
+          "m_allAsleep": 2600,
+          "m_bFirstCollisionAfterLaunch": 2601,
+          "m_bHasBeenPhysgunned": 2664,
+          "m_bShouldDeleteActivationRecord": 2728,
+          "m_bShouldTeleportPhysics": 2665,
+          "m_bStartDisabled": 2536,
+          "m_bValidatePoweredRagdollPose": 2824,
+          "m_flAwakeTime": 2640,
+          "m_flBlendWeight": 2668,
+          "m_flDefaultFadeScale": 2672,
+          "m_flFadeOutStartTime": 2620,
+          "m_flFadeTime": 2624,
+          "m_flLastOriginChangeTime": 2644,
+          "m_flLastPhysicsInfluenceTime": 2616,
+          "m_hDamageEntity": 2604,
+          "m_hKiller": 2608,
+          "m_hPhysicsAttacker": 2612,
+          "m_hRagdollSource": 2592,
+          "m_lastUpdateTickCount": 2596,
+          "m_ragAngles": 2568,
+          "m_ragPos": 2544,
+          "m_ragdoll": 2480,
+          "m_ragdollMaxs": 2704,
+          "m_ragdollMins": 2680,
+          "m_strOriginClassName": 2648,
+          "m_strSourceClassName": 2656,
+          "m_vecLastOrigin": 2628
+        },
+        "metadata": [
+          {
+            "name": "m_ragPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_ragAngles",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "m_hRagdollSource",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          },
+          {
+            "name": "m_flBlendWeight",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseAnimGraph"
+      },
+      "CRagdollPropAlias_physics_prop_ragdoll": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CRagdollProp"
+      },
+      "CRagdollPropAttached": {
+        "fields": {
+          "m_attachmentPointBoneSpace": 2896,
+          "m_attachmentPointRagdollSpace": 2908,
+          "m_bShouldDeleteAttachedActivationRecord": 2936,
+          "m_bShouldDetach": 2920,
+          "m_boneIndexAttached": 2888,
+          "m_ragdollAttachedObjectIndex": 2892
+        },
+        "metadata": [
+          {
+            "name": "m_boneIndexAttached",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_ragdollAttachedObjectIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_attachmentPointBoneSpace",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_attachmentPointRagdollSpace",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CRagdollProp"
+      },
+      "CRectLight": {
+        "fields": {
+          "m_bShowLight": 2736
+        },
+        "metadata": [
+          {
+            "name": "m_bShowLight",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBarnLight"
+      },
+      "CRenderComponent": {
+        "fields": {
+          "__m_pChainEntity": 16,
+          "m_bEnableRendering": 96,
+          "m_bInterpolationReadyToDraw": 176,
+          "m_bIsRenderingWithViewModels": 80,
+          "m_nSplitscreenFlags": 84
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CRetakeGameRules": {
+        "fields": {
+          "m_bBlockersPresent": 252,
+          "m_bRoundInProgress": 253,
+          "m_iBombSite": 260,
+          "m_iFirstSecondHalfRound": 256,
+          "m_nMatchSeed": 248
+        },
+        "metadata": [
+          {
+            "name": "m_nMatchSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bBlockersPresent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bRoundInProgress",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iFirstSecondHalfRound",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iBombSite",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": null
+      },
+      "CRevertSaved": {
+        "fields": {
+          "m_Duration": 1940,
+          "m_HoldTime": 1944,
+          "m_loadTime": 1936
+        },
+        "metadata": [],
+        "parent": "CModelPointEntity"
+      },
+      "CRopeKeyframe": {
+        "fields": {
+          "m_RopeFlags": 1944,
+          "m_RopeLength": 1994,
+          "m_Slack": 1960,
+          "m_Subdiv": 1992,
+          "m_TextureScale": 1968,
+          "m_Width": 1964,
+          "m_bConstrainBetweenEndpoints": 1973,
+          "m_bCreatedFromMapFile": 1997,
+          "m_bEndPointValid": 2005,
+          "m_bStartPointValid": 2004,
+          "m_fLockedPoints": 1996,
+          "m_flScrollSpeed": 2000,
+          "m_hEndPoint": 2012,
+          "m_hStartPoint": 2008,
+          "m_iEndAttachment": 2017,
+          "m_iNextLinkName": 1952,
+          "m_iRopeMaterialModelIndex": 1984,
+          "m_iStartAttachment": 2016,
+          "m_nChangeCount": 1993,
+          "m_nSegments": 1972,
+          "m_strRopeMaterialModel": 1976
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByUserGroup",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_RopeFlags",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_Slack",
+            "type": "NetworkVarNames",
+            "type_name": "int16"
+          },
+          {
+            "name": "m_Width",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_TextureScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nSegments",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_bConstrainBetweenEndpoints",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iRopeMaterialModelIndex",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_Subdiv",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nChangeCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_RopeLength",
+            "type": "NetworkVarNames",
+            "type_name": "int16"
+          },
+          {
+            "name": "m_fLockedPoints",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_flScrollSpeed",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hStartPoint",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_hEndPoint",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_iStartAttachment",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_iEndAttachment",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CRopeKeyframeAlias_move_rope": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CRopeKeyframe"
+      },
+      "CRotButton": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseButton"
+      },
+      "CRotDoor": {
+        "fields": {
+          "m_bSolidBsp": 2584
+        },
+        "metadata": [],
+        "parent": "CBaseDoor"
+      },
+      "CRuleBrushEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CRuleEntity"
+      },
+      "CRuleEntity": {
+        "fields": {
+          "m_iszMaster": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CRulePointEntity": {
+        "fields": {
+          "m_Score": 1944
+        },
+        "metadata": [],
+        "parent": "CRuleEntity"
+      },
+      "CSMatchStats_t": {
+        "fields": {
+          "m_i1v1Count": 164,
+          "m_i1v1Wins": 168,
+          "m_i1v2Count": 172,
+          "m_i1v2Wins": 176,
+          "m_iEnemy2Ks": 124,
+          "m_iEnemy3Ks": 112,
+          "m_iEnemy4Ks": 108,
+          "m_iEnemy5Ks": 104,
+          "m_iEnemyKnifeKills": 116,
+          "m_iEnemyTaserKills": 120,
+          "m_iEntryCount": 180,
+          "m_iEntryWins": 184,
+          "m_iFlash_Count": 140,
+          "m_iFlash_Successes": 144,
+          "m_iUtility_Count": 128,
+          "m_iUtility_Enemies": 136,
+          "m_iUtility_Successes": 132,
+          "m_nHealthPointsDealtTotal": 152,
+          "m_nHealthPointsRemovedTotal": 148,
+          "m_nShotsFiredTotal": 156,
+          "m_nShotsOnTargetTotal": 160
+        },
+        "metadata": [
+          {
+            "name": "m_iEnemy5Ks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemy4Ks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemy3Ks",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemyKnifeKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemyTaserKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CSPerRoundStats_t"
+      },
+      "CSPerRoundStats_t": {
+        "fields": {
+          "m_iAssists": 56,
+          "m_iCashEarned": 88,
+          "m_iDamage": 60,
+          "m_iDeaths": 52,
+          "m_iEnemiesFlashed": 96,
+          "m_iEquipmentValue": 64,
+          "m_iHeadShotKills": 80,
+          "m_iKillReward": 72,
+          "m_iKills": 48,
+          "m_iLiveTime": 76,
+          "m_iMoneySaved": 68,
+          "m_iObjective": 84,
+          "m_iUtilityDamage": 92
+        },
+        "metadata": [
+          {
+            "name": "m_iKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iDeaths",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iAssists",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iDamage",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEquipmentValue",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iMoneySaved",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iKillReward",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iLiveTime",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iHeadShotKills",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iObjective",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iCashEarned",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iUtilityDamage",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iEnemiesFlashed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": null
+      },
+      "CSceneEntity": {
+        "fields": {
+          "m_BusyActor": 2608,
+          "m_OnCanceled": 1616,
+          "m_OnCompletion": 1576,
+          "m_OnPaused": 1656,
+          "m_OnResumed": 1696,
+          "m_OnStart": 1536,
+          "m_OnTrigger": 1736,
+          "m_bAutogenerated": 1379,
+          "m_bAutomated": 1400,
+          "m_bBreakOnNonIdle": 1426,
+          "m_bCancelAtNextInterrupt": 1392,
+          "m_bCompletedEarly": 2530,
+          "m_bInterruptSceneFinished": 2531,
+          "m_bInterrupted": 2529,
+          "m_bInterruptedActorsScenes": 1425,
+          "m_bIsPlayingBack": 1376,
+          "m_bMultiplayer": 1378,
+          "m_bPauseAtNextInterrupt": 1422,
+          "m_bPaused": 1377,
+          "m_bPausedViaInput": 1421,
+          "m_bRestoring": 2532,
+          "m_bSceneFinished": 1427,
+          "m_bSceneMissing": 2528,
+          "m_bWaitingForActor": 1423,
+          "m_bWaitingForInterrupt": 1424,
+          "m_bWaitingForResumeScene": 1420,
+          "m_fPitch": 1396,
+          "m_flAutomationDelay": 1408,
+          "m_flAutomationTime": 1412,
+          "m_flCurrentTime": 1384,
+          "m_flForceClientTime": 1380,
+          "m_flFrameTime": 1388,
+          "m_hActivator": 2604,
+          "m_hActor": 2600,
+          "m_hActorList": 1432,
+          "m_hInterruptScene": 2520,
+          "m_hListManagers": 2560,
+          "m_hNotifySceneCompletion": 2536,
+          "m_hRemoveActorList": 1456,
+          "m_hTarget1": 1336,
+          "m_hTarget2": 1340,
+          "m_hTarget3": 1344,
+          "m_hTarget4": 1348,
+          "m_hTarget5": 1352,
+          "m_hTarget6": 1356,
+          "m_hTarget7": 1360,
+          "m_hTarget8": 1364,
+          "m_hWaitingForThisResumeScene": 1416,
+          "m_iPlayerDeathBehavior": 2612,
+          "m_iszResumeSceneFile": 1264,
+          "m_iszSceneFile": 1256,
+          "m_iszSequenceName": 2592,
+          "m_iszSoundName": 2584,
+          "m_iszTarget1": 1272,
+          "m_iszTarget2": 1280,
+          "m_iszTarget3": 1288,
+          "m_iszTarget4": 1296,
+          "m_iszTarget5": 1304,
+          "m_iszTarget6": 1312,
+          "m_iszTarget7": 1320,
+          "m_iszTarget8": 1328,
+          "m_nAutomatedAction": 1404,
+          "m_nInterruptCount": 2524,
+          "m_nSceneFlushCounter": 1528,
+          "m_nSceneStringIndex": 1532,
+          "m_sTargetAttachment": 1368
+        },
+        "metadata": [
+          {
+            "name": "m_bIsPlayingBack",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bPaused",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bMultiplayer",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bAutogenerated",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flForceClientTime",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_hActorList",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseFlex>"
+          },
+          {
+            "name": "m_nSceneStringIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": "CPointEntity"
+      },
+      "CSceneEntityAlias_logic_choreographed_scene": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSceneEntity"
+      },
+      "CSceneListManager": {
+        "fields": {
+          "m_hListManagers": 1248,
+          "m_hScenes": 1400,
+          "m_iszScenes": 1272
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CScriptComponent": {
+        "fields": {
+          "m_scriptClassName": 48
+        },
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CScriptItem": {
+        "fields": {
+          "m_MoveTypeOverride": 2688
+        },
+        "metadata": [],
+        "parent": "CItem"
+      },
+      "CScriptNavBlocker": {
+        "fields": {
+          "m_vExtent": 1952
+        },
+        "metadata": [],
+        "parent": "CFuncNavBlocker"
+      },
+      "CScriptTriggerHurt": {
+        "fields": {
+          "m_vExtent": 2560
+        },
+        "metadata": [],
+        "parent": "CTriggerHurt"
+      },
+      "CScriptTriggerMultiple": {
+        "fields": {
+          "m_vExtent": 2440
+        },
+        "metadata": [],
+        "parent": "CTriggerMultiple"
+      },
+      "CScriptTriggerOnce": {
+        "fields": {
+          "m_vExtent": 2440
+        },
+        "metadata": [],
+        "parent": "CTriggerOnce"
+      },
+      "CScriptTriggerPush": {
+        "fields": {
+          "m_vExtent": 2456
+        },
+        "metadata": [],
+        "parent": "CTriggerPush"
+      },
+      "CScriptedSequence": {
+        "fields": {
+          "m_ConflictResponse": 1424,
+          "m_OnActionStartOrLoop": 1472,
+          "m_OnBeginSequence": 1432,
+          "m_OnCancelFailedSequence": 1632,
+          "m_OnCancelSequence": 1592,
+          "m_OnEndSequence": 1512,
+          "m_OnPostIdleEndSequence": 1552,
+          "m_OnScriptEvent": 1672,
+          "m_bAllowCustomInterruptConditions": 1411,
+          "m_bCanOverrideNPCState": 1333,
+          "m_bContinueOnDeath": 1337,
+          "m_bDisableNPCCollisions": 1344,
+          "m_bDisallowInterrupts": 1332,
+          "m_bDontAddModifiers": 1346,
+          "m_bDontCancelOtherSequences": 1416,
+          "m_bDontRotateOther": 1328,
+          "m_bDontTeleportAtEnd": 1334,
+          "m_bEnsureOnNavmeshOnFinish": 1419,
+          "m_bForceSynch": 1417,
+          "m_bHideDebugComplaints": 1336,
+          "m_bHighPriority": 1335,
+          "m_bIgnoreGravity": 1343,
+          "m_bIgnoreLookAt": 1342,
+          "m_bInitiatedSelfDelete": 1409,
+          "m_bInterruptable": 1396,
+          "m_bIsPlayingAction": 1326,
+          "m_bIsPlayingEntry": 1325,
+          "m_bIsPlayingPostIdle": 1327,
+          "m_bIsPlayingPreIdle": 1324,
+          "m_bIsRepeatable": 1329,
+          "m_bIsTeleportingDueToMoveTo": 1410,
+          "m_bKeepAnimgraphLockedPost": 1345,
+          "m_bLoopActionSequence": 1339,
+          "m_bLoopPostIdleSequence": 1340,
+          "m_bLoopPreIdleSequence": 1338,
+          "m_bPositionRelativeToOtherEntity": 1398,
+          "m_bPreventUpdateYawOnFinish": 1418,
+          "m_bShouldLeaveCorpse": 1330,
+          "m_bStartOnSpawn": 1331,
+          "m_bSynchPostIdles": 1341,
+          "m_bThinking": 1408,
+          "m_bWaitForBeginSequence": 1380,
+          "m_bWaitUntilMoveCompletesToStartAnimation": 1368,
+          "m_flAngRate": 1364,
+          "m_flMoveInterpTime": 1360,
+          "m_flPlayAnimFadeInTime": 1356,
+          "m_flRadius": 1348,
+          "m_flRepeat": 1352,
+          "m_hForcedTarget": 1412,
+          "m_hInteractionMainEntity": 2032,
+          "m_hNextCine": 1404,
+          "m_hTargetEnt": 1400,
+          "m_iPlayerDeathBehavior": 2036,
+          "m_iszEntity": 1296,
+          "m_iszEntry": 1248,
+          "m_iszModifierToAddOnPlay": 1280,
+          "m_iszNextScript": 1288,
+          "m_iszPlay": 1264,
+          "m_iszPostIdle": 1272,
+          "m_iszPreIdle": 1256,
+          "m_iszSyncGroup": 1304,
+          "m_matOtherToMain": 2000,
+          "m_nHeldWeaponBehavior": 1320,
+          "m_nMoveTo": 1312,
+          "m_nMoveToGait": 1316,
+          "m_nNotReadySequenceCount": 1372,
+          "m_onDeathBehavior": 1420,
+          "m_savedCollisionGroup": 1392,
+          "m_savedFlags": 1388,
+          "m_saved_effects": 1384,
+          "m_sequenceStarted": 1397,
+          "m_startTime": 1376
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CServerOnlyEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CServerOnlyModelEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CServerOnlyPointEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CServerOnlyEntity"
+      },
+      "CServerRagdollTrigger": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CSharedGapTypeQueryRegistration": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGapTypeQueriesForScopeSingleton",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CShatterGlassShardPhysics": {
+        "fields": {
+          "m_ShardDesc": 3336,
+          "m_bDebris": 3328,
+          "m_hParentShard": 3332
+        },
+        "metadata": [
+          {
+            "name": "MNetworkExcludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_ShardDesc",
+            "type": "NetworkVarNames",
+            "type_name": "shard_model_desc_t"
+          }
+        ],
+        "parent": "CPhysicsProp"
+      },
+      "CShower": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CModelPointEntity"
+      },
+      "CSimpleMarkupVolumeTagged": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CMarkupVolumeTagged"
+      },
+      "CSingleplayRules": {
+        "fields": {
+          "m_bSinglePlayerGameEnding": 192
+        },
+        "metadata": [],
+        "parent": "CGameRules"
+      },
+      "CSkeletonInstance": {
+        "fields": {
+          "m_bDirtyMotionType": 0,
+          "m_bDisableSolidCollisionsForHierarchy": 930,
+          "m_bIsAnimationEnabled": 928,
+          "m_bIsGeneratingLatchedParentSpaceState": 0,
+          "m_bUseParentRenderBounds": 929,
+          "m_materialGroup": 932,
+          "m_modelState": 368,
+          "m_nHitboxSet": 936
+        },
+        "metadata": [
+          {
+            "name": "m_modelState",
+            "type": "NetworkVarNames",
+            "type_name": "CModelState"
+          },
+          {
+            "name": "m_bIsAnimationEnabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bUseParentRenderBounds",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_materialGroup",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_nHitboxSet",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": "CGameSceneNode"
+      },
+      "CSkyCamera": {
+        "fields": {
+          "m_bUseAngles": 1396,
+          "m_pNext": 1400,
+          "m_skyboxData": 1248,
+          "m_skyboxSlotToken": 1392
+        },
+        "metadata": [
+          {
+            "name": "m_skyboxData",
+            "type": "NetworkVarNames",
+            "type_name": "sky3dparams_t"
+          },
+          {
+            "name": "m_skyboxSlotToken",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CSkyboxReference": {
+        "fields": {
+          "m_hSkyCamera": 1252,
+          "m_worldGroupId": 1248
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CSmokeGrenade": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseCSGrenade"
+      },
+      "CSmokeGrenadeProjectile": {
+        "fields": {
+          "m_VoxelFrameData": 2960,
+          "m_bDidSmokeEffect": 2924,
+          "m_bExplodeFromInferno": 11832,
+          "m_flLastBounce": 2992,
+          "m_fllastSimulationTime": 2996,
+          "m_nRandomSeed": 2928,
+          "m_nSmokeEffectTickBegin": 2920,
+          "m_nVoxelFrameDataSize": 2984,
+          "m_nVoxelUpdate": 2988,
+          "m_vSmokeColor": 2932,
+          "m_vSmokeDetonationPos": 2944
+        },
+        "metadata": [
+          {
+            "name": "m_nSmokeEffectTickBegin",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bDidSmokeEffect",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_nRandomSeed",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_vSmokeColor",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vSmokeDetonationPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_VoxelFrameData",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nVoxelFrameDataSize",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVoxelUpdate",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          }
+        ],
+        "parent": "CBaseCSGrenadeProjectile"
+      },
+      "CSoundAreaEntityBase": {
+        "fields": {
+          "m_bDisabled": 1248,
+          "m_iszSoundAreaType": 1256,
+          "m_vPos": 1264
+        },
+        "metadata": [
+          {
+            "name": "m_bDisabled",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_iszSoundAreaType",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_vPos",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CSoundAreaEntityOrientedBox": {
+        "fields": {
+          "m_vMax": 1292,
+          "m_vMin": 1280
+        },
+        "metadata": [
+          {
+            "name": "m_vMin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMax",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CSoundAreaEntityBase"
+      },
+      "CSoundAreaEntitySphere": {
+        "fields": {
+          "m_flRadius": 1280
+        },
+        "metadata": [
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CSoundAreaEntityBase"
+      },
+      "CSoundEnt": {
+        "fields": {
+          "m_SoundPool": 1260,
+          "m_cLastActiveSounds": 1256,
+          "m_iActiveSound": 1252,
+          "m_iFreeSound": 1248
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CSoundEventAABBEntity": {
+        "fields": {
+          "m_vMaxs": 1444,
+          "m_vMins": 1432
+        },
+        "metadata": [
+          {
+            "name": "m_vMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CSoundEventEntity"
+      },
+      "CSoundEventEntity": {
+        "fields": {
+          "m_bSaveRestore": 1251,
+          "m_bSavedIsPlaying": 1252,
+          "m_bStartOnSpawn": 1248,
+          "m_bStopOnNew": 1250,
+          "m_bToLocalPlayer": 1249,
+          "m_flClientCullRadius": 1360,
+          "m_flSavedElapsedTime": 1256,
+          "m_hSource": 1424,
+          "m_iszAttachmentName": 1272,
+          "m_iszSoundName": 1408,
+          "m_iszSourceEntityName": 1264,
+          "m_nEntityIndexSelection": 1428,
+          "m_onGUIDChanged": 1280,
+          "m_onSoundFinished": 1320
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CSoundEventEntityAlias_snd_event_point": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSoundEventEntity"
+      },
+      "CSoundEventOBBEntity": {
+        "fields": {
+          "m_vMaxs": 1444,
+          "m_vMins": 1432
+        },
+        "metadata": [
+          {
+            "name": "m_vMins",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vMaxs",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          }
+        ],
+        "parent": "CSoundEventEntity"
+      },
+      "CSoundEventParameter": {
+        "fields": {
+          "m_flFloatValue": 1264,
+          "m_iszParamName": 1256
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CSoundEventPathCornerEntity": {
+        "fields": {
+          "m_bPlaying": 1456,
+          "m_flDistMaxSqr": 1448,
+          "m_flDistanceMax": 1444,
+          "m_flDotProductMax": 1452,
+          "m_iCountMax": 1440,
+          "m_iszPathCorner": 1432,
+          "m_vecCornerPairsNetworked": 1496
+        },
+        "metadata": [
+          {
+            "name": "m_vecCornerPairsNetworked",
+            "type": "NetworkVarNames",
+            "type_name": "SoundeventPathCornerPairNetworked_t"
+          }
+        ],
+        "parent": "CSoundEventEntity"
+      },
+      "CSoundEventSphereEntity": {
+        "fields": {
+          "m_flRadius": 1432
+        },
+        "metadata": [
+          {
+            "name": "m_flRadius",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CSoundEventEntity"
+      },
+      "CSoundOpvarSetAABBEntity": {
+        "fields": {
+          "m_nAABBDirection": 1720,
+          "m_vDistanceInnerMaxs": 1684,
+          "m_vDistanceInnerMins": 1672,
+          "m_vDistanceOuterMaxs": 1708,
+          "m_vDistanceOuterMins": 1696,
+          "m_vInnerMaxs": 1736,
+          "m_vInnerMins": 1724,
+          "m_vOuterMaxs": 1760,
+          "m_vOuterMins": 1748
+        },
+        "metadata": [],
+        "parent": "CSoundOpvarSetPointEntity"
+      },
+      "CSoundOpvarSetAutoRoomEntity": {
+        "fields": {
+          "m_doorwayPairs": 1696,
+          "m_flHeightTolerance": 1724,
+          "m_flSize": 1720,
+          "m_flSizeSqr": 1728,
+          "m_traceResults": 1672
+        },
+        "metadata": [],
+        "parent": "CSoundOpvarSetPointEntity"
+      },
+      "CSoundOpvarSetEntity": {
+        "fields": {
+          "m_OpvarValueString": 1296,
+          "m_bSetOnSpawn": 1304,
+          "m_flOpvarValue": 1288,
+          "m_iszOperatorName": 1264,
+          "m_iszOpvarName": 1272,
+          "m_iszStackName": 1256,
+          "m_nOpvarIndex": 1284,
+          "m_nOpvarType": 1280
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CSoundOpvarSetOBBEntity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSoundOpvarSetAABBEntity"
+      },
+      "CSoundOpvarSetOBBWindEntity": {
+        "fields": {
+          "m_flWindMapMax": 1460,
+          "m_flWindMapMin": 1456,
+          "m_flWindMax": 1452,
+          "m_flWindMin": 1448,
+          "m_vDistanceMaxs": 1436,
+          "m_vDistanceMins": 1424,
+          "m_vMaxs": 1412,
+          "m_vMins": 1400
+        },
+        "metadata": [],
+        "parent": "CSoundOpvarSetPointBase"
+      },
+      "CSoundOpvarSetPathCornerEntity": {
+        "fields": {
+          "m_flDistMaxSqr": 1700,
+          "m_flDistMinSqr": 1696,
+          "m_iszPathCornerEntityName": 1704
+        },
+        "metadata": [],
+        "parent": "CSoundOpvarSetPointEntity"
+      },
+      "CSoundOpvarSetPointBase": {
+        "fields": {
+          "m_bDisabled": 1248,
+          "m_bUseAutoCompare": 1396,
+          "m_hSource": 1252,
+          "m_iOpvarIndex": 1392,
+          "m_iszOperatorName": 1376,
+          "m_iszOpvarName": 1384,
+          "m_iszSourceEntityName": 1264,
+          "m_iszStackName": 1368,
+          "m_vLastPosition": 1352
+        },
+        "metadata": [
+          {
+            "name": "m_iszStackName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOperatorName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszOpvarName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iOpvarIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bUseAutoCompare",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CSoundOpvarSetPointEntity": {
+        "fields": {
+          "m_OnEnter": 1400,
+          "m_OnExit": 1440,
+          "m_bAutoDisable": 1480,
+          "m_bReloading": 1581,
+          "m_bSetValueOnDisable": 1580,
+          "m_flDistanceMapMax": 1560,
+          "m_flDistanceMapMin": 1556,
+          "m_flDistanceMax": 1552,
+          "m_flDistanceMin": 1548,
+          "m_flDynamicMaximumOcclusion": 1604,
+          "m_flOcclusionMax": 1572,
+          "m_flOcclusionMin": 1568,
+          "m_flOcclusionRadius": 1564,
+          "m_flPathingDistanceNormFactor": 1624,
+          "m_flValSetOnDisable": 1576,
+          "m_hDynamicEntity": 1608,
+          "m_iszDynamicEntityName": 1616,
+          "m_nPathingSourceIndex": 1664,
+          "m_nSimulationMode": 1584,
+          "m_nVisibilitySamples": 1588,
+          "m_vDynamicProxyPoint": 1592,
+          "m_vPathingDirection": 1652,
+          "m_vPathingListenerPos": 1640,
+          "m_vPathingSourcePos": 1628
+        },
+        "metadata": [],
+        "parent": "CSoundOpvarSetPointBase"
+      },
+      "CSoundStackSave": {
+        "fields": {
+          "m_iszStackName": 1248
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CSplineConstraint": {
+        "fields": {
+          "m_vAnchorOffsetRestore": 1440
+        },
+        "metadata": [],
+        "parent": "CPhysConstraint"
+      },
+      "CSpotlightEnd": {
+        "fields": {
+          "m_Radius": 1940,
+          "m_flLightScale": 1936,
+          "m_vSpotlightDir": 1944,
+          "m_vSpotlightOrg": 1956
+        },
+        "metadata": [
+          {
+            "name": "m_flLightScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_Radius",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CSprite": {
+        "fields": {
+          "m_bWorldSpaceScale": 1992,
+          "m_flBrightnessDuration": 1980,
+          "m_flBrightnessTimeStart": 2032,
+          "m_flDestScale": 2016,
+          "m_flDieTime": 1960,
+          "m_flFrame": 1956,
+          "m_flGlowProxySize": 1996,
+          "m_flHDRColorScale": 2000,
+          "m_flLastTime": 2004,
+          "m_flMaxFrame": 2008,
+          "m_flScaleDuration": 1988,
+          "m_flScaleTimeStart": 2020,
+          "m_flSpriteFramerate": 1952,
+          "m_flSpriteScale": 1984,
+          "m_flStartScale": 2012,
+          "m_hAttachedToEntity": 1944,
+          "m_hSpriteMaterial": 1936,
+          "m_nAttachment": 1948,
+          "m_nBrightness": 1976,
+          "m_nDestBrightness": 2028,
+          "m_nSpriteHeight": 2040,
+          "m_nSpriteWidth": 2036,
+          "m_nStartBrightness": 2024
+        },
+        "metadata": [
+          {
+            "name": "m_hSpriteMaterial",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_hAttachedToEntity",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBaseEntity>"
+          },
+          {
+            "name": "m_nAttachment",
+            "type": "NetworkVarNames",
+            "type_name": "AttachmentHandle_t"
+          },
+          {
+            "name": "m_flSpriteFramerate",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nBrightness",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_flBrightnessDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flSpriteScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flScaleDuration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_bWorldSpaceScale",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flGlowProxySize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CSpriteAlias_env_glow": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSprite"
+      },
+      "CSpriteOriented": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CSprite"
+      },
+      "CSun": {
+        "fields": {
+          "m_bOn": 1968,
+          "m_bmaxColor": 1969,
+          "m_clrOverlay": 1948,
+          "m_flAlphaHaze": 1984,
+          "m_flAlphaHdr": 1988,
+          "m_flAlphaScale": 1992,
+          "m_flFarZScale": 2000,
+          "m_flHDRColorScale": 1996,
+          "m_flHazeScale": 1980,
+          "m_flRotation": 1976,
+          "m_flSize": 1972,
+          "m_iszEffectName": 1952,
+          "m_iszSSEffectName": 1960,
+          "m_vDirection": 1936
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_vDirection",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_clrOverlay",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "m_iszEffectName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_iszSSEffectName",
+            "type": "NetworkVarNames",
+            "type_name": "string_t"
+          },
+          {
+            "name": "m_bOn",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bmaxColor",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flSize",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flRotation",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHazeScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAlphaHaze",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAlphaHdr",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flAlphaScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flHDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_flFarZScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CTakeDamageInfoAPI": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MPulseProvideFeatureTag",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPulseLibraryBindings",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CTankTargetChange": {
+        "fields": {
+          "m_newTarget": 1248,
+          "m_newTargetName": 1264
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CTankTrainAI": {
+        "fields": {
+          "m_engineSoundName": 1288,
+          "m_hTargetEntity": 1252,
+          "m_hTrain": 1248,
+          "m_movementSoundName": 1296,
+          "m_soundPlaying": 1256,
+          "m_startSoundName": 1280,
+          "m_targetEntityName": 1304
+        },
+        "metadata": [],
+        "parent": "CPointEntity"
+      },
+      "CTeam": {
+        "fields": {
+          "m_aPlayerControllers": 1248,
+          "m_aPlayers": 1272,
+          "m_iScore": 1296,
+          "m_szTeamname": 1300
+        },
+        "metadata": [
+          {
+            "name": "MNetworkIncludeByName",
+            "type": "Unknown"
+          },
+          {
+            "name": "m_aPlayerControllers",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerController>"
+          },
+          {
+            "name": "m_aPlayers",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CBasePlayerPawn>"
+          },
+          {
+            "name": "m_iScore",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_szTeamname",
+            "type": "NetworkVarNames",
+            "type_name": "char"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CTeamplayRules": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CMultiplayRules"
+      },
+      "CTestEffect": {
+        "fields": {
+          "m_flBeamTime": 1448,
+          "m_flStartTime": 1544,
+          "m_iBeam": 1252,
+          "m_iLoop": 1248,
+          "m_pBeam": 1256
+        },
+        "metadata": [],
+        "parent": "CBaseEntity"
+      },
+      "CTextureBasedAnimatable": {
+        "fields": {
+          "m_bLoop": 1936,
+          "m_flFPS": 1940,
+          "m_flStartFrame": 1988,
+          "m_flStartTime": 1984,
+          "m_hPositionKeys": 1944,
+          "m_hRotationKeys": 1952,
+          "m_vAnimationBoundsMax": 1972,
+          "m_vAnimationBoundsMin": 1960
+        },
+        "metadata": [
+          {
+            "name": "m_bLoop",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_flFPS",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_hPositionKeys",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_hRotationKeys",
+            "type": "NetworkVarNames",
+            "type_name": "HRenderTextureStrong"
+          },
+          {
+            "name": "m_vAnimationBoundsMin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vAnimationBoundsMax",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_flStartTime",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flStartFrame",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseModelEntity"
+      },
+      "CTimeline": {
+        "fields": {
+          "m_bStopped": 544,
+          "m_flFinalValue": 536,
+          "m_flInterval": 532,
+          "m_flValues": 16,
+          "m_nBucketCount": 528,
+          "m_nCompressionType": 540,
+          "m_nValueCounts": 272
+        },
+        "metadata": [
+          {
+            "name": "m_flValues",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nValueCounts",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nBucketCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_flInterval",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFinalValue",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_nCompressionType",
+            "type": "NetworkVarNames",
+            "type_name": "TimelineCompression_t"
+          },
+          {
+            "name": "m_bStopped",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "IntervalTimer"
+      },
+      "CTimerEntity": {
+        "fields": {
+          "m_OnTimer": 1248,
+          "m_OnTimerHigh": 1288,
+          "m_OnTimerLow": 1328,
+          "m_bPauseAfterFiring": 1388,
+          "m_bPaused": 1404,
+          "m_bUpDownState": 1380,
+          "m_flInitialDelay": 1372,
+          "m_flLowerRandomBound": 1392,
+          "m_flRefireTime": 1376,
+          "m_flRemainingTime": 1400,
+          "m_flUpperRandomBound": 1396,
+          "m_iDisabled": 1368,
+          "m_iUseRandomTime": 1384
+        },
+        "metadata": [],
+        "parent": "CLogicalEntity"
+      },
+      "CTonemapController2": {
+        "fields": {
+          "m_flAutoExposureMax": 1252,
+          "m_flAutoExposureMin": 1248,
+          "m_flExposureAdaptationSpeedDown": 1272,
+          "m_flExposureAdaptationSpeedUp": 1268,
+          "m_flTonemapEVSmoothingRange": 1276,
+          "m_flTonemapMinAvgLum": 1264,
+          "m_flTonemapPercentBrightPixels": 1260,
+          "m_flTonemapPercentTarget": 1256
+        },
+        "metadata": [
+          {
+            "name": "m_flAutoExposureMin",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flAutoExposureMax",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentTarget",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapPercentBrightPixels",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapMinAvgLum",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureAdaptationSpeedUp",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flExposureAdaptationSpeedDown",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flTonemapEVSmoothingRange",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CTonemapController2Alias_env_tonemap_controller2": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CTonemapController2"
+      },
+      "CTonemapTrigger": {
+        "fields": {
+          "m_hTonemapController": 2408,
+          "m_tonemapControllerName": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTouchExpansionComponent": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CEntityComponent"
+      },
+      "CTriggerActiveWeaponDetect": {
+        "fields": {
+          "m_OnTouchedActiveWeapon": 2400,
+          "m_iszWeaponClassName": 2440
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerBombReset": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerBrush": {
+        "fields": {
+          "m_OnEndTouch": 1976,
+          "m_OnStartTouch": 1936,
+          "m_OnUse": 2016,
+          "m_iDontMessageParent": 2060,
+          "m_iInputFilter": 2056
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CTriggerBuoyancy": {
+        "fields": {
+          "m_BuoyancyHelper": 2400,
+          "m_flFluidDensity": 2528
+        },
+        "metadata": [
+          {
+            "name": "m_flFluidDensity",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerCallback": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerDetectBulletFire": {
+        "fields": {
+          "m_OnDetectedBulletFire": 2408,
+          "m_bPlayerFireOnly": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerDetectExplosion": {
+        "fields": {
+          "m_OnDetectedExplosion": 2440
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerFan": {
+        "fields": {
+          "m_RampTimer": 2456,
+          "m_bAddNoise": 2455,
+          "m_bFalloff": 2452,
+          "m_bPushPlayer": 2453,
+          "m_bRampDown": 2454,
+          "m_flForce": 2436,
+          "m_flPlayerForce": 2444,
+          "m_flRampTime": 2448,
+          "m_flRopeForceScale": 2440,
+          "m_vFanEnd": 2412,
+          "m_vFanOrigin": 2400,
+          "m_vNoise": 2424
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerGameEvent": {
+        "fields": {
+          "m_strEndTouchEventName": 2408,
+          "m_strStartTouchEventName": 2400,
+          "m_strTriggerID": 2416
+        },
+        "metadata": [
+          {
+            "name": "m_strStartTouchEventName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_strEndTouchEventName",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          },
+          {
+            "name": "m_strTriggerID",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlString"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerGravity": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerHostageReset": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerHurt": {
+        "fields": {
+          "m_OnHurt": 2456,
+          "m_OnHurtPlayer": 2496,
+          "m_bNoDmgForce": 2428,
+          "m_bitsDamageInflict": 2420,
+          "m_damageModel": 2424,
+          "m_flDamage": 2404,
+          "m_flDamageCap": 2408,
+          "m_flForgivenessDelay": 2416,
+          "m_flLastDmgTime": 2412,
+          "m_flOriginalDamage": 2400,
+          "m_hurtEntities": 2536,
+          "m_hurtThinkPeriod": 2448,
+          "m_thinkAlways": 2444,
+          "m_vDamageForce": 2432
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerImpact": {
+        "fields": {
+          "m_flMagnitude": 2440,
+          "m_flNoise": 2444,
+          "m_flViewkick": 2448,
+          "m_pOutputForce": 2456
+        },
+        "metadata": [],
+        "parent": "CTriggerMultiple"
+      },
+      "CTriggerLerpObject": {
+        "fields": {
+          "m_OnLerpFinished": 2528,
+          "m_OnLerpStarted": 2488,
+          "m_bAttachTouchingObject": 2480,
+          "m_bLerpRestoreMoveType": 2432,
+          "m_bSingleLerpObject": 2433,
+          "m_flLerpDuration": 2428,
+          "m_hEntityToWaitForDisconnect": 2484,
+          "m_hLerpTarget": 2408,
+          "m_hLerpTargetAttachment": 2424,
+          "m_iszLerpEffect": 2464,
+          "m_iszLerpSound": 2472,
+          "m_iszLerpTarget": 2400,
+          "m_iszLerpTargetAttachment": 2416,
+          "m_vecLerpingObjects": 2440
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerLook": {
+        "fields": {
+          "m_OnEndLook": 2552,
+          "m_OnStartLook": 2512,
+          "m_OnTimeout": 2472,
+          "m_b2DFOV": 2466,
+          "m_bIsLooking": 2465,
+          "m_bTestOcclusion": 2468,
+          "m_bTimeoutFired": 2464,
+          "m_bUseVelocity": 2467,
+          "m_flFieldOfView": 2444,
+          "m_flLookTime": 2448,
+          "m_flLookTimeLast": 2456,
+          "m_flLookTimeTotal": 2452,
+          "m_flTimeoutDuration": 2460,
+          "m_hLookTarget": 2440
+        },
+        "metadata": [
+          {
+            "name": "m_bTestOcclusion",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CTriggerOnce"
+      },
+      "CTriggerMultiple": {
+        "fields": {
+          "m_OnTrigger": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerOnce": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CTriggerMultiple"
+      },
+      "CTriggerPhysics": {
+        "fields": {
+          "m_angularDamping": 2432,
+          "m_angularLimit": 2428,
+          "m_bCollapseToForcePoint": 2460,
+          "m_bConvertToDebrisWhenPossible": 2488,
+          "m_flDampingRatio": 2444,
+          "m_flFrequency": 2440,
+          "m_gravityScale": 2416,
+          "m_linearDamping": 2424,
+          "m_linearForce": 2436,
+          "m_linearLimit": 2420,
+          "m_vecLinearForceDirection": 2476,
+          "m_vecLinearForcePointAt": 2448,
+          "m_vecLinearForcePointAtWorld": 2464
+        },
+        "metadata": [
+          {
+            "name": "m_gravityScale",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_linearLimit",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_linearDamping",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_angularLimit",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_angularDamping",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_linearForce",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flFrequency",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_flDampingRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_vecLinearForcePointAt",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bCollapseToForcePoint",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_vecLinearForcePointAtWorld",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_vecLinearForceDirection",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "m_bConvertToDebrisWhenPossible",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerProximity": {
+        "fields": {
+          "m_NearestEntityDistance": 2424,
+          "m_fRadius": 2416,
+          "m_hMeasureTarget": 2400,
+          "m_iszMeasureTarget": 2408,
+          "m_nTouchers": 2420
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerPush": {
+        "fields": {
+          "m_PathSimple": 2440,
+          "m_angPushEntitySpace": 2400,
+          "m_bTriggerOnStartTouch": 2424,
+          "m_bUsePathSimple": 2425,
+          "m_iszPathSimpleName": 2432,
+          "m_splinePushType": 2448,
+          "m_vecPushDirEntitySpace": 2412
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerRemove": {
+        "fields": {
+          "m_OnRemove": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerSave": {
+        "fields": {
+          "m_bForceNewLevelUnit": 2400,
+          "m_fDangerousTimer": 2404,
+          "m_minHitPoints": 2408
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerSndSosOpvar": {
+        "fields": {
+          "m_VecNormPos": 3244,
+          "m_bVolIs2D": 2472,
+          "m_flCenterSize": 2436,
+          "m_flMaxVal": 2444,
+          "m_flMinVal": 2440,
+          "m_flNormCenterSize": 3256,
+          "m_flPosition": 2424,
+          "m_hTouchingPlayers": 2400,
+          "m_operatorName": 2464,
+          "m_operatorNameChar": 2985,
+          "m_opvarName": 2448,
+          "m_opvarNameChar": 2473,
+          "m_stackName": 2456,
+          "m_stackNameChar": 2729
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerSoundscape": {
+        "fields": {
+          "m_SoundscapeName": 2408,
+          "m_hSoundscape": 2400,
+          "m_spectators": 2416
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerTeleport": {
+        "fields": {
+          "m_bCheckDestIfClearForPlayer": 2410,
+          "m_bMirrorPlayer": 2409,
+          "m_bUseLandmarkAngles": 2408,
+          "m_iLandmark": 2400
+        },
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerToggleSave": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseTrigger"
+      },
+      "CTriggerVolume": {
+        "fields": {
+          "m_hFilter": 1944,
+          "m_iFilterName": 1936
+        },
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CVoteController": {
+        "fields": {
+          "m_VoteOptions": 1656,
+          "m_acceptingVotesTimer": 1288,
+          "m_bIsYesNoVote": 1280,
+          "m_executeCommandTimer": 1312,
+          "m_iActiveIssueIndex": 1248,
+          "m_iOnlyTeamToVote": 1252,
+          "m_nHighestCountIndex": 1624,
+          "m_nPotentialVotes": 1276,
+          "m_nVoteOptionCount": 1256,
+          "m_nVotesCast": 1360,
+          "m_playerHoldingVote": 1616,
+          "m_playerOverrideForVote": 1620,
+          "m_potentialIssues": 1632,
+          "m_resetVoteTimer": 1336
+        },
+        "metadata": [
+          {
+            "name": "m_iActiveIssueIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_iOnlyTeamToVote",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nVoteOptionCount",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPotentialVotes",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bIsYesNoVote",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CBaseEntity"
+      },
+      "CWaterBullet": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseAnimGraph"
+      },
+      "CWeaponAWP": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponAug": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponBaseItem": {
+        "fields": {
+          "m_SequenceCompleteTimer": 3944,
+          "m_bRedraw": 3968
+        },
+        "metadata": [
+          {
+            "name": "m_SequenceCompleteTimer",
+            "type": "NetworkVarNames",
+            "type_name": "CountdownTimer"
+          },
+          {
+            "name": "m_bRedraw",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": "CCSWeaponBase"
+      },
+      "CWeaponBizon": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponCZ75a": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponElite": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponFamas": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponFiveSeven": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponG3SG1": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponGalilAR": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponGlock": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponHKP2000": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponM249": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponM4A1": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponM4A1Silencer": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponMAC10": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponMP5SD": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponMP7": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponMP9": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponMag7": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponNOVA": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBase"
+      },
+      "CWeaponNegev": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponP250": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponP90": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponRevolver": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponSCAR20": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponSG556": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponSSG08": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponSawedoff": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBase"
+      },
+      "CWeaponTaser": {
+        "fields": {
+          "m_fFireTime": 3976,
+          "m_nLastAttackTick": 3980
+        },
+        "metadata": [
+          {
+            "name": "m_fFireTime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          }
+        ],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponTec9": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponUMP45": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponUSPSilencer": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBaseGun"
+      },
+      "CWeaponXM1014": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CCSWeaponBase"
+      },
+      "CWorld": {
+        "fields": {},
+        "metadata": [],
+        "parent": "CBaseModelEntity"
+      },
+      "CountdownTimer": {
+        "fields": {
+          "m_duration": 8,
+          "m_nWorldGroupId": 20,
+          "m_timescale": 16,
+          "m_timestamp": 12
+        },
+        "metadata": [
+          {
+            "name": "m_duration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_timestamp",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_timescale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_nWorldGroupId",
+            "type": "NetworkVarNames",
+            "type_name": "WorldGroupId_t"
+          }
+        ],
+        "parent": null
+      },
+      "EngineCountdownTimer": {
+        "fields": {
+          "m_duration": 8,
+          "m_timescale": 16,
+          "m_timestamp": 12
+        },
+        "metadata": [
+          {
+            "name": "m_duration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_timestamp",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "m_timescale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          }
+        ],
+        "parent": null
+      },
+      "EntityRenderAttribute_t": {
+        "fields": {
+          "m_ID": 48,
+          "m_Values": 52
+        },
+        "metadata": [
+          {
+            "name": "m_ID",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          },
+          {
+            "name": "m_Values",
+            "type": "NetworkVarNames",
+            "type_name": "Vector4D"
+          }
+        ],
+        "parent": null
+      },
+      "EntitySpottedState_t": {
+        "fields": {
+          "m_bSpotted": 8,
+          "m_bSpottedByMask": 12
+        },
+        "metadata": [
+          {
+            "name": "m_bSpotted",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bSpottedByMask",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": null
+      },
+      "FilterDamageType": {
+        "fields": {
+          "m_iDamageType": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "FilterHealth": {
+        "fields": {
+          "m_bAdrenalineActive": 1336,
+          "m_iHealthMax": 1344,
+          "m_iHealthMin": 1340
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "FilterTeam": {
+        "fields": {
+          "m_iFilterTeam": 1336
+        },
+        "metadata": [],
+        "parent": "CBaseFilter"
+      },
+      "IntervalTimer": {
+        "fields": {
+          "m_nWorldGroupId": 12,
+          "m_timestamp": 8
+        },
+        "metadata": [
+          {
+            "name": "m_timestamp",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "m_nWorldGroupId",
+            "type": "NetworkVarNames",
+            "type_name": "WorldGroupId_t"
+          }
+        ],
+        "parent": null
+      },
+      "PhysicsRagdollPose_t": {
+        "fields": {
+          "m_Transforms": 8,
+          "m_hOwner": 32
+        },
+        "metadata": [
+          {
+            "name": "m_Transforms",
+            "type": "NetworkVarNames",
+            "type_name": "CTransform"
+          },
+          {
+            "name": "m_hOwner",
+            "type": "NetworkVarNames",
+            "type_name": "EHANDLE"
+          }
+        ],
+        "parent": null
+      },
+      "PredictedDamageTag_t": {
+        "fields": {
+          "flFlinchModLarge": 56,
+          "flFlinchModSmall": 52,
+          "flFriendlyFireDamageReductionRatio": 60,
+          "nTagTick": 48
+        },
+        "metadata": [
+          {
+            "name": "nTagTick",
+            "type": "NetworkVarNames",
+            "type_name": "GameTick_t"
+          },
+          {
+            "name": "flFlinchModSmall",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "flFlinchModLarge",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "flFriendlyFireDamageReductionRatio",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          }
+        ],
+        "parent": null
+      },
+      "SellbackPurchaseEntry_t": {
+        "fields": {
+          "m_bPrevHelmet": 60,
+          "m_hItem": 64,
+          "m_nCost": 52,
+          "m_nPrevArmor": 56,
+          "m_unDefIdx": 48
+        },
+        "metadata": [
+          {
+            "name": "m_unDefIdx",
+            "type": "NetworkVarNames",
+            "type_name": "item_definition_index_t"
+          },
+          {
+            "name": "m_nCost",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_nPrevArmor",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "m_bPrevHelmet",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_hItem",
+            "type": "NetworkVarNames",
+            "type_name": "CEntityHandle"
+          }
+        ],
+        "parent": null
+      },
+      "SequenceHistory_t": {
+        "fields": {
+          "m_flCyclesPerSecond": 20,
+          "m_flPlaybackRate": 16,
+          "m_flSeqFixedCycle": 8,
+          "m_flSeqStartTime": 4,
+          "m_hSequence": 0,
+          "m_nSeqLoopMode": 12
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "ServerAuthoritativeWeaponSlot_t": {
+        "fields": {
+          "unClass": 40,
+          "unItemDefIdx": 44,
+          "unSlot": 42
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "SpawnPoint": {
+        "fields": {
+          "m_bEnabled": 1252,
+          "m_iPriority": 1248,
+          "m_nType": 1256
+        },
+        "metadata": [],
+        "parent": "CServerOnlyPointEntity"
+      },
+      "VPhysicsCollisionAttribute_t": {
+        "fields": {
+          "m_nCollisionFunctionMask": 43,
+          "m_nCollisionGroup": 42,
+          "m_nEntityId": 32,
+          "m_nHierarchyId": 40,
+          "m_nInteractsAs": 8,
+          "m_nInteractsExclude": 24,
+          "m_nInteractsWith": 16,
+          "m_nOwnerId": 36
+        },
+        "metadata": [
+          {
+            "name": "m_nInteractsAs",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nInteractsWith",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nInteractsExclude",
+            "type": "NetworkVarNames",
+            "type_name": "uint64"
+          },
+          {
+            "name": "m_nEntityId",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nOwnerId",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          },
+          {
+            "name": "m_nHierarchyId",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nCollisionGroup",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "m_nCollisionFunctionMask",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          }
+        ],
+        "parent": null
+      },
+      "ViewAngleServerChange_t": {
+        "fields": {
+          "nIndex": 64,
+          "nType": 48,
+          "qAngle": 52
+        },
+        "metadata": [
+          {
+            "name": "nType",
+            "type": "NetworkVarNames",
+            "type_name": "FixAngleSet_t"
+          },
+          {
+            "name": "qAngle",
+            "type": "NetworkVarNames",
+            "type_name": "QAngle"
+          },
+          {
+            "name": "nIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": null
+      },
+      "WeaponPurchaseCount_t": {
+        "fields": {
+          "m_nCount": 50,
+          "m_nItemDefIndex": 48
+        },
+        "metadata": [
+          {
+            "name": "m_nItemDefIndex",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          },
+          {
+            "name": "m_nCount",
+            "type": "NetworkVarNames",
+            "type_name": "uint16"
+          }
+        ],
+        "parent": null
+      },
+      "WeaponPurchaseTracker_t": {
+        "fields": {
+          "m_weaponPurchases": 8
+        },
+        "metadata": [
+          {
+            "name": "m_weaponPurchases",
+            "type": "NetworkVarNames",
+            "type_name": "WeaponPurchaseCount_t"
+          }
+        ],
+        "parent": null
+      },
+      "audioparams_t": {
+        "fields": {
+          "localBits": 108,
+          "localSound": 8,
+          "soundEventHash": 116,
+          "soundscapeEntityListIndex": 112,
+          "soundscapeIndex": 104
+        },
+        "metadata": [
+          {
+            "name": "localSound",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "soundscapeIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "localBits",
+            "type": "NetworkVarNames",
+            "type_name": "uint8"
+          },
+          {
+            "name": "soundscapeEntityListIndex",
+            "type": "NetworkVarNames",
+            "type_name": "int"
+          },
+          {
+            "name": "soundEventHash",
+            "type": "NetworkVarNames",
+            "type_name": "uint32"
+          }
+        ],
+        "parent": null
+      },
+      "fogparams_t": {
+        "fields": {
+          "HDRColorScale": 56,
+          "blend": 101,
+          "blendtobackground": 88,
+          "colorPrimary": 20,
+          "colorPrimaryLerpTo": 28,
+          "colorSecondary": 24,
+          "colorSecondaryLerpTo": 32,
+          "dirPrimary": 8,
+          "duration": 84,
+          "enable": 100,
+          "end": 40,
+          "endLerpTo": 72,
+          "exponent": 52,
+          "farz": 44,
+          "lerptime": 80,
+          "locallightscale": 96,
+          "m_bNoReflectionFog": 102,
+          "m_bPadding": 103,
+          "maxdensity": 48,
+          "maxdensityLerpTo": 76,
+          "scattering": 92,
+          "skyboxFogFactor": 60,
+          "skyboxFogFactorLerpTo": 64,
+          "start": 36,
+          "startLerpTo": 68
+        },
+        "metadata": [
+          {
+            "name": "dirPrimary",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "colorPrimary",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "colorSecondary",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "colorPrimaryLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "colorSecondaryLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "Color"
+          },
+          {
+            "name": "start",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "end",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "farz",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "maxdensity",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "exponent",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "HDRColorScale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "skyboxFogFactor",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "skyboxFogFactorLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "startLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "endLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "maxdensityLerpTo",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "lerptime",
+            "type": "NetworkVarNames",
+            "type_name": "GameTime_t"
+          },
+          {
+            "name": "duration",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "blendtobackground",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "scattering",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "locallightscale",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "enable",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "blend",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bNoReflectionFog",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          }
+        ],
+        "parent": null
+      },
+      "fogplayerparams_t": {
+        "fields": {
+          "m_NewColor": 40,
+          "m_OldColor": 16,
+          "m_flNewEnd": 48,
+          "m_flNewFarZ": 60,
+          "m_flNewHDRColorScale": 56,
+          "m_flNewMaxDensity": 52,
+          "m_flNewStart": 44,
+          "m_flOldEnd": 24,
+          "m_flOldFarZ": 36,
+          "m_flOldHDRColorScale": 32,
+          "m_flOldMaxDensity": 28,
+          "m_flOldStart": 20,
+          "m_flTransitionTime": 12,
+          "m_hCtrl": 8
+        },
+        "metadata": [
+          {
+            "name": "m_hCtrl",
+            "type": "NetworkVarNames",
+            "type_name": "CHandle<CFogController>"
+          }
+        ],
+        "parent": null
+      },
+      "shard_model_desc_t": {
+        "fields": {
+          "m_SurfacePropStringToken": 120,
+          "m_bHasParent": 116,
+          "m_bParentFrozen": 117,
+          "m_flGlassHalfThickness": 112,
+          "m_hMaterialBase": 16,
+          "m_hMaterialDamageOverlay": 24,
+          "m_nModelID": 8,
+          "m_solid": 32,
+          "m_vInitialPanelVertices": 88,
+          "m_vecPanelSize": 36,
+          "m_vecPanelVertices": 64,
+          "m_vecStressPositionA": 44,
+          "m_vecStressPositionB": 52
+        },
+        "metadata": [
+          {
+            "name": "m_nModelID",
+            "type": "NetworkVarNames",
+            "type_name": "int32"
+          },
+          {
+            "name": "m_hMaterialBase",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_hMaterialDamageOverlay",
+            "type": "NetworkVarNames",
+            "type_name": "HMaterialStrong"
+          },
+          {
+            "name": "m_solid",
+            "type": "NetworkVarNames",
+            "type_name": "ShardSolid_t"
+          },
+          {
+            "name": "m_vecPanelSize",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vecStressPositionA",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vecStressPositionB",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vecPanelVertices",
+            "type": "NetworkVarNames",
+            "type_name": "Vector2D"
+          },
+          {
+            "name": "m_vInitialPanelVertices",
+            "type": "NetworkVarNames",
+            "type_name": "Vector4D"
+          },
+          {
+            "name": "m_flGlassHalfThickness",
+            "type": "NetworkVarNames",
+            "type_name": "float"
+          },
+          {
+            "name": "m_bHasParent",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_bParentFrozen",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "m_SurfacePropStringToken",
+            "type": "NetworkVarNames",
+            "type_name": "CUtlStringToken"
+          }
+        ],
+        "parent": null
+      },
+      "sky3dparams_t": {
+        "fields": {
+          "bClip3DSkyBoxNearToWorldFar": 24,
+          "flClip3DSkyBoxNearToWorldFarOffset": 28,
+          "fog": 32,
+          "m_nWorldGroupID": 136,
+          "origin": 12,
+          "scale": 8
+        },
+        "metadata": [
+          {
+            "name": "scale",
+            "type": "NetworkVarNames",
+            "type_name": "int16"
+          },
+          {
+            "name": "origin",
+            "type": "NetworkVarNames",
+            "type_name": "Vector"
+          },
+          {
+            "name": "bClip3DSkyBoxNearToWorldFar",
+            "type": "NetworkVarNames",
+            "type_name": "bool"
+          },
+          {
+            "name": "flClip3DSkyBoxNearToWorldFarOffset",
+            "type": "NetworkVarNames",
+            "type_name": "float32"
+          },
+          {
+            "name": "fog",
+            "type": "NetworkVarNames",
+            "type_name": "fogparams_t"
+          },
+          {
+            "name": "m_nWorldGroupID",
+            "type": "NetworkVarNames",
+            "type_name": "WorldGroupId_t"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "AmmoFlags_t": {
+        "alignment": 4,
+        "members": {
+          "AMMO_FLAG_MAX": 2,
+          "AMMO_FORCE_DROP_IF_CARRIED": 1,
+          "AMMO_RESERVE_STAYS_WITH_WEAPON": 2
+        },
+        "type": "uint32"
+      },
+      "AmmoPosition_t": {
+        "alignment": 4,
+        "members": {
+          "AMMO_POSITION_COUNT": 2,
+          "AMMO_POSITION_INVALID": -1,
+          "AMMO_POSITION_PRIMARY": 0,
+          "AMMO_POSITION_SECONDARY": 1
+        },
+        "type": "uint32"
+      },
+      "AnimLoopMode_t": {
+        "alignment": 4,
+        "members": {
+          "ANIM_LOOP_MODE_COUNT": 3,
+          "ANIM_LOOP_MODE_INVALID": -1,
+          "ANIM_LOOP_MODE_LOOPING": 1,
+          "ANIM_LOOP_MODE_NOT_LOOPING": 0,
+          "ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS": 2
+        },
+        "type": "uint32"
+      },
+      "BaseExplosionTypes_t": {
+        "alignment": 4,
+        "members": {
+          "EXPLOSION_TYPE_COUNT": 16,
+          "EXPLOSION_TYPE_CUSTOM": 15,
+          "EXPLOSION_TYPE_DEFAULT": 0,
+          "EXPLOSION_TYPE_ELECTRICAL": 7,
+          "EXPLOSION_TYPE_EMP": 8,
+          "EXPLOSION_TYPE_EXPLOSIVEBARREL": 6,
+          "EXPLOSION_TYPE_FIREWORKS": 3,
+          "EXPLOSION_TYPE_FLASHBANG": 11,
+          "EXPLOSION_TYPE_GASCAN": 4,
+          "EXPLOSION_TYPE_GASCYLINDER": 5,
+          "EXPLOSION_TYPE_GRENADE": 1,
+          "EXPLOSION_TYPE_ICE": 13,
+          "EXPLOSION_TYPE_MOLOTOV": 2,
+          "EXPLOSION_TYPE_NONE": 14,
+          "EXPLOSION_TYPE_SHRAPNEL": 9,
+          "EXPLOSION_TYPE_SMOKEGRENADE": 10,
+          "EXPLOSION_TYPE_TRIPMINE": 12
+        },
+        "type": "uint32"
+      },
+      "BeamClipStyle_t": {
+        "alignment": 4,
+        "members": {
+          "kBEAMCLIPSTYLE_NUMBITS": 2,
+          "kGEOCLIP": 1,
+          "kMODELCLIP": 2,
+          "kNOCLIP": 0
+        },
+        "type": "uint32"
+      },
+      "BeamType_t": {
+        "alignment": 4,
+        "members": {
+          "BEAM_ENTPOINT": 2,
+          "BEAM_ENTS": 3,
+          "BEAM_HOSE": 4,
+          "BEAM_INVALID": 0,
+          "BEAM_LASER": 6,
+          "BEAM_POINTS": 1,
+          "BEAM_SPLINE": 5
+        },
+        "type": "uint32"
+      },
+      "BeginDeathLifeStateTransition_t": {
+        "alignment": 1,
+        "members": {
+          "NO_CHANGE_IN_LIFESTATE": 0,
+          "TRANSITION_TO_LIFESTATE_DEAD": 2,
+          "TRANSITION_TO_LIFESTATE_DYING": 1
+        },
+        "type": "uint8"
+      },
+      "BloodType": {
+        "alignment": 4,
+        "members": {
+          "ColorGreen": 2,
+          "ColorRed": 0,
+          "ColorRedLVL2": 3,
+          "ColorRedLVL3": 4,
+          "ColorRedLVL4": 5,
+          "ColorRedLVL5": 6,
+          "ColorRedLVL6": 7,
+          "ColorYellow": 1,
+          "None": -1
+        },
+        "type": "uint32"
+      },
+      "BreakableContentsType_t": {
+        "alignment": 4,
+        "members": {
+          "BC_DEFAULT": 0,
+          "BC_EMPTY": 1,
+          "BC_PARTICLE_SYSTEM_OVERRIDE": 3,
+          "BC_PROP_GROUP_OVERRIDE": 2
+        },
+        "type": "uint32"
+      },
+      "BrushSolidities_e": {
+        "alignment": 4,
+        "members": {
+          "BRUSHSOLID_ALWAYS": 2,
+          "BRUSHSOLID_NEVER": 1,
+          "BRUSHSOLID_TOGGLE": 0
+        },
+        "type": "uint32"
+      },
+      "C4LightEffect_t": {
+        "alignment": 4,
+        "members": {
+          "eLightEffectDropped": 1,
+          "eLightEffectNone": 0,
+          "eLightEffectThirdPersonHeld": 2
+        },
+        "type": "uint32"
+      },
+      "CDebugOverlayCombinedTypes_t": {
+        "alignment": 4,
+        "members": {
+          "ALL": 0,
+          "ANY": 1,
+          "COUNT": 2
+        },
+        "type": "uint32"
+      },
+      "CDebugOverlayFilterType_t": {
+        "alignment": 4,
+        "members": {
+          "AI_EVENT": 7,
+          "AI_SCHEDULE": 5,
+          "AI_TASK": 6,
+          "COMBINED": -1,
+          "COUNT": 3,
+          "END_SIM_HISTORY_TYPES": 8,
+          "ENTITY": 2,
+          "NONE": 0,
+          "TACTICAL_SEARCH": 4,
+          "TEXT": 1
+        },
+        "type": "uint32"
+      },
+      "CRR_Response__ResponseEnum_t": {
+        "alignment": 4,
+        "members": {
+          "MAX_RESPONSE_NAME": 192,
+          "MAX_RULE_NAME": 128
+        },
+        "type": "uint32"
+      },
+      "CSPlayerBlockingUseAction_t": {
+        "alignment": 4,
+        "members": {
+          "k_CSPlayerBlockingUseAction_DefusingDefault": 1,
+          "k_CSPlayerBlockingUseAction_DefusingWithKit": 2,
+          "k_CSPlayerBlockingUseAction_EquippingHeavyArmor": 5,
+          "k_CSPlayerBlockingUseAction_HostageDropping": 4,
+          "k_CSPlayerBlockingUseAction_HostageGrabbing": 3,
+          "k_CSPlayerBlockingUseAction_MapLongUseEntity_Pickup": 7,
+          "k_CSPlayerBlockingUseAction_MapLongUseEntity_Place": 8,
+          "k_CSPlayerBlockingUseAction_MaxCount": 9,
+          "k_CSPlayerBlockingUseAction_None": 0,
+          "k_CSPlayerBlockingUseAction_TakingOffHeavyArmor": 6
+        },
+        "type": "uint32"
+      },
+      "CSPlayerState": {
+        "alignment": 4,
+        "members": {
+          "NUM_PLAYER_STATES": 9,
+          "STATE_ACTIVE": 0,
+          "STATE_DEATH_ANIM": 4,
+          "STATE_DEATH_WAIT_FOR_KEY": 5,
+          "STATE_DORMANT": 8,
+          "STATE_GUNGAME_RESPAWN": 7,
+          "STATE_OBSERVER_MODE": 6,
+          "STATE_PICKINGCLASS": 3,
+          "STATE_PICKINGTEAM": 2,
+          "STATE_WELCOME": 1
+        },
+        "type": "uint32"
+      },
+      "CSWeaponCategory": {
+        "alignment": 4,
+        "members": {
+          "WEAPONCATEGORY_COUNT": 6,
+          "WEAPONCATEGORY_HEAVY": 5,
+          "WEAPONCATEGORY_MELEE": 1,
+          "WEAPONCATEGORY_OTHER": 0,
+          "WEAPONCATEGORY_RIFLE": 4,
+          "WEAPONCATEGORY_SECONDARY": 2,
+          "WEAPONCATEGORY_SMG": 3
+        },
+        "type": "uint32"
+      },
+      "CSWeaponMode": {
+        "alignment": 4,
+        "members": {
+          "Primary_Mode": 0,
+          "Secondary_Mode": 1,
+          "WeaponMode_MAX": 2
+        },
+        "type": "uint32"
+      },
+      "CSWeaponSilencerType": {
+        "alignment": 4,
+        "members": {
+          "WEAPONSILENCER_DETACHABLE": 1,
+          "WEAPONSILENCER_INTEGRATED": 2,
+          "WEAPONSILENCER_NONE": 0
+        },
+        "type": "uint32"
+      },
+      "CSWeaponState_t": {
+        "alignment": 4,
+        "members": {
+          "WEAPON_IS_ACTIVE": 2,
+          "WEAPON_IS_CARRIED_BY_PLAYER": 1,
+          "WEAPON_NOT_CARRIED": 0
+        },
+        "type": "uint32"
+      },
+      "CSWeaponType": {
+        "alignment": 4,
+        "members": {
+          "WEAPONTYPE_C4": 7,
+          "WEAPONTYPE_EQUIPMENT": 10,
+          "WEAPONTYPE_GRENADE": 9,
+          "WEAPONTYPE_KNIFE": 0,
+          "WEAPONTYPE_MACHINEGUN": 6,
+          "WEAPONTYPE_PISTOL": 1,
+          "WEAPONTYPE_RIFLE": 3,
+          "WEAPONTYPE_SHOTGUN": 4,
+          "WEAPONTYPE_SNIPER_RIFLE": 5,
+          "WEAPONTYPE_STACKABLEITEM": 11,
+          "WEAPONTYPE_SUBMACHINEGUN": 2,
+          "WEAPONTYPE_TASER": 8,
+          "WEAPONTYPE_UNKNOWN": 12
+        },
+        "type": "uint32"
+      },
+      "CanPlaySequence_t": {
+        "alignment": 4,
+        "members": {
+          "CANNOT_PLAY": 0,
+          "CAN_PLAY_ENQUEUED": 2,
+          "CAN_PLAY_NOW": 1
+        },
+        "type": "uint32"
+      },
+      "ChatIgnoreType_t": {
+        "alignment": 4,
+        "members": {
+          "CHAT_IGNORE_ALL": 1,
+          "CHAT_IGNORE_NONE": 0,
+          "CHAT_IGNORE_TEAM": 2
+        },
+        "type": "uint32"
+      },
+      "ChickenActivity": {
+        "alignment": 4,
+        "members": {
+          "GLIDE": 4,
+          "IDLE": 0,
+          "LAND": 5,
+          "PANIC": 6,
+          "RUN": 3,
+          "SQUAT": 1,
+          "TRICK": 7,
+          "TURN_IN_PLACE": 8,
+          "WALK": 2
+        },
+        "type": "uint32"
+      },
+      "ChoreoLookAtMode_t": {
+        "alignment": 4,
+        "members": {
+          "eChest": 0,
+          "eEyesOnly": 2,
+          "eHead": 1,
+          "eInvalid": -1
+        },
+        "type": "uint32"
+      },
+      "ChoreoLookAtSpeed_t": {
+        "alignment": 4,
+        "members": {
+          "eFast": 2,
+          "eInvalid": -1,
+          "eMedium": 1,
+          "eSlow": 0
+        },
+        "type": "uint32"
+      },
+      "Class_T": {
+        "alignment": 4,
+        "members": {
+          "CLASS_BOMB": 3,
+          "CLASS_DOOR": 8,
+          "CLASS_FOOT_CONTACT_SHADOW": 4,
+          "CLASS_NONE": 0,
+          "CLASS_PLAYER": 1,
+          "CLASS_PLAYER_ALLY": 2,
+          "CLASS_WATER_SPLASHER": 6,
+          "CLASS_WEAPON": 5,
+          "CLASS_WEAPON_VIEWMODEL": 7,
+          "NUM_CLASSIFY_CLASSES": 9
+        },
+        "type": "uint32"
+      },
+      "CommandEntitySpecType_t": {
+        "alignment": 4,
+        "members": {
+          "SPEC_SEARCH": 0,
+          "SPEC_TYPES_COUNT": 1
+        },
+        "type": "uint32"
+      },
+      "CommandExecMode_t": {
+        "alignment": 4,
+        "members": {
+          "EXEC_LEVELSTART": 1,
+          "EXEC_MANUAL": 0,
+          "EXEC_MODES_COUNT": 3,
+          "EXEC_PERIODIC": 2
+        },
+        "type": "uint32"
+      },
+      "DamageTypes_t": {
+        "alignment": 4,
+        "members": {
+          "DMG_ACID": 262144,
+          "DMG_BLAST": 64,
+          "DMG_BLAST_SURFACE": 4194304,
+          "DMG_BUCKSHOT": 16777216,
+          "DMG_BULLET": 2,
+          "DMG_BURN": 8,
+          "DMG_CLUB": 128,
+          "DMG_CRUSH": 1,
+          "DMG_DANGERZONE": 67108864,
+          "DMG_DISSOLVE": 2097152,
+          "DMG_DROWN": 16384,
+          "DMG_DROWNRECOVER": 131072,
+          "DMG_ENERGYBEAM": 1024,
+          "DMG_FALL": 32,
+          "DMG_GENERIC": 0,
+          "DMG_HEADSHOT": 33554432,
+          "DMG_LASTGENERICFLAG": 16777216,
+          "DMG_PHYSGUN": 1048576,
+          "DMG_POISON": 32768,
+          "DMG_RADIATION": 65536,
+          "DMG_SHOCK": 256,
+          "DMG_SLASH": 4,
+          "DMG_SONIC": 512,
+          "DMG_VEHICLE": 16
+        },
+        "type": "uint32"
+      },
+      "DebugOverlayBits_t": {
+        "alignment": 8,
+        "members": {
+          "OVERLAY_ABSBOX_BIT": 32,
+          "OVERLAY_ACTORNAME_BIT": 274877906944,
+          "OVERLAY_ATTACHMENTS_BIT": 256,
+          "OVERLAY_AUTOAIM_BIT": 65536,
+          "OVERLAY_BBOX_BIT": 4,
+          "OVERLAY_BUDDHA_MODE": 1073741824,
+          "OVERLAY_HITBOX_BIT": 16384,
+          "OVERLAY_INTERPOLATED_ATTACHMENTS_BIT": 512,
+          "OVERLAY_INTERPOLATED_HITBOX_BIT": 32768,
+          "OVERLAY_INTERPOLATED_PIVOT_BIT": 1024,
+          "OVERLAY_INTERPOLATED_SKELETON_BIT": 4096,
+          "OVERLAY_JOINT_INFO_BIT": 262144,
+          "OVERLAY_MESSAGE_BIT": 16,
+          "OVERLAY_NAME_BIT": 2,
+          "OVERLAY_NPC_ABILITY_RANGE_DEBUG_BIT": 1099511627776,
+          "OVERLAY_NPC_BODYLOCATIONS": 67108864,
+          "OVERLAY_NPC_COMBAT_BIT": 16777216,
+          "OVERLAY_NPC_CONDITIONS_BIT": 8388608,
+          "OVERLAY_NPC_CONDITIONS_TEXT_BIT": 549755813888,
+          "OVERLAY_NPC_ENEMIES_BIT": 4194304,
+          "OVERLAY_NPC_KILL_BIT": 268435456,
+          "OVERLAY_NPC_RELATION_BIT": 17179869184,
+          "OVERLAY_NPC_ROUTE_BIT": 524288,
+          "OVERLAY_NPC_SCRIPTED_COMMANDS_BIT": 137438953472,
+          "OVERLAY_NPC_SELECTED_BIT": 131072,
+          "OVERLAY_NPC_STEERING_REGULATIONS": 2147483648,
+          "OVERLAY_NPC_TASK_BIT": 33554432,
+          "OVERLAY_NPC_TASK_TEXT_BIT": 4294967296,
+          "OVERLAY_NPC_VIEWCONE_BIT": 134217728,
+          "OVERLAY_PIVOT_BIT": 8,
+          "OVERLAY_PROP_DEBUG": 8589934592,
+          "OVERLAY_RBOX_BIT": 64,
+          "OVERLAY_SHOW_BLOCKSLOS": 128,
+          "OVERLAY_SKELETON_BIT": 2048,
+          "OVERLAY_TEXT_BIT": 1,
+          "OVERLAY_TRIGGER_BOUNDS_BIT": 8192,
+          "OVERLAY_VCOLLIDE_WIREFRAME_BIT": 68719476736,
+          "OVERLAY_VIEWOFFSET": 34359738368,
+          "OVERLAY_VISIBILITY_TRACES_BIT": 1048576,
+          "OVERLAY_WC_CHANGE_ENTITY": 536870912
+        },
+        "type": "uint64"
+      },
+      "Disposition_t": {
+        "alignment": 4,
+        "members": {
+          "D_ER": 0,
+          "D_ERROR": 0,
+          "D_FEAR": 2,
+          "D_FR": 2,
+          "D_HATE": 1,
+          "D_HT": 1,
+          "D_LI": 3,
+          "D_LIKE": 3,
+          "D_NEUTRAL": 4,
+          "D_NU": 4
+        },
+        "type": "uint32"
+      },
+      "DoorState_t": {
+        "alignment": 4,
+        "members": {
+          "DOOR_STATE_AJAR": 4,
+          "DOOR_STATE_CLOSED": 0,
+          "DOOR_STATE_CLOSING": 3,
+          "DOOR_STATE_OPEN": 2,
+          "DOOR_STATE_OPENING": 1
+        },
+        "type": "uint32"
+      },
+      "EContributionScoreFlag_t": {
+        "alignment": 1,
+        "members": {
+          "k_EContributionScoreFlag_Bullets": 2,
+          "k_EContributionScoreFlag_Default": 0,
+          "k_EContributionScoreFlag_Objective": 1
+        },
+        "type": "uint8"
+      },
+      "EDestructiblePartDamagePassThroughType": {
+        "alignment": 4,
+        "members": {
+          "Absorb": 1,
+          "Normal": 0
+        },
+        "type": "uint32"
+      },
+      "EInButtonState": {
+        "alignment": 4,
+        "members": {
+          "IN_BUTTON_DOWN": 1,
+          "IN_BUTTON_DOWN_UP": 2,
+          "IN_BUTTON_DOWN_UP_DOWN": 5,
+          "IN_BUTTON_DOWN_UP_DOWN_UP": 6,
+          "IN_BUTTON_STATE_COUNT": 8,
+          "IN_BUTTON_UP": 0,
+          "IN_BUTTON_UP_DOWN": 3,
+          "IN_BUTTON_UP_DOWN_UP": 4,
+          "IN_BUTTON_UP_DOWN_UP_DOWN": 7
+        },
+        "type": "uint32"
+      },
+      "EKillTypes_t": {
+        "alignment": 1,
+        "members": {
+          "KILLTYPE_COUNT": 7,
+          "KILL_BLAST": 3,
+          "KILL_BURN": 4,
+          "KILL_DEFAULT": 1,
+          "KILL_HEADSHOT": 2,
+          "KILL_NONE": 0,
+          "KILL_SHOCK": 6,
+          "KILL_SLASH": 5
+        },
+        "type": "uint8"
+      },
+      "EOverrideBlockLOS_t": {
+        "alignment": 4,
+        "members": {
+          "BLOCK_LOS_DEFAULT": 0,
+          "BLOCK_LOS_FORCE_FALSE": 1,
+          "BLOCK_LOS_FORCE_TRUE": 2
+        },
+        "type": "uint32"
+      },
+      "EProceduralRagdollWeightIndexPropagationMethod": {
+        "alignment": 4,
+        "members": {
+          "Bone": 0,
+          "BoneAndChildren": 1
+        },
+        "type": "uint32"
+      },
+      "EntFinderMethod_t": {
+        "alignment": 4,
+        "members": {
+          "ENT_FIND_METHOD_FARTHEST": 1,
+          "ENT_FIND_METHOD_NEAREST": 0,
+          "ENT_FIND_METHOD_RANDOM": 2
+        },
+        "type": "uint32"
+      },
+      "EntityDisolveType_t": {
+        "alignment": 4,
+        "members": {
+          "ENTITY_DISSOLVE_CORE": 3,
+          "ENTITY_DISSOLVE_ELECTRICAL": 1,
+          "ENTITY_DISSOLVE_ELECTRICAL_LIGHT": 2,
+          "ENTITY_DISSOLVE_INVALID": -1,
+          "ENTITY_DISSOLVE_NORMAL": 0
+        },
+        "type": "uint32"
+      },
+      "EntityDistanceMode_t": {
+        "alignment": 4,
+        "members": {
+          "eAxisToAxis": 2,
+          "eCenterToCenter": 1,
+          "eOriginToOrigin": 0
+        },
+        "type": "uint32"
+      },
+      "EntityPlatformTypes_t": {
+        "alignment": 1,
+        "members": {
+          "ENTITY_NOT_PLATFORM": 0,
+          "ENTITY_PLATFORM_PLAYER_FOLLOWS_YAW": 1,
+          "ENTITY_PLATFORM_PLAYER_IGNORES_YAW": 2
+        },
+        "type": "uint8"
+      },
+      "EntitySubclassScope_t": {
+        "alignment": 4,
+        "members": {
+          "SUBCLASS_SCOPE_COUNT": 2,
+          "SUBCLASS_SCOPE_NONE": -1,
+          "SUBCLASS_SCOPE_PLAYER_WEAPONS": 1,
+          "SUBCLASS_SCOPE_PRECIPITATION": 0
+        },
+        "type": "uint32"
+      },
+      "Explosions": {
+        "alignment": 4,
+        "members": {
+          "expDirected": 1,
+          "expRandom": 0,
+          "expUsePrecise": 2
+        },
+        "type": "uint32"
+      },
+      "FixAngleSet_t": {
+        "alignment": 1,
+        "members": {
+          "Absolute": 1,
+          "None": 0,
+          "Relative": 2
+        },
+        "type": "uint8"
+      },
+      "ForcedCrouchState_t": {
+        "alignment": 4,
+        "members": {
+          "FORCEDCROUCH_CROUCHED": 1,
+          "FORCEDCROUCH_NONE": 0,
+          "FORCEDCROUCH_UNCROUCHED": 2
+        },
+        "type": "uint32"
+      },
+      "FuncDoorSpawnPos_t": {
+        "alignment": 4,
+        "members": {
+          "FUNC_DOOR_SPAWN_CLOSED": 0,
+          "FUNC_DOOR_SPAWN_OPEN": 1
+        },
+        "type": "uint32"
+      },
+      "GameAnimEventIndex_t": {
+        "alignment": 4,
+        "members": {
+          "AE_ANIMGRAPH_SET_PARAM": 34,
+          "AE_BODYGROUP_SET_VALUE": 17,
+          "AE_CL_BODYGROUP_SET_TO_CLIP": 36,
+          "AE_CL_BODYGROUP_SET_TO_NEXTCLIP": 37,
+          "AE_CL_BODYGROUP_SET_VALUE_CMODEL_WPN": 18,
+          "AE_CL_C4_SCREEN_TEXT": 45,
+          "AE_CL_CLOTH_ATTR": 21,
+          "AE_CL_CLOTH_EFFECT": 24,
+          "AE_CL_CLOTH_GROUND_OFFSET": 22,
+          "AE_CL_CLOTH_STIFFEN": 23,
+          "AE_CL_CREATE_ANIM_SCOPE_PROP": 25,
+          "AE_CL_CREATE_PARTICLE_EFFECT": 7,
+          "AE_CL_CREATE_PARTICLE_EFFECT_CFG": 9,
+          "AE_CL_DISABLE_BODYGROUP": 16,
+          "AE_CL_EJECT_MAG": 42,
+          "AE_CL_ENABLE_BODYGROUP": 15,
+          "AE_CL_PLAYSOUND": 1,
+          "AE_CL_PLAYSOUND_ATTACHMENT": 2,
+          "AE_CL_PLAYSOUND_LOOPING": 6,
+          "AE_CL_PLAYSOUND_POSITION": 3,
+          "AE_CL_STOPSOUND": 5,
+          "AE_CL_STOP_PARTICLE_EFFECT": 8,
+          "AE_CL_STOP_RAGDOLL_CONTROL": 14,
+          "AE_CL_WEAPON_TRANSITION_INTO_HAND": 35,
+          "AE_DISABLE_PLATFORM": 32,
+          "AE_EMPTY": 0,
+          "AE_ENABLE_PLATFORM": 33,
+          "AE_FIRE_INPUT": 20,
+          "AE_FOOTSTEP": 12,
+          "AE_GRENADE_THROW_COMPLETE": 46,
+          "AE_PULSE_GRAPH": 27,
+          "AE_PULSE_GRAPH_AIMAT": 29,
+          "AE_PULSE_GRAPH_IKLOCKLEFTARM": 30,
+          "AE_PULSE_GRAPH_IKLOCKRIGHTARM": 31,
+          "AE_PULSE_GRAPH_LOOKAT": 28,
+          "AE_RAGDOLL": 13,
+          "AE_SV_ATTACH_SILENCER_COMPLETE": 39,
+          "AE_SV_CREATE_PARTICLE_EFFECT_CFG": 10,
+          "AE_SV_DETACH_SILENCER_COMPLETE": 41,
+          "AE_SV_HIDE_SILENCER": 40,
+          "AE_SV_IKLOCK": 26,
+          "AE_SV_PLAYSOUND": 4,
+          "AE_SV_SHOW_SILENCER": 38,
+          "AE_SV_STOP_PARTICLE_EFFECT": 11,
+          "AE_WEAPON_PERFORM_ATTACK": 19,
+          "AE_WPN_COMPLETE_RELOAD": 43,
+          "AE_WPN_HEALTHSHOT_INJECT": 44
+        },
+        "type": "uint32"
+      },
+      "GrenadeType_t": {
+        "alignment": 4,
+        "members": {
+          "GRENADE_TYPE_DECOY": 3,
+          "GRENADE_TYPE_EXPLOSIVE": 0,
+          "GRENADE_TYPE_FIRE": 2,
+          "GRENADE_TYPE_FLASH": 1,
+          "GRENADE_TYPE_SMOKE": 4,
+          "GRENADE_TYPE_TOTAL": 5
+        },
+        "type": "uint32"
+      },
+      "HierarchyType_t": {
+        "alignment": 4,
+        "members": {
+          "HIERARCHY_ABSORIGIN": 3,
+          "HIERARCHY_ATTACHMENT": 2,
+          "HIERARCHY_BONE": 4,
+          "HIERARCHY_BONE_MERGE": 1,
+          "HIERARCHY_NONE": 0,
+          "HIERARCHY_TYPE_COUNT": 5
+        },
+        "type": "uint32"
+      },
+      "HitGroup_t": {
+        "alignment": 4,
+        "members": {
+          "HITGROUP_CHEST": 2,
+          "HITGROUP_COUNT": 12,
+          "HITGROUP_GEAR": 10,
+          "HITGROUP_GENERIC": 0,
+          "HITGROUP_HEAD": 1,
+          "HITGROUP_INVALID": -1,
+          "HITGROUP_LEFTARM": 4,
+          "HITGROUP_LEFTLEG": 6,
+          "HITGROUP_NECK": 8,
+          "HITGROUP_RIGHTARM": 5,
+          "HITGROUP_RIGHTLEG": 7,
+          "HITGROUP_SPECIAL": 11,
+          "HITGROUP_STOMACH": 3,
+          "HITGROUP_UNUSED": 9
+        },
+        "type": "uint32"
+      },
+      "Hull_t": {
+        "alignment": 4,
+        "members": {
+          "HULL_HUMAN": 0,
+          "HULL_LARGE": 6,
+          "HULL_LARGE_CENTERED": 7,
+          "HULL_MEDIUM": 4,
+          "HULL_MEDIUM_TALL": 8,
+          "HULL_NONE": 11,
+          "HULL_SMALL": 9,
+          "HULL_SMALL_CENTERED": 1,
+          "HULL_TINY": 3,
+          "HULL_TINY_CENTERED": 5,
+          "HULL_WIDE_HUMAN": 2,
+          "NUM_HULLS": 10
+        },
+        "type": "uint32"
+      },
+      "IChoreoServices__ChoreoState_t": {
+        "alignment": 4,
+        "members": {
+          "STATE_PLAY_SCRIPT": 4,
+          "STATE_PLAY_SCRIPT_POST_IDLE": 5,
+          "STATE_PLAY_SCRIPT_POST_IDLE_DONE": 6,
+          "STATE_PRE_SCRIPT": 0,
+          "STATE_SYNCHRONIZE_SCRIPT": 3,
+          "STATE_WAIT_FOR_SCRIPT": 1,
+          "STATE_WALK_TO_MARK": 2
+        },
+        "type": "uint32"
+      },
+      "IChoreoServices__ScriptState_t": {
+        "alignment": 4,
+        "members": {
+          "SCRIPT_CLEANUP": 3,
+          "SCRIPT_MOVE_TO_MARK": 4,
+          "SCRIPT_PLAYING": 0,
+          "SCRIPT_POST_IDLE": 2,
+          "SCRIPT_WAIT": 1
+        },
+        "type": "uint32"
+      },
+      "InputBitMask_t": {
+        "alignment": 8,
+        "members": {
+          "IN_ALL": -1,
+          "IN_ATTACK": 1,
+          "IN_ATTACK2": 2048,
+          "IN_BACK": 16,
+          "IN_DUCK": 4,
+          "IN_FIRST_MOD_SPECIFIC_BIT": 4294967296,
+          "IN_FORWARD": 8,
+          "IN_JOYAUTOSPRINT": 131072,
+          "IN_JUMP": 2,
+          "IN_LOOK_AT_WEAPON": 34359738368,
+          "IN_MOVELEFT": 512,
+          "IN_MOVERIGHT": 1024,
+          "IN_NONE": 0,
+          "IN_RELOAD": 8192,
+          "IN_SCORE": 8589934592,
+          "IN_SPEED": 65536,
+          "IN_TURNLEFT": 128,
+          "IN_TURNRIGHT": 256,
+          "IN_USE": 32,
+          "IN_USEORRELOAD": 4294967296,
+          "IN_ZOOM": 17179869184
+        },
+        "type": "uint64"
+      },
+      "ItemFlagTypes_t": {
+        "alignment": 1,
+        "members": {
+          "ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO": 1,
+          "ITEM_FLAG_DOHITLOCATIONDMG": 32,
+          "ITEM_FLAG_EXHAUSTIBLE": 16,
+          "ITEM_FLAG_LIMITINWORLD": 8,
+          "ITEM_FLAG_NOAMMOPICKUPS": 64,
+          "ITEM_FLAG_NOAUTORELOAD": 2,
+          "ITEM_FLAG_NOAUTOSWITCHEMPTY": 4,
+          "ITEM_FLAG_NOITEMPICKUP": 128,
+          "ITEM_FLAG_NONE": 0
+        },
+        "type": "uint8"
+      },
+      "LatchDirtyPermission_t": {
+        "alignment": 4,
+        "members": {
+          "LATCH_DIRTY_CLIENT_SIMULATED": 2,
+          "LATCH_DIRTY_DISALLOW": 0,
+          "LATCH_DIRTY_FRAMESIMULATE": 4,
+          "LATCH_DIRTY_PARTICLE_SIMULATE": 5,
+          "LATCH_DIRTY_PREDICTION": 3,
+          "LATCH_DIRTY_SERVER_CONTROLLED": 1
+        },
+        "type": "uint32"
+      },
+      "LessonPanelLayoutFileTypes_t": {
+        "alignment": 4,
+        "members": {
+          "LAYOUT_CUSTOM": 2,
+          "LAYOUT_HAND_DEFAULT": 0,
+          "LAYOUT_WORLD_DEFAULT": 1
+        },
+        "type": "uint32"
+      },
+      "LifeState_t": {
+        "alignment": 4,
+        "members": {
+          "LIFE_ALIVE": 0,
+          "LIFE_DEAD": 2,
+          "LIFE_DYING": 1,
+          "LIFE_RESPAWNABLE": 3,
+          "LIFE_RESPAWNING": 4
+        },
+        "type": "uint32"
+      },
+      "Materials": {
+        "alignment": 4,
+        "members": {
+          "matCeilingTile": 5,
+          "matCinderBlock": 4,
+          "matComputer": 6,
+          "matFlesh": 3,
+          "matGlass": 0,
+          "matLastMaterial": 11,
+          "matMetal": 2,
+          "matNone": 10,
+          "matRocks": 8,
+          "matUnbreakableGlass": 7,
+          "matWeb": 9,
+          "matWood": 1
+        },
+        "type": "uint32"
+      },
+      "MedalRank_t": {
+        "alignment": 4,
+        "members": {
+          "MEDAL_RANK_BRONZE": 1,
+          "MEDAL_RANK_COUNT": 4,
+          "MEDAL_RANK_GOLD": 3,
+          "MEDAL_RANK_NONE": 0,
+          "MEDAL_RANK_SILVER": 2
+        },
+        "type": "uint32"
+      },
+      "ModifyDamageReturn_t": {
+        "alignment": 4,
+        "members": {
+          "ABORT_DO_NOT_APPLY_DAMAGE": 1,
+          "CONTINUE_TO_APPLY_DAMAGE": 0
+        },
+        "type": "uint32"
+      },
+      "MoveCollide_t": {
+        "alignment": 1,
+        "members": {
+          "MOVECOLLIDE_COUNT": 4,
+          "MOVECOLLIDE_DEFAULT": 0,
+          "MOVECOLLIDE_FLY_BOUNCE": 1,
+          "MOVECOLLIDE_FLY_CUSTOM": 2,
+          "MOVECOLLIDE_FLY_SLIDE": 3,
+          "MOVECOLLIDE_MAX_BITS": 3
+        },
+        "type": "uint8"
+      },
+      "MoveLinearAuthoredPos_t": {
+        "alignment": 4,
+        "members": {
+          "MOVELINEAR_AUTHORED_AT_CLOSED_POSITION": 2,
+          "MOVELINEAR_AUTHORED_AT_OPEN_POSITION": 1,
+          "MOVELINEAR_AUTHORED_AT_START_POSITION": 0
+        },
+        "type": "uint32"
+      },
+      "MoveMountingAmount_t": {
+        "alignment": 4,
+        "members": {
+          "MOVE_MOUNT_HIGH": 2,
+          "MOVE_MOUNT_LOW": 1,
+          "MOVE_MOUNT_MAXCOUNT": 3,
+          "MOVE_MOUNT_NONE": 0
+        },
+        "type": "uint32"
+      },
+      "MoveType_t": {
+        "alignment": 1,
+        "members": {
+          "MOVETYPE_CUSTOM": 10,
+          "MOVETYPE_FLY": 3,
+          "MOVETYPE_FLYGRAVITY": 4,
+          "MOVETYPE_INVALID": 11,
+          "MOVETYPE_LADDER": 9,
+          "MOVETYPE_LAST": 11,
+          "MOVETYPE_MAX_BITS": 5,
+          "MOVETYPE_NOCLIP": 7,
+          "MOVETYPE_NONE": 0,
+          "MOVETYPE_OBSERVER": 8,
+          "MOVETYPE_OBSOLETE": 1,
+          "MOVETYPE_PUSH": 6,
+          "MOVETYPE_VPHYSICS": 5,
+          "MOVETYPE_WALK": 2
+        },
+        "type": "uint8"
+      },
+      "NPCFollowFormation_t": {
+        "alignment": 4,
+        "members": {
+          "CloseCircle": 0,
+          "Default": -1,
+          "MediumCircle": 5,
+          "Sidekick": 6,
+          "WideCircle": 1
+        },
+        "type": "uint32"
+      },
+      "NavAttributeEnum": {
+        "alignment": 4,
+        "members": {
+          "NAV_ATTR_FIRST_GAME_INDEX": 19,
+          "NAV_ATTR_LAST_INDEX": 31,
+          "NAV_MESH_AVOID": 128,
+          "NAV_MESH_CROUCH": 65536,
+          "NAV_MESH_DONT_HIDE": 512,
+          "NAV_MESH_JUMP": 2,
+          "NAV_MESH_NON_ZUP": 32768,
+          "NAV_MESH_NON_ZUP_TRANSITION": 131072,
+          "NAV_MESH_NO_HOSTAGES": 2048,
+          "NAV_MESH_NO_JUMP": 8,
+          "NAV_MESH_NO_MERGE": 8192,
+          "NAV_MESH_OBSTACLE_TOP": 16384,
+          "NAV_MESH_PRECISE": 4,
+          "NAV_MESH_RUN": 32,
+          "NAV_MESH_SHORT_HEIGHT": 65536,
+          "NAV_MESH_STAIRS": 4096,
+          "NAV_MESH_STAND": 1024,
+          "NAV_MESH_STOP": 16,
+          "NAV_MESH_TRANSIENT": 256,
+          "NAV_MESH_WALK": 64
+        },
+        "type": "uint32"
+      },
+      "NavDirType": {
+        "alignment": 4,
+        "members": {
+          "EAST": 1,
+          "NORTH": 0,
+          "NUM_NAV_DIR_TYPE_DIRECTIONS": 4,
+          "SOUTH": 2,
+          "WEST": 3
+        },
+        "type": "uint32"
+      },
+      "ObserverInterpState_t": {
+        "alignment": 4,
+        "members": {
+          "OBSERVER_INTERP_NONE": 0,
+          "OBSERVER_INTERP_SETTLING": 2,
+          "OBSERVER_INTERP_TRAVELING": 1
+        },
+        "type": "uint32"
+      },
+      "ObserverMode_t": {
+        "alignment": 4,
+        "members": {
+          "NUM_OBSERVER_MODES": 6,
+          "OBS_MODE_CHASE": 3,
+          "OBS_MODE_DIRECTED": 5,
+          "OBS_MODE_FIXED": 1,
+          "OBS_MODE_IN_EYE": 2,
+          "OBS_MODE_NONE": 0,
+          "OBS_MODE_ROAMING": 4
+        },
+        "type": "uint32"
+      },
+      "OnFrame": {
+        "alignment": 1,
+        "members": {
+          "ONFRAME_FALSE": 2,
+          "ONFRAME_TRUE": 1,
+          "ONFRAME_UNKNOWN": 0
+        },
+        "type": "uint8"
+      },
+      "PerformanceMode_t": {
+        "alignment": 4,
+        "members": {
+          "PM_FULL_GIBS": 2,
+          "PM_NORMAL": 0,
+          "PM_NO_GIBS": 1,
+          "PM_REDUCED_GIBS": 3
+        },
+        "type": "uint32"
+      },
+      "PlayerAnimEvent_t": {
+        "alignment": 4,
+        "members": {
+          "PLAYERANIMEVENT_BACKSTAB": 18,
+          "PLAYERANIMEVENT_CATCH_WEAPON": 11,
+          "PLAYERANIMEVENT_CLEAR_FIRING": 6,
+          "PLAYERANIMEVENT_COUNT": 23,
+          "PLAYERANIMEVENT_DEPLOY": 7,
+          "PLAYERANIMEVENT_DRYFIRE": 19,
+          "PLAYERANIMEVENT_FIDGET": 20,
+          "PLAYERANIMEVENT_FIRE_GUN_PRIMARY": 0,
+          "PLAYERANIMEVENT_FIRE_GUN_SECONDARY": 1,
+          "PLAYERANIMEVENT_GRENADE_PULL_PIN": 2,
+          "PLAYERANIMEVENT_HAULBACK": 14,
+          "PLAYERANIMEVENT_IDLE": 15,
+          "PLAYERANIMEVENT_JUMP": 4,
+          "PLAYERANIMEVENT_LOOKATWEAPON_REQUEST": 12,
+          "PLAYERANIMEVENT_RELEASE": 21,
+          "PLAYERANIMEVENT_RELOAD": 5,
+          "PLAYERANIMEVENT_RELOAD_CANCEL_LOOKATWEAPON": 13,
+          "PLAYERANIMEVENT_SILENCER_STATE": 8,
+          "PLAYERANIMEVENT_SILENCER_TOGGLE": 9,
+          "PLAYERANIMEVENT_STRIKE_HIT": 16,
+          "PLAYERANIMEVENT_STRIKE_MISS": 17,
+          "PLAYERANIMEVENT_TAUNT": 22,
+          "PLAYERANIMEVENT_THROW_GRENADE": 3,
+          "PLAYERANIMEVENT_THROW_GRENADE_UNDERHAND": 10
+        },
+        "type": "uint32"
+      },
+      "PlayerConnectedState": {
+        "alignment": 4,
+        "members": {
+          "PlayerConnected": 0,
+          "PlayerConnecting": 1,
+          "PlayerDisconnected": 4,
+          "PlayerDisconnecting": 3,
+          "PlayerNeverConnected": -1,
+          "PlayerReconnecting": 2,
+          "PlayerReserved": 5
+        },
+        "type": "uint32"
+      },
+      "PointTemplateClientOnlyEntityBehavior_t": {
+        "alignment": 4,
+        "members": {
+          "CREATE_FOR_CLIENTS_WHO_CONNECT_LATER": 1,
+          "CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY": 0
+        },
+        "type": "uint32"
+      },
+      "PointTemplateOwnerSpawnGroupType_t": {
+        "alignment": 4,
+        "members": {
+          "INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP": 1,
+          "INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP": 2,
+          "INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP": 0
+        },
+        "type": "uint32"
+      },
+      "PointWorldTextJustifyHorizontal_t": {
+        "alignment": 4,
+        "members": {
+          "POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER": 1,
+          "POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT": 0,
+          "POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT": 2
+        },
+        "type": "uint32"
+      },
+      "PointWorldTextJustifyVertical_t": {
+        "alignment": 4,
+        "members": {
+          "POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM": 0,
+          "POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER": 1,
+          "POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP": 2
+        },
+        "type": "uint32"
+      },
+      "PointWorldTextReorientMode_t": {
+        "alignment": 4,
+        "members": {
+          "POINT_WORLD_TEXT_REORIENT_AROUND_UP": 1,
+          "POINT_WORLD_TEXT_REORIENT_NONE": 0
+        },
+        "type": "uint32"
+      },
+      "PreviewCharacterMode": {
+        "alignment": 4,
+        "members": {
+          "BANNER": 9,
+          "BUY_MENU": 2,
+          "DIORAMA": 0,
+          "END_OF_MATCH": 4,
+          "INVENTORY_INSPECT": 5,
+          "MAIN_MENU": 1,
+          "TEAM_INTRO": 7,
+          "TEAM_SELECT": 3,
+          "WALKING": 6,
+          "WINGMAN_INTRO": 8
+        },
+        "type": "uint32"
+      },
+      "PreviewEOMCelebration": {
+        "alignment": 4,
+        "members": {
+          "AVA_DEFEAT": 12,
+          "CRASSWATER_DEFEAT": 18,
+          "DARRYL_DEFEAT": 19,
+          "DOCTOR_DEFEAT": 20,
+          "DROPDOWN": 3,
+          "GENDARMERIE": 9,
+          "GENDARMERIE_DEFEAT": 13,
+          "GUERILLA": 7,
+          "GUERILLA02": 8,
+          "MAE_DEFEAT": 14,
+          "MASK_F": 6,
+          "MUHLIK_DEFEAT": 21,
+          "PUNCHING": 1,
+          "RICKSAW_DEFEAT": 15,
+          "SCUBA_FEMALE": 10,
+          "SCUBA_FEMALE_DEFEAT": 16,
+          "SCUBA_MALE": 11,
+          "SCUBA_MALE_DEFEAT": 17,
+          "STRETCH": 4,
+          "SWAGGER": 2,
+          "SWAT_FEMALE": 5,
+          "VYPA_DEFEAT": 22,
+          "WALKUP": 0
+        },
+        "type": "uint32"
+      },
+      "PreviewWeaponState": {
+        "alignment": 4,
+        "members": {
+          "DEPLOYED": 2,
+          "DROPPED": 0,
+          "HOLSTERED": 1,
+          "ICON": 5,
+          "INSPECT": 4,
+          "PLANTED": 3
+        },
+        "type": "uint32"
+      },
+      "PropDoorRotatingOpenDirection_e": {
+        "alignment": 4,
+        "members": {
+          "DOOR_ROTATING_OPEN_BACKWARD": 2,
+          "DOOR_ROTATING_OPEN_BOTH_WAYS": 0,
+          "DOOR_ROTATING_OPEN_FORWARD": 1
+        },
+        "type": "uint32"
+      },
+      "PropDoorRotatingSpawnPos_t": {
+        "alignment": 4,
+        "members": {
+          "DOOR_SPAWN_AJAR": 3,
+          "DOOR_SPAWN_CLOSED": 0,
+          "DOOR_SPAWN_OPEN_BACK": 2,
+          "DOOR_SPAWN_OPEN_FORWARD": 1
+        },
+        "type": "uint32"
+      },
+      "PulseNPCCondition_t": {
+        "alignment": 4,
+        "members": {
+          "COND_HEAR_PLAYER": 3,
+          "COND_LOST_PLAYER": 2,
+          "COND_NO_PRIMARY_AMMO": 5,
+          "COND_PLAYER_PUSHING": 4,
+          "COND_SEE_PLAYER": 1
+        },
+        "type": "uint32"
+      },
+      "QuestProgress__Reason": {
+        "alignment": 4,
+        "members": {
+          "QUEST_NONINITIALIZED": 0,
+          "QUEST_NONOFFICIAL_SERVER": 5,
+          "QUEST_NOT_CONNECTED_TO_STEAM": 4,
+          "QUEST_NOT_ENOUGH_PLAYERS": 2,
+          "QUEST_NOT_SYNCED_WITH_SERVER": 11,
+          "QUEST_NO_ENTITLEMENT": 6,
+          "QUEST_NO_QUEST": 7,
+          "QUEST_OK": 1,
+          "QUEST_PLAYER_IS_BOT": 8,
+          "QUEST_REASON_MAX": 12,
+          "QUEST_WARMUP": 3,
+          "QUEST_WRONG_MAP": 9,
+          "QUEST_WRONG_MODE": 10
+        },
+        "type": "uint32"
+      },
+      "RenderFx_t": {
+        "alignment": 1,
+        "members": {
+          "kRenderFxFadeFast": 6,
+          "kRenderFxFadeIn": 16,
+          "kRenderFxFadeOut": 15,
+          "kRenderFxFadeSlow": 5,
+          "kRenderFxFlickerFast": 13,
+          "kRenderFxFlickerSlow": 12,
+          "kRenderFxGlowShell": 18,
+          "kRenderFxMax": 19,
+          "kRenderFxNoDissipation": 14,
+          "kRenderFxNone": 0,
+          "kRenderFxPulseFast": 2,
+          "kRenderFxPulseFastWide": 4,
+          "kRenderFxPulseFastWider": 17,
+          "kRenderFxPulseSlow": 1,
+          "kRenderFxPulseSlowWide": 3,
+          "kRenderFxSolidFast": 8,
+          "kRenderFxSolidSlow": 7,
+          "kRenderFxStrobeFast": 10,
+          "kRenderFxStrobeFaster": 11,
+          "kRenderFxStrobeSlow": 9
+        },
+        "type": "uint8"
+      },
+      "RenderMode_t": {
+        "alignment": 1,
+        "members": {
+          "kRenderDevVisualizer": 11,
+          "kRenderEnvironmental": 6,
+          "kRenderGlow": 3,
+          "kRenderModeCount": 12,
+          "kRenderNone": 10,
+          "kRenderNormal": 0,
+          "kRenderTransAdd": 5,
+          "kRenderTransAddFrameBlend": 7,
+          "kRenderTransAlpha": 4,
+          "kRenderTransAlphaAdd": 8,
+          "kRenderTransColor": 1,
+          "kRenderTransTexture": 2,
+          "kRenderWorldGlow": 9
+        },
+        "type": "uint8"
+      },
+      "RumbleEffect_t": {
+        "alignment": 4,
+        "members": {
+          "NUM_RUMBLE_EFFECTS": 25,
+          "RUMBLE_357": 2,
+          "RUMBLE_AIRBOAT_GUN": 10,
+          "RUMBLE_AR2": 4,
+          "RUMBLE_AR2_ALT_FIRE": 7,
+          "RUMBLE_CROWBAR_SWING": 9,
+          "RUMBLE_DMG_HIGH": 17,
+          "RUMBLE_DMG_LOW": 15,
+          "RUMBLE_DMG_MED": 16,
+          "RUMBLE_FALL_LONG": 18,
+          "RUMBLE_FALL_SHORT": 19,
+          "RUMBLE_FLAT_BOTH": 14,
+          "RUMBLE_FLAT_LEFT": 12,
+          "RUMBLE_FLAT_RIGHT": 13,
+          "RUMBLE_INVALID": -1,
+          "RUMBLE_JEEP_ENGINE_LOOP": 11,
+          "RUMBLE_PHYSCANNON_HIGH": 24,
+          "RUMBLE_PHYSCANNON_LOW": 22,
+          "RUMBLE_PHYSCANNON_MEDIUM": 23,
+          "RUMBLE_PHYSCANNON_OPEN": 20,
+          "RUMBLE_PHYSCANNON_PUNT": 21,
+          "RUMBLE_PISTOL": 1,
+          "RUMBLE_RPG_MISSILE": 8,
+          "RUMBLE_SHOTGUN_DOUBLE": 6,
+          "RUMBLE_SHOTGUN_SINGLE": 5,
+          "RUMBLE_SMG1": 3,
+          "RUMBLE_STOP_ALL": 0
+        },
+        "type": "uint32"
+      },
+      "SceneOnPlayerDeath_t": {
+        "alignment": 4,
+        "members": {
+          "SCENE_ONPLAYERDEATH_CANCEL": 1,
+          "SCENE_ONPLAYERDEATH_DO_NOTHING": 0
+        },
+        "type": "uint32"
+      },
+      "ScriptedConflictResponse_t": {
+        "alignment": 4,
+        "members": {
+          "SS_CONFLICT_ENQUEUE": 0,
+          "SS_CONFLICT_INTERRUPT": 1
+        },
+        "type": "uint32"
+      },
+      "ScriptedHeldWeaponBehavior_t": {
+        "alignment": 4,
+        "members": {
+          "eDeploy": 1,
+          "eDrop": 2,
+          "eHolster": 0,
+          "eInvalid": -1
+        },
+        "type": "uint32"
+      },
+      "ScriptedMoveTo_t": {
+        "alignment": 4,
+        "members": {
+          "eMoveWithGait": 3,
+          "eObsoleteBackCompat1": 1,
+          "eObsoleteBackCompat2": 2,
+          "eTeleport": 4,
+          "eWait": 0,
+          "eWaitFacing": 5
+        },
+        "type": "uint32"
+      },
+      "ScriptedMoveType_t": {
+        "alignment": 4,
+        "members": {
+          "SCRIPTED_MOVETYPE_NONE": 0,
+          "SCRIPTED_MOVETYPE_SWEEP_TO_AT_MOVEMENT_SPEED": 3,
+          "SCRIPTED_MOVETYPE_TO_WITH_DURATION": 1,
+          "SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED": 2
+        },
+        "type": "uint32"
+      },
+      "ScriptedOnDeath_t": {
+        "alignment": 4,
+        "members": {
+          "SS_ONDEATH_ANIMATED_DEATH": 2,
+          "SS_ONDEATH_NOT_APPLICABLE": -1,
+          "SS_ONDEATH_RAGDOLL": 1,
+          "SS_ONDEATH_UNDEFINED": 0
+        },
+        "type": "uint32"
+      },
+      "SequenceFinishNotifyState_t": {
+        "alignment": 1,
+        "members": {
+          "eDoNotNotify": 0,
+          "eNotifyTriggered": 2,
+          "eNotifyWhenFinished": 1
+        },
+        "type": "uint8"
+      },
+      "ShadowType_t": {
+        "alignment": 4,
+        "members": {
+          "SHADOWS_NONE": 0,
+          "SHADOWS_SIMPLE": 1
+        },
+        "type": "uint32"
+      },
+      "ShakeCommand_t": {
+        "alignment": 4,
+        "members": {
+          "SHAKE_AMPLITUDE": 2,
+          "SHAKE_FREQUENCY": 3,
+          "SHAKE_START": 0,
+          "SHAKE_START_NORUMBLE": 5,
+          "SHAKE_START_RUMBLEONLY": 4,
+          "SHAKE_STOP": 1
+        },
+        "type": "uint32"
+      },
+      "ShardSolid_t": {
+        "alignment": 1,
+        "members": {
+          "SHARD_DEBRIS": 1,
+          "SHARD_SOLID": 0
+        },
+        "type": "uint8"
+      },
+      "ShatterDamageCause": {
+        "alignment": 1,
+        "members": {
+          "SHATTERDAMAGE_BULLET": 0,
+          "SHATTERDAMAGE_EXPLOSIVE": 4,
+          "SHATTERDAMAGE_MELEE": 1,
+          "SHATTERDAMAGE_SCRIPT": 3,
+          "SHATTERDAMAGE_THROWN": 2
+        },
+        "type": "uint8"
+      },
+      "ShatterGlassStressType": {
+        "alignment": 1,
+        "members": {
+          "SHATTERGLASS_BALLISTIC": 1,
+          "SHATTERGLASS_BLUNT": 0,
+          "SHATTERGLASS_EXPLOSIVE": 3,
+          "SHATTERGLASS_PULSE": 2
+        },
+        "type": "uint8"
+      },
+      "SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t": {
+        "alignment": 4,
+        "members": {
+          "kHIGHWATER": 2,
+          "kMIN_FULL": 1,
+          "kMIN_THRESHOLD": 0
+        },
+        "type": "uint32"
+      },
+      "SolidType_t": {
+        "alignment": 1,
+        "members": {
+          "SOLID_BBOX": 2,
+          "SOLID_BSP": 1,
+          "SOLID_CAPSULE": 7,
+          "SOLID_LAST": 8,
+          "SOLID_NONE": 0,
+          "SOLID_OBB": 3,
+          "SOLID_POINT": 5,
+          "SOLID_SPHERE": 4,
+          "SOLID_VPHYSICS": 6
+        },
+        "type": "uint8"
+      },
+      "SoundEventStartType_t": {
+        "alignment": 4,
+        "members": {
+          "SOUNDEVENT_START_ENTITY": 2,
+          "SOUNDEVENT_START_PLAYER": 0,
+          "SOUNDEVENT_START_WORLD": 1
+        },
+        "type": "uint32"
+      },
+      "SoundFlags_t": {
+        "alignment": 2,
+        "members": {
+          "SOUND_FLAGS_NONE": 0,
+          "SOUND_FLAG_ALLIES_ONLY": 64,
+          "SOUND_FLAG_COMBINE_ONLY": 2,
+          "SOUND_FLAG_DANGER_APPROACH": 32,
+          "SOUND_FLAG_EXCLUDE_COMBINE": 16,
+          "SOUND_FLAG_EXPLOSION": 8,
+          "SOUND_FLAG_GUNFIRE": 1,
+          "SOUND_FLAG_PANIC_NPCS": 128,
+          "SOUND_FLAG_REACT_TO_SOURCE": 4,
+          "SOUND_FLAG_SQUAD_ONLY": 256
+        },
+        "type": "uint16"
+      },
+      "SoundTypes_t": {
+        "alignment": 2,
+        "members": {
+          "NUM_AI_SOUND_TYPES": 13,
+          "SOUND_BULLET_IMPACT": 4,
+          "SOUND_COMBAT": 1,
+          "SOUND_DANGER": 3,
+          "SOUND_FOOD": 12,
+          "SOUND_GLASS_BREAK": 9,
+          "SOUND_MOVE_AWAY": 7,
+          "SOUND_NONE": 0,
+          "SOUND_PHYSICS_DANGER": 6,
+          "SOUND_PHYSICS_OBJECT": 10,
+          "SOUND_PLAYER": 2,
+          "SOUND_PLAYER_VEHICLE": 8,
+          "SOUND_THUMPER": 5,
+          "SOUND_WARN_FRIENDS": 11
+        },
+        "type": "uint16"
+      },
+      "StanceType_t": {
+        "alignment": 4,
+        "members": {
+          "NUM_STANCES": 3,
+          "STANCE_CROUCHING": 1,
+          "STANCE_CURRENT": -1,
+          "STANCE_DEFAULT": 0,
+          "STANCE_PRONE": 2
+        },
+        "type": "uint32"
+      },
+      "SubclassVDataChangeType_t": {
+        "alignment": 4,
+        "members": {
+          "SUBCLASS_VDATA_CREATED": 0,
+          "SUBCLASS_VDATA_RELOADED": 2,
+          "SUBCLASS_VDATA_SUBCLASS_CHANGED": 1
+        },
+        "type": "uint32"
+      },
+      "SurroundingBoundsType_t": {
+        "alignment": 1,
+        "members": {
+          "SURROUNDING_TYPE_BIT_COUNT": 3,
+          "USE_BEST_COLLISION_BOUNDS": 1,
+          "USE_COLLISION_BOUNDS_NEVER_VPHYSICS": 7,
+          "USE_GAME_CODE": 4,
+          "USE_HITBOXES": 2,
+          "USE_OBB_COLLISION_BOUNDS": 0,
+          "USE_ROTATION_EXPANDED_BOUNDS": 5,
+          "USE_ROTATION_EXPANDED_ORIENTED_BOUNDS": 6,
+          "USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS": 8,
+          "USE_SPECIFIED_BOUNDS": 3
+        },
+        "type": "uint8"
+      },
+      "TOGGLE_STATE": {
+        "alignment": 4,
+        "members": {
+          "DOOR_CLOSED": 1,
+          "DOOR_CLOSING": 3,
+          "DOOR_OPEN": 0,
+          "DOOR_OPENING": 2,
+          "TS_AT_BOTTOM": 1,
+          "TS_AT_TOP": 0,
+          "TS_GOING_DOWN": 3,
+          "TS_GOING_UP": 2
+        },
+        "type": "uint32"
+      },
+      "TRAIN_CODE": {
+        "alignment": 4,
+        "members": {
+          "TRAIN_BLOCKING": 1,
+          "TRAIN_FOLLOWING": 2,
+          "TRAIN_SAFE": 0
+        },
+        "type": "uint32"
+      },
+      "TakeDamageFlags_t": {
+        "alignment": 8,
+        "members": {
+          "DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS": 512,
+          "DFLAG_ALWAYS_GIB": 32,
+          "DFLAG_FORCEREDUCEARMOR_DMG": 2048,
+          "DFLAG_FORCE_DEATH": 16,
+          "DFLAG_IGNORE_ARMOR": 8192,
+          "DFLAG_NEVER_GIB": 64,
+          "DFLAG_NONE": 0,
+          "DFLAG_PREVENT_DEATH": 8,
+          "DFLAG_RADIUS_DMG": 1024,
+          "DFLAG_REMOVE_NO_RAGDOLL": 128,
+          "DFLAG_SUPPRESS_DAMAGE_MODIFICATION": 256,
+          "DFLAG_SUPPRESS_EFFECTS": 4,
+          "DFLAG_SUPPRESS_HEALTH_CHANGES": 1,
+          "DFLAG_SUPPRESS_INTERRUPT_FLINCH": 4096,
+          "DFLAG_SUPPRESS_PHYSICS_FORCE": 2,
+          "DFLAG_SUPPRESS_UTILREMOVE": 16384,
+          "DMG_LASTDFLAG": 4096
+        },
+        "type": "uint64"
+      },
+      "TimelineCompression_t": {
+        "alignment": 4,
+        "members": {
+          "TIMELINE_COMPRESSION_AVERAGE": 2,
+          "TIMELINE_COMPRESSION_AVERAGE_BLEND": 3,
+          "TIMELINE_COMPRESSION_COUNT_PER_INTERVAL": 1,
+          "TIMELINE_COMPRESSION_SUM": 0,
+          "TIMELINE_COMPRESSION_TOTAL": 4
+        },
+        "type": "uint32"
+      },
+      "Touch_t": {
+        "alignment": 4,
+        "members": {
+          "touch_none": 0,
+          "touch_npc_only": 2,
+          "touch_player_only": 1,
+          "touch_player_or_npc": 3,
+          "touch_player_or_npc_or_physicsprop": 4
+        },
+        "type": "uint32"
+      },
+      "TrackOrientationType_t": {
+        "alignment": 4,
+        "members": {
+          "TrackOrientation_FacePath": 1,
+          "TrackOrientation_FacePathAngles": 2,
+          "TrackOrientation_Fixed": 0
+        },
+        "type": "uint32"
+      },
+      "TrainOrientationType_t": {
+        "alignment": 4,
+        "members": {
+          "TrainOrientation_AtPathTracks": 1,
+          "TrainOrientation_EaseInEaseOut": 3,
+          "TrainOrientation_Fixed": 0,
+          "TrainOrientation_LinearBlend": 2
+        },
+        "type": "uint32"
+      },
+      "TrainVelocityType_t": {
+        "alignment": 4,
+        "members": {
+          "TrainVelocity_EaseInEaseOut": 2,
+          "TrainVelocity_Instantaneous": 0,
+          "TrainVelocity_LinearBlend": 1
+        },
+        "type": "uint32"
+      },
+      "ValueRemapperHapticsType_t": {
+        "alignment": 4,
+        "members": {
+          "HaticsType_Default": 0,
+          "HaticsType_None": 1
+        },
+        "type": "uint32"
+      },
+      "ValueRemapperInputType_t": {
+        "alignment": 4,
+        "members": {
+          "InputType_PlayerShootPosition": 0,
+          "InputType_PlayerShootPositionAroundAxis": 1
+        },
+        "type": "uint32"
+      },
+      "ValueRemapperMomentumType_t": {
+        "alignment": 4,
+        "members": {
+          "MomentumType_Friction": 1,
+          "MomentumType_None": 0,
+          "MomentumType_SpringAwayFromSnapValue": 3,
+          "MomentumType_SpringTowardSnapValue": 2
+        },
+        "type": "uint32"
+      },
+      "ValueRemapperOutputType_t": {
+        "alignment": 4,
+        "members": {
+          "OutputType_AnimationCycle": 0,
+          "OutputType_RotationX": 1,
+          "OutputType_RotationY": 2,
+          "OutputType_RotationZ": 3
+        },
+        "type": "uint32"
+      },
+      "ValueRemapperRatchetType_t": {
+        "alignment": 4,
+        "members": {
+          "RatchetType_Absolute": 0,
+          "RatchetType_EachEngage": 1
+        },
+        "type": "uint32"
+      },
+      "WaterLevel_t": {
+        "alignment": 1,
+        "members": {
+          "WL_Chest": 4,
+          "WL_Count": 6,
+          "WL_Feet": 1,
+          "WL_FullyUnderwater": 5,
+          "WL_Knees": 2,
+          "WL_NotInWater": 0,
+          "WL_Waist": 3
+        },
+        "type": "uint8"
+      },
+      "WeaponAttackType_t": {
+        "alignment": 4,
+        "members": {
+          "eCount": 2,
+          "eInvalid": -1,
+          "ePrimary": 0,
+          "eSecondary": 1
+        },
+        "type": "uint32"
+      },
+      "WeaponSound_t": {
+        "alignment": 4,
+        "members": {
+          "WEAPON_SOUND_DROP": 22,
+          "WEAPON_SOUND_EMPTY": 0,
+          "WEAPON_SOUND_IMPACT": 13,
+          "WEAPON_SOUND_MELEE_HIT": 5,
+          "WEAPON_SOUND_MELEE_HIT_NPC": 8,
+          "WEAPON_SOUND_MELEE_HIT_PLAYER": 7,
+          "WEAPON_SOUND_MELEE_HIT_WORLD": 6,
+          "WEAPON_SOUND_MELEE_MISS": 4,
+          "WEAPON_SOUND_MOUSE_PRESSED": 21,
+          "WEAPON_SOUND_NEARLYEMPTY": 12,
+          "WEAPON_SOUND_NUM_TYPES": 24,
+          "WEAPON_SOUND_RADIO_USE": 23,
+          "WEAPON_SOUND_REFLECT": 14,
+          "WEAPON_SOUND_RELOAD": 17,
+          "WEAPON_SOUND_SECONDARY_ATTACK": 3,
+          "WEAPON_SOUND_SECONDARY_EMPTY": 1,
+          "WEAPON_SOUND_SECONDARY_IMPACT": 15,
+          "WEAPON_SOUND_SECONDARY_REFLECT": 16,
+          "WEAPON_SOUND_SINGLE": 2,
+          "WEAPON_SOUND_SINGLE_ACCURATE": 18,
+          "WEAPON_SOUND_SPECIAL1": 9,
+          "WEAPON_SOUND_SPECIAL2": 10,
+          "WEAPON_SOUND_SPECIAL3": 11,
+          "WEAPON_SOUND_ZOOM_IN": 19,
+          "WEAPON_SOUND_ZOOM_OUT": 20
+        },
+        "type": "uint32"
+      },
+      "WeaponSwitchReason_t": {
+        "alignment": 4,
+        "members": {
+          "eDrawn": 0,
+          "eEquipped": 1,
+          "eUserInitiatedSwitchHands": 3,
+          "eUserInitiatedSwitchToLast": 2
+        },
+        "type": "uint32"
+      },
+      "WorldTextPanelHorizontalAlign_t": {
+        "alignment": 4,
+        "members": {
+          "WORLDTEXT_HORIZONTAL_ALIGN_CENTER": 1,
+          "WORLDTEXT_HORIZONTAL_ALIGN_LEFT": 0,
+          "WORLDTEXT_HORIZONTAL_ALIGN_RIGHT": 2
+        },
+        "type": "uint32"
+      },
+      "WorldTextPanelOrientation_t": {
+        "alignment": 4,
+        "members": {
+          "WORLDTEXT_ORIENTATION_DEFAULT": 0,
+          "WORLDTEXT_ORIENTATION_FACEUSER": 1,
+          "WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT": 2
+        },
+        "type": "uint32"
+      },
+      "WorldTextPanelVerticalAlign_t": {
+        "alignment": 4,
+        "members": {
+          "WORLDTEXT_VERTICAL_ALIGN_BOTTOM": 2,
+          "WORLDTEXT_VERTICAL_ALIGN_CENTER": 1,
+          "WORLDTEXT_VERTICAL_ALIGN_TOP": 0
+        },
+        "type": "uint32"
+      },
+      "attributeprovidertypes_t": {
+        "alignment": 4,
+        "members": {
+          "PROVIDER_GENERIC": 0,
+          "PROVIDER_WEAPON": 1
+        },
+        "type": "uint32"
+      },
+      "doorCheck_e": {
+        "alignment": 4,
+        "members": {
+          "DOOR_CHECK_BACKWARD": 1,
+          "DOOR_CHECK_FORWARD": 0,
+          "DOOR_CHECK_FULL": 2
+        },
+        "type": "uint32"
+      },
+      "eSplinePushType": {
+        "alignment": 4,
+        "members": {
+          "k_eSplinePushAlong": 0,
+          "k_eSplinePushAway": 1,
+          "k_eSplinePushTowards": 2
+        },
+        "type": "uint32"
+      },
+      "filter_t": {
+        "alignment": 4,
+        "members": {
+          "FILTER_AND": 0,
+          "FILTER_OR": 1
+        },
+        "type": "uint32"
+      },
+      "gear_slot_t": {
+        "alignment": 4,
+        "members": {
+          "GEAR_SLOT_BOOSTS": 11,
+          "GEAR_SLOT_C4": 4,
+          "GEAR_SLOT_COUNT": 13,
+          "GEAR_SLOT_FIRST": 0,
+          "GEAR_SLOT_GRENADES": 3,
+          "GEAR_SLOT_INVALID": -1,
+          "GEAR_SLOT_KNIFE": 2,
+          "GEAR_SLOT_LAST": 12,
+          "GEAR_SLOT_PISTOL": 1,
+          "GEAR_SLOT_RESERVED_SLOT10": 9,
+          "GEAR_SLOT_RESERVED_SLOT11": 10,
+          "GEAR_SLOT_RESERVED_SLOT6": 5,
+          "GEAR_SLOT_RESERVED_SLOT7": 6,
+          "GEAR_SLOT_RESERVED_SLOT8": 7,
+          "GEAR_SLOT_RESERVED_SLOT9": 8,
+          "GEAR_SLOT_RIFLE": 0,
+          "GEAR_SLOT_UTILITY": 12
+        },
+        "type": "uint32"
+      },
+      "loadout_slot_t": {
+        "alignment": 4,
+        "members": {
+          "LOADOUT_SLOT_C4": 1,
+          "LOADOUT_SLOT_CLOTHING_APPEARANCE": 46,
+          "LOADOUT_SLOT_CLOTHING_CUSTOMHEAD": 39,
+          "LOADOUT_SLOT_CLOTHING_CUSTOMPLAYER": 38,
+          "LOADOUT_SLOT_CLOTHING_EYEWEAR": 42,
+          "LOADOUT_SLOT_CLOTHING_FACEMASK": 40,
+          "LOADOUT_SLOT_CLOTHING_HANDS": 41,
+          "LOADOUT_SLOT_CLOTHING_HAT": 43,
+          "LOADOUT_SLOT_CLOTHING_LOWERBODY": 44,
+          "LOADOUT_SLOT_CLOTHING_TORSO": 45,
+          "LOADOUT_SLOT_COUNT": 57,
+          "LOADOUT_SLOT_EQUIPMENT0": 32,
+          "LOADOUT_SLOT_EQUIPMENT1": 33,
+          "LOADOUT_SLOT_EQUIPMENT2": 34,
+          "LOADOUT_SLOT_EQUIPMENT3": 35,
+          "LOADOUT_SLOT_EQUIPMENT4": 36,
+          "LOADOUT_SLOT_EQUIPMENT5": 37,
+          "LOADOUT_SLOT_FIRST_ALL_CHARACTER": 54,
+          "LOADOUT_SLOT_FIRST_AUTO_BUY_WEAPON": 0,
+          "LOADOUT_SLOT_FIRST_COSMETIC": 41,
+          "LOADOUT_SLOT_FIRST_PRIMARY_WEAPON": 8,
+          "LOADOUT_SLOT_FIRST_WHEEL_EQUIPMENT": 32,
+          "LOADOUT_SLOT_FIRST_WHEEL_GRENADE": 26,
+          "LOADOUT_SLOT_FIRST_WHEEL_WEAPON": 2,
+          "LOADOUT_SLOT_FLAIR0": 55,
+          "LOADOUT_SLOT_GRENADE0": 26,
+          "LOADOUT_SLOT_GRENADE1": 27,
+          "LOADOUT_SLOT_GRENADE2": 28,
+          "LOADOUT_SLOT_GRENADE3": 29,
+          "LOADOUT_SLOT_GRENADE4": 30,
+          "LOADOUT_SLOT_GRENADE5": 31,
+          "LOADOUT_SLOT_HEAVY0": 20,
+          "LOADOUT_SLOT_HEAVY1": 21,
+          "LOADOUT_SLOT_HEAVY2": 22,
+          "LOADOUT_SLOT_HEAVY3": 23,
+          "LOADOUT_SLOT_HEAVY4": 24,
+          "LOADOUT_SLOT_HEAVY5": 25,
+          "LOADOUT_SLOT_INVALID": -1,
+          "LOADOUT_SLOT_LAST_ALL_CHARACTER": 56,
+          "LOADOUT_SLOT_LAST_AUTO_BUY_WEAPON": 1,
+          "LOADOUT_SLOT_LAST_COSMETIC": 41,
+          "LOADOUT_SLOT_LAST_PRIMARY_WEAPON": 25,
+          "LOADOUT_SLOT_LAST_WHEEL_EQUIPMENT": 37,
+          "LOADOUT_SLOT_LAST_WHEEL_GRENADE": 31,
+          "LOADOUT_SLOT_LAST_WHEEL_WEAPON": 25,
+          "LOADOUT_SLOT_MELEE": 0,
+          "LOADOUT_SLOT_MISC0": 47,
+          "LOADOUT_SLOT_MISC1": 48,
+          "LOADOUT_SLOT_MISC2": 49,
+          "LOADOUT_SLOT_MISC3": 50,
+          "LOADOUT_SLOT_MISC4": 51,
+          "LOADOUT_SLOT_MISC5": 52,
+          "LOADOUT_SLOT_MISC6": 53,
+          "LOADOUT_SLOT_MUSICKIT": 54,
+          "LOADOUT_SLOT_PROMOTED": -2,
+          "LOADOUT_SLOT_RIFLE0": 14,
+          "LOADOUT_SLOT_RIFLE1": 15,
+          "LOADOUT_SLOT_RIFLE2": 16,
+          "LOADOUT_SLOT_RIFLE3": 17,
+          "LOADOUT_SLOT_RIFLE4": 18,
+          "LOADOUT_SLOT_RIFLE5": 19,
+          "LOADOUT_SLOT_SECONDARY0": 2,
+          "LOADOUT_SLOT_SECONDARY1": 3,
+          "LOADOUT_SLOT_SECONDARY2": 4,
+          "LOADOUT_SLOT_SECONDARY3": 5,
+          "LOADOUT_SLOT_SECONDARY4": 6,
+          "LOADOUT_SLOT_SECONDARY5": 7,
+          "LOADOUT_SLOT_SMG0": 8,
+          "LOADOUT_SLOT_SMG1": 9,
+          "LOADOUT_SLOT_SMG2": 10,
+          "LOADOUT_SLOT_SMG3": 11,
+          "LOADOUT_SLOT_SMG4": 12,
+          "LOADOUT_SLOT_SMG5": 13,
+          "LOADOUT_SLOT_SPRAY0": 56
+        },
+        "type": "uint32"
+      },
+      "navproperties_t": {
+        "alignment": 4,
+        "members": {
+          "NAV_IGNORE": 1
+        },
+        "type": "uint32"
+      },
+      "vote_create_failed_t": {
+        "alignment": 4,
+        "members": {
+          "VOTE_FAILED_CANNOT_KICK_ADMIN": 12,
+          "VOTE_FAILED_CANT_ROUND_END": 31,
+          "VOTE_FAILED_CONTINUE": 33,
+          "VOTE_FAILED_DISABLED": 21,
+          "VOTE_FAILED_FAILED_RECENTLY": 8,
+          "VOTE_FAILED_FAILED_RECENT_CHANGEMAP": 16,
+          "VOTE_FAILED_FAILED_RECENT_KICK": 15,
+          "VOTE_FAILED_FAILED_RECENT_RESTART": 19,
+          "VOTE_FAILED_FAILED_RECENT_SCRAMBLETEAMS": 18,
+          "VOTE_FAILED_FAILED_RECENT_SWAPTEAMS": 17,
+          "VOTE_FAILED_GENERIC": 0,
+          "VOTE_FAILED_ISSUE_DISABLED": 5,
+          "VOTE_FAILED_MAP_NAME_REQUIRED": 7,
+          "VOTE_FAILED_MAP_NOT_FOUND": 6,
+          "VOTE_FAILED_MATCH_NOT_PAUSED": 25,
+          "VOTE_FAILED_MATCH_PAUSED": 24,
+          "VOTE_FAILED_MAX": 34,
+          "VOTE_FAILED_NEXTLEVEL_SET": 22,
+          "VOTE_FAILED_NOT_10_PLAYERS": 27,
+          "VOTE_FAILED_NOT_IN_WARMUP": 26,
+          "VOTE_FAILED_PLAYERNOTFOUND": 11,
+          "VOTE_FAILED_QUORUM_FAILURE": 4,
+          "VOTE_FAILED_RATE_EXCEEDED": 2,
+          "VOTE_FAILED_REMATCH": 32,
+          "VOTE_FAILED_SCRAMBLE_IN_PROGRESS": 13,
+          "VOTE_FAILED_SPECTATOR": 14,
+          "VOTE_FAILED_SWAP_IN_PROGRESS": 20,
+          "VOTE_FAILED_TEAM_CANT_CALL": 9,
+          "VOTE_FAILED_TIMEOUT_ACTIVE": 28,
+          "VOTE_FAILED_TIMEOUT_EXHAUSTED": 30,
+          "VOTE_FAILED_TIMEOUT_INACTIVE": 29,
+          "VOTE_FAILED_TOO_EARLY_SURRENDER": 23,
+          "VOTE_FAILED_TRANSITIONING_PLAYERS": 1,
+          "VOTE_FAILED_WAITINGFORPLAYERS": 10,
+          "VOTE_FAILED_YES_MUST_EXCEED_NO": 3
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/server_dll.rs b/output/server_dll.rs
new file mode 100644
index 0000000..83b4eaa
--- /dev/null
+++ b/output/server_dll.rs
@@ -0,0 +1,11177 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: server.dll
+        // Class count: 639
+        // Enum count: 139
+        pub mod server_dll {
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum PropDoorRotatingOpenDirection_e {
+                DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0,
+                DOOR_ROTATING_OPEN_FORWARD = 0x1,
+                DOOR_ROTATING_OPEN_BACKWARD = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum SceneOnPlayerDeath_t {
+                SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0,
+                SCENE_ONPLAYERDEATH_CANCEL = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum LessonPanelLayoutFileTypes_t {
+                LAYOUT_HAND_DEFAULT = 0x0,
+                LAYOUT_WORLD_DEFAULT = 0x1,
+                LAYOUT_CUSTOM = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum TimelineCompression_t {
+                TIMELINE_COMPRESSION_SUM = 0x0,
+                TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1,
+                TIMELINE_COMPRESSION_AVERAGE = 0x2,
+                TIMELINE_COMPRESSION_AVERAGE_BLEND = 0x3,
+                TIMELINE_COMPRESSION_TOTAL = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum SubclassVDataChangeType_t {
+                SUBCLASS_VDATA_CREATED = 0x0,
+                SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1,
+                SUBCLASS_VDATA_RELOADED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum C4LightEffect_t {
+                eLightEffectNone = 0x0,
+                eLightEffectDropped = 0x1,
+                eLightEffectThirdPersonHeld = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum StanceType_t {
+                STANCE_CURRENT = u32::MAX,
+                STANCE_DEFAULT = 0x0,
+                STANCE_CROUCHING = 0x1,
+                STANCE_PRONE = 0x2,
+                NUM_STANCES = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum Explosions {
+                expRandom = 0x0,
+                expDirected = 0x1,
+                expUsePrecise = 0x2
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum PreviewCharacterMode {
+                DIORAMA = 0x0,
+                MAIN_MENU = 0x1,
+                BUY_MENU = 0x2,
+                TEAM_SELECT = 0x3,
+                END_OF_MATCH = 0x4,
+                INVENTORY_INSPECT = 0x5,
+                WALKING = 0x6,
+                TEAM_INTRO = 0x7,
+                WINGMAN_INTRO = 0x8,
+                BANNER = 0x9
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ObserverInterpState_t {
+                OBSERVER_INTERP_NONE = 0x0,
+                OBSERVER_INTERP_TRAVELING = 0x1,
+                OBSERVER_INTERP_SETTLING = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum WorldTextPanelOrientation_t {
+                WORLDTEXT_ORIENTATION_DEFAULT = 0x0,
+                WORLDTEXT_ORIENTATION_FACEUSER = 0x1,
+                WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum WorldTextPanelHorizontalAlign_t {
+                WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0,
+                WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1,
+                WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum SequenceFinishNotifyState_t {
+                eDoNotNotify = 0x0,
+                eNotifyWhenFinished = 0x1,
+                eNotifyTriggered = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum SoundEventStartType_t {
+                SOUNDEVENT_START_PLAYER = 0x0,
+                SOUNDEVENT_START_WORLD = 0x1,
+                SOUNDEVENT_START_ENTITY = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum TrainOrientationType_t {
+                TrainOrientation_Fixed = 0x0,
+                TrainOrientation_AtPathTracks = 0x1,
+                TrainOrientation_LinearBlend = 0x2,
+                TrainOrientation_EaseInEaseOut = 0x3
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum CSWeaponCategory {
+                WEAPONCATEGORY_OTHER = 0x0,
+                WEAPONCATEGORY_MELEE = 0x1,
+                WEAPONCATEGORY_SECONDARY = 0x2,
+                WEAPONCATEGORY_SMG = 0x3,
+                WEAPONCATEGORY_RIFLE = 0x4,
+                WEAPONCATEGORY_HEAVY = 0x5,
+                WEAPONCATEGORY_COUNT = 0x6
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum BeginDeathLifeStateTransition_t {
+                NO_CHANGE_IN_LIFESTATE = 0x0,
+                TRANSITION_TO_LIFESTATE_DYING = 0x1,
+                TRANSITION_TO_LIFESTATE_DEAD = 0x2
+            }
+            // Alignment: 2
+            // Member count: 14
+            #[repr(u16)]
+            pub enum SoundTypes_t {
+                SOUND_NONE = 0x0,
+                SOUND_COMBAT = 0x1,
+                SOUND_PLAYER = 0x2,
+                SOUND_DANGER = 0x3,
+                SOUND_BULLET_IMPACT = 0x4,
+                SOUND_THUMPER = 0x5,
+                SOUND_PHYSICS_DANGER = 0x6,
+                SOUND_MOVE_AWAY = 0x7,
+                SOUND_PLAYER_VEHICLE = 0x8,
+                SOUND_GLASS_BREAK = 0x9,
+                SOUND_PHYSICS_OBJECT = 0xA,
+                SOUND_WARN_FRIENDS = 0xB,
+                SOUND_FOOD = 0xC,
+                NUM_AI_SOUND_TYPES = 0xD
+            }
+            // Alignment: 4
+            // Member count: 24
+            #[repr(u32)]
+            pub enum PlayerAnimEvent_t {
+                PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0,
+                PLAYERANIMEVENT_FIRE_GUN_SECONDARY = 0x1,
+                PLAYERANIMEVENT_GRENADE_PULL_PIN = 0x2,
+                PLAYERANIMEVENT_THROW_GRENADE = 0x3,
+                PLAYERANIMEVENT_JUMP = 0x4,
+                PLAYERANIMEVENT_RELOAD = 0x5,
+                PLAYERANIMEVENT_CLEAR_FIRING = 0x6,
+                PLAYERANIMEVENT_DEPLOY = 0x7,
+                PLAYERANIMEVENT_SILENCER_STATE = 0x8,
+                PLAYERANIMEVENT_SILENCER_TOGGLE = 0x9,
+                PLAYERANIMEVENT_THROW_GRENADE_UNDERHAND = 0xA,
+                PLAYERANIMEVENT_CATCH_WEAPON = 0xB,
+                PLAYERANIMEVENT_LOOKATWEAPON_REQUEST = 0xC,
+                PLAYERANIMEVENT_RELOAD_CANCEL_LOOKATWEAPON = 0xD,
+                PLAYERANIMEVENT_HAULBACK = 0xE,
+                PLAYERANIMEVENT_IDLE = 0xF,
+                PLAYERANIMEVENT_STRIKE_HIT = 0x10,
+                PLAYERANIMEVENT_STRIKE_MISS = 0x11,
+                PLAYERANIMEVENT_BACKSTAB = 0x12,
+                PLAYERANIMEVENT_DRYFIRE = 0x13,
+                PLAYERANIMEVENT_FIDGET = 0x14,
+                PLAYERANIMEVENT_RELEASE = 0x15,
+                PLAYERANIMEVENT_TAUNT = 0x16,
+                PLAYERANIMEVENT_COUNT = 0x17
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum ItemFlagTypes_t {
+                ITEM_FLAG_NONE = 0x0,
+                ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1,
+                ITEM_FLAG_NOAUTORELOAD = 0x2,
+                ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4,
+                ITEM_FLAG_LIMITINWORLD = 0x8,
+                ITEM_FLAG_EXHAUSTIBLE = 0x10,
+                ITEM_FLAG_DOHITLOCATIONDMG = 0x20,
+                ITEM_FLAG_NOAMMOPICKUPS = 0x40,
+                ITEM_FLAG_NOITEMPICKUP = 0x80
+            }
+            // Alignment: 1
+            // Member count: 10
+            #[repr(u8)]
+            pub enum SurroundingBoundsType_t {
+                USE_OBB_COLLISION_BOUNDS = 0x0,
+                USE_BEST_COLLISION_BOUNDS = 0x1,
+                USE_HITBOXES = 0x2,
+                USE_SPECIFIED_BOUNDS = 0x3,
+                USE_GAME_CODE = 0x4,
+                USE_ROTATION_EXPANDED_BOUNDS = 0x5,
+                USE_ROTATION_EXPANDED_ORIENTED_BOUNDS = 0x6,
+                USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x7,
+                USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x8
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum LifeState_t {
+                LIFE_ALIVE = 0x0,
+                LIFE_DYING = 0x1,
+                LIFE_DEAD = 0x2,
+                LIFE_RESPAWNABLE = 0x3,
+                LIFE_RESPAWNING = 0x4
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum NPCFollowFormation_t {
+                Default = u32::MAX,
+                CloseCircle = 0x0,
+                WideCircle = 0x1,
+                MediumCircle = 0x5,
+                Sidekick = 0x6
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum CSWeaponMode {
+                Primary_Mode = 0x0,
+                Secondary_Mode = 0x1,
+                WeaponMode_MAX = 0x2
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum OnFrame {
+                ONFRAME_UNKNOWN = 0x0,
+                ONFRAME_TRUE = 0x1,
+                ONFRAME_FALSE = 0x2
+            }
+            // Alignment: 4
+            // Member count: 12
+            #[repr(u32)]
+            pub enum Materials {
+                matGlass = 0x0,
+                matWood = 0x1,
+                matMetal = 0x2,
+                matFlesh = 0x3,
+                matCinderBlock = 0x4,
+                matCeilingTile = 0x5,
+                matComputer = 0x6,
+                matUnbreakableGlass = 0x7,
+                matRocks = 0x8,
+                matWeb = 0x9,
+                matNone = 0xA,
+                matLastMaterial = 0xB
+            }
+            // Alignment: 4
+            // Member count: 9
+            #[repr(u32)]
+            pub enum BloodType {
+                None = u32::MAX,
+                ColorRed = 0x0,
+                ColorYellow = 0x1,
+                ColorGreen = 0x2,
+                ColorRedLVL2 = 0x3,
+                ColorRedLVL3 = 0x4,
+                ColorRedLVL4 = 0x5,
+                ColorRedLVL5 = 0x6,
+                ColorRedLVL6 = 0x7
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum BreakableContentsType_t {
+                BC_DEFAULT = 0x0,
+                BC_EMPTY = 0x1,
+                BC_PROP_GROUP_OVERRIDE = 0x2,
+                BC_PARTICLE_SYSTEM_OVERRIDE = 0x3
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ScriptedMoveTo_t {
+                eWait = 0x0,
+                eMoveWithGait = 0x3,
+                eTeleport = 0x4,
+                eWaitFacing = 0x5,
+                eObsoleteBackCompat1 = 0x1,
+                eObsoleteBackCompat2 = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum AnimLoopMode_t {
+                ANIM_LOOP_MODE_INVALID = u32::MAX,
+                ANIM_LOOP_MODE_NOT_LOOPING = 0x0,
+                ANIM_LOOP_MODE_LOOPING = 0x1,
+                ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS = 0x2,
+                ANIM_LOOP_MODE_COUNT = 0x3
+            }
+            // Alignment: 2
+            // Member count: 10
+            #[repr(u16)]
+            pub enum SoundFlags_t {
+                SOUND_FLAGS_NONE = 0x0,
+                SOUND_FLAG_GUNFIRE = 0x1,
+                SOUND_FLAG_COMBINE_ONLY = 0x2,
+                SOUND_FLAG_REACT_TO_SOURCE = 0x4,
+                SOUND_FLAG_EXPLOSION = 0x8,
+                SOUND_FLAG_EXCLUDE_COMBINE = 0x10,
+                SOUND_FLAG_DANGER_APPROACH = 0x20,
+                SOUND_FLAG_ALLIES_ONLY = 0x40,
+                SOUND_FLAG_PANIC_NPCS = 0x80,
+                SOUND_FLAG_SQUAD_ONLY = 0x100
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum Class_T {
+                CLASS_NONE = 0x0,
+                CLASS_PLAYER = 0x1,
+                CLASS_PLAYER_ALLY = 0x2,
+                CLASS_BOMB = 0x3,
+                CLASS_FOOT_CONTACT_SHADOW = 0x4,
+                CLASS_WEAPON = 0x5,
+                CLASS_WATER_SPLASHER = 0x6,
+                CLASS_WEAPON_VIEWMODEL = 0x7,
+                CLASS_DOOR = 0x8,
+                NUM_CLASSIFY_CLASSES = 0x9
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum filter_t {
+                FILTER_AND = 0x0,
+                FILTER_OR = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum CSWeaponSilencerType {
+                WEAPONSILENCER_NONE = 0x0,
+                WEAPONSILENCER_DETACHABLE = 0x1,
+                WEAPONSILENCER_INTEGRATED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum EProceduralRagdollWeightIndexPropagationMethod {
+                Bone = 0x0,
+                BoneAndChildren = 0x1
+            }
+            // Alignment: 4
+            // Member count: 17
+            #[repr(u32)]
+            pub enum BaseExplosionTypes_t {
+                EXPLOSION_TYPE_DEFAULT = 0x0,
+                EXPLOSION_TYPE_GRENADE = 0x1,
+                EXPLOSION_TYPE_MOLOTOV = 0x2,
+                EXPLOSION_TYPE_FIREWORKS = 0x3,
+                EXPLOSION_TYPE_GASCAN = 0x4,
+                EXPLOSION_TYPE_GASCYLINDER = 0x5,
+                EXPLOSION_TYPE_EXPLOSIVEBARREL = 0x6,
+                EXPLOSION_TYPE_ELECTRICAL = 0x7,
+                EXPLOSION_TYPE_EMP = 0x8,
+                EXPLOSION_TYPE_SHRAPNEL = 0x9,
+                EXPLOSION_TYPE_SMOKEGRENADE = 0xA,
+                EXPLOSION_TYPE_FLASHBANG = 0xB,
+                EXPLOSION_TYPE_TRIPMINE = 0xC,
+                EXPLOSION_TYPE_ICE = 0xD,
+                EXPLOSION_TYPE_NONE = 0xE,
+                EXPLOSION_TYPE_CUSTOM = 0xF,
+                EXPLOSION_TYPE_COUNT = 0x10
+            }
+            // Alignment: 4
+            // Member count: 47
+            #[repr(u32)]
+            pub enum GameAnimEventIndex_t {
+                AE_EMPTY = 0x0,
+                AE_CL_PLAYSOUND = 0x1,
+                AE_CL_PLAYSOUND_ATTACHMENT = 0x2,
+                AE_CL_PLAYSOUND_POSITION = 0x3,
+                AE_SV_PLAYSOUND = 0x4,
+                AE_CL_STOPSOUND = 0x5,
+                AE_CL_PLAYSOUND_LOOPING = 0x6,
+                AE_CL_CREATE_PARTICLE_EFFECT = 0x7,
+                AE_CL_STOP_PARTICLE_EFFECT = 0x8,
+                AE_CL_CREATE_PARTICLE_EFFECT_CFG = 0x9,
+                AE_SV_CREATE_PARTICLE_EFFECT_CFG = 0xA,
+                AE_SV_STOP_PARTICLE_EFFECT = 0xB,
+                AE_FOOTSTEP = 0xC,
+                AE_RAGDOLL = 0xD,
+                AE_CL_STOP_RAGDOLL_CONTROL = 0xE,
+                AE_CL_ENABLE_BODYGROUP = 0xF,
+                AE_CL_DISABLE_BODYGROUP = 0x10,
+                AE_BODYGROUP_SET_VALUE = 0x11,
+                AE_CL_BODYGROUP_SET_VALUE_CMODEL_WPN = 0x12,
+                AE_WEAPON_PERFORM_ATTACK = 0x13,
+                AE_FIRE_INPUT = 0x14,
+                AE_CL_CLOTH_ATTR = 0x15,
+                AE_CL_CLOTH_GROUND_OFFSET = 0x16,
+                AE_CL_CLOTH_STIFFEN = 0x17,
+                AE_CL_CLOTH_EFFECT = 0x18,
+                AE_CL_CREATE_ANIM_SCOPE_PROP = 0x19,
+                AE_SV_IKLOCK = 0x1A,
+                AE_PULSE_GRAPH = 0x1B,
+                AE_PULSE_GRAPH_LOOKAT = 0x1C,
+                AE_PULSE_GRAPH_AIMAT = 0x1D,
+                AE_PULSE_GRAPH_IKLOCKLEFTARM = 0x1E,
+                AE_PULSE_GRAPH_IKLOCKRIGHTARM = 0x1F,
+                AE_DISABLE_PLATFORM = 0x20,
+                AE_ENABLE_PLATFORM = 0x21,
+                AE_ANIMGRAPH_SET_PARAM = 0x22,
+                AE_CL_WEAPON_TRANSITION_INTO_HAND = 0x23,
+                AE_CL_BODYGROUP_SET_TO_CLIP = 0x24,
+                AE_CL_BODYGROUP_SET_TO_NEXTCLIP = 0x25,
+                AE_SV_SHOW_SILENCER = 0x26,
+                AE_SV_ATTACH_SILENCER_COMPLETE = 0x27,
+                AE_SV_HIDE_SILENCER = 0x28,
+                AE_SV_DETACH_SILENCER_COMPLETE = 0x29,
+                AE_CL_EJECT_MAG = 0x2A,
+                AE_WPN_COMPLETE_RELOAD = 0x2B,
+                AE_WPN_HEALTHSHOT_INJECT = 0x2C,
+                AE_CL_C4_SCREEN_TEXT = 0x2D,
+                AE_GRENADE_THROW_COMPLETE = 0x2E
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum FixAngleSet_t {
+                None = 0x0,
+                Absolute = 0x1,
+                Relative = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum IChoreoServices__ScriptState_t {
+                SCRIPT_PLAYING = 0x0,
+                SCRIPT_WAIT = 0x1,
+                SCRIPT_POST_IDLE = 0x2,
+                SCRIPT_CLEANUP = 0x3,
+                SCRIPT_MOVE_TO_MARK = 0x4
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum CommandEntitySpecType_t {
+                SPEC_SEARCH = 0x0,
+                SPEC_TYPES_COUNT = 0x1
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum Touch_t {
+                touch_none = 0x0,
+                touch_player_only = 0x1,
+                touch_npc_only = 0x2,
+                touch_player_or_npc = 0x3,
+                touch_player_or_npc_or_physicsprop = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum TrainVelocityType_t {
+                TrainVelocity_Instantaneous = 0x0,
+                TrainVelocity_LinearBlend = 0x1,
+                TrainVelocity_EaseInEaseOut = 0x2
+            }
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum CSWeaponType {
+                WEAPONTYPE_KNIFE = 0x0,
+                WEAPONTYPE_PISTOL = 0x1,
+                WEAPONTYPE_SUBMACHINEGUN = 0x2,
+                WEAPONTYPE_RIFLE = 0x3,
+                WEAPONTYPE_SHOTGUN = 0x4,
+                WEAPONTYPE_SNIPER_RIFLE = 0x5,
+                WEAPONTYPE_MACHINEGUN = 0x6,
+                WEAPONTYPE_C4 = 0x7,
+                WEAPONTYPE_TASER = 0x8,
+                WEAPONTYPE_GRENADE = 0x9,
+                WEAPONTYPE_EQUIPMENT = 0xA,
+                WEAPONTYPE_STACKABLEITEM = 0xB,
+                WEAPONTYPE_UNKNOWN = 0xC
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum EntFinderMethod_t {
+                ENT_FIND_METHOD_NEAREST = 0x0,
+                ENT_FIND_METHOD_FARTHEST = 0x1,
+                ENT_FIND_METHOD_RANDOM = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PropDoorRotatingSpawnPos_t {
+                DOOR_SPAWN_CLOSED = 0x0,
+                DOOR_SPAWN_OPEN_FORWARD = 0x1,
+                DOOR_SPAWN_OPEN_BACK = 0x2,
+                DOOR_SPAWN_AJAR = 0x3
+            }
+            // Alignment: 1
+            // Member count: 2
+            #[repr(u8)]
+            pub enum ShardSolid_t {
+                SHARD_SOLID = 0x0,
+                SHARD_DEBRIS = 0x1
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum EntityPlatformTypes_t {
+                ENTITY_NOT_PLATFORM = 0x0,
+                ENTITY_PLATFORM_PLAYER_FOLLOWS_YAW = 0x1,
+                ENTITY_PLATFORM_PLAYER_IGNORES_YAW = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum PulseNPCCondition_t {
+                COND_SEE_PLAYER = 0x1,
+                COND_LOST_PLAYER = 0x2,
+                COND_HEAR_PLAYER = 0x3,
+                COND_PLAYER_PUSHING = 0x4,
+                COND_NO_PRIMARY_AMMO = 0x5
+            }
+            // Alignment: 1
+            // Member count: 13
+            #[repr(u8)]
+            pub enum RenderMode_t {
+                kRenderNormal = 0x0,
+                kRenderTransColor = 0x1,
+                kRenderTransTexture = 0x2,
+                kRenderGlow = 0x3,
+                kRenderTransAlpha = 0x4,
+                kRenderTransAdd = 0x5,
+                kRenderEnvironmental = 0x6,
+                kRenderTransAddFrameBlend = 0x7,
+                kRenderTransAlphaAdd = 0x8,
+                kRenderWorldGlow = 0x9,
+                kRenderNone = 0xA,
+                kRenderDevVisualizer = 0xB,
+                kRenderModeCount = 0xC
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ForcedCrouchState_t {
+                FORCEDCROUCH_NONE = 0x0,
+                FORCEDCROUCH_CROUCHED = 0x1,
+                FORCEDCROUCH_UNCROUCHED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum PerformanceMode_t {
+                PM_NORMAL = 0x0,
+                PM_NO_GIBS = 0x1,
+                PM_FULL_GIBS = 0x2,
+                PM_REDUCED_GIBS = 0x3
+            }
+            // Alignment: 4
+            // Member count: 8
+            #[repr(u32)]
+            pub enum TOGGLE_STATE {
+                TS_AT_TOP = 0x0,
+                TS_AT_BOTTOM = 0x1,
+                TS_GOING_UP = 0x2,
+                TS_GOING_DOWN = 0x3
+            }
+            // Alignment: 4
+            // Member count: 74
+            #[repr(u32)]
+            pub enum loadout_slot_t {
+                LOADOUT_SLOT_PROMOTED = 0xFFFFFFFFFFFFFFFE,
+                LOADOUT_SLOT_INVALID = u32::MAX,
+                LOADOUT_SLOT_MELEE = 0x0,
+                LOADOUT_SLOT_C4 = 0x1,
+                LOADOUT_SLOT_SECONDARY0 = 0x2,
+                LOADOUT_SLOT_SECONDARY1 = 0x3,
+                LOADOUT_SLOT_SECONDARY2 = 0x4,
+                LOADOUT_SLOT_SECONDARY3 = 0x5,
+                LOADOUT_SLOT_SECONDARY4 = 0x6,
+                LOADOUT_SLOT_SECONDARY5 = 0x7,
+                LOADOUT_SLOT_SMG0 = 0x8,
+                LOADOUT_SLOT_SMG1 = 0x9,
+                LOADOUT_SLOT_SMG2 = 0xA,
+                LOADOUT_SLOT_SMG3 = 0xB,
+                LOADOUT_SLOT_SMG4 = 0xC,
+                LOADOUT_SLOT_SMG5 = 0xD,
+                LOADOUT_SLOT_RIFLE0 = 0xE,
+                LOADOUT_SLOT_RIFLE1 = 0xF,
+                LOADOUT_SLOT_RIFLE2 = 0x10,
+                LOADOUT_SLOT_RIFLE3 = 0x11,
+                LOADOUT_SLOT_RIFLE4 = 0x12,
+                LOADOUT_SLOT_RIFLE5 = 0x13,
+                LOADOUT_SLOT_HEAVY0 = 0x14,
+                LOADOUT_SLOT_HEAVY1 = 0x15,
+                LOADOUT_SLOT_HEAVY2 = 0x16,
+                LOADOUT_SLOT_HEAVY3 = 0x17,
+                LOADOUT_SLOT_HEAVY4 = 0x18,
+                LOADOUT_SLOT_HEAVY5 = 0x19,
+                LOADOUT_SLOT_FIRST_WHEEL_GRENADE = 0x1A,
+                LOADOUT_SLOT_GRENADE1 = 0x1B,
+                LOADOUT_SLOT_GRENADE2 = 0x1C,
+                LOADOUT_SLOT_GRENADE3 = 0x1D,
+                LOADOUT_SLOT_GRENADE4 = 0x1E,
+                LOADOUT_SLOT_GRENADE5 = 0x1F,
+                LOADOUT_SLOT_EQUIPMENT0 = 0x20,
+                LOADOUT_SLOT_EQUIPMENT1 = 0x21,
+                LOADOUT_SLOT_EQUIPMENT2 = 0x22,
+                LOADOUT_SLOT_EQUIPMENT3 = 0x23,
+                LOADOUT_SLOT_EQUIPMENT4 = 0x24,
+                LOADOUT_SLOT_EQUIPMENT5 = 0x25,
+                LOADOUT_SLOT_CLOTHING_CUSTOMPLAYER = 0x26,
+                LOADOUT_SLOT_CLOTHING_CUSTOMHEAD = 0x27,
+                LOADOUT_SLOT_CLOTHING_FACEMASK = 0x28,
+                LOADOUT_SLOT_CLOTHING_HANDS = 0x29,
+                LOADOUT_SLOT_CLOTHING_EYEWEAR = 0x2A,
+                LOADOUT_SLOT_CLOTHING_HAT = 0x2B,
+                LOADOUT_SLOT_CLOTHING_LOWERBODY = 0x2C,
+                LOADOUT_SLOT_CLOTHING_TORSO = 0x2D,
+                LOADOUT_SLOT_CLOTHING_APPEARANCE = 0x2E,
+                LOADOUT_SLOT_MISC0 = 0x2F,
+                LOADOUT_SLOT_MISC1 = 0x30,
+                LOADOUT_SLOT_MISC2 = 0x31,
+                LOADOUT_SLOT_MISC3 = 0x32,
+                LOADOUT_SLOT_MISC4 = 0x33,
+                LOADOUT_SLOT_MISC5 = 0x34,
+                LOADOUT_SLOT_MISC6 = 0x35,
+                LOADOUT_SLOT_MUSICKIT = 0x36,
+                LOADOUT_SLOT_FLAIR0 = 0x37,
+                LOADOUT_SLOT_SPRAY0 = 0x38,
+                LOADOUT_SLOT_COUNT = 0x39
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum EDestructiblePartDamagePassThroughType {
+                Normal = 0x0,
+                Absorb = 0x1
+            }
+            // Alignment: 4
+            // Member count: 20
+            #[repr(u32)]
+            pub enum NavAttributeEnum {
+                NAV_MESH_AVOID = 0x80,
+                NAV_MESH_STAIRS = 0x1000,
+                NAV_MESH_NON_ZUP = 0x8000,
+                NAV_MESH_SHORT_HEIGHT = 0x10000,
+                NAV_MESH_NON_ZUP_TRANSITION = 0x20000,
+                NAV_MESH_JUMP = 0x2,
+                NAV_MESH_PRECISE = 0x4,
+                NAV_MESH_NO_JUMP = 0x8,
+                NAV_MESH_STOP = 0x10,
+                NAV_MESH_RUN = 0x20,
+                NAV_MESH_WALK = 0x40,
+                NAV_MESH_TRANSIENT = 0x100,
+                NAV_MESH_DONT_HIDE = 0x200,
+                NAV_MESH_STAND = 0x400,
+                NAV_MESH_NO_HOSTAGES = 0x800,
+                NAV_MESH_NO_MERGE = 0x2000,
+                NAV_MESH_OBSTACLE_TOP = 0x4000,
+                NAV_ATTR_FIRST_GAME_INDEX = 0x13,
+                NAV_ATTR_LAST_INDEX = 0x1F
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum MoveLinearAuthoredPos_t {
+                MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0,
+                MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1,
+                MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ValueRemapperMomentumType_t {
+                MomentumType_None = 0x0,
+                MomentumType_Friction = 0x1,
+                MomentumType_SpringTowardSnapValue = 0x2,
+                MomentumType_SpringAwayFromSnapValue = 0x3
+            }
+            // Alignment: 4
+            // Member count: 12
+            #[repr(u32)]
+            pub enum Hull_t {
+                HULL_HUMAN = 0x0,
+                HULL_SMALL_CENTERED = 0x1,
+                HULL_WIDE_HUMAN = 0x2,
+                HULL_TINY = 0x3,
+                HULL_MEDIUM = 0x4,
+                HULL_TINY_CENTERED = 0x5,
+                HULL_LARGE = 0x6,
+                HULL_LARGE_CENTERED = 0x7,
+                HULL_MEDIUM_TALL = 0x8,
+                HULL_SMALL = 0x9,
+                NUM_HULLS = 0xA,
+                HULL_NONE = 0xB
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum PreviewWeaponState {
+                DROPPED = 0x0,
+                HOLSTERED = 0x1,
+                DEPLOYED = 0x2,
+                PLANTED = 0x3,
+                INSPECT = 0x4,
+                ICON = 0x5
+            }
+            // Alignment: 4
+            // Member count: 9
+            #[repr(u32)]
+            pub enum EInButtonState {
+                IN_BUTTON_UP = 0x0,
+                IN_BUTTON_DOWN = 0x1,
+                IN_BUTTON_DOWN_UP = 0x2,
+                IN_BUTTON_UP_DOWN = 0x3,
+                IN_BUTTON_UP_DOWN_UP = 0x4,
+                IN_BUTTON_DOWN_UP_DOWN = 0x5,
+                IN_BUTTON_DOWN_UP_DOWN_UP = 0x6,
+                IN_BUTTON_UP_DOWN_UP_DOWN = 0x7,
+                IN_BUTTON_STATE_COUNT = 0x8
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum BeamClipStyle_t {
+                kNOCLIP = 0x0,
+                kGEOCLIP = 0x1,
+                kMODELCLIP = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum WeaponAttackType_t {
+                eInvalid = u32::MAX,
+                ePrimary = 0x0,
+                eSecondary = 0x1,
+                eCount = 0x2
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum CSPlayerBlockingUseAction_t {
+                k_CSPlayerBlockingUseAction_None = 0x0,
+                k_CSPlayerBlockingUseAction_DefusingDefault = 0x1,
+                k_CSPlayerBlockingUseAction_DefusingWithKit = 0x2,
+                k_CSPlayerBlockingUseAction_HostageGrabbing = 0x3,
+                k_CSPlayerBlockingUseAction_HostageDropping = 0x4,
+                k_CSPlayerBlockingUseAction_EquippingHeavyArmor = 0x5,
+                k_CSPlayerBlockingUseAction_TakingOffHeavyArmor = 0x6,
+                k_CSPlayerBlockingUseAction_MapLongUseEntity_Pickup = 0x7,
+                k_CSPlayerBlockingUseAction_MapLongUseEntity_Place = 0x8,
+                k_CSPlayerBlockingUseAction_MaxCount = 0x9
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum CSWeaponState_t {
+                WEAPON_NOT_CARRIED = 0x0,
+                WEAPON_IS_CARRIED_BY_PLAYER = 0x1,
+                WEAPON_IS_ACTIVE = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum CommandExecMode_t {
+                EXEC_MANUAL = 0x0,
+                EXEC_LEVELSTART = 0x1,
+                EXEC_PERIODIC = 0x2,
+                EXEC_MODES_COUNT = 0x3
+            }
+            // Alignment: 1
+            // Member count: 5
+            #[repr(u8)]
+            pub enum ShatterDamageCause {
+                SHATTERDAMAGE_BULLET = 0x0,
+                SHATTERDAMAGE_MELEE = 0x1,
+                SHATTERDAMAGE_THROWN = 0x2,
+                SHATTERDAMAGE_SCRIPT = 0x3,
+                SHATTERDAMAGE_EXPLOSIVE = 0x4
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ScriptedOnDeath_t {
+                SS_ONDEATH_NOT_APPLICABLE = u32::MAX,
+                SS_ONDEATH_UNDEFINED = 0x0,
+                SS_ONDEATH_RAGDOLL = 0x1,
+                SS_ONDEATH_ANIMATED_DEATH = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ChoreoLookAtSpeed_t {
+                eInvalid = u32::MAX,
+                eSlow = 0x0,
+                eMedium = 0x1,
+                eFast = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ScriptedMoveType_t {
+                SCRIPTED_MOVETYPE_NONE = 0x0,
+                SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1,
+                SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2,
+                SCRIPTED_MOVETYPE_SWEEP_TO_AT_MOVEMENT_SPEED = 0x3
+            }
+            // Alignment: 4
+            // Member count: 17
+            #[repr(u32)]
+            pub enum gear_slot_t {
+                GEAR_SLOT_INVALID = u32::MAX,
+                GEAR_SLOT_RIFLE = 0x0,
+                GEAR_SLOT_PISTOL = 0x1,
+                GEAR_SLOT_KNIFE = 0x2,
+                GEAR_SLOT_GRENADES = 0x3,
+                GEAR_SLOT_C4 = 0x4,
+                GEAR_SLOT_RESERVED_SLOT6 = 0x5,
+                GEAR_SLOT_RESERVED_SLOT7 = 0x6,
+                GEAR_SLOT_RESERVED_SLOT8 = 0x7,
+                GEAR_SLOT_RESERVED_SLOT9 = 0x8,
+                GEAR_SLOT_RESERVED_SLOT10 = 0x9,
+                GEAR_SLOT_RESERVED_SLOT11 = 0xA,
+                GEAR_SLOT_BOOSTS = 0xB,
+                GEAR_SLOT_UTILITY = 0xC,
+                GEAR_SLOT_COUNT = 0xD
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum CSPlayerState {
+                STATE_ACTIVE = 0x0,
+                STATE_WELCOME = 0x1,
+                STATE_PICKINGTEAM = 0x2,
+                STATE_PICKINGCLASS = 0x3,
+                STATE_DEATH_ANIM = 0x4,
+                STATE_DEATH_WAIT_FOR_KEY = 0x5,
+                STATE_OBSERVER_MODE = 0x6,
+                STATE_GUNGAME_RESPAWN = 0x7,
+                STATE_DORMANT = 0x8,
+                NUM_PLAYER_STATES = 0x9
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ScriptedConflictResponse_t {
+                SS_CONFLICT_ENQUEUE = 0x0,
+                SS_CONFLICT_INTERRUPT = 0x1
+            }
+            // Alignment: 1
+            // Member count: 7
+            #[repr(u8)]
+            pub enum WaterLevel_t {
+                WL_NotInWater = 0x0,
+                WL_Feet = 0x1,
+                WL_Knees = 0x2,
+                WL_Waist = 0x3,
+                WL_Chest = 0x4,
+                WL_FullyUnderwater = 0x5,
+                WL_Count = 0x6
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum WorldTextPanelVerticalAlign_t {
+                WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0,
+                WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1,
+                WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum AmmoPosition_t {
+                AMMO_POSITION_INVALID = u32::MAX,
+                AMMO_POSITION_PRIMARY = 0x0,
+                AMMO_POSITION_SECONDARY = 0x1,
+                AMMO_POSITION_COUNT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum CDebugOverlayFilterType_t {
+                NONE = 0x0,
+                TEXT = 0x1,
+                ENTITY = 0x2,
+                COUNT = 0x3,
+                TACTICAL_SEARCH = 0x4,
+                AI_SCHEDULE = 0x5,
+                AI_TASK = 0x6,
+                AI_EVENT = 0x7,
+                END_SIM_HISTORY_TYPES = 0x8,
+                COMBINED = u32::MAX
+            }
+            // Alignment: 4
+            // Member count: 23
+            #[repr(u32)]
+            pub enum PreviewEOMCelebration {
+                WALKUP = 0x0,
+                PUNCHING = 0x1,
+                SWAGGER = 0x2,
+                DROPDOWN = 0x3,
+                STRETCH = 0x4,
+                SWAT_FEMALE = 0x5,
+                MASK_F = 0x6,
+                GUERILLA = 0x7,
+                GUERILLA02 = 0x8,
+                GENDARMERIE = 0x9,
+                SCUBA_FEMALE = 0xA,
+                SCUBA_MALE = 0xB,
+                AVA_DEFEAT = 0xC,
+                GENDARMERIE_DEFEAT = 0xD,
+                MAE_DEFEAT = 0xE,
+                RICKSAW_DEFEAT = 0xF,
+                SCUBA_FEMALE_DEFEAT = 0x10,
+                SCUBA_MALE_DEFEAT = 0x11,
+                CRASSWATER_DEFEAT = 0x12,
+                DARRYL_DEFEAT = 0x13,
+                DOCTOR_DEFEAT = 0x14,
+                MUHLIK_DEFEAT = 0x15,
+                VYPA_DEFEAT = 0x16
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum EntityDisolveType_t {
+                ENTITY_DISSOLVE_INVALID = u32::MAX,
+                ENTITY_DISSOLVE_NORMAL = 0x0,
+                ENTITY_DISSOLVE_ELECTRICAL = 0x1,
+                ENTITY_DISSOLVE_ELECTRICAL_LIGHT = 0x2,
+                ENTITY_DISSOLVE_CORE = 0x3
+            }
+            // Alignment: 8
+            // Member count: 21
+            #[repr(u64)]
+            pub enum InputBitMask_t {
+                IN_NONE = 0x0,
+                IN_ALL = u64::MAX,
+                IN_ATTACK = 0x1,
+                IN_JUMP = 0x2,
+                IN_DUCK = 0x4,
+                IN_FORWARD = 0x8,
+                IN_BACK = 0x10,
+                IN_USE = 0x20,
+                IN_TURNLEFT = 0x80,
+                IN_TURNRIGHT = 0x100,
+                IN_MOVELEFT = 0x200,
+                IN_MOVERIGHT = 0x400,
+                IN_ATTACK2 = 0x800,
+                IN_RELOAD = 0x2000,
+                IN_SPEED = 0x10000,
+                IN_JOYAUTOSPRINT = 0x20000,
+                IN_FIRST_MOD_SPECIFIC_BIT = 0x100000000,
+                IN_SCORE = 0x200000000,
+                IN_ZOOM = 0x400000000,
+                IN_LOOK_AT_WEAPON = 0x800000000
+            }
+            // Alignment: 4
+            // Member count: 14
+            #[repr(u32)]
+            pub enum HitGroup_t {
+                HITGROUP_INVALID = u32::MAX,
+                HITGROUP_GENERIC = 0x0,
+                HITGROUP_HEAD = 0x1,
+                HITGROUP_CHEST = 0x2,
+                HITGROUP_STOMACH = 0x3,
+                HITGROUP_LEFTARM = 0x4,
+                HITGROUP_RIGHTARM = 0x5,
+                HITGROUP_LEFTLEG = 0x6,
+                HITGROUP_RIGHTLEG = 0x7,
+                HITGROUP_NECK = 0x8,
+                HITGROUP_UNUSED = 0x9,
+                HITGROUP_GEAR = 0xA,
+                HITGROUP_SPECIAL = 0xB,
+                HITGROUP_COUNT = 0xC
+            }
+            // Alignment: 4
+            // Member count: 9
+            #[repr(u32)]
+            pub enum ChickenActivity {
+                IDLE = 0x0,
+                SQUAT = 0x1,
+                WALK = 0x2,
+                RUN = 0x3,
+                GLIDE = 0x4,
+                LAND = 0x5,
+                PANIC = 0x6,
+                TRICK = 0x7,
+                TURN_IN_PLACE = 0x8
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum PointWorldTextReorientMode_t {
+                POINT_WORLD_TEXT_REORIENT_NONE = 0x0,
+                POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1
+            }
+            // Alignment: 8
+            // Member count: 40
+            #[repr(u64)]
+            pub enum DebugOverlayBits_t {
+                OVERLAY_TEXT_BIT = 0x1,
+                OVERLAY_NAME_BIT = 0x2,
+                OVERLAY_BBOX_BIT = 0x4,
+                OVERLAY_PIVOT_BIT = 0x8,
+                OVERLAY_MESSAGE_BIT = 0x10,
+                OVERLAY_ABSBOX_BIT = 0x20,
+                OVERLAY_RBOX_BIT = 0x40,
+                OVERLAY_SHOW_BLOCKSLOS = 0x80,
+                OVERLAY_ATTACHMENTS_BIT = 0x100,
+                OVERLAY_INTERPOLATED_ATTACHMENTS_BIT = 0x200,
+                OVERLAY_INTERPOLATED_PIVOT_BIT = 0x400,
+                OVERLAY_SKELETON_BIT = 0x800,
+                OVERLAY_INTERPOLATED_SKELETON_BIT = 0x1000,
+                OVERLAY_TRIGGER_BOUNDS_BIT = 0x2000,
+                OVERLAY_HITBOX_BIT = 0x4000,
+                OVERLAY_INTERPOLATED_HITBOX_BIT = 0x8000,
+                OVERLAY_AUTOAIM_BIT = 0x10000,
+                OVERLAY_NPC_SELECTED_BIT = 0x20000,
+                OVERLAY_JOINT_INFO_BIT = 0x40000,
+                OVERLAY_NPC_ROUTE_BIT = 0x80000,
+                OVERLAY_VISIBILITY_TRACES_BIT = 0x100000,
+                OVERLAY_NPC_ENEMIES_BIT = 0x400000,
+                OVERLAY_NPC_CONDITIONS_BIT = 0x800000,
+                OVERLAY_NPC_COMBAT_BIT = 0x1000000,
+                OVERLAY_NPC_TASK_BIT = 0x2000000,
+                OVERLAY_NPC_BODYLOCATIONS = 0x4000000,
+                OVERLAY_NPC_VIEWCONE_BIT = 0x8000000,
+                OVERLAY_NPC_KILL_BIT = 0x10000000,
+                OVERLAY_WC_CHANGE_ENTITY = 0x20000000,
+                OVERLAY_BUDDHA_MODE = 0x40000000,
+                OVERLAY_NPC_STEERING_REGULATIONS = 0x80000000,
+                OVERLAY_NPC_TASK_TEXT_BIT = 0x100000000,
+                OVERLAY_PROP_DEBUG = 0x200000000,
+                OVERLAY_NPC_RELATION_BIT = 0x400000000,
+                OVERLAY_VIEWOFFSET = 0x800000000,
+                OVERLAY_VCOLLIDE_WIREFRAME_BIT = 0x1000000000,
+                OVERLAY_NPC_SCRIPTED_COMMANDS_BIT = 0x2000000000,
+                OVERLAY_ACTORNAME_BIT = 0x4000000000,
+                OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000,
+                OVERLAY_NPC_ABILITY_RANGE_DEBUG_BIT = 0x10000000000
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum AmmoFlags_t {
+                AMMO_FORCE_DROP_IF_CARRIED = 0x1,
+                AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum HierarchyType_t {
+                HIERARCHY_NONE = 0x0,
+                HIERARCHY_BONE_MERGE = 0x1,
+                HIERARCHY_ATTACHMENT = 0x2,
+                HIERARCHY_ABSORIGIN = 0x3,
+                HIERARCHY_BONE = 0x4,
+                HIERARCHY_TYPE_COUNT = 0x5
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum doorCheck_e {
+                DOOR_CHECK_FORWARD = 0x0,
+                DOOR_CHECK_BACKWARD = 0x1,
+                DOOR_CHECK_FULL = 0x2
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum BeamType_t {
+                BEAM_INVALID = 0x0,
+                BEAM_POINTS = 0x1,
+                BEAM_ENTPOINT = 0x2,
+                BEAM_ENTS = 0x3,
+                BEAM_HOSE = 0x4,
+                BEAM_SPLINE = 0x5,
+                BEAM_LASER = 0x6
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum EntitySubclassScope_t {
+                SUBCLASS_SCOPE_NONE = u32::MAX,
+                SUBCLASS_SCOPE_PRECIPITATION = 0x0,
+                SUBCLASS_SCOPE_PLAYER_WEAPONS = 0x1,
+                SUBCLASS_SCOPE_COUNT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum PointTemplateClientOnlyEntityBehavior_t {
+                CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0,
+                CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum CDebugOverlayCombinedTypes_t {
+                ALL = 0x0,
+                ANY = 0x1,
+                COUNT = 0x2
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum ShatterGlassStressType {
+                SHATTERGLASS_BLUNT = 0x0,
+                SHATTERGLASS_BALLISTIC = 0x1,
+                SHATTERGLASS_PULSE = 0x2,
+                SHATTERGLASS_EXPLOSIVE = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum TrackOrientationType_t {
+                TrackOrientation_Fixed = 0x0,
+                TrackOrientation_FacePath = 0x1,
+                TrackOrientation_FacePathAngles = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum WeaponSwitchReason_t {
+                eDrawn = 0x0,
+                eEquipped = 0x1,
+                eUserInitiatedSwitchToLast = 0x2,
+                eUserInitiatedSwitchHands = 0x3
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ValueRemapperRatchetType_t {
+                RatchetType_Absolute = 0x0,
+                RatchetType_EachEngage = 0x1
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum NavDirType {
+                NORTH = 0x0,
+                EAST = 0x1,
+                SOUTH = 0x2,
+                WEST = 0x3,
+                NUM_NAV_DIR_TYPE_DIRECTIONS = 0x4
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum CRR_Response__ResponseEnum_t {
+                MAX_RESPONSE_NAME = 0xC0,
+                MAX_RULE_NAME = 0x80
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum MoveMountingAmount_t {
+                MOVE_MOUNT_NONE = 0x0,
+                MOVE_MOUNT_LOW = 0x1,
+                MOVE_MOUNT_HIGH = 0x2,
+                MOVE_MOUNT_MAXCOUNT = 0x3
+            }
+            // Alignment: 1
+            // Member count: 20
+            #[repr(u8)]
+            pub enum RenderFx_t {
+                kRenderFxNone = 0x0,
+                kRenderFxPulseSlow = 0x1,
+                kRenderFxPulseFast = 0x2,
+                kRenderFxPulseSlowWide = 0x3,
+                kRenderFxPulseFastWide = 0x4,
+                kRenderFxFadeSlow = 0x5,
+                kRenderFxFadeFast = 0x6,
+                kRenderFxSolidSlow = 0x7,
+                kRenderFxSolidFast = 0x8,
+                kRenderFxStrobeSlow = 0x9,
+                kRenderFxStrobeFast = 0xA,
+                kRenderFxStrobeFaster = 0xB,
+                kRenderFxFlickerSlow = 0xC,
+                kRenderFxFlickerFast = 0xD,
+                kRenderFxNoDissipation = 0xE,
+                kRenderFxFadeOut = 0xF,
+                kRenderFxFadeIn = 0x10,
+                kRenderFxPulseFastWider = 0x11,
+                kRenderFxGlowShell = 0x12,
+                kRenderFxMax = 0x13
+            }
+            // Alignment: 4
+            // Member count: 35
+            #[repr(u32)]
+            pub enum vote_create_failed_t {
+                VOTE_FAILED_GENERIC = 0x0,
+                VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1,
+                VOTE_FAILED_RATE_EXCEEDED = 0x2,
+                VOTE_FAILED_YES_MUST_EXCEED_NO = 0x3,
+                VOTE_FAILED_QUORUM_FAILURE = 0x4,
+                VOTE_FAILED_ISSUE_DISABLED = 0x5,
+                VOTE_FAILED_MAP_NOT_FOUND = 0x6,
+                VOTE_FAILED_MAP_NAME_REQUIRED = 0x7,
+                VOTE_FAILED_FAILED_RECENTLY = 0x8,
+                VOTE_FAILED_TEAM_CANT_CALL = 0x9,
+                VOTE_FAILED_WAITINGFORPLAYERS = 0xA,
+                VOTE_FAILED_PLAYERNOTFOUND = 0xB,
+                VOTE_FAILED_CANNOT_KICK_ADMIN = 0xC,
+                VOTE_FAILED_SCRAMBLE_IN_PROGRESS = 0xD,
+                VOTE_FAILED_SPECTATOR = 0xE,
+                VOTE_FAILED_FAILED_RECENT_KICK = 0xF,
+                VOTE_FAILED_FAILED_RECENT_CHANGEMAP = 0x10,
+                VOTE_FAILED_FAILED_RECENT_SWAPTEAMS = 0x11,
+                VOTE_FAILED_FAILED_RECENT_SCRAMBLETEAMS = 0x12,
+                VOTE_FAILED_FAILED_RECENT_RESTART = 0x13,
+                VOTE_FAILED_SWAP_IN_PROGRESS = 0x14,
+                VOTE_FAILED_DISABLED = 0x15,
+                VOTE_FAILED_NEXTLEVEL_SET = 0x16,
+                VOTE_FAILED_TOO_EARLY_SURRENDER = 0x17,
+                VOTE_FAILED_MATCH_PAUSED = 0x18,
+                VOTE_FAILED_MATCH_NOT_PAUSED = 0x19,
+                VOTE_FAILED_NOT_IN_WARMUP = 0x1A,
+                VOTE_FAILED_NOT_10_PLAYERS = 0x1B,
+                VOTE_FAILED_TIMEOUT_ACTIVE = 0x1C,
+                VOTE_FAILED_TIMEOUT_INACTIVE = 0x1D,
+                VOTE_FAILED_TIMEOUT_EXHAUSTED = 0x1E,
+                VOTE_FAILED_CANT_ROUND_END = 0x1F,
+                VOTE_FAILED_REMATCH = 0x20,
+                VOTE_FAILED_CONTINUE = 0x21,
+                VOTE_FAILED_MAX = 0x22
+            }
+            // Alignment: 4
+            // Member count: 27
+            #[repr(u32)]
+            pub enum RumbleEffect_t {
+                RUMBLE_INVALID = u32::MAX,
+                RUMBLE_STOP_ALL = 0x0,
+                RUMBLE_PISTOL = 0x1,
+                RUMBLE_357 = 0x2,
+                RUMBLE_SMG1 = 0x3,
+                RUMBLE_AR2 = 0x4,
+                RUMBLE_SHOTGUN_SINGLE = 0x5,
+                RUMBLE_SHOTGUN_DOUBLE = 0x6,
+                RUMBLE_AR2_ALT_FIRE = 0x7,
+                RUMBLE_RPG_MISSILE = 0x8,
+                RUMBLE_CROWBAR_SWING = 0x9,
+                RUMBLE_AIRBOAT_GUN = 0xA,
+                RUMBLE_JEEP_ENGINE_LOOP = 0xB,
+                RUMBLE_FLAT_LEFT = 0xC,
+                RUMBLE_FLAT_RIGHT = 0xD,
+                RUMBLE_FLAT_BOTH = 0xE,
+                RUMBLE_DMG_LOW = 0xF,
+                RUMBLE_DMG_MED = 0x10,
+                RUMBLE_DMG_HIGH = 0x11,
+                RUMBLE_FALL_LONG = 0x12,
+                RUMBLE_FALL_SHORT = 0x13,
+                RUMBLE_PHYSCANNON_OPEN = 0x14,
+                RUMBLE_PHYSCANNON_PUNT = 0x15,
+                RUMBLE_PHYSCANNON_LOW = 0x16,
+                RUMBLE_PHYSCANNON_MEDIUM = 0x17,
+                RUMBLE_PHYSCANNON_HIGH = 0x18,
+                NUM_RUMBLE_EFFECTS = 0x19
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum LatchDirtyPermission_t {
+                LATCH_DIRTY_DISALLOW = 0x0,
+                LATCH_DIRTY_SERVER_CONTROLLED = 0x1,
+                LATCH_DIRTY_CLIENT_SIMULATED = 0x2,
+                LATCH_DIRTY_PREDICTION = 0x3,
+                LATCH_DIRTY_FRAMESIMULATE = 0x4,
+                LATCH_DIRTY_PARTICLE_SIMULATE = 0x5
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum DoorState_t {
+                DOOR_STATE_CLOSED = 0x0,
+                DOOR_STATE_OPENING = 0x1,
+                DOOR_STATE_OPEN = 0x2,
+                DOOR_STATE_CLOSING = 0x3,
+                DOOR_STATE_AJAR = 0x4
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ChoreoLookAtMode_t {
+                eInvalid = u32::MAX,
+                eChest = 0x0,
+                eHead = 0x1,
+                eEyesOnly = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum ChatIgnoreType_t {
+                CHAT_IGNORE_NONE = 0x0,
+                CHAT_IGNORE_ALL = 0x1,
+                CHAT_IGNORE_TEAM = 0x2
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum PlayerConnectedState {
+                PlayerNeverConnected = u32::MAX,
+                PlayerConnected = 0x0,
+                PlayerConnecting = 0x1,
+                PlayerReconnecting = 0x2,
+                PlayerDisconnecting = 0x3,
+                PlayerDisconnected = 0x4,
+                PlayerReserved = 0x5
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t {
+                kMIN_THRESHOLD = 0x0,
+                kMIN_FULL = 0x1,
+                kHIGHWATER = 0x2
+            }
+            // Alignment: 4
+            // Member count: 1
+            #[repr(u32)]
+            pub enum navproperties_t {
+                NAV_IGNORE = 0x1
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum SolidType_t {
+                SOLID_NONE = 0x0,
+                SOLID_BSP = 0x1,
+                SOLID_BBOX = 0x2,
+                SOLID_OBB = 0x3,
+                SOLID_SPHERE = 0x4,
+                SOLID_POINT = 0x5,
+                SOLID_VPHYSICS = 0x6,
+                SOLID_CAPSULE = 0x7,
+                SOLID_LAST = 0x8
+            }
+            // Alignment: 4
+            // Member count: 24
+            #[repr(u32)]
+            pub enum DamageTypes_t {
+                DMG_GENERIC = 0x0,
+                DMG_CRUSH = 0x1,
+                DMG_BULLET = 0x2,
+                DMG_SLASH = 0x4,
+                DMG_BURN = 0x8,
+                DMG_VEHICLE = 0x10,
+                DMG_FALL = 0x20,
+                DMG_BLAST = 0x40,
+                DMG_CLUB = 0x80,
+                DMG_SHOCK = 0x100,
+                DMG_SONIC = 0x200,
+                DMG_ENERGYBEAM = 0x400,
+                DMG_DROWN = 0x4000,
+                DMG_POISON = 0x8000,
+                DMG_RADIATION = 0x10000,
+                DMG_DROWNRECOVER = 0x20000,
+                DMG_ACID = 0x40000,
+                DMG_PHYSGUN = 0x100000,
+                DMG_DISSOLVE = 0x200000,
+                DMG_BLAST_SURFACE = 0x400000,
+                DMG_BUCKSHOT = 0x1000000,
+                DMG_HEADSHOT = 0x2000000,
+                DMG_DANGERZONE = 0x4000000
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum PointWorldTextJustifyVertical_t {
+                POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0,
+                POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1,
+                POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum attributeprovidertypes_t {
+                PROVIDER_GENERIC = 0x0,
+                PROVIDER_WEAPON = 0x1
+            }
+            // Alignment: 1
+            // Member count: 6
+            #[repr(u8)]
+            pub enum MoveCollide_t {
+                MOVECOLLIDE_DEFAULT = 0x0,
+                MOVECOLLIDE_FLY_BOUNCE = 0x1,
+                MOVECOLLIDE_FLY_CUSTOM = 0x2,
+                MOVECOLLIDE_FLY_SLIDE = 0x3,
+                MOVECOLLIDE_COUNT = 0x4
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum IChoreoServices__ChoreoState_t {
+                STATE_PRE_SCRIPT = 0x0,
+                STATE_WAIT_FOR_SCRIPT = 0x1,
+                STATE_WALK_TO_MARK = 0x2,
+                STATE_SYNCHRONIZE_SCRIPT = 0x3,
+                STATE_PLAY_SCRIPT = 0x4,
+                STATE_PLAY_SCRIPT_POST_IDLE = 0x5,
+                STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ValueRemapperOutputType_t {
+                OutputType_AnimationCycle = 0x0,
+                OutputType_RotationX = 0x1,
+                OutputType_RotationY = 0x2,
+                OutputType_RotationZ = 0x3
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum PointTemplateOwnerSpawnGroupType_t {
+                INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0,
+                INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP = 0x1,
+                INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2
+            }
+            // Alignment: 1
+            // Member count: 3
+            #[repr(u8)]
+            pub enum EContributionScoreFlag_t {
+                k_EContributionScoreFlag_Default = 0x0,
+                k_EContributionScoreFlag_Objective = 0x1,
+                k_EContributionScoreFlag_Bullets = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum eSplinePushType {
+                k_eSplinePushAlong = 0x0,
+                k_eSplinePushAway = 0x1,
+                k_eSplinePushTowards = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum EntityDistanceMode_t {
+                eOriginToOrigin = 0x0,
+                eCenterToCenter = 0x1,
+                eAxisToAxis = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum PointWorldTextJustifyHorizontal_t {
+                POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0,
+                POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1,
+                POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum ShakeCommand_t {
+                SHAKE_START = 0x0,
+                SHAKE_STOP = 0x1,
+                SHAKE_AMPLITUDE = 0x2,
+                SHAKE_FREQUENCY = 0x3,
+                SHAKE_START_RUMBLEONLY = 0x4,
+                SHAKE_START_NORUMBLE = 0x5
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum TRAIN_CODE {
+                TRAIN_SAFE = 0x0,
+                TRAIN_BLOCKING = 0x1,
+                TRAIN_FOLLOWING = 0x2
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum BrushSolidities_e {
+                BRUSHSOLID_TOGGLE = 0x0,
+                BRUSHSOLID_NEVER = 0x1,
+                BRUSHSOLID_ALWAYS = 0x2
+            }
+            // Alignment: 4
+            // Member count: 13
+            #[repr(u32)]
+            pub enum QuestProgress__Reason {
+                QUEST_NONINITIALIZED = 0x0,
+                QUEST_OK = 0x1,
+                QUEST_NOT_ENOUGH_PLAYERS = 0x2,
+                QUEST_WARMUP = 0x3,
+                QUEST_NOT_CONNECTED_TO_STEAM = 0x4,
+                QUEST_NONOFFICIAL_SERVER = 0x5,
+                QUEST_NO_ENTITLEMENT = 0x6,
+                QUEST_NO_QUEST = 0x7,
+                QUEST_PLAYER_IS_BOT = 0x8,
+                QUEST_WRONG_MAP = 0x9,
+                QUEST_WRONG_MODE = 0xA,
+                QUEST_NOT_SYNCED_WITH_SERVER = 0xB,
+                QUEST_REASON_MAX = 0xC
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ModifyDamageReturn_t {
+                CONTINUE_TO_APPLY_DAMAGE = 0x0,
+                ABORT_DO_NOT_APPLY_DAMAGE = 0x1
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ShadowType_t {
+                SHADOWS_NONE = 0x0,
+                SHADOWS_SIMPLE = 0x1
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum ScriptedHeldWeaponBehavior_t {
+                eInvalid = u32::MAX,
+                eHolster = 0x0,
+                eDeploy = 0x1,
+                eDrop = 0x2
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum GrenadeType_t {
+                GRENADE_TYPE_EXPLOSIVE = 0x0,
+                GRENADE_TYPE_FLASH = 0x1,
+                GRENADE_TYPE_FIRE = 0x2,
+                GRENADE_TYPE_DECOY = 0x3,
+                GRENADE_TYPE_SMOKE = 0x4,
+                GRENADE_TYPE_TOTAL = 0x5
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ValueRemapperInputType_t {
+                InputType_PlayerShootPosition = 0x0,
+                InputType_PlayerShootPositionAroundAxis = 0x1
+            }
+            // Alignment: 1
+            // Member count: 8
+            #[repr(u8)]
+            pub enum EKillTypes_t {
+                KILL_NONE = 0x0,
+                KILL_DEFAULT = 0x1,
+                KILL_HEADSHOT = 0x2,
+                KILL_BLAST = 0x3,
+                KILL_BURN = 0x4,
+                KILL_SLASH = 0x5,
+                KILL_SHOCK = 0x6,
+                KILLTYPE_COUNT = 0x7
+            }
+            // Alignment: 4
+            // Member count: 25
+            #[repr(u32)]
+            pub enum WeaponSound_t {
+                WEAPON_SOUND_EMPTY = 0x0,
+                WEAPON_SOUND_SECONDARY_EMPTY = 0x1,
+                WEAPON_SOUND_SINGLE = 0x2,
+                WEAPON_SOUND_SECONDARY_ATTACK = 0x3,
+                WEAPON_SOUND_MELEE_MISS = 0x4,
+                WEAPON_SOUND_MELEE_HIT = 0x5,
+                WEAPON_SOUND_MELEE_HIT_WORLD = 0x6,
+                WEAPON_SOUND_MELEE_HIT_PLAYER = 0x7,
+                WEAPON_SOUND_MELEE_HIT_NPC = 0x8,
+                WEAPON_SOUND_SPECIAL1 = 0x9,
+                WEAPON_SOUND_SPECIAL2 = 0xA,
+                WEAPON_SOUND_SPECIAL3 = 0xB,
+                WEAPON_SOUND_NEARLYEMPTY = 0xC,
+                WEAPON_SOUND_IMPACT = 0xD,
+                WEAPON_SOUND_REFLECT = 0xE,
+                WEAPON_SOUND_SECONDARY_IMPACT = 0xF,
+                WEAPON_SOUND_SECONDARY_REFLECT = 0x10,
+                WEAPON_SOUND_RELOAD = 0x11,
+                WEAPON_SOUND_SINGLE_ACCURATE = 0x12,
+                WEAPON_SOUND_ZOOM_IN = 0x13,
+                WEAPON_SOUND_ZOOM_OUT = 0x14,
+                WEAPON_SOUND_MOUSE_PRESSED = 0x15,
+                WEAPON_SOUND_DROP = 0x16,
+                WEAPON_SOUND_RADIO_USE = 0x17,
+                WEAPON_SOUND_NUM_TYPES = 0x18
+            }
+            // Alignment: 8
+            // Member count: 17
+            #[repr(u64)]
+            pub enum TakeDamageFlags_t {
+                DFLAG_NONE = 0x0,
+                DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1,
+                DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2,
+                DFLAG_SUPPRESS_EFFECTS = 0x4,
+                DFLAG_PREVENT_DEATH = 0x8,
+                DFLAG_FORCE_DEATH = 0x10,
+                DFLAG_ALWAYS_GIB = 0x20,
+                DFLAG_NEVER_GIB = 0x40,
+                DFLAG_REMOVE_NO_RAGDOLL = 0x80,
+                DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100,
+                DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200,
+                DFLAG_RADIUS_DMG = 0x400,
+                DFLAG_FORCEREDUCEARMOR_DMG = 0x800,
+                DFLAG_SUPPRESS_INTERRUPT_FLINCH = 0x1000,
+                DFLAG_IGNORE_ARMOR = 0x2000,
+                DFLAG_SUPPRESS_UTILREMOVE = 0x4000
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum ValueRemapperHapticsType_t {
+                HaticsType_Default = 0x0,
+                HaticsType_None = 0x1
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum Disposition_t {
+                D_ER = 0x0,
+                D_HT = 0x1,
+                D_FR = 0x2,
+                D_LI = 0x3,
+                D_NU = 0x4
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum CanPlaySequence_t {
+                CANNOT_PLAY = 0x0,
+                CAN_PLAY_NOW = 0x1,
+                CAN_PLAY_ENQUEUED = 0x2
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum MedalRank_t {
+                MEDAL_RANK_NONE = 0x0,
+                MEDAL_RANK_BRONZE = 0x1,
+                MEDAL_RANK_SILVER = 0x2,
+                MEDAL_RANK_GOLD = 0x3,
+                MEDAL_RANK_COUNT = 0x4
+            }
+            // Alignment: 4
+            // Member count: 7
+            #[repr(u32)]
+            pub enum ObserverMode_t {
+                OBS_MODE_NONE = 0x0,
+                OBS_MODE_FIXED = 0x1,
+                OBS_MODE_IN_EYE = 0x2,
+                OBS_MODE_CHASE = 0x3,
+                OBS_MODE_ROAMING = 0x4,
+                OBS_MODE_DIRECTED = 0x5,
+                NUM_OBSERVER_MODES = 0x6
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum FuncDoorSpawnPos_t {
+                FUNC_DOOR_SPAWN_CLOSED = 0x0,
+                FUNC_DOOR_SPAWN_OPEN = 0x1
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum EOverrideBlockLOS_t {
+                BLOCK_LOS_DEFAULT = 0x0,
+                BLOCK_LOS_FORCE_FALSE = 0x1,
+                BLOCK_LOS_FORCE_TRUE = 0x2
+            }
+            // Alignment: 1
+            // Member count: 14
+            #[repr(u8)]
+            pub enum MoveType_t {
+                MOVETYPE_NONE = 0x0,
+                MOVETYPE_OBSOLETE = 0x1,
+                MOVETYPE_WALK = 0x2,
+                MOVETYPE_FLY = 0x3,
+                MOVETYPE_FLYGRAVITY = 0x4,
+                MOVETYPE_VPHYSICS = 0x5,
+                MOVETYPE_PUSH = 0x6,
+                MOVETYPE_NOCLIP = 0x7,
+                MOVETYPE_OBSERVER = 0x8,
+                MOVETYPE_LADDER = 0x9,
+                MOVETYPE_CUSTOM = 0xA,
+                MOVETYPE_LAST = 0xB
+            }
+            // Parent: CBaseCombatCharacter
+            // Field count: 1
+            pub mod CHostageExpresserShim {
+                pub const m_pExpresser: usize = 0xAC0; // CAI_Expresser*
+            }
+            // Parent: CBaseTrigger
+            // Field count: 3
+            pub mod CTriggerSoundscape {
+                pub const m_hSoundscape: usize = 0x960; // CHandle<CEnvSoundscapeTriggerable>
+                pub const m_SoundscapeName: usize = 0x968; // CUtlSymbolLarge
+                pub const m_spectators: usize = 0x970; // CUtlVector<CHandle<CBasePlayerPawn>>
+            }
+            // Parent: CBreakableProp
+            // Field count: 22
+            //
+            // Metadata:
+            // NetworkVarNames: m_bUseHitboxesForRenderBox (bool)
+            // NetworkVarNames: m_bUseAnimGraph (bool)
+            pub mod CDynamicProp {
+                pub const m_bCreateNavObstacle: usize = 0xB60; // bool
+                pub const m_bNavObstacleUpdatesOverridden: usize = 0xB61; // bool
+                pub const m_bUseHitboxesForRenderBox: usize = 0xB62; // bool
+                pub const m_bUseAnimGraph: usize = 0xB63; // bool
+                pub const m_pOutputAnimBegun: usize = 0xB68; // CEntityIOOutput
+                pub const m_pOutputAnimOver: usize = 0xB90; // CEntityIOOutput
+                pub const m_pOutputAnimLoopCycleOver: usize = 0xBB8; // CEntityIOOutput
+                pub const m_OnAnimReachedStart: usize = 0xBE0; // CEntityIOOutput
+                pub const m_OnAnimReachedEnd: usize = 0xC08; // CEntityIOOutput
+                pub const m_iszIdleAnim: usize = 0xC30; // CUtlSymbolLarge
+                pub const m_nIdleAnimLoopMode: usize = 0xC38; // AnimLoopMode_t
+                pub const m_bRandomizeCycle: usize = 0xC3C; // bool
+                pub const m_bStartDisabled: usize = 0xC3D; // bool
+                pub const m_bFiredStartEndOutput: usize = 0xC3E; // bool
+                pub const m_bForceNpcExclude: usize = 0xC3F; // bool
+                pub const m_bCreateNonSolid: usize = 0xC40; // bool
+                pub const m_bIsOverrideProp: usize = 0xC41; // bool
+                pub const m_iInitialGlowState: usize = 0xC44; // int32
+                pub const m_nGlowRange: usize = 0xC48; // int32
+                pub const m_nGlowRangeMin: usize = 0xC4C; // int32
+                pub const m_glowColor: usize = 0xC50; // Color
+                pub const m_nGlowTeam: usize = 0xC54; // int32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CFuncIllusionary {
+            }
+            // Parent: CPlayer_MovementServices_Humanoid
+            // Field count: 40
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderNormal (Vector)
+            // NetworkVarNames: m_nLadderSurfacePropIndex (int)
+            // NetworkVarNames: m_flDuckAmount (float)
+            // NetworkVarNames: m_flDuckSpeed (float)
+            // NetworkVarNames: m_bDuckOverride (bool)
+            // NetworkVarNames: m_bDesiresDuck (bool)
+            // NetworkVarNames: m_nDuckTimeMsecs (uint32)
+            // NetworkVarNames: m_nDuckJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_nJumpTimeMsecs (uint32)
+            // NetworkVarNames: m_flLastDuckTime (float)
+            // NetworkVarNames: m_nGameCodeHasMovedPlayerAfterCommand (int)
+            // NetworkVarNames: m_bOldJumpPressed (bool)
+            // NetworkVarNames: m_fStashGrenadeParameterWhen (GameTime_t)
+            // NetworkVarNames: m_nButtonDownMaskPrev (ButtonBitMask_t)
+            // NetworkVarNames: m_flOffsetTickCompleteTime (float)
+            // NetworkVarNames: m_flOffsetTickStashedSpeed (float)
+            // NetworkVarNames: m_flStamina (float)
+            pub mod CCSPlayer_MovementServices {
+                pub const m_vecLadderNormal: usize = 0x228; // Vector
+                pub const m_nLadderSurfacePropIndex: usize = 0x234; // int32
+                pub const m_flDuckAmount: usize = 0x238; // float32
+                pub const m_flDuckSpeed: usize = 0x23C; // float32
+                pub const m_bDuckOverride: usize = 0x240; // bool
+                pub const m_bDesiresDuck: usize = 0x241; // bool
+                pub const m_flDuckOffset: usize = 0x244; // float32
+                pub const m_nDuckTimeMsecs: usize = 0x248; // uint32
+                pub const m_nDuckJumpTimeMsecs: usize = 0x24C; // uint32
+                pub const m_nJumpTimeMsecs: usize = 0x250; // uint32
+                pub const m_flLastDuckTime: usize = 0x254; // float32
+                pub const m_vecLastPositionAtFullCrouchSpeed: usize = 0x260; // Vector2D
+                pub const m_duckUntilOnGround: usize = 0x268; // bool
+                pub const m_bHasWalkMovedSinceLastJump: usize = 0x269; // bool
+                pub const m_bInStuckTest: usize = 0x26A; // bool
+                pub const m_flStuckCheckTime: usize = 0x278; // float32[64][2]
+                pub const m_nTraceCount: usize = 0x478; // int32
+                pub const m_StuckLast: usize = 0x47C; // int32
+                pub const m_bSpeedCropped: usize = 0x480; // bool
+                pub const m_flGroundMoveEfficiency: usize = 0x484; // float32
+                pub const m_nOldWaterLevel: usize = 0x488; // int32
+                pub const m_flWaterEntryTime: usize = 0x48C; // float32
+                pub const m_vecForward: usize = 0x490; // Vector
+                pub const m_vecLeft: usize = 0x49C; // Vector
+                pub const m_vecUp: usize = 0x4A8; // Vector
+                pub const m_nGameCodeHasMovedPlayerAfterCommand: usize = 0x4B4; // int32
+                pub const m_bMadeFootstepNoise: usize = 0x4B8; // bool
+                pub const m_iFootsteps: usize = 0x4BC; // int32
+                pub const m_bOldJumpPressed: usize = 0x4C0; // bool
+                pub const m_flJumpPressedTime: usize = 0x4C4; // float32
+                pub const m_fStashGrenadeParameterWhen: usize = 0x4C8; // GameTime_t
+                pub const m_nButtonDownMaskPrev: usize = 0x4D0; // uint64
+                pub const m_flOffsetTickCompleteTime: usize = 0x4D8; // float32
+                pub const m_flOffsetTickStashedSpeed: usize = 0x4DC; // float32
+                pub const m_flStamina: usize = 0x4E0; // float32
+                pub const m_flHeightAtJumpStart: usize = 0x4E4; // float32
+                pub const m_flMaxJumpHeightThisJump: usize = 0x4E8; // float32
+                pub const m_flMaxJumpHeightLastJump: usize = 0x4EC; // float32
+                pub const m_flStaminaAtJumpStart: usize = 0x4F0; // float32
+                pub const m_flAccumulatedJumpError: usize = 0x4F4; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: scale (int16)
+            // NetworkVarNames: origin (Vector)
+            // NetworkVarNames: bClip3DSkyBoxNearToWorldFar (bool)
+            // NetworkVarNames: flClip3DSkyBoxNearToWorldFarOffset (float32)
+            // NetworkVarNames: fog (fogparams_t)
+            // NetworkVarNames: m_nWorldGroupID (WorldGroupId_t)
+            pub mod sky3dparams_t {
+                pub const scale: usize = 0x8; // int16
+                pub const origin: usize = 0xC; // Vector
+                pub const bClip3DSkyBoxNearToWorldFar: usize = 0x18; // bool
+                pub const flClip3DSkyBoxNearToWorldFarOffset: usize = 0x1C; // float32
+                pub const fog: usize = 0x20; // fogparams_t
+                pub const m_nWorldGroupID: usize = 0x88; // WorldGroupId_t
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            pub mod CTriggerRemove {
+                pub const m_OnRemove: usize = 0x960; // CEntityIOOutput
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterName {
+                pub const m_iFilterName: usize = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CProjectedDecal {
+                pub const m_nTexture: usize = 0x4E0; // int32
+                pub const m_flDistance: usize = 0x4E4; // float32
+            }
+            // Parent: CFuncTrackChange
+            // Field count: 0
+            pub mod CFuncTrackAuto {
+            }
+            // Parent: CBreakable
+            // Field count: 0
+            pub mod CPushable {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            pub mod CTriggerMultiple {
+                pub const m_OnTrigger: usize = 0x960; // CEntityIOOutput
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_skeletonInstance (CSkeletonInstance)
+            pub mod CBodyComponentSkeletonInstance {
+                pub const m_skeletonInstance: usize = 0x50; // CSkeletonInstance
+            }
+            // Parent: CBaseTrigger
+            // Field count: 7
+            pub mod CTriggerPush {
+                pub const m_angPushEntitySpace: usize = 0x960; // QAngle
+                pub const m_vecPushDirEntitySpace: usize = 0x96C; // Vector
+                pub const m_bTriggerOnStartTouch: usize = 0x978; // bool
+                pub const m_bUsePathSimple: usize = 0x979; // bool
+                pub const m_iszPathSimpleName: usize = 0x980; // CUtlSymbolLarge
+                pub const m_PathSimple: usize = 0x988; // CPathSimple*
+                pub const m_splinePushType: usize = 0x990; // uint32
+            }
+            // Parent: CBaseFilter
+            // Field count: 3
+            pub mod FilterHealth {
+                pub const m_bAdrenalineActive: usize = 0x538; // bool
+                pub const m_iHealthMin: usize = 0x53C; // int32
+                pub const m_iHealthMax: usize = 0x540; // int32
+            }
+            // Parent: CCSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_TeamSelectCounterTerroristPosition {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 5
+            pub mod CTriggerProximity {
+                pub const m_hMeasureTarget: usize = 0x960; // CHandle<CBaseEntity>
+                pub const m_iszMeasureTarget: usize = 0x968; // CUtlSymbolLarge
+                pub const m_fRadius: usize = 0x970; // float32
+                pub const m_nTouchers: usize = 0x974; // int32
+                pub const m_NearestEntityDistance: usize = 0x978; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CFuncBrush
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_EffectName (string_t)
+            pub mod CFuncElectrifiedVolume {
+                pub const m_EffectName: usize = 0x7B0; // CUtlSymbolLarge
+                pub const m_EffectInterpenetrateName: usize = 0x7B8; // CUtlSymbolLarge
+                pub const m_EffectZapName: usize = 0x7C0; // CUtlSymbolLarge
+                pub const m_iszEffectSource: usize = 0x7C8; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            pub mod CBaseDMStart {
+                pub const m_Master: usize = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CGameRulesProxy
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pGameRules (CCSGameRules*)
+            pub mod CCSGameRulesProxy {
+                pub const m_pGameRules: usize = 0x4E0; // CCSGameRules*
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 5
+            pub mod CTriggerBrush {
+                pub const m_OnStartTouch: usize = 0x790; // CEntityIOOutput
+                pub const m_OnEndTouch: usize = 0x7B8; // CEntityIOOutput
+                pub const m_OnUse: usize = 0x7E0; // CEntityIOOutput
+                pub const m_iInputFilter: usize = 0x808; // int32
+                pub const m_iDontMessageParent: usize = 0x80C; // int32
+            }
+            // Parent: CBeam
+            // Field count: 19
+            pub mod CEnvBeam {
+                pub const m_active: usize = 0x830; // int32
+                pub const m_spriteTexture: usize = 0x838; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_iszStartEntity: usize = 0x840; // CUtlSymbolLarge
+                pub const m_iszEndEntity: usize = 0x848; // CUtlSymbolLarge
+                pub const m_life: usize = 0x850; // float32
+                pub const m_boltWidth: usize = 0x854; // float32
+                pub const m_noiseAmplitude: usize = 0x858; // float32
+                pub const m_speed: usize = 0x85C; // int32
+                pub const m_restrike: usize = 0x860; // float32
+                pub const m_iszSpriteName: usize = 0x868; // CUtlSymbolLarge
+                pub const m_frameStart: usize = 0x870; // int32
+                pub const m_vEndPointWorld: usize = 0x874; // Vector
+                pub const m_vEndPointRelative: usize = 0x880; // Vector
+                pub const m_radius: usize = 0x88C; // float32
+                pub const m_TouchType: usize = 0x890; // Touch_t
+                pub const m_iFilterName: usize = 0x898; // CUtlSymbolLarge
+                pub const m_hFilter: usize = 0x8A0; // CHandle<CBaseEntity>
+                pub const m_iszDecal: usize = 0x8A8; // CUtlSymbolLarge
+                pub const m_OnTouchedByEntity: usize = 0x8B0; // CEntityIOOutput
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            pub mod CTonemapTrigger {
+                pub const m_tonemapControllerName: usize = 0x960; // CUtlSymbolLarge
+                pub const m_hTonemapController: usize = 0x968; // CEntityHandle
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAttributeDefinitionIndex (attrib_definition_index_t)
+            // NetworkVarNames: m_flValue (float)
+            // NetworkVarNames: m_flInitialValue (float)
+            // NetworkVarNames: m_nRefundableCurrency (int)
+            // NetworkVarNames: m_bSetBonus (bool)
+            pub mod CEconItemAttribute {
+                pub const m_iAttributeDefinitionIndex: usize = 0x30; // uint16
+                pub const m_flValue: usize = 0x34; // float32
+                pub const m_flInitialValue: usize = 0x38; // float32
+                pub const m_nRefundableCurrency: usize = 0x3C; // int32
+                pub const m_bSetBonus: usize = 0x40; // bool
+            }
+            // Parent: CWeaponBaseItem
+            // Field count: 0
+            pub mod CItem_Healthshot {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            pub mod CFogTrigger {
+                pub const m_fog: usize = 0x960; // fogparams_t
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            pub mod CLogicCollisionPair {
+                pub const m_nameAttach1: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_nameAttach2: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_supportMultipleEntitiesWithSameName: usize = 0x4F0; // bool
+                pub const m_disabled: usize = 0x4F1; // bool
+                pub const m_succeeded: usize = 0x4F2; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_weapon_cs_base {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CTriggerHostageReset {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 4
+            pub mod CPointTeleport {
+                pub const m_vSaveOrigin: usize = 0x4E0; // Vector
+                pub const m_vSaveAngles: usize = 0x4EC; // QAngle
+                pub const m_bTeleportParentedEntities: usize = 0x4F8; // bool
+                pub const m_bTeleportUseCurrentAngle: usize = 0x4F9; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoInstructorHintBombTargetB {
+            }
+            // Parent: CBtNodeCondition
+            // Field count: 3
+            pub mod CBtNodeConditionInactive {
+                pub const m_flRoundStartThresholdSeconds: usize = 0x78; // float32
+                pub const m_flSensorInactivityThresholdSeconds: usize = 0x7C; // float32
+                pub const m_SensorInactivityTimer: usize = 0x80; // CountdownTimer
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 0
+            pub mod CWeaponSawedoff {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFluidDensity (float)
+            pub mod CTriggerBuoyancy {
+                pub const m_BuoyancyHelper: usize = 0x960; // CBuoyancyHelper
+                pub const m_flFluidDensity: usize = 0x9E0; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            pub mod CMoverPathNode {
+                pub const m_vInTangentLocal: usize = 0x4E0; // Vector
+                pub const m_vOutTangentLocal: usize = 0x4EC; // Vector
+                pub const m_szParentPathUniqueID: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_OnPassThrough: usize = 0x500; // CEntityIOOutput
+                pub const m_OnPassThroughForward: usize = 0x528; // CEntityIOOutput
+                pub const m_OnPassThroughReverse: usize = 0x550; // CEntityIOOutput
+                pub const m_hMover: usize = 0x578; // CHandle<CPathMover>
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            pub mod CEnvSoundscapeTriggerable {
+            }
+            // Parent: CBtNode
+            // Field count: 12
+            pub mod CBtActionAim {
+                pub const m_szSensorInputKey: usize = 0x68; // CUtlString
+                pub const m_szAimReadyKey: usize = 0x80; // CUtlString
+                pub const m_flZoomCooldownTimestamp: usize = 0x88; // float32
+                pub const m_bDoneAiming: usize = 0x8C; // bool
+                pub const m_flLerpStartTime: usize = 0x90; // float32
+                pub const m_flNextLookTargetLerpTime: usize = 0x94; // float32
+                pub const m_flPenaltyReductionRatio: usize = 0x98; // float32
+                pub const m_NextLookTarget: usize = 0x9C; // QAngle
+                pub const m_AimTimer: usize = 0xA8; // CountdownTimer
+                pub const m_SniperHoldTimer: usize = 0xC0; // CountdownTimer
+                pub const m_FocusIntervalTimer: usize = 0xD8; // CountdownTimer
+                pub const m_bAcquired: usize = 0xF0; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_ViewModelServices {
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_WingmanIntroCounterTerroristPosition {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCsViewPunchAngle (QAngle)
+            // NetworkVarNames: m_nCsViewPunchAngleTick (GameTick_t)
+            // NetworkVarNames: m_flCsViewPunchAngleTickRatio (float32)
+            // NetworkVarNames: m_PlayerFog (fogplayerparams_t)
+            // NetworkVarNames: m_hColorCorrectionCtrl (CHandle<CColorCorrection>)
+            // NetworkVarNames: m_hViewEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hTonemapController (CHandle<CTonemapController2>)
+            // NetworkVarNames: m_audio (audioparams_t)
+            // NetworkVarNames: m_PostProcessingVolumes (CHandle<CPostProcessingVolume>)
+            pub mod CPlayer_CameraServices {
+                pub const m_vecCsViewPunchAngle: usize = 0x40; // QAngle
+                pub const m_nCsViewPunchAngleTick: usize = 0x4C; // GameTick_t
+                pub const m_flCsViewPunchAngleTickRatio: usize = 0x50; // float32
+                pub const m_PlayerFog: usize = 0x58; // fogplayerparams_t
+                pub const m_hColorCorrectionCtrl: usize = 0x98; // CHandle<CColorCorrection>
+                pub const m_hViewEntity: usize = 0x9C; // CHandle<CBaseEntity>
+                pub const m_hTonemapController: usize = 0xA0; // CHandle<CTonemapController2>
+                pub const m_audio: usize = 0xA8; // audioparams_t
+                pub const m_PostProcessingVolumes: usize = 0x120; // CNetworkUtlVectorBase<CHandle<CPostProcessingVolume>>
+                pub const m_flOldPlayerZ: usize = 0x138; // float32
+                pub const m_flOldPlayerViewOffsetZ: usize = 0x13C; // float32
+                pub const m_hTriggerSoundscapeList: usize = 0x158; // CUtlVector<CHandle<CEnvSoundscapeTriggerable>>
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_fog (fogparams_t)
+            pub mod CFogController {
+                pub const m_fog: usize = 0x4E0; // fogparams_t
+                pub const m_bUseAngles: usize = 0x548; // bool
+                pub const m_iChangedVariables: usize = 0x54C; // int32
+            }
+            // Parent: CCSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_TeamIntroCharacterPosition {
+            }
+            // Parent: CEntityComponent
+            // Field count: 2
+            pub mod CBodyComponent {
+                pub const m_pSceneNode: usize = 0x8; // CGameSceneNode*
+                pub const __m_pChainEntity: usize = 0x20; // CNetworkVarChainer
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDecoyShotTick (int)
+            pub mod CDecoyProjectile {
+                pub const m_nDecoyShotTick: usize = 0xB58; // int32
+                pub const m_shotsRemaining: usize = 0xB5C; // int32
+                pub const m_fExpireTime: usize = 0xB60; // GameTime_t
+                pub const m_decoyWeaponDefIndex: usize = 0xB70; // uint16
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CEnableMotionFixup {
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 0
+            pub mod CCSObserver_MovementServices {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_timescale (float32)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            pub mod CountdownTimer {
+                pub const m_duration: usize = 0x8; // float32
+                pub const m_timestamp: usize = 0xC; // GameTime_t
+                pub const m_timescale: usize = 0x10; // float32
+                pub const m_nWorldGroupId: usize = 0x14; // WorldGroupId_t
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hOwner (CEntityHandle)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            pub mod CGameSceneNodeHandle {
+                pub const m_hOwner: usize = 0x8; // CEntityHandle
+                pub const m_name: usize = 0xC; // CUtlStringToken
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponMP9 {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            pub mod CPhysicsEntitySolver {
+                pub const m_hMovingEntity: usize = 0x4E8; // CHandle<CBaseEntity>
+                pub const m_hPhysicsBlocker: usize = 0x4EC; // CHandle<CBaseEntity>
+                pub const m_separationDuration: usize = 0x4F0; // float32
+                pub const m_cancelTime: usize = 0x4F4; // GameTime_t
+            }
+            // Parent: CBaseEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPingedEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_iType (int)
+            // NetworkVarNames: m_bUrgent (bool)
+            // NetworkVarNames: m_szPlaceName (char)
+            pub mod CPlayerPing {
+                pub const m_hPlayer: usize = 0x4E8; // CHandle<CCSPlayerPawn>
+                pub const m_hPingedEntity: usize = 0x4EC; // CHandle<CBaseEntity>
+                pub const m_iType: usize = 0x4F0; // int32
+                pub const m_bUrgent: usize = 0x4F4; // bool
+                pub const m_szPlaceName: usize = 0x4F5; // char[18]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: nTagTick (GameTick_t)
+            // NetworkVarNames: flFlinchModSmall (float)
+            // NetworkVarNames: flFlinchModLarge (float)
+            // NetworkVarNames: flFriendlyFireDamageReductionRatio (float)
+            pub mod PredictedDamageTag_t {
+                pub const nTagTick: usize = 0x30; // GameTick_t
+                pub const flFlinchModSmall: usize = 0x34; // float32
+                pub const flFlinchModLarge: usize = 0x38; // float32
+                pub const flFriendlyFireDamageReductionRatio: usize = 0x3C; // float32
+            }
+            // Parent: CCSPointScriptEntity
+            // Field count: 0
+            pub mod CCSServerPointScriptEntity {
+            }
+            // Parent: CGameSceneNode
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_modelState (CModelState)
+            // NetworkVarNames: m_bIsAnimationEnabled (bool)
+            // NetworkVarNames: m_bUseParentRenderBounds (bool)
+            // NetworkVarNames: m_materialGroup (CUtlStringToken)
+            // NetworkVarNames: m_nHitboxSet (uint8)
+            pub mod CSkeletonInstance {
+                pub const m_modelState: usize = 0x170; // CModelState
+                pub const m_bIsAnimationEnabled: usize = 0x3A0; // bool
+                pub const m_bUseParentRenderBounds: usize = 0x3A1; // bool
+                pub const m_bDisableSolidCollisionsForHierarchy: usize = 0x3A2; // bool
+                pub const m_bDirtyMotionType: usize = 0x0; // bitfield:1
+                pub const m_bIsGeneratingLatchedParentSpaceState: usize = 0x0; // bitfield:1
+                pub const m_materialGroup: usize = 0x3A4; // CUtlStringToken
+                pub const m_nHitboxSet: usize = 0x3A8; // uint8
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoLandmark {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponMP7 {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponFiveSeven {
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_animationController (CBaseAnimGraphController)
+            pub mod CBodyComponentBaseAnimGraph {
+                pub const m_animationController: usize = 0x490; // CBaseAnimGraphController
+            }
+            // Parent: CBodyComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_sceneNode (CGameSceneNode)
+            pub mod CBodyComponentPoint {
+                pub const m_sceneNode: usize = 0x50; // CGameSceneNode
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            pub mod CEnvFireSensor {
+                pub const m_bEnabled: usize = 0x4E0; // bool
+                pub const m_bHeatAtLevel: usize = 0x4E1; // bool
+                pub const m_radius: usize = 0x4E4; // float32
+                pub const m_targetLevel: usize = 0x4E8; // float32
+                pub const m_targetTime: usize = 0x4EC; // float32
+                pub const m_levelTime: usize = 0x4F0; // float32
+                pub const m_OnHeatLevelStart: usize = 0x4F8; // CEntityIOOutput
+                pub const m_OnHeatLevelEnd: usize = 0x520; // CEntityIOOutput
+            }
+            // Parent: CCSGO_WingmanIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_WingmanIntroTerroristPosition {
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod CEnvWindShared__WindAveEvent_t {
+                pub const m_flStartWindSpeed: usize = 0x0; // float32
+                pub const m_flAveWindSpeed: usize = 0x4; // float32
+            }
+            // Parent: CDynamicProp
+            // Field count: 0
+            pub mod CDynamicPropAlias_cable_dynamic {
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CPointGamestatsCounter {
+                pub const m_strStatisticName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_bDisabled: usize = 0x4E8; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 10
+            pub mod CEnvShake {
+                pub const m_limitToEntity: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_Amplitude: usize = 0x4E8; // float32
+                pub const m_Frequency: usize = 0x4EC; // float32
+                pub const m_Duration: usize = 0x4F0; // float32
+                pub const m_Radius: usize = 0x4F4; // float32
+                pub const m_stopTime: usize = 0x4F8; // GameTime_t
+                pub const m_nextShake: usize = 0x4FC; // GameTime_t
+                pub const m_currentAmp: usize = 0x500; // float32
+                pub const m_maxForce: usize = 0x504; // Vector
+                pub const m_shakeCallback: usize = 0x518; // CPhysicsShake
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CPrecipitationBlocker {
+            }
+            // Parent: CPathKeyFrame
+            // Field count: 11
+            pub mod CBaseMoveBehavior {
+                pub const m_iPositionInterpolator: usize = 0x540; // int32
+                pub const m_iRotationInterpolator: usize = 0x544; // int32
+                pub const m_flAnimStartTime: usize = 0x548; // float32
+                pub const m_flAnimEndTime: usize = 0x54C; // float32
+                pub const m_flAverageSpeedAcrossFrame: usize = 0x550; // float32
+                pub const m_pCurrentKeyFrame: usize = 0x558; // CPathKeyFrame*
+                pub const m_pTargetKeyFrame: usize = 0x560; // CPathKeyFrame*
+                pub const m_pPreKeyFrame: usize = 0x568; // CPathKeyFrame*
+                pub const m_pPostKeyFrame: usize = 0x570; // CPathKeyFrame*
+                pub const m_flTimeIntoFrame: usize = 0x578; // float32
+                pub const m_iDirection: usize = 0x57C; // int32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CFuncMoverAPI {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CFuncNavObstruction {
+                pub const m_bDisabled: usize = 0x798; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            pub mod CEnvTilt {
+                pub const m_Duration: usize = 0x4E0; // float32
+                pub const m_Radius: usize = 0x4E4; // float32
+                pub const m_TiltTime: usize = 0x4E8; // float32
+                pub const m_stopTime: usize = 0x4EC; // GameTime_t
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bRedraw (bool)
+            // NetworkVarNames: m_bIsHeldByPlayer (bool)
+            // NetworkVarNames: m_bPinPulled (bool)
+            // NetworkVarNames: m_bJumpThrow (bool)
+            // NetworkVarNames: m_bThrowAnimating (bool)
+            // NetworkVarNames: m_fThrowTime (GameTime_t)
+            // NetworkVarNames: m_flThrowStrength (float)
+            // NetworkVarNames: m_flThrowStrengthApproach (float)
+            // NetworkVarNames: m_fDropTime (GameTime_t)
+            // NetworkVarNames: m_fPinPullTime (GameTime_t)
+            // NetworkVarNames: m_bJustPulledPin (bool)
+            // NetworkVarNames: m_nNextHoldTick (GameTick_t)
+            // NetworkVarNames: m_flNextHoldFrac (float)
+            // NetworkVarNames: m_hSwitchToWeaponAfterThrow (CHandle<CCSWeaponBase>)
+            pub mod CBaseCSGrenade {
+                pub const m_bRedraw: usize = 0xF68; // bool
+                pub const m_bIsHeldByPlayer: usize = 0xF69; // bool
+                pub const m_bPinPulled: usize = 0xF6A; // bool
+                pub const m_bJumpThrow: usize = 0xF6B; // bool
+                pub const m_bThrowAnimating: usize = 0xF6C; // bool
+                pub const m_fThrowTime: usize = 0xF70; // GameTime_t
+                pub const m_flThrowStrength: usize = 0xF74; // float32
+                pub const m_flThrowStrengthApproach: usize = 0xF78; // float32
+                pub const m_fDropTime: usize = 0xF7C; // GameTime_t
+                pub const m_fPinPullTime: usize = 0xF80; // GameTime_t
+                pub const m_bJustPulledPin: usize = 0xF84; // bool
+                pub const m_nNextHoldTick: usize = 0xF88; // GameTick_t
+                pub const m_flNextHoldFrac: usize = 0xF8C; // float32
+                pub const m_hSwitchToWeaponAfterThrow: usize = 0xF90; // CHandle<CCSWeaponBase>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CItemGenericTriggerHelper {
+                pub const m_hParentItem: usize = 0x790; // CHandle<CItemGeneric>
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            pub mod CLogicBranchList {
+                pub const m_nLogicBranchNames: usize = 0x4E0; // CUtlSymbolLarge[16]
+                pub const m_LogicBranchList: usize = 0x560; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_eLastState: usize = 0x578; // CLogicBranchList::LogicBranchListenerLastState_t
+                pub const m_OnAllTrue: usize = 0x580; // CEntityIOOutput
+                pub const m_OnAllFalse: usize = 0x5A8; // CEntityIOOutput
+                pub const m_OnMixed: usize = 0x5D0; // CEntityIOOutput
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCtrl (CHandle<CFogController>)
+            pub mod fogplayerparams_t {
+                pub const m_hCtrl: usize = 0x8; // CHandle<CFogController>
+                pub const m_flTransitionTime: usize = 0xC; // float32
+                pub const m_OldColor: usize = 0x10; // Color
+                pub const m_flOldStart: usize = 0x14; // float32
+                pub const m_flOldEnd: usize = 0x18; // float32
+                pub const m_flOldMaxDensity: usize = 0x1C; // float32
+                pub const m_flOldHDRColorScale: usize = 0x20; // float32
+                pub const m_flOldFarZ: usize = 0x24; // float32
+                pub const m_NewColor: usize = 0x28; // Color
+                pub const m_flNewStart: usize = 0x2C; // float32
+                pub const m_flNewEnd: usize = 0x30; // float32
+                pub const m_flNewMaxDensity: usize = 0x34; // float32
+                pub const m_flNewHDRColorScale: usize = 0x38; // float32
+                pub const m_flNewFarZ: usize = 0x3C; // float32
+            }
+            // Parent: CItemDefuser
+            // Field count: 0
+            pub mod CItemDefuserAlias_item_defuser {
+            }
+            // Parent: CModelPointEntity
+            // Field count: 3
+            pub mod CRevertSaved {
+                pub const m_loadTime: usize = 0x790; // float32
+                pub const m_Duration: usize = 0x794; // float32
+                pub const m_HoldTime: usize = 0x798; // float32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 8
+            pub mod CMultiLightProxy {
+                pub const m_iszLightNameFilter: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszLightClassFilter: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_flLightRadiusFilter: usize = 0x4F0; // float32
+                pub const m_flBrightnessDelta: usize = 0x4F4; // float32
+                pub const m_bPerformScreenFade: usize = 0x4F8; // bool
+                pub const m_flTargetBrightnessMultiplier: usize = 0x4FC; // float32
+                pub const m_flCurrentBrightnessMultiplier: usize = 0x500; // float32
+                pub const m_vecLights: usize = 0x508; // CUtlVector<CHandle<CLightEntity>>
+            }
+            // Parent: None
+            // Field count: 21
+            //
+            // Metadata:
+            // NetworkVarNames: m_vOrigin (Vector)
+            // NetworkVarNames: m_vStart (Vector)
+            // NetworkVarNames: m_vNormal (Vector)
+            // NetworkVarNames: m_vAngles (QAngle)
+            // NetworkVarNames: m_hEntity (CEntityHandle)
+            // NetworkVarNames: m_hOtherEntity (CEntityHandle)
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flMagnitude (float32)
+            // NetworkVarNames: m_flRadius (float32)
+            // NetworkVarNames: m_nSurfaceProp (CUtlStringToken)
+            // NetworkVarNames: m_nEffectIndex (HParticleSystemDefinition)
+            // NetworkVarNames: m_nDamageType (uint32)
+            // NetworkVarNames: m_nPenetrate (uint8)
+            // NetworkVarNames: m_nMaterial (uint16)
+            // NetworkVarNames: m_nHitBox (uint16)
+            // NetworkVarNames: m_nColor (uint8)
+            // NetworkVarNames: m_fFlags (uint8)
+            // NetworkVarNames: m_nAttachmentIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_nAttachmentName (CUtlStringToken)
+            // NetworkVarNames: m_iEffectName (uint16)
+            // NetworkVarNames: m_nExplosionType (uint8)
+            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; // float32
+                pub const m_flMagnitude: usize = 0x44; // float32
+                pub const m_flRadius: usize = 0x48; // float32
+                pub const m_nSurfaceProp: usize = 0x4C; // CUtlStringToken
+                pub const m_nEffectIndex: usize = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_nDamageType: usize = 0x58; // uint32
+                pub const m_nPenetrate: usize = 0x5C; // uint8
+                pub const m_nMaterial: usize = 0x5E; // uint16
+                pub const m_nHitBox: usize = 0x60; // uint16
+                pub const m_nColor: usize = 0x62; // uint8
+                pub const m_fFlags: usize = 0x63; // uint8
+                pub const m_nAttachmentIndex: usize = 0x64; // AttachmentHandle_t
+                pub const m_nAttachmentName: usize = 0x68; // CUtlStringToken
+                pub const m_iEffectName: usize = 0x6C; // uint16
+                pub const m_nExplosionType: usize = 0x6E; // uint8
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CEntityBlocker {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            pub mod CLogicCase {
+                pub const m_nCase: usize = 0x4E0; // CUtlSymbolLarge[32]
+                pub const m_nShuffleCases: usize = 0x5E0; // int32
+                pub const m_nLastShuffleCase: usize = 0x5E4; // int32
+                pub const m_uchShuffleCaseMap: usize = 0x5E8; // uint8[32]
+                pub const m_OnCase: usize = 0x608; // CEntityIOOutput[32]
+                pub const m_OnDefault: usize = 0xB08; // CEntityOutputTemplate<CVariantBase<CVariantDefaultAllocator>>
+            }
+            // Parent: CItem
+            // Field count: 2
+            pub mod CItemDefuser {
+                pub const m_entitySpottedState: usize = 0xA80; // EntitySpottedState_t
+                pub const m_nSpotRules: usize = 0xA98; // int32
+            }
+            // Parent: CRuleEntity
+            // Field count: 0
+            pub mod CRuleBrushEntity {
+            }
+            // Parent: CInferno
+            // Field count: 0
+            pub mod CFireCrackerBlast {
+            }
+            // Parent: CBaseEntity
+            // Field count: 14
+            pub mod CSoundEventEntity {
+                pub const m_bStartOnSpawn: usize = 0x4E0; // bool
+                pub const m_bToLocalPlayer: usize = 0x4E1; // bool
+                pub const m_bStopOnNew: usize = 0x4E2; // bool
+                pub const m_bSaveRestore: usize = 0x4E3; // bool
+                pub const m_bSavedIsPlaying: usize = 0x4E4; // bool
+                pub const m_flSavedElapsedTime: usize = 0x4E8; // float32
+                pub const m_iszSourceEntityName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_iszAttachmentName: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_onGUIDChanged: usize = 0x500; // CEntityOutputTemplate<uint64>
+                pub const m_onSoundFinished: usize = 0x528; // CEntityIOOutput
+                pub const m_flClientCullRadius: usize = 0x550; // float32
+                pub const m_iszSoundName: usize = 0x580; // CUtlSymbolLarge
+                pub const m_hSource: usize = 0x590; // CEntityHandle
+                pub const m_nEntityIndexSelection: usize = 0x594; // int32
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_hViewModel (CHandle<CBaseViewModel>)
+            pub mod CCSPlayer_ViewModelServices {
+                pub const m_hViewModel: usize = 0x40; // CHandle<CBaseViewModel>[3]
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_SequenceCompleteTimer (CountdownTimer)
+            // NetworkVarNames: m_bRedraw (bool)
+            pub mod CWeaponBaseItem {
+                pub const m_SequenceCompleteTimer: usize = 0xF68; // CountdownTimer
+                pub const m_bRedraw: usize = 0xF80; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoParticleTarget {
+            }
+            // Parent: CBaseEntity
+            // Field count: 34
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScattering (float)
+            // NetworkVarNames: m_flAnisotropy (float)
+            // NetworkVarNames: m_flFadeSpeed (float)
+            // NetworkVarNames: m_flDrawDistance (float)
+            // NetworkVarNames: m_flFadeInStart (float)
+            // NetworkVarNames: m_flFadeInEnd (float)
+            // NetworkVarNames: m_flIndirectStrength (float)
+            // NetworkVarNames: m_nVolumeDepth (int)
+            // NetworkVarNames: m_fFirstVolumeSliceThickness (float)
+            // NetworkVarNames: m_nIndirectTextureDimX (int)
+            // NetworkVarNames: m_nIndirectTextureDimY (int)
+            // NetworkVarNames: m_nIndirectTextureDimZ (int)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartAnisoTime (GameTime_t)
+            // NetworkVarNames: m_flStartScatterTime (GameTime_t)
+            // NetworkVarNames: m_flStartDrawDistanceTime (GameTime_t)
+            // NetworkVarNames: m_flStartAnisotropy (float)
+            // NetworkVarNames: m_flStartScattering (float)
+            // NetworkVarNames: m_flStartDrawDistance (float)
+            // NetworkVarNames: m_flDefaultAnisotropy (float)
+            // NetworkVarNames: m_flDefaultScattering (float)
+            // NetworkVarNames: m_flDefaultDrawDistance (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bEnableIndirect (bool)
+            // NetworkVarNames: m_bIndirectUseLPVs (bool)
+            // NetworkVarNames: m_bIsMaster (bool)
+            // NetworkVarNames: m_hFogIndirectTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_nForceRefreshCount (int)
+            // NetworkVarNames: m_fNoiseSpeed (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_vNoiseScale (Vector)
+            pub mod CEnvVolumetricFogController {
+                pub const m_flScattering: usize = 0x4E0; // float32
+                pub const m_flAnisotropy: usize = 0x4E4; // float32
+                pub const m_flFadeSpeed: usize = 0x4E8; // float32
+                pub const m_flDrawDistance: usize = 0x4EC; // float32
+                pub const m_flFadeInStart: usize = 0x4F0; // float32
+                pub const m_flFadeInEnd: usize = 0x4F4; // float32
+                pub const m_flIndirectStrength: usize = 0x4F8; // float32
+                pub const m_nVolumeDepth: usize = 0x4FC; // int32
+                pub const m_fFirstVolumeSliceThickness: usize = 0x500; // float32
+                pub const m_nIndirectTextureDimX: usize = 0x504; // int32
+                pub const m_nIndirectTextureDimY: usize = 0x508; // int32
+                pub const m_nIndirectTextureDimZ: usize = 0x50C; // int32
+                pub const m_vBoxMins: usize = 0x510; // Vector
+                pub const m_vBoxMaxs: usize = 0x51C; // Vector
+                pub const m_bActive: usize = 0x528; // bool
+                pub const m_flStartAnisoTime: usize = 0x52C; // GameTime_t
+                pub const m_flStartScatterTime: usize = 0x530; // GameTime_t
+                pub const m_flStartDrawDistanceTime: usize = 0x534; // GameTime_t
+                pub const m_flStartAnisotropy: usize = 0x538; // float32
+                pub const m_flStartScattering: usize = 0x53C; // float32
+                pub const m_flStartDrawDistance: usize = 0x540; // float32
+                pub const m_flDefaultAnisotropy: usize = 0x544; // float32
+                pub const m_flDefaultScattering: usize = 0x548; // float32
+                pub const m_flDefaultDrawDistance: usize = 0x54C; // float32
+                pub const m_bStartDisabled: usize = 0x550; // bool
+                pub const m_bEnableIndirect: usize = 0x551; // bool
+                pub const m_bIndirectUseLPVs: usize = 0x552; // bool
+                pub const m_bIsMaster: usize = 0x553; // bool
+                pub const m_hFogIndirectTexture: usize = 0x558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_nForceRefreshCount: usize = 0x560; // int32
+                pub const m_fNoiseSpeed: usize = 0x564; // float32
+                pub const m_fNoiseStrength: usize = 0x568; // float32
+                pub const m_vNoiseScale: usize = 0x56C; // Vector
+                pub const m_bFirstTime: usize = 0x578; // bool
+            }
+            // Parent: CPlayer_MovementServices
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFallVelocity (float32)
+            // NetworkVarNames: m_bInCrouch (bool)
+            // NetworkVarNames: m_nCrouchState (uint32)
+            // NetworkVarNames: m_flCrouchTransitionStartTime (GameTime_t)
+            // NetworkVarNames: m_bDucked (bool)
+            // NetworkVarNames: m_bDucking (bool)
+            // NetworkVarNames: m_bInDuckJump (bool)
+            pub mod CPlayer_MovementServices_Humanoid {
+                pub const m_flStepSoundTime: usize = 0x1D8; // float32
+                pub const m_flFallVelocity: usize = 0x1DC; // float32
+                pub const m_bInCrouch: usize = 0x1E0; // bool
+                pub const m_nCrouchState: usize = 0x1E4; // uint32
+                pub const m_flCrouchTransitionStartTime: usize = 0x1E8; // GameTime_t
+                pub const m_bDucked: usize = 0x1EC; // bool
+                pub const m_bDucking: usize = 0x1ED; // bool
+                pub const m_bInDuckJump: usize = 0x1EE; // bool
+                pub const m_groundNormal: usize = 0x1F0; // Vector
+                pub const m_flSurfaceFriction: usize = 0x1FC; // float32
+                pub const m_surfaceProps: usize = 0x200; // CUtlStringToken
+                pub const m_nStepside: usize = 0x210; // int32
+                pub const m_iTargetVolume: usize = 0x214; // int32
+                pub const m_vecSmoothedVelocity: usize = 0x218; // Vector
+            }
+            // Parent: CPhysicsProp
+            // Field count: 5
+            pub mod CPhysicsPropRespawnable {
+                pub const m_vOriginalSpawnOrigin: usize = 0xD00; // Vector
+                pub const m_vOriginalSpawnAngles: usize = 0xD0C; // QAngle
+                pub const m_vOriginalMins: usize = 0xD18; // Vector
+                pub const m_vOriginalMaxs: usize = 0xD24; // Vector
+                pub const m_flRespawnDuration: usize = 0xD30; // float32
+            }
+            // Parent: CEnvSoundscapeProxy
+            // Field count: 0
+            pub mod CEnvSoundscapeProxyAlias_snd_soundscape_proxy {
+            }
+            // Parent: CPhysConstraint
+            // Field count: 6
+            pub mod CPhysBallSocket {
+                pub const m_flJointFriction: usize = 0x558; // float32
+                pub const m_bEnableSwingLimit: usize = 0x55C; // bool
+                pub const m_flSwingLimit: usize = 0x560; // float32
+                pub const m_bEnableTwistLimit: usize = 0x564; // bool
+                pub const m_flMinTwistAngle: usize = 0x568; // float32
+                pub const m_flMaxTwistAngle: usize = 0x56C; // float32
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flDMBonusStartTime (GameTime_t)
+            // NetworkVarNames: m_flDMBonusTimeLength (float)
+            // NetworkVarNames: m_sDMBonusWeapon (CUtlString)
+            pub mod CCSGameModeRules_Deathmatch {
+                pub const m_flDMBonusStartTime: usize = 0x30; // GameTime_t
+                pub const m_flDMBonusTimeLength: usize = 0x34; // float32
+                pub const m_sDMBonusWeapon: usize = 0x38; // CUtlString
+            }
+            // Parent: CItemAssaultSuit
+            // Field count: 0
+            pub mod CItemHeavyAssaultSuit {
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            pub mod CInfoPlayerStart {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_bIsMaster: usize = 0x4E1; // bool
+                pub const m_pPawnSubclass: usize = 0x4E8; // CGlobalSymbol
+            }
+            // Parent: CSoundOpvarSetPointBase
+            // Field count: 8
+            pub mod CSoundOpvarSetOBBWindEntity {
+                pub const m_vMins: usize = 0x578; // Vector
+                pub const m_vMaxs: usize = 0x584; // Vector
+                pub const m_vDistanceMins: usize = 0x590; // Vector
+                pub const m_vDistanceMaxs: usize = 0x59C; // Vector
+                pub const m_flWindMin: usize = 0x5A8; // float32
+                pub const m_flWindMax: usize = 0x5AC; // float32
+                pub const m_flWindMapMin: usize = 0x5B0; // float32
+                pub const m_flWindMapMax: usize = 0x5B4; // float32
+            }
+            // Parent: CRagdollProp
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_boneIndexAttached (uint32)
+            // NetworkVarNames: m_ragdollAttachedObjectIndex (uint32)
+            // NetworkVarNames: m_attachmentPointBoneSpace (Vector)
+            // NetworkVarNames: m_attachmentPointRagdollSpace (Vector)
+            pub mod CRagdollPropAttached {
+                pub const m_boneIndexAttached: usize = 0xB48; // uint32
+                pub const m_ragdollAttachedObjectIndex: usize = 0xB4C; // uint32
+                pub const m_attachmentPointBoneSpace: usize = 0xB50; // Vector
+                pub const m_attachmentPointRagdollSpace: usize = 0xB5C; // Vector
+                pub const m_bShouldDetach: usize = 0xB68; // bool
+                pub const m_bShouldDeleteAttachedActivationRecord: usize = 0xB78; // bool
+            }
+            // Parent: CItem
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_OwningPlayer (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_KillingPlayer (CHandle<CCSPlayerPawn>)
+            pub mod CItemDogtags {
+                pub const m_OwningPlayer: usize = 0xA80; // CHandle<CCSPlayerPawn>
+                pub const m_KillingPlayer: usize = 0xA84; // CHandle<CCSPlayerPawn>
+            }
+            // Parent: CItem
+            // Field count: 32
+            pub mod CItemGeneric {
+                pub const m_bHasTriggerRadius: usize = 0xA88; // bool
+                pub const m_bHasPickupRadius: usize = 0xA89; // bool
+                pub const m_flPickupRadiusSqr: usize = 0xA8C; // float32
+                pub const m_flTriggerRadiusSqr: usize = 0xA90; // float32
+                pub const m_flLastPickupCheck: usize = 0xA94; // GameTime_t
+                pub const m_bPlayerCounterListenerAdded: usize = 0xA98; // bool
+                pub const m_bPlayerInTriggerRadius: usize = 0xA99; // bool
+                pub const m_hSpawnParticleEffect: usize = 0xAA0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_pAmbientSoundEffect: usize = 0xAA8; // CUtlSymbolLarge
+                pub const m_bAutoStartAmbientSound: usize = 0xAB0; // bool
+                pub const m_pSpawnScriptFunction: usize = 0xAB8; // CUtlSymbolLarge
+                pub const m_hPickupParticleEffect: usize = 0xAC0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_pPickupSoundEffect: usize = 0xAC8; // CUtlSymbolLarge
+                pub const m_pPickupScriptFunction: usize = 0xAD0; // CUtlSymbolLarge
+                pub const m_hTimeoutParticleEffect: usize = 0xAD8; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_pTimeoutSoundEffect: usize = 0xAE0; // CUtlSymbolLarge
+                pub const m_pTimeoutScriptFunction: usize = 0xAE8; // CUtlSymbolLarge
+                pub const m_pPickupFilterName: usize = 0xAF0; // CUtlSymbolLarge
+                pub const m_hPickupFilter: usize = 0xAF8; // CHandle<CBaseFilter>
+                pub const m_OnPickup: usize = 0xB00; // CEntityIOOutput
+                pub const m_OnTimeout: usize = 0xB28; // CEntityIOOutput
+                pub const m_OnTriggerStartTouch: usize = 0xB50; // CEntityIOOutput
+                pub const m_OnTriggerTouch: usize = 0xB78; // CEntityIOOutput
+                pub const m_OnTriggerEndTouch: usize = 0xBA0; // CEntityIOOutput
+                pub const m_pAllowPickupScriptFunction: usize = 0xBC8; // CUtlSymbolLarge
+                pub const m_flPickupRadius: usize = 0xBD0; // float32
+                pub const m_flTriggerRadius: usize = 0xBD4; // float32
+                pub const m_pTriggerSoundEffect: usize = 0xBD8; // CUtlSymbolLarge
+                pub const m_bGlowWhenInTrigger: usize = 0xBE0; // bool
+                pub const m_glowColor: usize = 0xBE1; // Color
+                pub const m_bUseable: usize = 0xBE5; // bool
+                pub const m_hTriggerHelper: usize = 0xBE8; // CHandle<CItemGenericTriggerHelper>
+            }
+            // Parent: CLightEntity
+            // Field count: 0
+            pub mod CLightSpotEntity {
+            }
+            // Parent: CPlayer_WaterServices
+            // Field count: 6
+            pub mod CCSPlayer_WaterServices {
+                pub const m_NextDrownDamageTime: usize = 0x40; // float32
+                pub const m_nDrownDmgRate: usize = 0x44; // int32
+                pub const m_AirFinishedTime: usize = 0x48; // GameTime_t
+                pub const m_flWaterJumpTime: usize = 0x4C; // float32
+                pub const m_vecWaterJumpVel: usize = 0x50; // Vector
+                pub const m_flSwimSoundTime: usize = 0x5C; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            pub mod CSkyboxReference {
+                pub const m_worldGroupId: usize = 0x4E0; // WorldGroupId_t
+                pub const m_hSkyCamera: usize = 0x4E4; // CHandle<CSkyCamera>
+            }
+            // Parent: CBasePropDoor
+            // Field count: 17
+            pub mod CPropDoorRotating {
+                pub const m_vecAxis: usize = 0xEE8; // Vector
+                pub const m_flDistance: usize = 0xEF4; // float32
+                pub const m_eSpawnPosition: usize = 0xEF8; // PropDoorRotatingSpawnPos_t
+                pub const m_eOpenDirection: usize = 0xEFC; // PropDoorRotatingOpenDirection_e
+                pub const m_eCurrentOpenDirection: usize = 0xF00; // PropDoorRotatingOpenDirection_e
+                pub const m_flAjarAngle: usize = 0xF04; // float32
+                pub const m_angRotationAjarDeprecated: usize = 0xF08; // QAngle
+                pub const m_angRotationClosed: usize = 0xF14; // QAngle
+                pub const m_angRotationOpenForward: usize = 0xF20; // QAngle
+                pub const m_angRotationOpenBack: usize = 0xF2C; // QAngle
+                pub const m_angGoal: usize = 0xF38; // QAngle
+                pub const m_vecForwardBoundsMin: usize = 0xF44; // Vector
+                pub const m_vecForwardBoundsMax: usize = 0xF50; // Vector
+                pub const m_vecBackBoundsMin: usize = 0xF5C; // Vector
+                pub const m_vecBackBoundsMax: usize = 0xF68; // Vector
+                pub const m_bAjarDoorShouldntAlwaysOpen: usize = 0xF74; // bool
+                pub const m_hEntityBlocker: usize = 0xF78; // CHandle<CEntityBlocker>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 21
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_RopeFlags (uint16)
+            // NetworkVarNames: m_Slack (int16)
+            // NetworkVarNames: m_Width (float32)
+            // NetworkVarNames: m_TextureScale (float32)
+            // NetworkVarNames: m_nSegments (uint8)
+            // NetworkVarNames: m_bConstrainBetweenEndpoints (bool)
+            // NetworkVarNames: m_iRopeMaterialModelIndex (HMaterialStrong)
+            // NetworkVarNames: m_Subdiv (uint8)
+            // NetworkVarNames: m_nChangeCount (uint8)
+            // NetworkVarNames: m_RopeLength (int16)
+            // NetworkVarNames: m_fLockedPoints (uint8)
+            // NetworkVarNames: m_flScrollSpeed (float32)
+            // NetworkVarNames: m_hStartPoint (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hEndPoint (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_iStartAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_iEndAttachment (AttachmentHandle_t)
+            pub mod CRopeKeyframe {
+                pub const m_RopeFlags: usize = 0x798; // uint16
+                pub const m_iNextLinkName: usize = 0x7A0; // CUtlSymbolLarge
+                pub const m_Slack: usize = 0x7A8; // int16
+                pub const m_Width: usize = 0x7AC; // float32
+                pub const m_TextureScale: usize = 0x7B0; // float32
+                pub const m_nSegments: usize = 0x7B4; // uint8
+                pub const m_bConstrainBetweenEndpoints: usize = 0x7B5; // bool
+                pub const m_strRopeMaterialModel: usize = 0x7B8; // CUtlSymbolLarge
+                pub const m_iRopeMaterialModelIndex: usize = 0x7C0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_Subdiv: usize = 0x7C8; // uint8
+                pub const m_nChangeCount: usize = 0x7C9; // uint8
+                pub const m_RopeLength: usize = 0x7CA; // int16
+                pub const m_fLockedPoints: usize = 0x7CC; // uint8
+                pub const m_bCreatedFromMapFile: usize = 0x7CD; // bool
+                pub const m_flScrollSpeed: usize = 0x7D0; // float32
+                pub const m_bStartPointValid: usize = 0x7D4; // bool
+                pub const m_bEndPointValid: usize = 0x7D5; // bool
+                pub const m_hStartPoint: usize = 0x7D8; // CHandle<CBaseEntity>
+                pub const m_hEndPoint: usize = 0x7DC; // CHandle<CBaseEntity>
+                pub const m_iStartAttachment: usize = 0x7E0; // AttachmentHandle_t
+                pub const m_iEndAttachment: usize = 0x7E1; // AttachmentHandle_t
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 73
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_nColorMode (int)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_flColorTemperature (float)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_nLuminaireShape (int)
+            // NetworkVarNames: m_flLuminaireSize (float)
+            // NetworkVarNames: m_flLuminaireAnisotropy (float)
+            // NetworkVarNames: m_LightStyleString (CUtlString)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_QueuedLightStyleStrings (CUtlString)
+            // NetworkVarNames: m_LightStyleEvents (CUtlString)
+            // NetworkVarNames: m_LightStyleTargets (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_flShape (float)
+            // NetworkVarNames: m_flSoftX (float)
+            // NetworkVarNames: m_flSoftY (float)
+            // NetworkVarNames: m_flSkirt (float)
+            // NetworkVarNames: m_flSkirtNear (float)
+            // NetworkVarNames: m_vSizeParams (Vector)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_vShear (Vector)
+            // NetworkVarNames: m_nBakeSpecularToCubemaps (int)
+            // NetworkVarNames: m_vBakeSpecularToCubemapsSize (Vector)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowMapSize (int)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_bContactShadow (bool)
+            // NetworkVarNames: m_nBounceLight (int)
+            // NetworkVarNames: m_flBounceScale (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            // NetworkVarNames: m_vAlternateColor (Vector)
+            // NetworkVarNames: m_fAlternateColorBrightness (float)
+            // NetworkVarNames: m_nFog (int)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_nFogShadows (int)
+            // NetworkVarNames: m_flFogScale (float)
+            // NetworkVarNames: m_bFogMixedShadows (bool)
+            // NetworkVarNames: m_flFadeSizeStart (float)
+            // NetworkVarNames: m_flFadeSizeEnd (float)
+            // NetworkVarNames: m_flShadowFadeSizeStart (float)
+            // NetworkVarNames: m_flShadowFadeSizeEnd (float)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_nPrecomputedSubFrusta (int)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles0 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent0 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles1 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent1 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles2 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent2 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles3 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent3 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles4 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent4 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin5 (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles5 (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent5 (Vector)
+            // NetworkVarNames: m_VisClusters (uint16)
+            pub mod CBarnLight {
+                pub const m_bEnabled: usize = 0x790; // bool
+                pub const m_nColorMode: usize = 0x794; // int32
+                pub const m_Color: usize = 0x798; // Color
+                pub const m_flColorTemperature: usize = 0x79C; // float32
+                pub const m_flBrightness: usize = 0x7A0; // float32
+                pub const m_flBrightnessScale: usize = 0x7A4; // float32
+                pub const m_nDirectLight: usize = 0x7A8; // int32
+                pub const m_nBakedShadowIndex: usize = 0x7AC; // int32
+                pub const m_nLuminaireShape: usize = 0x7B0; // int32
+                pub const m_flLuminaireSize: usize = 0x7B4; // float32
+                pub const m_flLuminaireAnisotropy: usize = 0x7B8; // float32
+                pub const m_LightStyleString: usize = 0x7C0; // CUtlString
+                pub const m_flLightStyleStartTime: usize = 0x7C8; // GameTime_t
+                pub const m_QueuedLightStyleStrings: usize = 0x7D0; // CNetworkUtlVectorBase<CUtlString>
+                pub const m_LightStyleEvents: usize = 0x7E8; // CNetworkUtlVectorBase<CUtlString>
+                pub const m_LightStyleTargets: usize = 0x800; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                pub const m_StyleEvent: usize = 0x818; // CEntityIOOutput[4]
+                pub const m_hLightCookie: usize = 0x8D8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_flShape: usize = 0x8E0; // float32
+                pub const m_flSoftX: usize = 0x8E4; // float32
+                pub const m_flSoftY: usize = 0x8E8; // float32
+                pub const m_flSkirt: usize = 0x8EC; // float32
+                pub const m_flSkirtNear: usize = 0x8F0; // float32
+                pub const m_vSizeParams: usize = 0x8F4; // Vector
+                pub const m_flRange: usize = 0x900; // float32
+                pub const m_vShear: usize = 0x904; // Vector
+                pub const m_nBakeSpecularToCubemaps: usize = 0x910; // int32
+                pub const m_vBakeSpecularToCubemapsSize: usize = 0x914; // Vector
+                pub const m_nCastShadows: usize = 0x920; // int32
+                pub const m_nShadowMapSize: usize = 0x924; // int32
+                pub const m_nShadowPriority: usize = 0x928; // int32
+                pub const m_bContactShadow: usize = 0x92C; // bool
+                pub const m_nBounceLight: usize = 0x930; // int32
+                pub const m_flBounceScale: usize = 0x934; // float32
+                pub const m_flMinRoughness: usize = 0x938; // float32
+                pub const m_vAlternateColor: usize = 0x93C; // Vector
+                pub const m_fAlternateColorBrightness: usize = 0x948; // float32
+                pub const m_nFog: usize = 0x94C; // int32
+                pub const m_flFogStrength: usize = 0x950; // float32
+                pub const m_nFogShadows: usize = 0x954; // int32
+                pub const m_flFogScale: usize = 0x958; // float32
+                pub const m_bFogMixedShadows: usize = 0x95C; // bool
+                pub const m_flFadeSizeStart: usize = 0x960; // float32
+                pub const m_flFadeSizeEnd: usize = 0x964; // float32
+                pub const m_flShadowFadeSizeStart: usize = 0x968; // float32
+                pub const m_flShadowFadeSizeEnd: usize = 0x96C; // float32
+                pub const m_bPrecomputedFieldsValid: usize = 0x970; // bool
+                pub const m_vPrecomputedBoundsMins: usize = 0x974; // Vector
+                pub const m_vPrecomputedBoundsMaxs: usize = 0x980; // Vector
+                pub const m_vPrecomputedOBBOrigin: usize = 0x98C; // Vector
+                pub const m_vPrecomputedOBBAngles: usize = 0x998; // QAngle
+                pub const m_vPrecomputedOBBExtent: usize = 0x9A4; // Vector
+                pub const m_nPrecomputedSubFrusta: usize = 0x9B0; // int32
+                pub const m_vPrecomputedOBBOrigin0: usize = 0x9B4; // Vector
+                pub const m_vPrecomputedOBBAngles0: usize = 0x9C0; // QAngle
+                pub const m_vPrecomputedOBBExtent0: usize = 0x9CC; // Vector
+                pub const m_vPrecomputedOBBOrigin1: usize = 0x9D8; // Vector
+                pub const m_vPrecomputedOBBAngles1: usize = 0x9E4; // QAngle
+                pub const m_vPrecomputedOBBExtent1: usize = 0x9F0; // Vector
+                pub const m_vPrecomputedOBBOrigin2: usize = 0x9FC; // Vector
+                pub const m_vPrecomputedOBBAngles2: usize = 0xA08; // QAngle
+                pub const m_vPrecomputedOBBExtent2: usize = 0xA14; // Vector
+                pub const m_vPrecomputedOBBOrigin3: usize = 0xA20; // Vector
+                pub const m_vPrecomputedOBBAngles3: usize = 0xA2C; // QAngle
+                pub const m_vPrecomputedOBBExtent3: usize = 0xA38; // Vector
+                pub const m_vPrecomputedOBBOrigin4: usize = 0xA44; // Vector
+                pub const m_vPrecomputedOBBAngles4: usize = 0xA50; // QAngle
+                pub const m_vPrecomputedOBBExtent4: usize = 0xA5C; // Vector
+                pub const m_vPrecomputedOBBOrigin5: usize = 0xA68; // Vector
+                pub const m_vPrecomputedOBBAngles5: usize = 0xA74; // QAngle
+                pub const m_vPrecomputedOBBExtent5: usize = 0xA80; // Vector
+                pub const m_bPvsModifyEntity: usize = 0xA8C; // bool
+                pub const m_VisClusters: usize = 0xA90; // CNetworkUtlVectorBase<uint16>
+            }
+            // Parent: SpawnPoint
+            // Field count: 0
+            pub mod CInfoDeathmatchSpawn {
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CEnvViewPunch {
+                pub const m_flRadius: usize = 0x4E0; // float32
+                pub const m_angViewPunch: usize = 0x4E4; // QAngle
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CDEagle {
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            pub mod CPathCorner {
+                pub const m_flWait: usize = 0x4E0; // float32
+                pub const m_flRadius: usize = 0x4E4; // float32
+                pub const m_OnPass: usize = 0x4E8; // CEntityIOOutput
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_unMusicID (item_definition_index_t)
+            // NetworkVarNames: m_rank (MedalRank_t)
+            // NetworkVarNames: m_nPersonaDataPublicLevel (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsLeader (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsTeacher (int)
+            // NetworkVarNames: m_nPersonaDataPublicCommendsFriendly (int)
+            // NetworkVarNames: m_nPersonaDataXpTrailLevel (int)
+            // NetworkVarNames: m_vecServerAuthoritativeWeaponSlots (ServerAuthoritativeWeaponSlot_t)
+            pub mod CCSPlayerController_InventoryServices {
+                pub const m_unMusicID: usize = 0x40; // uint16
+                pub const m_rank: usize = 0x44; // MedalRank_t[6]
+                pub const m_nPersonaDataPublicLevel: usize = 0x5C; // int32
+                pub const m_nPersonaDataPublicCommendsLeader: usize = 0x60; // int32
+                pub const m_nPersonaDataPublicCommendsTeacher: usize = 0x64; // int32
+                pub const m_nPersonaDataPublicCommendsFriendly: usize = 0x68; // int32
+                pub const m_nPersonaDataXpTrailLevel: usize = 0x6C; // int32
+                pub const m_unEquippedPlayerSprayIDs: usize = 0xF48; // uint32[1]
+                pub const m_vecServerAuthoritativeWeaponSlots: usize = 0xF50; // CUtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
+            }
+            // Parent: CAttributeManager
+            // Field count: 1
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_Item (CEconItemView)
+            pub mod CAttributeContainer {
+                pub const m_Item: usize = 0x50; // CEconItemView
+            }
+            // Parent: CHostage
+            // Field count: 0
+            pub mod CHostageAlias_info_hostage_spawn {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            pub mod CMultiSource {
+                pub const m_rgEntities: usize = 0x4E0; // CHandle<CBaseEntity>[32]
+                pub const m_rgTriggered: usize = 0x560; // int32[32]
+                pub const m_OnTrigger: usize = 0x5E0; // CEntityIOOutput
+                pub const m_iTotal: usize = 0x608; // int32
+                pub const m_globalstate: usize = 0x610; // CUtlSymbolLarge
+            }
+            // Parent: CLogicalEntity
+            // Field count: 2
+            pub mod CLogicNavigation {
+                pub const m_isOn: usize = 0x4E8; // bool
+                pub const m_navProperty: usize = 0x4EC; // navproperties_t
+            }
+            // Parent: CPointEntity
+            // Field count: 12
+            pub mod CEnvEntityMaker {
+                pub const m_vecEntityMins: usize = 0x4E0; // Vector
+                pub const m_vecEntityMaxs: usize = 0x4EC; // Vector
+                pub const m_hCurrentInstance: usize = 0x4F8; // CHandle<CBaseEntity>
+                pub const m_hCurrentBlocker: usize = 0x4FC; // CHandle<CBaseEntity>
+                pub const m_vecBlockerOrigin: usize = 0x500; // Vector
+                pub const m_angPostSpawnDirection: usize = 0x50C; // QAngle
+                pub const m_flPostSpawnDirectionVariance: usize = 0x518; // float32
+                pub const m_flPostSpawnSpeed: usize = 0x51C; // float32
+                pub const m_bPostSpawnUseAngles: usize = 0x520; // bool
+                pub const m_iszTemplate: usize = 0x528; // CUtlSymbolLarge
+                pub const m_pOutputOnSpawned: usize = 0x530; // CEntityIOOutput
+                pub const m_pOutputOnFailedSpawn: usize = 0x558; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CPointEntity {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            pub mod CLogicEventListener {
+                pub const m_strEventName: usize = 0x4F0; // CUtlString
+                pub const m_bIsEnabled: usize = 0x4F8; // bool
+                pub const m_nTeam: usize = 0x4FC; // int32
+                pub const m_OnEventFired: usize = 0x500; // CEntityIOOutput
+            }
+            // Parent: CBaseFilter
+            // Field count: 4
+            pub mod CFilterMultiple {
+                pub const m_nFilterType: usize = 0x538; // filter_t
+                pub const m_iFilterName: usize = 0x540; // CUtlSymbolLarge[10]
+                pub const m_hFilter: usize = 0x590; // CHandle<CBaseEntity>[10]
+                pub const m_nFilterCount: usize = 0x5B8; // int32
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_UseServices {
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            // MPulseDomainOptInGameBlackboard
+            // MPulseDomainOptInValueType
+            pub mod CPulseGraphInstance_ServerEntity {
+                pub const m_pComponent: usize = 0x100; // CPulseGraphComponentBase*
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            pub mod CScriptComponent {
+                pub const m_scriptClassName: usize = 0x30; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            pub mod CPhysicsWire {
+                pub const m_nDensity: usize = 0x4E0; // int32
+            }
+            // Parent: CPropDoorRotating
+            // Field count: 4
+            pub mod CPropDoorRotatingBreakable {
+                pub const m_bBreakable: usize = 0xF80; // bool
+                pub const m_isAbleToCloseAreaPortals: usize = 0xF81; // bool
+                pub const m_currentDamageState: usize = 0xF84; // int32
+                pub const m_damageStates: usize = 0xF88; // CUtlVector<CUtlSymbolLarge>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_player_controller {
+            }
+            // Parent: CBaseFire
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nFlameModelIndex (int32)
+            // NetworkVarNames: m_nFlameFromAboveModelIndex (int32)
+            pub mod CFireSmoke {
+                pub const m_nFlameModelIndex: usize = 0x4F0; // int32
+                pub const m_nFlameFromAboveModelIndex: usize = 0x4F4; // int32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nHorizontalSize (uint32)
+            // NetworkVarNames: m_nVerticalSize (uint32)
+            // NetworkVarNames: m_nMinDist (uint32)
+            // NetworkVarNames: m_nMaxDist (uint32)
+            // NetworkVarNames: m_nOuterMaxDist (uint32)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            pub mod CLightGlow {
+                pub const m_nHorizontalSize: usize = 0x790; // uint32
+                pub const m_nVerticalSize: usize = 0x794; // uint32
+                pub const m_nMinDist: usize = 0x798; // uint32
+                pub const m_nMaxDist: usize = 0x79C; // uint32
+                pub const m_nOuterMaxDist: usize = 0x7A0; // uint32
+                pub const m_flGlowProxySize: usize = 0x7A4; // float32
+                pub const m_flHDRColorScale: usize = 0x7A8; // float32
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_iKills (int)
+            // NetworkVarNames: m_iDeaths (int)
+            // NetworkVarNames: m_iAssists (int)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iEquipmentValue (int)
+            // NetworkVarNames: m_iMoneySaved (int)
+            // NetworkVarNames: m_iKillReward (int)
+            // NetworkVarNames: m_iLiveTime (int)
+            // NetworkVarNames: m_iHeadShotKills (int)
+            // NetworkVarNames: m_iObjective (int)
+            // NetworkVarNames: m_iCashEarned (int)
+            // NetworkVarNames: m_iUtilityDamage (int)
+            // NetworkVarNames: m_iEnemiesFlashed (int)
+            pub mod CSPerRoundStats_t {
+                pub const m_iKills: usize = 0x30; // int32
+                pub const m_iDeaths: usize = 0x34; // int32
+                pub const m_iAssists: usize = 0x38; // int32
+                pub const m_iDamage: usize = 0x3C; // int32
+                pub const m_iEquipmentValue: usize = 0x40; // int32
+                pub const m_iMoneySaved: usize = 0x44; // int32
+                pub const m_iKillReward: usize = 0x48; // int32
+                pub const m_iLiveTime: usize = 0x4C; // int32
+                pub const m_iHeadShotKills: usize = 0x50; // int32
+                pub const m_iObjective: usize = 0x54; // int32
+                pub const m_iCashEarned: usize = 0x58; // int32
+                pub const m_iUtilityDamage: usize = 0x5C; // int32
+                pub const m_iEnemiesFlashed: usize = 0x60; // int32
+            }
+            // Parent: CDynamicProp
+            // Field count: 37
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_eDoorState (DoorState_t)
+            // NetworkVarNames: m_bLocked (bool)
+            // NetworkVarNames: m_closedPosition (Vector)
+            // NetworkVarNames: m_closedAngles (QAngle)
+            // NetworkVarNames: m_hMaster (CHandle<CBasePropDoor>)
+            pub mod CBasePropDoor {
+                pub const m_flAutoReturnDelay: usize = 0xC68; // float32
+                pub const m_hDoorList: usize = 0xC70; // CUtlVector<CHandle<CBasePropDoor>>
+                pub const m_nHardwareType: usize = 0xC88; // int32
+                pub const m_bNeedsHardware: usize = 0xC8C; // bool
+                pub const m_eDoorState: usize = 0xC90; // DoorState_t
+                pub const m_bLocked: usize = 0xC94; // bool
+                pub const m_closedPosition: usize = 0xC98; // Vector
+                pub const m_closedAngles: usize = 0xCA4; // QAngle
+                pub const m_hBlocker: usize = 0xCB0; // CHandle<CBaseEntity>
+                pub const m_bFirstBlocked: usize = 0xCB4; // bool
+                pub const m_ls: usize = 0xCB8; // locksound_t
+                pub const m_bForceClosed: usize = 0xCD8; // bool
+                pub const m_vecLatchWorldPosition: usize = 0xCDC; // Vector
+                pub const m_hActivator: usize = 0xCE8; // CHandle<CBaseEntity>
+                pub const m_SoundMoving: usize = 0xCF8; // CUtlSymbolLarge
+                pub const m_SoundOpen: usize = 0xD00; // CUtlSymbolLarge
+                pub const m_SoundClose: usize = 0xD08; // CUtlSymbolLarge
+                pub const m_SoundLock: usize = 0xD10; // CUtlSymbolLarge
+                pub const m_SoundUnlock: usize = 0xD18; // CUtlSymbolLarge
+                pub const m_SoundLatch: usize = 0xD20; // CUtlSymbolLarge
+                pub const m_SoundPound: usize = 0xD28; // CUtlSymbolLarge
+                pub const m_SoundJiggle: usize = 0xD30; // CUtlSymbolLarge
+                pub const m_SoundLockedAnim: usize = 0xD38; // CUtlSymbolLarge
+                pub const m_numCloseAttempts: usize = 0xD40; // int32
+                pub const m_nPhysicsMaterial: usize = 0xD44; // CUtlStringToken
+                pub const m_SlaveName: usize = 0xD48; // CUtlSymbolLarge
+                pub const m_hMaster: usize = 0xD50; // CHandle<CBasePropDoor>
+                pub const m_OnBlockedClosing: usize = 0xD58; // CEntityIOOutput
+                pub const m_OnBlockedOpening: usize = 0xD80; // CEntityIOOutput
+                pub const m_OnUnblockedClosing: usize = 0xDA8; // CEntityIOOutput
+                pub const m_OnUnblockedOpening: usize = 0xDD0; // CEntityIOOutput
+                pub const m_OnFullyClosed: usize = 0xDF8; // CEntityIOOutput
+                pub const m_OnFullyOpen: usize = 0xE20; // CEntityIOOutput
+                pub const m_OnClose: usize = 0xE48; // CEntityIOOutput
+                pub const m_OnOpen: usize = 0xE70; // CEntityIOOutput
+                pub const m_OnLockedUse: usize = 0xE98; // CEntityIOOutput
+                pub const m_OnAjarOpen: usize = 0xEC0; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_iCurrentMaxRagdollCount (int8)
+            pub mod CRagdollManager {
+                pub const m_iCurrentMaxRagdollCount: usize = 0x4E0; // int8
+                pub const m_iMaxRagdollCount: usize = 0x4E4; // int32
+                pub const m_bSaveImportant: usize = 0x4E8; // bool
+                pub const m_bCanTakeDamage: usize = 0x4E9; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 12
+            pub mod CTriggerFan {
+                pub const m_vFanOrigin: usize = 0x960; // Vector
+                pub const m_vFanEnd: usize = 0x96C; // Vector
+                pub const m_vNoise: usize = 0x978; // Vector
+                pub const m_flForce: usize = 0x984; // float32
+                pub const m_flRopeForceScale: usize = 0x988; // float32
+                pub const m_flPlayerForce: usize = 0x98C; // float32
+                pub const m_flRampTime: usize = 0x990; // float32
+                pub const m_bFalloff: usize = 0x994; // bool
+                pub const m_bPushPlayer: usize = 0x995; // bool
+                pub const m_bRampDown: usize = 0x996; // bool
+                pub const m_bAddNoise: usize = 0x997; // bool
+                pub const m_RampTimer: usize = 0x998; // CountdownTimer
+            }
+            // Parent: CMolotovGrenade
+            // Field count: 0
+            pub mod CIncendiaryGrenade {
+            }
+            // Parent: CPathCorner
+            // Field count: 0
+            pub mod CPathCornerCrash {
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bSendHandle (bool)
+            pub mod CHandleTest {
+                pub const m_Handle: usize = 0x4E0; // CHandle<CBaseEntity>
+                pub const m_bSendHandle: usize = 0x4E4; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            pub mod CSoundOpvarSetEntity {
+                pub const m_iszStackName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszOperatorName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_iszOpvarName: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_nOpvarType: usize = 0x500; // int32
+                pub const m_nOpvarIndex: usize = 0x504; // int32
+                pub const m_flOpvarValue: usize = 0x508; // float32
+                pub const m_OpvarValueString: usize = 0x510; // CUtlSymbolLarge
+                pub const m_bSetOnSpawn: usize = 0x518; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nItemDefIndex (uint16)
+            // NetworkVarNames: m_nCount (uint16)
+            pub mod WeaponPurchaseCount_t {
+                pub const m_nItemDefIndex: usize = 0x30; // uint16
+                pub const m_nCount: usize = 0x32; // uint16
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            pub mod CNavSpaceInfo {
+                pub const m_bCreateFlightSpace: usize = 0x4E0; // bool
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            pub mod CLogicAchievement {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_iszAchievementEventID: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_OnFired: usize = 0x4F0; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_pathString (CUtlString)
+            pub mod CPathSimple {
+                pub const m_pathString: usize = 0x538; // CUtlString
+            }
+            // Parent: CBtNode
+            // Field count: 1
+            pub mod CBtActionParachutePositioning {
+                pub const m_ActionTimer: usize = 0x58; // CountdownTimer
+            }
+            // Parent: CPlayer_CameraServices
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_iFOV (uint32)
+            // NetworkVarNames: m_iFOVStart (uint32)
+            // NetworkVarNames: m_flFOVTime (GameTime_t)
+            // NetworkVarNames: m_flFOVRate (float32)
+            // NetworkVarNames: m_hZoomOwner (CHandle<CBaseEntity>)
+            pub mod CCSPlayerBase_CameraServices {
+                pub const m_iFOV: usize = 0x170; // uint32
+                pub const m_iFOVStart: usize = 0x174; // uint32
+                pub const m_flFOVTime: usize = 0x178; // GameTime_t
+                pub const m_flFOVRate: usize = 0x17C; // float32
+                pub const m_hZoomOwner: usize = 0x180; // CHandle<CBaseEntity>
+                pub const m_hTriggerFogList: usize = 0x188; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_hLastFogTrigger: usize = 0x1A0; // CHandle<CBaseEntity>
+            }
+            // Parent: CEntityComponent
+            // Field count: 0
+            pub mod CTouchExpansionComponent {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 8
+            pub mod CItem {
+                pub const m_OnPlayerTouch: usize = 0x9B0; // CEntityIOOutput
+                pub const m_OnPlayerPickup: usize = 0x9D8; // CEntityIOOutput
+                pub const m_bActivateWhenAtRest: usize = 0xA00; // bool
+                pub const m_OnCacheInteraction: usize = 0xA08; // CEntityIOOutput
+                pub const m_OnGlovePulled: usize = 0xA30; // CEntityIOOutput
+                pub const m_vOriginalSpawnOrigin: usize = 0xA58; // Vector
+                pub const m_vOriginalSpawnAngles: usize = 0xA64; // QAngle
+                pub const m_bPhysStartAsleep: usize = 0xA70; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_DialogXMLName (string_t)
+            // NetworkVarNames: m_PanelClassName (string_t)
+            // NetworkVarNames: m_PanelID (string_t)
+            pub mod CBaseClientUIEntity {
+                pub const m_bEnabled: usize = 0x790; // bool
+                pub const m_DialogXMLName: usize = 0x798; // CUtlSymbolLarge
+                pub const m_PanelClassName: usize = 0x7A0; // CUtlSymbolLarge
+                pub const m_PanelID: usize = 0x7A8; // CUtlSymbolLarge
+                pub const m_CustomOutput0: usize = 0x7B0; // CEntityIOOutput
+                pub const m_CustomOutput1: usize = 0x7D8; // CEntityIOOutput
+                pub const m_CustomOutput2: usize = 0x800; // CEntityIOOutput
+                pub const m_CustomOutput3: usize = 0x828; // CEntityIOOutput
+                pub const m_CustomOutput4: usize = 0x850; // CEntityIOOutput
+                pub const m_CustomOutput5: usize = 0x878; // CEntityIOOutput
+                pub const m_CustomOutput6: usize = 0x8A0; // CEntityIOOutput
+                pub const m_CustomOutput7: usize = 0x8C8; // CEntityIOOutput
+                pub const m_CustomOutput8: usize = 0x8F0; // CEntityIOOutput
+                pub const m_CustomOutput9: usize = 0x918; // CEntityIOOutput
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_hDecalMaterial (HMaterialStrong)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDepth (float)
+            // NetworkVarNames: m_nRenderOrder (uint32)
+            // NetworkVarNames: m_bProjectOnWorld (bool)
+            // NetworkVarNames: m_bProjectOnCharacters (bool)
+            // NetworkVarNames: m_bProjectOnWater (bool)
+            // NetworkVarNames: m_flDepthSortBias (float)
+            pub mod CEnvDecal {
+                pub const m_hDecalMaterial: usize = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_flWidth: usize = 0x798; // float32
+                pub const m_flHeight: usize = 0x79C; // float32
+                pub const m_flDepth: usize = 0x7A0; // float32
+                pub const m_nRenderOrder: usize = 0x7A4; // uint32
+                pub const m_bProjectOnWorld: usize = 0x7A8; // bool
+                pub const m_bProjectOnCharacters: usize = 0x7A9; // bool
+                pub const m_bProjectOnWater: usize = 0x7AA; // bool
+                pub const m_flDepthSortBias: usize = 0x7AC; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_entity {
+            }
+            // Parent: CBodyComponentSkeletonInstance
+            // Field count: 0
+            pub mod CBodyComponentBaseModelEntity {
+            }
+            // Parent: CBaseEntity
+            // Field count: 11
+            pub mod CLogicAuto {
+                pub const m_OnMapSpawn: usize = 0x4E0; // CEntityIOOutput
+                pub const m_OnDemoMapSpawn: usize = 0x508; // CEntityIOOutput
+                pub const m_OnNewGame: usize = 0x530; // CEntityIOOutput
+                pub const m_OnLoadGame: usize = 0x558; // CEntityIOOutput
+                pub const m_OnMapTransition: usize = 0x580; // CEntityIOOutput
+                pub const m_OnBackgroundMap: usize = 0x5A8; // CEntityIOOutput
+                pub const m_OnMultiNewMap: usize = 0x5D0; // CEntityIOOutput
+                pub const m_OnMultiNewRound: usize = 0x5F8; // CEntityIOOutput
+                pub const m_OnVREnabled: usize = 0x620; // CEntityIOOutput
+                pub const m_OnVRNotEnabled: usize = 0x648; // CEntityIOOutput
+                pub const m_globalstate: usize = 0x670; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_iOpvarIndex (int)
+            // NetworkVarNames: m_bUseAutoCompare (bool)
+            pub mod CSoundOpvarSetPointBase {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_hSource: usize = 0x4E4; // CEntityHandle
+                pub const m_iszSourceEntityName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_vLastPosition: usize = 0x548; // Vector
+                pub const m_iszStackName: usize = 0x558; // CUtlSymbolLarge
+                pub const m_iszOperatorName: usize = 0x560; // CUtlSymbolLarge
+                pub const m_iszOpvarName: usize = 0x568; // CUtlSymbolLarge
+                pub const m_iOpvarIndex: usize = 0x570; // int32
+                pub const m_bUseAutoCompare: usize = 0x574; // bool
+            }
+            // Parent: CLightEntity
+            // Field count: 0
+            pub mod CLightDirectionalEntity {
+            }
+            // Parent: CLogicNPCCounterAABB
+            // Field count: 0
+            pub mod CLogicNPCCounterOBB {
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 0
+            pub mod CCSObserver_UseServices {
+            }
+            // Parent: CFuncPlatRot
+            // Field count: 9
+            pub mod CFuncTrackChange {
+                pub const m_trackTop: usize = 0x858; // CPathTrack*
+                pub const m_trackBottom: usize = 0x860; // CPathTrack*
+                pub const m_train: usize = 0x868; // CFuncTrackTrain*
+                pub const m_trackTopName: usize = 0x870; // CUtlSymbolLarge
+                pub const m_trackBottomName: usize = 0x878; // CUtlSymbolLarge
+                pub const m_trainName: usize = 0x880; // CUtlSymbolLarge
+                pub const m_code: usize = 0x888; // TRAIN_CODE
+                pub const m_targetState: usize = 0x88C; // int32
+                pub const m_use: usize = 0x890; // int32
+            }
+            // Parent: CRuleBrushEntity
+            // Field count: 4
+            pub mod CGamePlayerZone {
+                pub const m_OnPlayerInZone: usize = 0x798; // CEntityIOOutput
+                pub const m_OnPlayerOutZone: usize = 0x7C0; // CEntityIOOutput
+                pub const m_PlayersInCount: usize = 0x7E8; // CEntityOutputTemplate<int32>
+                pub const m_PlayersOutCount: usize = 0x810; // CEntityOutputTemplate<int32>
+            }
+            // Parent: CRuleEntity
+            // Field count: 1
+            pub mod CRulePointEntity {
+                pub const m_Score: usize = 0x798; // int32
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            pub mod CMessageEntity {
+                pub const m_radius: usize = 0x4E0; // int32
+                pub const m_messageText: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_drawText: usize = 0x4F0; // bool
+                pub const m_bDeveloperOnly: usize = 0x4F1; // bool
+                pub const m_bEnabled: usize = 0x4F2; // bool
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            pub mod CSmokeGrenade {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 11
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkOverride
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_nAnimationParity (uint32)
+            // NetworkVarNames: m_flAnimationStartTime (float32)
+            // NetworkVarNames: m_hWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            pub mod CBaseViewModel {
+                pub const m_vecLastFacing: usize = 0x9B0; // Vector
+                pub const m_nViewModelIndex: usize = 0x9BC; // uint32
+                pub const m_nAnimationParity: usize = 0x9C0; // uint32
+                pub const m_flAnimationStartTime: usize = 0x9C4; // float32
+                pub const m_hWeapon: usize = 0x9C8; // CHandle<CBasePlayerWeapon>
+                pub const m_sVMName: usize = 0x9D0; // CUtlSymbolLarge
+                pub const m_sAnimationPrefix: usize = 0x9D8; // CUtlSymbolLarge
+                pub const m_hOldLayerSequence: usize = 0x9E0; // HSequence
+                pub const m_oldLayer: usize = 0x9E4; // int32
+                pub const m_oldLayerStartTime: usize = 0x9E8; // float32
+                pub const m_hControlPanel: usize = 0x9EC; // CHandle<CBaseEntity>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPlayerPing (CHandle<CBaseEntity>)
+            pub mod CCSPlayer_PingServices {
+                pub const m_flPlayerPingTokens: usize = 0x40; // GameTime_t[5]
+                pub const m_hPlayerPing: usize = 0x54; // CHandle<CBaseEntity>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_FlashlightServices {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CServerOnlyModelEntity {
+            }
+            // Parent: CBtNode
+            // Field count: 4
+            pub mod CBtActionCombatPositioning {
+                pub const m_szSensorInputKey: usize = 0x68; // CUtlString
+                pub const m_szIsAttackingKey: usize = 0x80; // CUtlString
+                pub const m_ActionTimer: usize = 0x88; // CountdownTimer
+                pub const m_bCrouching: usize = 0xA0; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_flScale (float32)
+            // NetworkVarNames: m_flStartScale (float32)
+            // NetworkVarNames: m_flScaleTime (float32)
+            // NetworkVarNames: m_nFlags (uint32)
+            pub mod CBaseFire {
+                pub const m_flScale: usize = 0x4E0; // float32
+                pub const m_flStartScale: usize = 0x4E4; // float32
+                pub const m_flScaleTime: usize = 0x4E8; // float32
+                pub const m_nFlags: usize = 0x4EC; // uint32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponMAC10 {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponGlock {
+            }
+            // Parent: CBaseViewModel
+            // Field count: 0
+            pub mod CPredictedViewModel {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            pub mod CTriggerActiveWeaponDetect {
+                pub const m_OnTouchedActiveWeapon: usize = 0x960; // CEntityIOOutput
+                pub const m_iszWeaponClassName: usize = 0x988; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 18
+            pub mod CEnvMicrophone {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_hMeasureTarget: usize = 0x4E4; // CHandle<CBaseEntity>
+                pub const m_nSoundType: usize = 0x4E8; // SoundTypes_t
+                pub const m_nSoundFlags: usize = 0x4EA; // SoundFlags_t
+                pub const m_flSensitivity: usize = 0x4EC; // float32
+                pub const m_flSmoothFactor: usize = 0x4F0; // float32
+                pub const m_flMaxRange: usize = 0x4F4; // float32
+                pub const m_iszSpeakerName: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_hSpeaker: usize = 0x500; // CHandle<CBaseEntity>
+                pub const m_bAvoidFeedback: usize = 0x504; // bool
+                pub const m_iSpeakerDSPPreset: usize = 0x508; // int32
+                pub const m_iszListenFilter: usize = 0x510; // CUtlSymbolLarge
+                pub const m_hListenFilter: usize = 0x518; // CHandle<CBaseFilter>
+                pub const m_SoundLevel: usize = 0x520; // CEntityOutputTemplate<float32>
+                pub const m_OnRoutedSound: usize = 0x548; // CEntityIOOutput
+                pub const m_OnHeardSound: usize = 0x570; // CEntityIOOutput
+                pub const m_szLastSound: usize = 0x598; // char[256]
+                pub const m_iLastRoutedFrame: usize = 0x698; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 11
+            pub mod CInfoSpawnGroupLoadUnload {
+                pub const m_OnSpawnGroupLoadStarted: usize = 0x4E0; // CEntityIOOutput
+                pub const m_OnSpawnGroupLoadFinished: usize = 0x508; // CEntityIOOutput
+                pub const m_OnSpawnGroupUnloadStarted: usize = 0x530; // CEntityIOOutput
+                pub const m_OnSpawnGroupUnloadFinished: usize = 0x558; // CEntityIOOutput
+                pub const m_iszSpawnGroupName: usize = 0x580; // CUtlSymbolLarge
+                pub const m_iszSpawnGroupFilterName: usize = 0x588; // CUtlSymbolLarge
+                pub const m_iszLandmarkName: usize = 0x590; // CUtlSymbolLarge
+                pub const m_sFixedSpawnGroupName: usize = 0x598; // CUtlString
+                pub const m_flTimeoutInterval: usize = 0x5A0; // float32
+                pub const m_bStreamingStarted: usize = 0x5A4; // bool
+                pub const m_bUnloadingStarted: usize = 0x5A5; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 23
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_nTickBase (uint32)
+            // NetworkVarNames: m_hPawn (CHandle<CBasePlayerPawn>)
+            // NetworkVarNames: m_bKnownTeamMismatch (bool)
+            // NetworkVarNames: m_iConnected (PlayerConnectedState)
+            // NetworkVarNames: m_iszPlayerName (char)
+            // NetworkVarNames: m_steamID (uint64)
+            // NetworkVarNames: m_iDesiredFOV (uint32)
+            pub mod CBasePlayerController {
+                pub const m_nInButtonsWhichAreToggles: usize = 0x4E8; // uint64
+                pub const m_nTickBase: usize = 0x4F0; // uint32
+                pub const m_hPawn: usize = 0x520; // CHandle<CBasePlayerPawn>
+                pub const m_bKnownTeamMismatch: usize = 0x524; // bool
+                pub const m_nSplitScreenSlot: usize = 0x528; // CSplitScreenSlot
+                pub const m_hSplitOwner: usize = 0x52C; // CHandle<CBasePlayerController>
+                pub const m_hSplitScreenPlayers: usize = 0x530; // CUtlVector<CHandle<CBasePlayerController>>
+                pub const m_bIsHLTV: usize = 0x548; // bool
+                pub const m_iConnected: usize = 0x54C; // PlayerConnectedState
+                pub const m_iszPlayerName: usize = 0x550; // char[128]
+                pub const m_szNetworkIDString: usize = 0x5D0; // CUtlString
+                pub const m_fLerpTime: usize = 0x5D8; // float32
+                pub const m_bLagCompensation: usize = 0x5DC; // bool
+                pub const m_bPredict: usize = 0x5DD; // bool
+                pub const m_bIsLowViolence: usize = 0x5E4; // bool
+                pub const m_bGamePaused: usize = 0x5E5; // bool
+                pub const m_iIgnoreGlobalChat: usize = 0x720; // ChatIgnoreType_t
+                pub const m_flLastPlayerTalkTime: usize = 0x724; // float32
+                pub const m_flLastEntitySteadyState: usize = 0x728; // float32
+                pub const m_nAvailableEntitySteadyState: usize = 0x72C; // int32
+                pub const m_bHasAnySteadyStateEnts: usize = 0x730; // bool
+                pub const m_steamID: usize = 0x740; // uint64
+                pub const m_iDesiredFOV: usize = 0x748; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CPointTemplateAPI {
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFirstAttack (bool)
+            pub mod CKnife {
+                pub const m_bFirstAttack: usize = 0xF68; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 37
+            pub mod CFuncTrackTrain {
+                pub const m_ppath: usize = 0x790; // CHandle<CPathTrack>
+                pub const m_length: usize = 0x794; // float32
+                pub const m_vPosPrev: usize = 0x798; // Vector
+                pub const m_angPrev: usize = 0x7A4; // QAngle
+                pub const m_controlMins: usize = 0x7B0; // Vector
+                pub const m_controlMaxs: usize = 0x7BC; // Vector
+                pub const m_lastBlockPos: usize = 0x7C8; // Vector
+                pub const m_lastBlockTick: usize = 0x7D4; // int32
+                pub const m_flVolume: usize = 0x7D8; // float32
+                pub const m_flBank: usize = 0x7DC; // float32
+                pub const m_oldSpeed: usize = 0x7E0; // float32
+                pub const m_flBlockDamage: usize = 0x7E4; // float32
+                pub const m_height: usize = 0x7E8; // float32
+                pub const m_maxSpeed: usize = 0x7EC; // float32
+                pub const m_dir: usize = 0x7F0; // float32
+                pub const m_iszSoundMove: usize = 0x7F8; // CUtlSymbolLarge
+                pub const m_iszSoundMovePing: usize = 0x800; // CUtlSymbolLarge
+                pub const m_iszSoundStart: usize = 0x808; // CUtlSymbolLarge
+                pub const m_iszSoundStop: usize = 0x810; // CUtlSymbolLarge
+                pub const m_strPathTarget: usize = 0x818; // CUtlSymbolLarge
+                pub const m_flMoveSoundMinDuration: usize = 0x820; // float32
+                pub const m_flMoveSoundMaxDuration: usize = 0x824; // float32
+                pub const m_flNextMoveSoundTime: usize = 0x828; // GameTime_t
+                pub const m_flMoveSoundMinPitch: usize = 0x82C; // float32
+                pub const m_flMoveSoundMaxPitch: usize = 0x830; // float32
+                pub const m_eOrientationType: usize = 0x834; // TrainOrientationType_t
+                pub const m_eVelocityType: usize = 0x838; // TrainVelocityType_t
+                pub const m_OnStart: usize = 0x848; // CEntityIOOutput
+                pub const m_OnNext: usize = 0x870; // CEntityIOOutput
+                pub const m_OnArrivedAtDestinationNode: usize = 0x898; // CEntityIOOutput
+                pub const m_bManualSpeedChanges: usize = 0x8C0; // bool
+                pub const m_flDesiredSpeed: usize = 0x8C4; // float32
+                pub const m_flSpeedChangeTime: usize = 0x8C8; // GameTime_t
+                pub const m_flAccelSpeed: usize = 0x8CC; // float32
+                pub const m_flDecelSpeed: usize = 0x8D0; // float32
+                pub const m_bAccelToSpeed: usize = 0x8D4; // bool
+                pub const m_flNextMPSoundTime: usize = 0x8D8; // GameTime_t
+            }
+            // Parent: CServerOnlyModelEntity
+            // Field count: 5
+            pub mod CFogVolume {
+                pub const m_fogName: usize = 0x790; // CUtlSymbolLarge
+                pub const m_postProcessName: usize = 0x798; // CUtlSymbolLarge
+                pub const m_colorCorrectionName: usize = 0x7A0; // CUtlSymbolLarge
+                pub const m_bDisabled: usize = 0x7B0; // bool
+                pub const m_bInFogVolumesList: usize = 0x7B1; // bool
+            }
+            // Parent: SpawnPoint
+            // Field count: 0
+            pub mod CInfoPlayerCounterterrorist {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 19
+            pub mod CFire {
+                pub const m_hEffect: usize = 0x790; // CHandle<CBaseFire>
+                pub const m_hOwner: usize = 0x794; // CHandle<CBaseEntity>
+                pub const m_nFireType: usize = 0x798; // int32
+                pub const m_flFuel: usize = 0x79C; // float32
+                pub const m_flDamageTime: usize = 0x7A0; // GameTime_t
+                pub const m_lastDamage: usize = 0x7A4; // GameTime_t
+                pub const m_flFireSize: usize = 0x7A8; // float32
+                pub const m_flLastNavUpdateTime: usize = 0x7AC; // GameTime_t
+                pub const m_flHeatLevel: usize = 0x7B0; // float32
+                pub const m_flHeatAbsorb: usize = 0x7B4; // float32
+                pub const m_flDamageScale: usize = 0x7B8; // float32
+                pub const m_flMaxHeat: usize = 0x7BC; // float32
+                pub const m_flLastHeatLevel: usize = 0x7C0; // float32
+                pub const m_flAttackTime: usize = 0x7C4; // float32
+                pub const m_bEnabled: usize = 0x7C8; // bool
+                pub const m_bStartDisabled: usize = 0x7C9; // bool
+                pub const m_bDidActivate: usize = 0x7CA; // bool
+                pub const m_OnIgnited: usize = 0x7D0; // CEntityIOOutput
+                pub const m_OnExtinguished: usize = 0x7F8; // CEntityIOOutput
+            }
+            // Parent: CSkeletonAnimationController
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_animGraphNetworkedVars (CAnimGraphNetworkedVariables)
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flSeqStartTime (GameTime_t)
+            // NetworkVarNames: m_flSeqFixedCycle (float)
+            // NetworkVarNames: m_nAnimLoopMode (AnimLoopMode_t)
+            pub mod CBaseAnimGraphController {
+                pub const m_animGraphNetworkedVars: usize = 0x18; // CAnimGraphNetworkedVariables
+                pub const m_bSequenceFinished: usize = 0x220; // bool
+                pub const m_flSoundSyncTime: usize = 0x224; // float32
+                pub const m_nActiveIKChainMask: usize = 0x228; // uint32
+                pub const m_hSequence: usize = 0x22C; // HSequence
+                pub const m_flSeqStartTime: usize = 0x230; // GameTime_t
+                pub const m_flSeqFixedCycle: usize = 0x234; // float32
+                pub const m_nAnimLoopMode: usize = 0x238; // AnimLoopMode_t
+                pub const m_flPlaybackRate: usize = 0x23C; // CNetworkedQuantizedFloat
+                pub const m_nNotifyState: usize = 0x248; // SequenceFinishNotifyState_t
+                pub const m_bNetworkedAnimationInputsChanged: usize = 0x24A; // bool
+                pub const m_bNetworkedSequenceChanged: usize = 0x24B; // bool
+                pub const m_bLastUpdateSkipped: usize = 0x24C; // bool
+                pub const m_flPrevAnimUpdateTime: usize = 0x250; // GameTime_t
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CCSPointScriptEntity {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponBizon {
+            }
+            // Parent: CBasePlatTrain
+            // Field count: 1
+            pub mod CFuncPlat {
+                pub const m_sNoise: usize = 0x838; // CUtlSymbolLarge
+            }
+            // Parent: CPhysConstraint
+            // Field count: 48
+            pub mod CGenericConstraint {
+                pub const m_nLinearMotionX: usize = 0x560; // JointMotion_t
+                pub const m_nLinearMotionY: usize = 0x564; // JointMotion_t
+                pub const m_nLinearMotionZ: usize = 0x568; // JointMotion_t
+                pub const m_flLinearFrequencyX: usize = 0x56C; // float32
+                pub const m_flLinearFrequencyY: usize = 0x570; // float32
+                pub const m_flLinearFrequencyZ: usize = 0x574; // float32
+                pub const m_flLinearDampingRatioX: usize = 0x578; // float32
+                pub const m_flLinearDampingRatioY: usize = 0x57C; // float32
+                pub const m_flLinearDampingRatioZ: usize = 0x580; // float32
+                pub const m_flMaxLinearImpulseX: usize = 0x584; // float32
+                pub const m_flMaxLinearImpulseY: usize = 0x588; // float32
+                pub const m_flMaxLinearImpulseZ: usize = 0x58C; // float32
+                pub const m_flBreakAfterTimeX: usize = 0x590; // float32
+                pub const m_flBreakAfterTimeY: usize = 0x594; // float32
+                pub const m_flBreakAfterTimeZ: usize = 0x598; // float32
+                pub const m_flBreakAfterTimeStartTimeX: usize = 0x59C; // GameTime_t
+                pub const m_flBreakAfterTimeStartTimeY: usize = 0x5A0; // GameTime_t
+                pub const m_flBreakAfterTimeStartTimeZ: usize = 0x5A4; // GameTime_t
+                pub const m_flBreakAfterTimeThresholdX: usize = 0x5A8; // float32
+                pub const m_flBreakAfterTimeThresholdY: usize = 0x5AC; // float32
+                pub const m_flBreakAfterTimeThresholdZ: usize = 0x5B0; // float32
+                pub const m_flNotifyForceX: usize = 0x5B4; // float32
+                pub const m_flNotifyForceY: usize = 0x5B8; // float32
+                pub const m_flNotifyForceZ: usize = 0x5BC; // float32
+                pub const m_flNotifyForceMinTimeX: usize = 0x5C0; // float32
+                pub const m_flNotifyForceMinTimeY: usize = 0x5C4; // float32
+                pub const m_flNotifyForceMinTimeZ: usize = 0x5C8; // float32
+                pub const m_flNotifyForceLastTimeX: usize = 0x5CC; // GameTime_t
+                pub const m_flNotifyForceLastTimeY: usize = 0x5D0; // GameTime_t
+                pub const m_flNotifyForceLastTimeZ: usize = 0x5D4; // GameTime_t
+                pub const m_bAxisNotifiedX: usize = 0x5D8; // bool
+                pub const m_bAxisNotifiedY: usize = 0x5D9; // bool
+                pub const m_bAxisNotifiedZ: usize = 0x5DA; // bool
+                pub const m_nAngularMotionX: usize = 0x5DC; // JointMotion_t
+                pub const m_nAngularMotionY: usize = 0x5E0; // JointMotion_t
+                pub const m_nAngularMotionZ: usize = 0x5E4; // JointMotion_t
+                pub const m_flAngularFrequencyX: usize = 0x5E8; // float32
+                pub const m_flAngularFrequencyY: usize = 0x5EC; // float32
+                pub const m_flAngularFrequencyZ: usize = 0x5F0; // float32
+                pub const m_flAngularDampingRatioX: usize = 0x5F4; // float32
+                pub const m_flAngularDampingRatioY: usize = 0x5F8; // float32
+                pub const m_flAngularDampingRatioZ: usize = 0x5FC; // float32
+                pub const m_flMaxAngularImpulseX: usize = 0x600; // float32
+                pub const m_flMaxAngularImpulseY: usize = 0x604; // float32
+                pub const m_flMaxAngularImpulseZ: usize = 0x608; // float32
+                pub const m_NotifyForceReachedX: usize = 0x610; // CEntityIOOutput
+                pub const m_NotifyForceReachedY: usize = 0x638; // CEntityIOOutput
+                pub const m_NotifyForceReachedZ: usize = 0x660; // CEntityIOOutput
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            pub mod CDecoyGrenade {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponG3SG1 {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 11
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bInitiallyPopulateInterpHistory (bool)
+            // NetworkVarNames: m_bAnimGraphUpdateEnabled (bool)
+            // NetworkVarNames: m_vecForce (Vector)
+            // NetworkVarNames: m_nForceBone (int32)
+            // NetworkVarNames: m_RagdollPose (PhysicsRagdollPose_t)
+            // NetworkVarNames: m_bRagdollClientSide (bool)
+            pub mod CBaseAnimGraph {
+                pub const m_bInitiallyPopulateInterpHistory: usize = 0x808; // bool
+                pub const m_pChoreoServices: usize = 0x810; // IChoreoServices*
+                pub const m_bAnimGraphUpdateEnabled: usize = 0x818; // bool
+                pub const m_flMaxSlopeDistance: usize = 0x81C; // float32
+                pub const m_vLastSlopeCheckPos: usize = 0x820; // Vector
+                pub const m_bAnimationUpdateScheduled: usize = 0x82C; // bool
+                pub const m_vecForce: usize = 0x830; // Vector
+                pub const m_nForceBone: usize = 0x83C; // int32
+                pub const m_RagdollPose: usize = 0x850; // PhysicsRagdollPose_t
+                pub const m_bRagdollClientSide: usize = 0x878; // bool
+                pub const m_nLastDestructiblePartDestroyedAnimgraphSetTick: usize = 0x9A0; // int32
+            }
+            // Parent: CPhysForce
+            // Field count: 1
+            pub mod CPhysTorque {
+                pub const m_axis: usize = 0x540; // Vector
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 27
+            //
+            // Metadata:
+            // NetworkVarNames: m_ragPos (Vector)
+            // NetworkVarNames: m_ragAngles (QAngle)
+            // NetworkVarNames: m_hRagdollSource (EHANDLE)
+            // NetworkVarNames: m_flBlendWeight (float32)
+            pub mod CRagdollProp {
+                pub const m_ragdoll: usize = 0x9B0; // ragdoll_t
+                pub const m_bStartDisabled: usize = 0x9E8; // bool
+                pub const m_ragPos: usize = 0x9F0; // CNetworkUtlVectorBase<Vector>
+                pub const m_ragAngles: usize = 0xA08; // CNetworkUtlVectorBase<QAngle>
+                pub const m_hRagdollSource: usize = 0xA20; // CHandle<CBaseEntity>
+                pub const m_lastUpdateTickCount: usize = 0xA24; // uint32
+                pub const m_allAsleep: usize = 0xA28; // bool
+                pub const m_bFirstCollisionAfterLaunch: usize = 0xA29; // bool
+                pub const m_hDamageEntity: usize = 0xA2C; // CHandle<CBaseEntity>
+                pub const m_hKiller: usize = 0xA30; // CHandle<CBaseEntity>
+                pub const m_hPhysicsAttacker: usize = 0xA34; // CHandle<CBasePlayerPawn>
+                pub const m_flLastPhysicsInfluenceTime: usize = 0xA38; // GameTime_t
+                pub const m_flFadeOutStartTime: usize = 0xA3C; // GameTime_t
+                pub const m_flFadeTime: usize = 0xA40; // float32
+                pub const m_vecLastOrigin: usize = 0xA44; // Vector
+                pub const m_flAwakeTime: usize = 0xA50; // GameTime_t
+                pub const m_flLastOriginChangeTime: usize = 0xA54; // GameTime_t
+                pub const m_strOriginClassName: usize = 0xA58; // CUtlSymbolLarge
+                pub const m_strSourceClassName: usize = 0xA60; // CUtlSymbolLarge
+                pub const m_bHasBeenPhysgunned: usize = 0xA68; // bool
+                pub const m_bShouldTeleportPhysics: usize = 0xA69; // bool
+                pub const m_flBlendWeight: usize = 0xA6C; // float32
+                pub const m_flDefaultFadeScale: usize = 0xA70; // float32
+                pub const m_ragdollMins: usize = 0xA78; // CUtlVector<Vector>
+                pub const m_ragdollMaxs: usize = 0xA90; // CUtlVector<Vector>
+                pub const m_bShouldDeleteActivationRecord: usize = 0xAA8; // bool
+                pub const m_bValidatePoweredRagdollPose: usize = 0xB08; // bool
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod CItemSoda {
+            }
+            // Parent: CEnvCubemap
+            // Field count: 0
+            pub mod CEnvCubemapBox {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CBasePlayerControllerAPI {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_CCSWeaponBaseVData {
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFadeStartDist (float32)
+            // NetworkVarNames: m_flFadeEndDist (float32)
+            pub mod CEnvDetailController {
+                pub const m_flFadeStartDist: usize = 0x4E0; // float32
+                pub const m_flFadeEndDist: usize = 0x4E4; // float32
+            }
+            // Parent: CTriggerOnce
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bTestOcclusion (bool)
+            pub mod CTriggerLook {
+                pub const m_hLookTarget: usize = 0x988; // CHandle<CBaseEntity>
+                pub const m_flFieldOfView: usize = 0x98C; // float32
+                pub const m_flLookTime: usize = 0x990; // float32
+                pub const m_flLookTimeTotal: usize = 0x994; // float32
+                pub const m_flLookTimeLast: usize = 0x998; // GameTime_t
+                pub const m_flTimeoutDuration: usize = 0x99C; // float32
+                pub const m_bTimeoutFired: usize = 0x9A0; // bool
+                pub const m_bIsLooking: usize = 0x9A1; // bool
+                pub const m_b2DFOV: usize = 0x9A2; // bool
+                pub const m_bUseVelocity: usize = 0x9A3; // bool
+                pub const m_bTestOcclusion: usize = 0x9A4; // bool
+                pub const m_OnTimeout: usize = 0x9A8; // CEntityIOOutput
+                pub const m_OnStartLook: usize = 0x9D0; // CEntityIOOutput
+                pub const m_OnEndLook: usize = 0x9F8; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoTeleportDestination {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 11
+            pub mod CMathRemap {
+                pub const m_flInMin: usize = 0x4E0; // float32
+                pub const m_flInMax: usize = 0x4E4; // float32
+                pub const m_flOut1: usize = 0x4E8; // float32
+                pub const m_flOut2: usize = 0x4EC; // float32
+                pub const m_flOldInValue: usize = 0x4F0; // float32
+                pub const m_bEnabled: usize = 0x4F4; // bool
+                pub const m_OutValue: usize = 0x4F8; // CEntityOutputTemplate<float32>
+                pub const m_OnRoseAboveMin: usize = 0x520; // CEntityIOOutput
+                pub const m_OnRoseAboveMax: usize = 0x548; // CEntityIOOutput
+                pub const m_OnFellBelowMin: usize = 0x570; // CEntityIOOutput
+                pub const m_OnFellBelowMax: usize = 0x598; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            pub mod CInstructorEventEntity {
+                pub const m_iszName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszHintTargetEntity: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_hTargetPlayer: usize = 0x4F0; // CHandle<CBasePlayerPawn>
+            }
+            // Parent: CBaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hGradientFogTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_flFogStartDistance (float)
+            // NetworkVarNames: m_flFogEndDistance (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogStartHeight (float)
+            // NetworkVarNames: m_flFogEndHeight (float)
+            // NetworkVarNames: m_flFarZ (float)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_flFogVerticalExponent (float)
+            // NetworkVarNames: m_fogColor (Color)
+            // NetworkVarNames: m_flFogStrength (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            pub mod CGradientFog {
+                pub const m_hGradientFogTexture: usize = 0x4E0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_flFogStartDistance: usize = 0x4E8; // float32
+                pub const m_flFogEndDistance: usize = 0x4EC; // float32
+                pub const m_bHeightFogEnabled: usize = 0x4F0; // bool
+                pub const m_flFogStartHeight: usize = 0x4F4; // float32
+                pub const m_flFogEndHeight: usize = 0x4F8; // float32
+                pub const m_flFarZ: usize = 0x4FC; // float32
+                pub const m_flFogMaxOpacity: usize = 0x500; // float32
+                pub const m_flFogFalloffExponent: usize = 0x504; // float32
+                pub const m_flFogVerticalExponent: usize = 0x508; // float32
+                pub const m_fogColor: usize = 0x50C; // Color
+                pub const m_flFogStrength: usize = 0x510; // float32
+                pub const m_flFadeTime: usize = 0x514; // float32
+                pub const m_bStartDisabled: usize = 0x518; // bool
+                pub const m_bIsEnabled: usize = 0x519; // bool
+                pub const m_bGradientFogNeedsTextures: usize = 0x51A; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_source (string_t)
+            // NetworkVarNames: m_destination (string_t)
+            pub mod CFootstepControl {
+                pub const m_source: usize = 0x960; // CUtlSymbolLarge
+                pub const m_destination: usize = 0x968; // CUtlSymbolLarge
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 2
+            pub mod CTriggerVolume {
+                pub const m_iFilterName: usize = 0x790; // CUtlSymbolLarge
+                pub const m_hFilter: usize = 0x798; // CHandle<CBaseFilter>
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 0
+            pub mod CEnvSoundscapeAlias_snd_soundscape {
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoInstructorHintHostageRescueZone {
+            }
+            // Parent: CBaseEntity
+            // Field count: 7
+            pub mod CFishPool {
+                pub const m_fishCount: usize = 0x4F0; // int32
+                pub const m_maxRange: usize = 0x4F4; // float32
+                pub const m_swimDepth: usize = 0x4F8; // float32
+                pub const m_waterLevel: usize = 0x4FC; // float32
+                pub const m_isDormant: usize = 0x500; // bool
+                pub const m_fishes: usize = 0x508; // CUtlVector<CHandle<CFish>>
+                pub const m_visTimer: usize = 0x520; // CountdownTimer
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CPointClientCommand {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CFuncVPhysicsClip {
+                pub const m_bDisabled: usize = 0x790; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 5
+            pub mod CCSPlayer_RadioServices {
+                pub const m_flGotHostageTalkTimer: usize = 0x40; // GameTime_t
+                pub const m_flDefusingTalkTimer: usize = 0x44; // GameTime_t
+                pub const m_flC4PlantTalkTimer: usize = 0x48; // GameTime_t
+                pub const m_flRadioTokenSlots: usize = 0x4C; // GameTime_t[3]
+                pub const m_bIgnoreRadio: usize = 0x58; // bool
+            }
+            // Parent: CSceneEntity
+            // Field count: 7
+            pub mod CInstancedSceneEntity {
+                pub const m_hOwner: usize = 0xA40; // CHandle<CBaseEntity>
+                pub const m_bHadOwner: usize = 0xA44; // bool
+                pub const m_flPostSpeakDelay: usize = 0xA48; // float32
+                pub const m_flPreDelay: usize = 0xA4C; // float32
+                pub const m_bIsBackground: usize = 0xA50; // bool
+                pub const m_bRemoveOnCompletion: usize = 0xA51; // bool
+                pub const m_hTarget: usize = 0xA54; // CHandle<CBaseEntity>
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            pub mod CEnvHudHint {
+                pub const m_iszMessage: usize = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 22
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_szSnapshotFileName (char)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bFrozen (bool)
+            // NetworkVarNames: m_flFreezeTransitionDuration (float)
+            // NetworkVarNames: m_nStopType (int)
+            // NetworkVarNames: m_bAnimateDuringGameplayPause (bool)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flPreSimTime (float32)
+            // NetworkVarNames: m_vServerControlPoints (Vector)
+            // NetworkVarNames: m_iServerControlPointAssignments (uint8)
+            // NetworkVarNames: m_hControlPointEnts (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bNoSave (bool)
+            // NetworkVarNames: m_bNoFreeze (bool)
+            // NetworkVarNames: m_bNoRamp (bool)
+            pub mod CParticleSystem {
+                pub const m_szSnapshotFileName: usize = 0x790; // char[512]
+                pub const m_bActive: usize = 0x990; // bool
+                pub const m_bFrozen: usize = 0x991; // bool
+                pub const m_flFreezeTransitionDuration: usize = 0x994; // float32
+                pub const m_nStopType: usize = 0x998; // int32
+                pub const m_bAnimateDuringGameplayPause: usize = 0x99C; // bool
+                pub const m_iEffectIndex: usize = 0x9A0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_flStartTime: usize = 0x9A8; // GameTime_t
+                pub const m_flPreSimTime: usize = 0x9AC; // float32
+                pub const m_vServerControlPoints: usize = 0x9B0; // Vector[4]
+                pub const m_iServerControlPointAssignments: usize = 0x9E0; // uint8[4]
+                pub const m_hControlPointEnts: usize = 0x9E4; // CHandle<CBaseEntity>[64]
+                pub const m_bNoSave: usize = 0xAE4; // bool
+                pub const m_bNoFreeze: usize = 0xAE5; // bool
+                pub const m_bNoRamp: usize = 0xAE6; // bool
+                pub const m_bStartActive: usize = 0xAE7; // bool
+                pub const m_iszEffectName: usize = 0xAE8; // CUtlSymbolLarge
+                pub const m_iszControlPointNames: usize = 0xAF0; // CUtlSymbolLarge[64]
+                pub const m_nDataCP: usize = 0xCF0; // int32
+                pub const m_vecDataCPValue: usize = 0xCF4; // Vector
+                pub const m_nTintCP: usize = 0xD00; // int32
+                pub const m_clrTint: usize = 0xD04; // Color
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 22
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBasePlayerWeaponVData {
+                pub const m_szWorldModel: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_sToolsOnlyOwnerModelName: usize = 0x108; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_bBuiltRightHanded: usize = 0x1E8; // bool
+                pub const m_bAllowFlipping: usize = 0x1E9; // bool
+                pub const m_sMuzzleAttachment: usize = 0x1F0; // CAttachmentNameSymbolWithStorage
+                pub const m_szMuzzleFlashParticle: usize = 0x210; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_bLinkedCooldowns: usize = 0x2F0; // bool
+                pub const m_iFlags: usize = 0x2F1; // ItemFlagTypes_t
+                pub const m_nPrimaryAmmoType: usize = 0x2F2; // AmmoIndex_t
+                pub const m_nSecondaryAmmoType: usize = 0x2F3; // AmmoIndex_t
+                pub const m_iMaxClip1: usize = 0x2F4; // int32
+                pub const m_iMaxClip2: usize = 0x2F8; // int32
+                pub const m_iDefaultClip1: usize = 0x2FC; // int32
+                pub const m_iDefaultClip2: usize = 0x300; // int32
+                pub const m_bReserveAmmoAsClips: usize = 0x304; // bool
+                pub const m_iWeight: usize = 0x308; // int32
+                pub const m_bAutoSwitchTo: usize = 0x30C; // bool
+                pub const m_bAutoSwitchFrom: usize = 0x30D; // bool
+                pub const m_iRumbleEffect: usize = 0x310; // RumbleEffect_t
+                pub const m_iSlot: usize = 0x314; // int32
+                pub const m_iPosition: usize = 0x318; // int32
+                pub const m_aShootSounds: usize = 0x320; // CUtlOrderedMap<WeaponSound_t,CSoundEventName>
+            }
+            // Parent: CCSPlayerPawnBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            pub mod CCSObserverPawn {
+            }
+            // Parent: CItem
+            // Field count: 1
+            pub mod CScriptItem {
+                pub const m_MoveTypeOverride: usize = 0xA80; // MoveType_t
+            }
+            // Parent: IntervalTimer
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_flValues (float)
+            // NetworkVarNames: m_nValueCounts (int)
+            // NetworkVarNames: m_nBucketCount (int)
+            // NetworkVarNames: m_flInterval (float)
+            // NetworkVarNames: m_flFinalValue (float)
+            // NetworkVarNames: m_nCompressionType (TimelineCompression_t)
+            // NetworkVarNames: m_bStopped (bool)
+            pub mod CTimeline {
+                pub const m_flValues: usize = 0x10; // float32[64]
+                pub const m_nValueCounts: usize = 0x110; // int32[64]
+                pub const m_nBucketCount: usize = 0x210; // int32
+                pub const m_flInterval: usize = 0x214; // float32
+                pub const m_flFinalValue: usize = 0x218; // float32
+                pub const m_nCompressionType: usize = 0x21C; // TimelineCompression_t
+                pub const m_bStopped: usize = 0x220; // bool
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponSG556 {
+            }
+            // Parent: CPointEntity
+            // Field count: 10
+            pub mod CAmbientGeneric {
+                pub const m_radius: usize = 0x4E0; // float32
+                pub const m_flMaxRadius: usize = 0x4E4; // float32
+                pub const m_iSoundLevel: usize = 0x4E8; // soundlevel_t
+                pub const m_dpv: usize = 0x4EC; // dynpitchvol_t
+                pub const m_fActive: usize = 0x550; // bool
+                pub const m_fLooping: usize = 0x551; // bool
+                pub const m_iszSound: usize = 0x558; // CUtlSymbolLarge
+                pub const m_sSourceEntName: usize = 0x560; // CUtlSymbolLarge
+                pub const m_hSoundSource: usize = 0x568; // CHandle<CBaseEntity>
+                pub const m_nSoundSourceEntIndex: usize = 0x56C; // CEntityIndex
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_Flags (uint8)
+            // NetworkVarNames: m_LightStyle (uint8)
+            // NetworkVarNames: m_Radius (float32)
+            // NetworkVarNames: m_Exponent (int32)
+            // NetworkVarNames: m_InnerAngle (float32)
+            // NetworkVarNames: m_OuterAngle (float32)
+            // NetworkVarNames: m_SpotRadius (float32)
+            pub mod CDynamicLight {
+                pub const m_ActualFlags: usize = 0x790; // uint8
+                pub const m_Flags: usize = 0x791; // uint8
+                pub const m_LightStyle: usize = 0x792; // uint8
+                pub const m_On: usize = 0x793; // bool
+                pub const m_Radius: usize = 0x794; // float32
+                pub const m_Exponent: usize = 0x798; // int32
+                pub const m_InnerAngle: usize = 0x79C; // float32
+                pub const m_OuterAngle: usize = 0x7A0; // float32
+                pub const m_SpotRadius: usize = 0x7A4; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponP90 {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CTriggerToggleSave {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CPrecipitation {
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CPointServerCommand {
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iReapplyProvisionParity (int)
+            // NetworkVarNames: m_hOuter (EHANDLE)
+            // NetworkVarNames: m_ProviderType (attributeprovidertypes_t)
+            pub mod CAttributeManager {
+                pub const m_Providers: usize = 0x8; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_iReapplyProvisionParity: usize = 0x20; // int32
+                pub const m_hOuter: usize = 0x24; // CHandle<CBaseEntity>
+                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>
+            }
+            // Parent: CServerOnlyEntity
+            // Field count: 0
+            pub mod CLogicalEntity {
+            }
+            // Parent: None
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_PredNetBoolVariables (uint32)
+            // NetworkVarNames: m_PredNetByteVariables (byte)
+            // NetworkVarNames: m_PredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_PredNetIntVariables (int32)
+            // NetworkVarNames: m_PredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_PredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_PredNetFloatVariables (float)
+            // NetworkVarNames: m_PredNetVectorVariables (Vector)
+            // NetworkVarNames: m_PredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_PredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_OwnerOnlyPredNetBoolVariables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetByteVariables (byte)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt16Variables (uint16)
+            // NetworkVarNames: m_OwnerOnlyPredNetIntVariables (int32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt32Variables (uint32)
+            // NetworkVarNames: m_OwnerOnlyPredNetUInt64Variables (uint64)
+            // NetworkVarNames: m_OwnerOnlyPredNetFloatVariables (float)
+            // NetworkVarNames: m_OwnerOnlyPredNetVectorVariables (Vector)
+            // NetworkVarNames: m_OwnerOnlyPredNetQuaternionVariables (Quaternion)
+            // NetworkVarNames: m_OwnerOnlyPredNetGlobalSymbolVariables (CGlobalSymbol)
+            // NetworkVarNames: m_nBoolVariablesCount (int)
+            // NetworkVarNames: m_nOwnerOnlyBoolVariablesCount (int)
+            // NetworkVarNames: m_nRandomSeedOffset (int)
+            // NetworkVarNames: m_flLastTeleportTime (float)
+            pub mod CAnimGraphNetworkedVariables {
+                pub const m_PredNetBoolVariables: usize = 0x8; // CNetworkUtlVectorBase<uint32>
+                pub const m_PredNetByteVariables: usize = 0x20; // CNetworkUtlVectorBase<uint8>
+                pub const m_PredNetUInt16Variables: usize = 0x38; // CNetworkUtlVectorBase<uint16>
+                pub const m_PredNetIntVariables: usize = 0x50; // CNetworkUtlVectorBase<int32>
+                pub const m_PredNetUInt32Variables: usize = 0x68; // CNetworkUtlVectorBase<uint32>
+                pub const m_PredNetUInt64Variables: usize = 0x80; // CNetworkUtlVectorBase<uint64>
+                pub const m_PredNetFloatVariables: usize = 0x98; // CNetworkUtlVectorBase<float32>
+                pub const m_PredNetVectorVariables: usize = 0xB0; // CNetworkUtlVectorBase<Vector>
+                pub const m_PredNetQuaternionVariables: usize = 0xC8; // CNetworkUtlVectorBase<Quaternion>
+                pub const m_PredNetGlobalSymbolVariables: usize = 0xE0; // CNetworkUtlVectorBase<CGlobalSymbol>
+                pub const m_OwnerOnlyPredNetBoolVariables: usize = 0xF8; // CNetworkUtlVectorBase<uint32>
+                pub const m_OwnerOnlyPredNetByteVariables: usize = 0x110; // CNetworkUtlVectorBase<uint8>
+                pub const m_OwnerOnlyPredNetUInt16Variables: usize = 0x128; // CNetworkUtlVectorBase<uint16>
+                pub const m_OwnerOnlyPredNetIntVariables: usize = 0x140; // CNetworkUtlVectorBase<int32>
+                pub const m_OwnerOnlyPredNetUInt32Variables: usize = 0x158; // CNetworkUtlVectorBase<uint32>
+                pub const m_OwnerOnlyPredNetUInt64Variables: usize = 0x170; // CNetworkUtlVectorBase<uint64>
+                pub const m_OwnerOnlyPredNetFloatVariables: usize = 0x188; // CNetworkUtlVectorBase<float32>
+                pub const m_OwnerOnlyPredNetVectorVariables: usize = 0x1A0; // CNetworkUtlVectorBase<Vector>
+                pub const m_OwnerOnlyPredNetQuaternionVariables: usize = 0x1B8; // CNetworkUtlVectorBase<Quaternion>
+                pub const m_OwnerOnlyPredNetGlobalSymbolVariables: usize = 0x1D0; // CNetworkUtlVectorBase<CGlobalSymbol>
+                pub const m_nBoolVariablesCount: usize = 0x1E8; // int32
+                pub const m_nOwnerOnlyBoolVariablesCount: usize = 0x1EC; // int32
+                pub const m_nRandomSeedOffset: usize = 0x1F0; // int32
+                pub const m_flLastTeleportTime: usize = 0x1F4; // float32
+            }
+            // Parent: CBreakableProp
+            // Field count: 37
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bAwake (bool)
+            pub mod CPhysicsProp {
+                pub const m_MotionEnabled: usize = 0xB60; // CEntityIOOutput
+                pub const m_OnAwakened: usize = 0xB88; // CEntityIOOutput
+                pub const m_OnAwake: usize = 0xBB0; // CEntityIOOutput
+                pub const m_OnAsleep: usize = 0xBD8; // CEntityIOOutput
+                pub const m_OnPlayerUse: usize = 0xC00; // CEntityIOOutput
+                pub const m_OnOutOfWorld: usize = 0xC28; // CEntityIOOutput
+                pub const m_OnPlayerPickup: usize = 0xC50; // CEntityIOOutput
+                pub const m_bForceNavIgnore: usize = 0xC78; // bool
+                pub const m_bNoNavmeshBlocker: usize = 0xC79; // bool
+                pub const m_bForceNpcExclude: usize = 0xC7A; // bool
+                pub const m_massScale: usize = 0xC7C; // float32
+                pub const m_inertiaScale: usize = 0xC80; // float32
+                pub const m_buoyancyScale: usize = 0xC84; // float32
+                pub const m_damageType: usize = 0xC88; // int32
+                pub const m_damageToEnableMotion: usize = 0xC8C; // int32
+                pub const m_flForceToEnableMotion: usize = 0xC90; // float32
+                pub const m_bThrownByPlayer: usize = 0xC94; // bool
+                pub const m_bDroppedByPlayer: usize = 0xC95; // bool
+                pub const m_bTouchedByPlayer: usize = 0xC96; // bool
+                pub const m_bFirstCollisionAfterLaunch: usize = 0xC97; // bool
+                pub const m_iExploitableByPlayer: usize = 0xC98; // int32
+                pub const m_bHasBeenAwakened: usize = 0xC9C; // bool
+                pub const m_bIsOverrideProp: usize = 0xC9D; // bool
+                pub const m_fNextCheckDisableMotionContactsTime: usize = 0xCA0; // GameTime_t
+                pub const m_iInitialGlowState: usize = 0xCA4; // int32
+                pub const m_nGlowRange: usize = 0xCA8; // int32
+                pub const m_nGlowRangeMin: usize = 0xCAC; // int32
+                pub const m_glowColor: usize = 0xCB0; // Color
+                pub const m_bShouldAutoConvertBackFromDebris: usize = 0xCB4; // bool
+                pub const m_bMuteImpactEffects: usize = 0xCB5; // bool
+                pub const m_bAcceptDamageFromHeldObjects: usize = 0xCBF; // bool
+                pub const m_bEnableUseOutput: usize = 0xCC0; // bool
+                pub const m_CrateType: usize = 0xCC4; // CPhysicsProp::CrateType_t
+                pub const m_strItemClass: usize = 0xCC8; // CUtlSymbolLarge[4]
+                pub const m_nItemCount: usize = 0xCE8; // int32[4]
+                pub const m_bRemovableForAmmoBalancing: usize = 0xCF8; // bool
+                pub const m_bAwake: usize = 0xCF9; // bool
+            }
+            // Parent: CFuncWall
+            // Field count: 0
+            pub mod CFuncWallToggle {
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_bSpotted (bool)
+            // NetworkVarNames: m_bSpottedByMask (uint32)
+            pub mod EntitySpottedState_t {
+                pub const m_bSpotted: usize = 0x8; // bool
+                pub const m_bSpottedByMask: usize = 0xC; // uint32[2]
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 0
+            pub mod CCSPlayer_CameraServices {
+            }
+            // Parent: CCSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_WingmanIntroCharacterPosition {
+            }
+            // Parent: CSPerRoundStats_t
+            // Field count: 21
+            //
+            // Metadata:
+            // NetworkVarNames: m_iEnemy5Ks (int)
+            // NetworkVarNames: m_iEnemy4Ks (int)
+            // NetworkVarNames: m_iEnemy3Ks (int)
+            // NetworkVarNames: m_iEnemyKnifeKills (int)
+            // NetworkVarNames: m_iEnemyTaserKills (int)
+            pub mod CSMatchStats_t {
+                pub const m_iEnemy5Ks: usize = 0x68; // int32
+                pub const m_iEnemy4Ks: usize = 0x6C; // int32
+                pub const m_iEnemy3Ks: usize = 0x70; // int32
+                pub const m_iEnemyKnifeKills: usize = 0x74; // int32
+                pub const m_iEnemyTaserKills: usize = 0x78; // int32
+                pub const m_iEnemy2Ks: usize = 0x7C; // int32
+                pub const m_iUtility_Count: usize = 0x80; // int32
+                pub const m_iUtility_Successes: usize = 0x84; // int32
+                pub const m_iUtility_Enemies: usize = 0x88; // int32
+                pub const m_iFlash_Count: usize = 0x8C; // int32
+                pub const m_iFlash_Successes: usize = 0x90; // int32
+                pub const m_nHealthPointsRemovedTotal: usize = 0x94; // int32
+                pub const m_nHealthPointsDealtTotal: usize = 0x98; // int32
+                pub const m_nShotsFiredTotal: usize = 0x9C; // int32
+                pub const m_nShotsOnTargetTotal: usize = 0xA0; // int32
+                pub const m_i1v1Count: usize = 0xA4; // int32
+                pub const m_i1v1Wins: usize = 0xA8; // int32
+                pub const m_i1v2Count: usize = 0xAC; // int32
+                pub const m_i1v2Wins: usize = 0xB0; // int32
+                pub const m_iEntryCount: usize = 0xB4; // int32
+                pub const m_iEntryWins: usize = 0xB8; // int32
+            }
+            // Parent: CFuncLadder
+            // Field count: 0
+            pub mod CFuncLadderAlias_func_useableladder {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 14
+            pub mod CTriggerSndSosOpvar {
+                pub const m_hTouchingPlayers: usize = 0x960; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_flPosition: usize = 0x978; // Vector
+                pub const m_flCenterSize: usize = 0x984; // float32
+                pub const m_flMinVal: usize = 0x988; // float32
+                pub const m_flMaxVal: usize = 0x98C; // float32
+                pub const m_opvarName: usize = 0x990; // CUtlSymbolLarge
+                pub const m_stackName: usize = 0x998; // CUtlSymbolLarge
+                pub const m_operatorName: usize = 0x9A0; // CUtlSymbolLarge
+                pub const m_bVolIs2D: usize = 0x9A8; // bool
+                pub const m_opvarNameChar: usize = 0x9A9; // char[256]
+                pub const m_stackNameChar: usize = 0xAA9; // char[256]
+                pub const m_operatorNameChar: usize = 0xBA9; // char[256]
+                pub const m_VecNormPos: usize = 0xCAC; // Vector
+                pub const m_flNormCenterSize: usize = 0xCB8; // float32
+            }
+            // Parent: CItem
+            // Field count: 0
+            pub mod CItemAssaultSuit {
+            }
+            // Parent: CBaseEntity
+            // Field count: 72
+            pub mod CScriptedSequence {
+                pub const m_iszEntry: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszPreIdle: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszPlay: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_iszPostIdle: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_iszModifierToAddOnPlay: usize = 0x500; // CUtlSymbolLarge
+                pub const m_iszNextScript: usize = 0x508; // CUtlSymbolLarge
+                pub const m_iszEntity: usize = 0x510; // CUtlSymbolLarge
+                pub const m_iszSyncGroup: usize = 0x518; // CUtlSymbolLarge
+                pub const m_nMoveTo: usize = 0x520; // ScriptedMoveTo_t
+                pub const m_nMoveToGait: usize = 0x524; // MovementGait_t
+                pub const m_nHeldWeaponBehavior: usize = 0x528; // ScriptedHeldWeaponBehavior_t
+                pub const m_bIsPlayingPreIdle: usize = 0x52C; // bool
+                pub const m_bIsPlayingEntry: usize = 0x52D; // bool
+                pub const m_bIsPlayingAction: usize = 0x52E; // bool
+                pub const m_bIsPlayingPostIdle: usize = 0x52F; // bool
+                pub const m_bDontRotateOther: usize = 0x530; // bool
+                pub const m_bIsRepeatable: usize = 0x531; // bool
+                pub const m_bShouldLeaveCorpse: usize = 0x532; // bool
+                pub const m_bStartOnSpawn: usize = 0x533; // bool
+                pub const m_bDisallowInterrupts: usize = 0x534; // bool
+                pub const m_bCanOverrideNPCState: usize = 0x535; // bool
+                pub const m_bDontTeleportAtEnd: usize = 0x536; // bool
+                pub const m_bHighPriority: usize = 0x537; // bool
+                pub const m_bHideDebugComplaints: usize = 0x538; // bool
+                pub const m_bContinueOnDeath: usize = 0x539; // bool
+                pub const m_bLoopPreIdleSequence: usize = 0x53A; // bool
+                pub const m_bLoopActionSequence: usize = 0x53B; // bool
+                pub const m_bLoopPostIdleSequence: usize = 0x53C; // bool
+                pub const m_bSynchPostIdles: usize = 0x53D; // bool
+                pub const m_bIgnoreLookAt: usize = 0x53E; // bool
+                pub const m_bIgnoreGravity: usize = 0x53F; // bool
+                pub const m_bDisableNPCCollisions: usize = 0x540; // bool
+                pub const m_bKeepAnimgraphLockedPost: usize = 0x541; // bool
+                pub const m_bDontAddModifiers: usize = 0x542; // bool
+                pub const m_flRadius: usize = 0x544; // float32
+                pub const m_flRepeat: usize = 0x548; // float32
+                pub const m_flPlayAnimFadeInTime: usize = 0x54C; // float32
+                pub const m_flMoveInterpTime: usize = 0x550; // float32
+                pub const m_flAngRate: usize = 0x554; // float32
+                pub const m_bWaitUntilMoveCompletesToStartAnimation: usize = 0x558; // bool
+                pub const m_nNotReadySequenceCount: usize = 0x55C; // int32
+                pub const m_startTime: usize = 0x560; // GameTime_t
+                pub const m_bWaitForBeginSequence: usize = 0x564; // bool
+                pub const m_saved_effects: usize = 0x568; // int32
+                pub const m_savedFlags: usize = 0x56C; // int32
+                pub const m_savedCollisionGroup: usize = 0x570; // int32
+                pub const m_bInterruptable: usize = 0x574; // bool
+                pub const m_sequenceStarted: usize = 0x575; // bool
+                pub const m_bPositionRelativeToOtherEntity: usize = 0x576; // bool
+                pub const m_hTargetEnt: usize = 0x578; // CHandle<CBaseEntity>
+                pub const m_hNextCine: usize = 0x57C; // CHandle<CScriptedSequence>
+                pub const m_bThinking: usize = 0x580; // bool
+                pub const m_bInitiatedSelfDelete: usize = 0x581; // bool
+                pub const m_bIsTeleportingDueToMoveTo: usize = 0x582; // bool
+                pub const m_bAllowCustomInterruptConditions: usize = 0x583; // bool
+                pub const m_hForcedTarget: usize = 0x584; // CHandle<CBaseAnimGraph>
+                pub const m_bDontCancelOtherSequences: usize = 0x588; // bool
+                pub const m_bForceSynch: usize = 0x589; // bool
+                pub const m_bPreventUpdateYawOnFinish: usize = 0x58A; // bool
+                pub const m_bEnsureOnNavmeshOnFinish: usize = 0x58B; // bool
+                pub const m_onDeathBehavior: usize = 0x58C; // ScriptedOnDeath_t
+                pub const m_ConflictResponse: usize = 0x590; // ScriptedConflictResponse_t
+                pub const m_OnBeginSequence: usize = 0x598; // CEntityIOOutput
+                pub const m_OnActionStartOrLoop: usize = 0x5C0; // CEntityIOOutput
+                pub const m_OnEndSequence: usize = 0x5E8; // CEntityIOOutput
+                pub const m_OnPostIdleEndSequence: usize = 0x610; // CEntityIOOutput
+                pub const m_OnCancelSequence: usize = 0x638; // CEntityIOOutput
+                pub const m_OnCancelFailedSequence: usize = 0x660; // CEntityIOOutput
+                pub const m_OnScriptEvent: usize = 0x688; // CEntityIOOutput[8]
+                pub const m_matOtherToMain: usize = 0x7D0; // CTransform
+                pub const m_hInteractionMainEntity: usize = 0x7F0; // CHandle<CBaseEntity>
+                pub const m_iPlayerDeathBehavior: usize = 0x7F4; // int32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponNegev {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponGalilAR {
+            }
+            // Parent: CModelPointEntity
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_hTargetEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bState (bool)
+            // NetworkVarNames: m_bAlwaysUpdate (bool)
+            // NetworkVarNames: m_flLightFOV (float32)
+            // NetworkVarNames: m_bEnableShadows (bool)
+            // NetworkVarNames: m_bSimpleProjection (bool)
+            // NetworkVarNames: m_bLightOnlyTarget (bool)
+            // NetworkVarNames: m_bLightWorld (bool)
+            // NetworkVarNames: m_bCameraSpace (bool)
+            // NetworkVarNames: m_flBrightnessScale (float32)
+            // NetworkVarNames: m_LightColor (Color)
+            // NetworkVarNames: m_flIntensity (float32)
+            // NetworkVarNames: m_flLinearAttenuation (float32)
+            // NetworkVarNames: m_flQuadraticAttenuation (float32)
+            // NetworkVarNames: m_bVolumetric (bool)
+            // NetworkVarNames: m_flNoiseStrength (float32)
+            // NetworkVarNames: m_flFlashlightTime (float32)
+            // NetworkVarNames: m_nNumPlanes (uint32)
+            // NetworkVarNames: m_flPlaneOffset (float32)
+            // NetworkVarNames: m_flVolumetricIntensity (float32)
+            // NetworkVarNames: m_flColorTransitionTime (float32)
+            // NetworkVarNames: m_flAmbient (float32)
+            // NetworkVarNames: m_SpotlightTextureName (char)
+            // NetworkVarNames: m_nSpotlightTextureFrame (int32)
+            // NetworkVarNames: m_nShadowQuality (uint32)
+            // NetworkVarNames: m_flNearZ (float32)
+            // NetworkVarNames: m_flFarZ (float32)
+            // NetworkVarNames: m_flProjectionSize (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_bFlipHorizontal (bool)
+            pub mod CEnvProjectedTexture {
+                pub const m_hTargetEntity: usize = 0x790; // CHandle<CBaseEntity>
+                pub const m_bState: usize = 0x794; // bool
+                pub const m_bAlwaysUpdate: usize = 0x795; // bool
+                pub const m_flLightFOV: usize = 0x798; // float32
+                pub const m_bEnableShadows: usize = 0x79C; // bool
+                pub const m_bSimpleProjection: usize = 0x79D; // bool
+                pub const m_bLightOnlyTarget: usize = 0x79E; // bool
+                pub const m_bLightWorld: usize = 0x79F; // bool
+                pub const m_bCameraSpace: usize = 0x7A0; // bool
+                pub const m_flBrightnessScale: usize = 0x7A4; // float32
+                pub const m_LightColor: usize = 0x7A8; // Color
+                pub const m_flIntensity: usize = 0x7AC; // float32
+                pub const m_flLinearAttenuation: usize = 0x7B0; // float32
+                pub const m_flQuadraticAttenuation: usize = 0x7B4; // float32
+                pub const m_bVolumetric: usize = 0x7B8; // bool
+                pub const m_flNoiseStrength: usize = 0x7BC; // float32
+                pub const m_flFlashlightTime: usize = 0x7C0; // float32
+                pub const m_nNumPlanes: usize = 0x7C4; // uint32
+                pub const m_flPlaneOffset: usize = 0x7C8; // float32
+                pub const m_flVolumetricIntensity: usize = 0x7CC; // float32
+                pub const m_flColorTransitionTime: usize = 0x7D0; // float32
+                pub const m_flAmbient: usize = 0x7D4; // float32
+                pub const m_SpotlightTextureName: usize = 0x7D8; // char[512]
+                pub const m_nSpotlightTextureFrame: usize = 0x9D8; // int32
+                pub const m_nShadowQuality: usize = 0x9DC; // uint32
+                pub const m_flNearZ: usize = 0x9E0; // float32
+                pub const m_flFarZ: usize = 0x9E4; // float32
+                pub const m_flProjectionSize: usize = 0x9E8; // float32
+                pub const m_flRotation: usize = 0x9EC; // float32
+                pub const m_bFlipHorizontal: usize = 0x9F0; // bool
+            }
+            // Parent: CDynamicProp
+            // Field count: 0
+            pub mod CDynamicPropAlias_prop_dynamic_override {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            pub mod CSceneListManager {
+                pub const m_hListManagers: usize = 0x4E0; // CUtlVector<CHandle<CSceneListManager>>
+                pub const m_iszScenes: usize = 0x4F8; // CUtlSymbolLarge[16]
+                pub const m_hScenes: usize = 0x578; // CHandle<CBaseEntity>[16]
+            }
+            // Parent: CPhysConstraint
+            // Field count: 1
+            pub mod CSplineConstraint {
+                pub const m_vAnchorOffsetRestore: usize = 0x5A0; // Vector
+            }
+            // Parent: CPlayer_ViewModelServices
+            // Field count: 0
+            pub mod CCSObserver_ViewModelServices {
+            }
+            // Parent: CDynamicProp
+            // Field count: 0
+            pub mod CDynamicPropAlias_dynamic_prop {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_Handle (ModelConfigHandle_t)
+            // NetworkVarNames: m_Name (string_t)
+            // NetworkVarNames: m_AssociatedEntities (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_AssociatedEntityNames (string_t)
+            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; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                pub const m_AssociatedEntityNames: usize = 0x50; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+            }
+            // Parent: CPhysicsProp
+            // Field count: 0
+            pub mod CPhysicsPropMultiplayer {
+            }
+            // Parent: CBaseToggle
+            // Field count: 5
+            pub mod CBasePlatTrain {
+                pub const m_NoiseMoving: usize = 0x810; // CUtlSymbolLarge
+                pub const m_NoiseArrived: usize = 0x818; // CUtlSymbolLarge
+                pub const m_volume: usize = 0x828; // float32
+                pub const m_flTWidth: usize = 0x82C; // float32
+                pub const m_flTLength: usize = 0x830; // float32
+            }
+            // Parent: CMarkupVolumeTagged
+            // Field count: 0
+            pub mod CSimpleMarkupVolumeTagged {
+            }
+            // Parent: SpawnPoint
+            // Field count: 0
+            pub mod CInfoPlayerTerrorist {
+            }
+            // Parent: CPhysHinge
+            // Field count: 0
+            pub mod CPhysHingeAlias_phys_hinge_local {
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CTankTargetChange {
+                pub const m_newTarget: usize = 0x4E0; // CVariantBase<CVariantDefaultAllocator>
+                pub const m_newTargetName: usize = 0x4F0; // CUtlSymbolLarge
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            pub mod CLogicCompare {
+                pub const m_flInValue: usize = 0x4E0; // float32
+                pub const m_flCompareValue: usize = 0x4E4; // float32
+                pub const m_OnLessThan: usize = 0x4E8; // CEntityOutputTemplate<float32>
+                pub const m_OnEqualTo: usize = 0x510; // CEntityOutputTemplate<float32>
+                pub const m_OnNotEqualTo: usize = 0x538; // CEntityOutputTemplate<float32>
+                pub const m_OnGreaterThan: usize = 0x560; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_totalHitsOnServer (int32)
+            pub mod CCSPlayer_BulletServices {
+                pub const m_totalHitsOnServer: usize = 0x40; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            pub mod CLogicRelay {
+                pub const m_OnTrigger: usize = 0x4E0; // CEntityIOOutput
+                pub const m_OnSpawn: usize = 0x508; // CEntityIOOutput
+                pub const m_bDisabled: usize = 0x530; // bool
+                pub const m_bWaitForRefire: usize = 0x531; // bool
+                pub const m_bTriggerOnce: usize = 0x532; // bool
+                pub const m_bFastRetrigger: usize = 0x533; // bool
+                pub const m_bPassthoughCaller: usize = 0x534; // bool
+            }
+            // Parent: CPlayer_ItemServices
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHasDefuser (bool)
+            // NetworkVarNames: m_bHasHelmet (bool)
+            // NetworkVarNames: m_bHasHeavyArmor (bool)
+            pub mod CCSPlayer_ItemServices {
+                pub const m_bHasDefuser: usize = 0x40; // bool
+                pub const m_bHasHelmet: usize = 0x41; // bool
+                pub const m_bHasHeavyArmor: usize = 0x42; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            pub mod CKeepUpright {
+                pub const m_worldGoalAxis: usize = 0x4E8; // Vector
+                pub const m_localTestAxis: usize = 0x4F4; // Vector
+                pub const m_nameAttach: usize = 0x508; // CUtlSymbolLarge
+                pub const m_attachedObject: usize = 0x510; // CHandle<CBaseEntity>
+                pub const m_angularLimit: usize = 0x514; // float32
+                pub const m_bActive: usize = 0x518; // bool
+                pub const m_bDampAllRotation: usize = 0x519; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CModelPointEntity {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CFuncWater {
+                pub const m_BuoyancyHelper: usize = 0x790; // CBuoyancyHelper
+            }
+            // Parent: CBaseEntity
+            // Field count: 5
+            pub mod CFuncTimescale {
+                pub const m_flDesiredTimescale: usize = 0x4E0; // float32
+                pub const m_flAcceleration: usize = 0x4E4; // float32
+                pub const m_flMinBlendRate: usize = 0x4E8; // float32
+                pub const m_flBlendDeltaMultiplier: usize = 0x4EC; // float32
+                pub const m_isStarted: usize = 0x4F0; // bool
+            }
+            // Parent: CBtNode
+            // Field count: 14
+            pub mod CBtActionMoveTo {
+                pub const m_szDestinationInputKey: usize = 0x60; // CUtlString
+                pub const m_szHidingSpotInputKey: usize = 0x68; // CUtlString
+                pub const m_szThreatInputKey: usize = 0x70; // CUtlString
+                pub const m_vecDestination: usize = 0x78; // Vector
+                pub const m_bAutoLookAdjust: usize = 0x84; // bool
+                pub const m_bComputePath: usize = 0x85; // bool
+                pub const m_flDamagingAreasPenaltyCost: usize = 0x88; // float32
+                pub const m_CheckApproximateCornersTimer: usize = 0x90; // CountdownTimer
+                pub const m_CheckHighPriorityItem: usize = 0xA8; // CountdownTimer
+                pub const m_RepathTimer: usize = 0xC0; // CountdownTimer
+                pub const m_flArrivalEpsilon: usize = 0xD8; // float32
+                pub const m_flAdditionalArrivalEpsilon2D: usize = 0xDC; // float32
+                pub const m_flHidingSpotCheckDistanceThreshold: usize = 0xE0; // float32
+                pub const m_flNearestAreaDistanceThreshold: usize = 0xE4; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAutoExposureMin (float)
+            // NetworkVarNames: m_flAutoExposureMax (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedUp (float)
+            // NetworkVarNames: m_flExposureAdaptationSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            pub mod CTonemapController2 {
+                pub const m_flAutoExposureMin: usize = 0x4E0; // float32
+                pub const m_flAutoExposureMax: usize = 0x4E4; // float32
+                pub const m_flTonemapPercentTarget: usize = 0x4E8; // float32
+                pub const m_flTonemapPercentBrightPixels: usize = 0x4EC; // float32
+                pub const m_flTonemapMinAvgLum: usize = 0x4F0; // float32
+                pub const m_flExposureAdaptationSpeedUp: usize = 0x4F4; // float32
+                pub const m_flExposureAdaptationSpeedDown: usize = 0x4F8; // float32
+                pub const m_flTonemapEVSmoothingRange: usize = 0x4FC; // float32
+            }
+            // Parent: CRopeKeyframe
+            // Field count: 0
+            pub mod CRopeKeyframeAlias_move_rope {
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            pub mod CEnvInstructorVRHint {
+                pub const m_iszName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszHintTargetEntity: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iTimeout: usize = 0x4F0; // int32
+                pub const m_iszCaption: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_iszStartSound: usize = 0x500; // CUtlSymbolLarge
+                pub const m_iLayoutFileType: usize = 0x508; // int32
+                pub const m_iszCustomLayoutFile: usize = 0x510; // CUtlSymbolLarge
+                pub const m_iAttachType: usize = 0x518; // int32
+                pub const m_flHeightOffset: usize = 0x51C; // float32
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 0
+            pub mod CWeaponXM1014 {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CPlatTrigger {
+                pub const m_pPlatform: usize = 0x790; // CHandle<CFuncPlat>
+            }
+            // Parent: None
+            // Field count: 31
+            //
+            // Metadata:
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iWindSeed (uint32)
+            // NetworkVarNames: m_iMinWind (uint16)
+            // NetworkVarNames: m_iMaxWind (uint16)
+            // NetworkVarNames: m_windRadius (int32)
+            // NetworkVarNames: m_iMinGust (uint16)
+            // NetworkVarNames: m_iMaxGust (uint16)
+            // NetworkVarNames: m_flMinGustDelay (float32)
+            // NetworkVarNames: m_flMaxGustDelay (float32)
+            // NetworkVarNames: m_flGustDuration (float32)
+            // NetworkVarNames: m_iGustDirChange (uint16)
+            // NetworkVarNames: m_location (Vector)
+            // NetworkVarNames: m_iInitialWindDir (uint16)
+            // NetworkVarNames: m_flInitialWindSpeed (float32)
+            pub mod CEnvWindShared {
+                pub const m_flStartTime: usize = 0x8; // GameTime_t
+                pub const m_iWindSeed: usize = 0xC; // uint32
+                pub const m_iMinWind: usize = 0x10; // uint16
+                pub const m_iMaxWind: usize = 0x12; // uint16
+                pub const m_windRadius: usize = 0x14; // int32
+                pub const m_iMinGust: usize = 0x18; // uint16
+                pub const m_iMaxGust: usize = 0x1A; // uint16
+                pub const m_flMinGustDelay: usize = 0x1C; // float32
+                pub const m_flMaxGustDelay: usize = 0x20; // float32
+                pub const m_flGustDuration: usize = 0x24; // float32
+                pub const m_iGustDirChange: usize = 0x28; // uint16
+                pub const m_location: usize = 0x2C; // Vector
+                pub const m_iszGustSound: usize = 0x38; // int32
+                pub const m_iWindDir: usize = 0x3C; // int32
+                pub const m_flWindSpeed: usize = 0x40; // float32
+                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
+                pub const m_flInitialWindSpeed: usize = 0x6C; // float32
+                pub const m_OnGustStart: usize = 0x70; // CEntityIOOutput
+                pub const m_OnGustEnd: usize = 0x98; // CEntityIOOutput
+                pub const m_flVariationTime: usize = 0xC0; // GameTime_t
+                pub const m_flSwayTime: usize = 0xC4; // GameTime_t
+                pub const m_flSimTime: usize = 0xC8; // GameTime_t
+                pub const m_flSwitchTime: usize = 0xCC; // GameTime_t
+                pub const m_flAveWindSpeed: usize = 0xD0; // float32
+                pub const m_bGusting: usize = 0xD4; // bool
+                pub const m_flWindAngleVariation: usize = 0xD8; // float32
+                pub const m_flWindSpeedVariation: usize = 0xDC; // float32
+                pub const m_hEntOwner: usize = 0xE0; // CHandle<CBaseEntity>
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            pub mod CMolotovGrenade {
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            pub mod CPointHurt {
+                pub const m_nDamage: usize = 0x4E0; // int32
+                pub const m_bitsDamageType: usize = 0x4E4; // DamageTypes_t
+                pub const m_flRadius: usize = 0x4E8; // float32
+                pub const m_flDelay: usize = 0x4EC; // float32
+                pub const m_strTarget: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_pActivator: usize = 0x4F8; // CHandle<CBaseEntity>
+            }
+            // Parent: CBaseEntity
+            // Field count: 44
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bUpdateOnClient (bool)
+            // NetworkVarNames: m_nInputType (ValueRemapperInputType_t)
+            // NetworkVarNames: m_hRemapLineStart (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hRemapLineEnd (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_flMaximumChangePerSecond (float)
+            // NetworkVarNames: m_flDisengageDistance (float)
+            // NetworkVarNames: m_flEngageDistance (float)
+            // NetworkVarNames: m_bRequiresUseKey (bool)
+            // NetworkVarNames: m_nOutputType (ValueRemapperOutputType_t)
+            // NetworkVarNames: m_hOutputEntities (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nHapticsType (ValueRemapperHapticsType_t)
+            // NetworkVarNames: m_nMomentumType (ValueRemapperMomentumType_t)
+            // NetworkVarNames: m_flMomentumModifier (float)
+            // NetworkVarNames: m_flSnapValue (float)
+            // NetworkVarNames: m_nRatchetType (ValueRemapperRatchetType_t)
+            // NetworkVarNames: m_flInputOffset (float)
+            pub mod CPointValueRemapper {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_bUpdateOnClient: usize = 0x4E1; // bool
+                pub const m_nInputType: usize = 0x4E4; // ValueRemapperInputType_t
+                pub const m_iszRemapLineStartName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszRemapLineEndName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_hRemapLineStart: usize = 0x4F8; // CHandle<CBaseEntity>
+                pub const m_hRemapLineEnd: usize = 0x4FC; // CHandle<CBaseEntity>
+                pub const m_flMaximumChangePerSecond: usize = 0x500; // float32
+                pub const m_flDisengageDistance: usize = 0x504; // float32
+                pub const m_flEngageDistance: usize = 0x508; // float32
+                pub const m_bRequiresUseKey: usize = 0x50C; // bool
+                pub const m_nOutputType: usize = 0x510; // ValueRemapperOutputType_t
+                pub const m_iszOutputEntityName: usize = 0x518; // CUtlSymbolLarge
+                pub const m_iszOutputEntity2Name: usize = 0x520; // CUtlSymbolLarge
+                pub const m_iszOutputEntity3Name: usize = 0x528; // CUtlSymbolLarge
+                pub const m_iszOutputEntity4Name: usize = 0x530; // CUtlSymbolLarge
+                pub const m_hOutputEntities: usize = 0x538; // CNetworkUtlVectorBase<CHandle<CBaseEntity>>
+                pub const m_nHapticsType: usize = 0x550; // ValueRemapperHapticsType_t
+                pub const m_nMomentumType: usize = 0x554; // ValueRemapperMomentumType_t
+                pub const m_flMomentumModifier: usize = 0x558; // float32
+                pub const m_flSnapValue: usize = 0x55C; // float32
+                pub const m_flCurrentMomentum: usize = 0x560; // float32
+                pub const m_nRatchetType: usize = 0x564; // ValueRemapperRatchetType_t
+                pub const m_flRatchetOffset: usize = 0x568; // float32
+                pub const m_flInputOffset: usize = 0x56C; // float32
+                pub const m_bEngaged: usize = 0x570; // bool
+                pub const m_bFirstUpdate: usize = 0x571; // bool
+                pub const m_flPreviousValue: usize = 0x574; // float32
+                pub const m_flPreviousUpdateTickTime: usize = 0x578; // GameTime_t
+                pub const m_vecPreviousTestPoint: usize = 0x57C; // Vector
+                pub const m_hUsingPlayer: usize = 0x588; // CHandle<CBasePlayerPawn>
+                pub const m_flCustomOutputValue: usize = 0x58C; // float32
+                pub const m_iszSoundEngage: usize = 0x590; // CUtlSymbolLarge
+                pub const m_iszSoundDisengage: usize = 0x598; // CUtlSymbolLarge
+                pub const m_iszSoundReachedValueZero: usize = 0x5A0; // CUtlSymbolLarge
+                pub const m_iszSoundReachedValueOne: usize = 0x5A8; // CUtlSymbolLarge
+                pub const m_iszSoundMovingLoop: usize = 0x5B0; // CUtlSymbolLarge
+                pub const m_Position: usize = 0x5C0; // CEntityOutputTemplate<float32>
+                pub const m_PositionDelta: usize = 0x5E8; // CEntityOutputTemplate<float32>
+                pub const m_OnReachedValueZero: usize = 0x610; // CEntityIOOutput
+                pub const m_OnReachedValueOne: usize = 0x638; // CEntityIOOutput
+                pub const m_OnReachedValueCustom: usize = 0x660; // CEntityIOOutput
+                pub const m_OnEngage: usize = 0x688; // CEntityIOOutput
+                pub const m_OnDisengage: usize = 0x6B0; // CEntityIOOutput
+            }
+            // Parent: CLogicNPCCounter
+            // Field count: 4
+            pub mod CLogicNPCCounterAABB {
+                pub const m_vDistanceOuterMins: usize = 0x820; // Vector
+                pub const m_vDistanceOuterMaxs: usize = 0x82C; // Vector
+                pub const m_vOuterMins: usize = 0x838; // Vector
+                pub const m_vOuterMaxs: usize = 0x844; // Vector
+            }
+            // Parent: CEnvSoundscapeTriggerable
+            // Field count: 0
+            pub mod CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable {
+            }
+            // Parent: CLightEntity
+            // Field count: 0
+            pub mod CLightOrthoEntity {
+            }
+            // Parent: CSoundOpvarSetPointBase
+            // Field count: 24
+            pub mod CSoundOpvarSetPointEntity {
+                pub const m_OnEnter: usize = 0x578; // CEntityIOOutput
+                pub const m_OnExit: usize = 0x5A0; // CEntityIOOutput
+                pub const m_bAutoDisable: usize = 0x5C8; // bool
+                pub const m_flDistanceMin: usize = 0x60C; // float32
+                pub const m_flDistanceMax: usize = 0x610; // float32
+                pub const m_flDistanceMapMin: usize = 0x614; // float32
+                pub const m_flDistanceMapMax: usize = 0x618; // float32
+                pub const m_flOcclusionRadius: usize = 0x61C; // float32
+                pub const m_flOcclusionMin: usize = 0x620; // float32
+                pub const m_flOcclusionMax: usize = 0x624; // float32
+                pub const m_flValSetOnDisable: usize = 0x628; // float32
+                pub const m_bSetValueOnDisable: usize = 0x62C; // bool
+                pub const m_bReloading: usize = 0x62D; // bool
+                pub const m_nSimulationMode: usize = 0x630; // int32
+                pub const m_nVisibilitySamples: usize = 0x634; // int32
+                pub const m_vDynamicProxyPoint: usize = 0x638; // Vector
+                pub const m_flDynamicMaximumOcclusion: usize = 0x644; // float32
+                pub const m_hDynamicEntity: usize = 0x648; // CEntityHandle
+                pub const m_iszDynamicEntityName: usize = 0x650; // CUtlSymbolLarge
+                pub const m_flPathingDistanceNormFactor: usize = 0x658; // float32
+                pub const m_vPathingSourcePos: usize = 0x65C; // Vector
+                pub const m_vPathingListenerPos: usize = 0x668; // Vector
+                pub const m_vPathingDirection: usize = 0x674; // Vector
+                pub const m_nPathingSourceIndex: usize = 0x680; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_skyboxData (sky3dparams_t)
+            // NetworkVarNames: m_skyboxSlotToken (CUtlStringToken)
+            pub mod CSkyCamera {
+                pub const m_skyboxData: usize = 0x4E0; // sky3dparams_t
+                pub const m_skyboxSlotToken: usize = 0x570; // CUtlStringToken
+                pub const m_bUseAngles: usize = 0x574; // bool
+                pub const m_pNext: usize = 0x578; // CSkyCamera*
+            }
+            // Parent: CRulePointEntity
+            // Field count: 4
+            pub mod CGameMoney {
+                pub const m_OnMoneySpent: usize = 0x7A0; // CEntityIOOutput
+                pub const m_OnMoneySpentFail: usize = 0x7C8; // CEntityIOOutput
+                pub const m_nMoney: usize = 0x7F0; // int32
+                pub const m_strAwardText: usize = 0x7F8; // CUtlString
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            pub mod CLogicPlayerProxy {
+                pub const m_hPlayer: usize = 0x4E0; // CHandle<CBaseEntity>
+                pub const m_PlayerHasAmmo: usize = 0x4E8; // CEntityIOOutput
+                pub const m_PlayerHasNoAmmo: usize = 0x510; // CEntityIOOutput
+                pub const m_PlayerDied: usize = 0x538; // CEntityIOOutput
+                pub const m_RequestedPlayerHealth: usize = 0x560; // CEntityOutputTemplate<int32>
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_iObserverMode (uint8)
+            // NetworkVarNames: m_hObserverTarget (CHandle<CBaseEntity>)
+            pub mod CPlayer_ObserverServices {
+                pub const m_iObserverMode: usize = 0x40; // uint8
+                pub const m_hObserverTarget: usize = 0x44; // CHandle<CBaseEntity>
+                pub const m_iObserverLastMode: usize = 0x48; // ObserverMode_t
+                pub const m_bForcedObserverMode: usize = 0x4C; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            pub mod CPhysImpact {
+                pub const m_damage: usize = 0x4E0; // float32
+                pub const m_distance: usize = 0x4E4; // float32
+                pub const m_directionEntityName: usize = 0x4E8; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_Color (Color)
+            // NetworkVarNames: m_Entity_flBrightness (float)
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            pub mod CEnvCombinedLightProbeVolume {
+                pub const m_Entity_Color: usize = 0x1540; // Color
+                pub const m_Entity_flBrightness: usize = 0x1544; // float32
+                pub const m_Entity_hCubemapTexture: usize = 0x1548; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_bCustomCubemapTexture: usize = 0x1550; // bool
+                pub const m_Entity_hLightProbeTexture: usize = 0x1558; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightIndicesTexture: usize = 0x1560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightScalarsTexture: usize = 0x1568; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightShadowsTexture: usize = 0x1570; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_vBoxMins: usize = 0x1578; // Vector
+                pub const m_Entity_vBoxMaxs: usize = 0x1584; // Vector
+                pub const m_Entity_bMoveable: usize = 0x1590; // bool
+                pub const m_Entity_nHandshake: usize = 0x1594; // int32
+                pub const m_Entity_nEnvCubeMapArrayIndex: usize = 0x1598; // int32
+                pub const m_Entity_nPriority: usize = 0x159C; // int32
+                pub const m_Entity_bStartDisabled: usize = 0x15A0; // bool
+                pub const m_Entity_flEdgeFadeDist: usize = 0x15A4; // float32
+                pub const m_Entity_vEdgeFadeDists: usize = 0x15A8; // Vector
+                pub const m_Entity_nLightProbeSizeX: usize = 0x15B4; // int32
+                pub const m_Entity_nLightProbeSizeY: usize = 0x15B8; // int32
+                pub const m_Entity_nLightProbeSizeZ: usize = 0x15BC; // int32
+                pub const m_Entity_nLightProbeAtlasX: usize = 0x15C0; // int32
+                pub const m_Entity_nLightProbeAtlasY: usize = 0x15C4; // int32
+                pub const m_Entity_nLightProbeAtlasZ: usize = 0x15C8; // int32
+                pub const m_Entity_bEnabled: usize = 0x15E1; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_WaterServices {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponM249 {
+            }
+            // Parent: CParticleSystem
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flRadiusScale (float32)
+            // NetworkVarNames: m_flSelfIllumScale (float32)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_hTextureOverride (HRenderTextureStrong)
+            pub mod CEnvParticleGlow {
+                pub const m_flAlphaScale: usize = 0xD08; // float32
+                pub const m_flRadiusScale: usize = 0xD0C; // float32
+                pub const m_flSelfIllumScale: usize = 0xD10; // float32
+                pub const m_ColorTint: usize = 0xD14; // Color
+                pub const m_hTextureOverride: usize = 0xD18; // CStrongHandle<InfoForResourceTypeCTextureBase>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CFuncVehicleClip {
+            }
+            // Parent: CSoundAreaEntityBase
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            pub mod CSoundAreaEntitySphere {
+                pub const m_flRadius: usize = 0x500; // float32
+            }
+            // Parent: CFuncBrush
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_targetCamera (CUtlString)
+            // NetworkVarNames: m_nResolutionEnum (int)
+            // NetworkVarNames: m_bRenderShadows (bool)
+            // NetworkVarNames: m_bUseUniqueColorTarget (bool)
+            // NetworkVarNames: m_brushModelName (CUtlString)
+            // NetworkVarNames: m_hTargetCamera (EHANDLE)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bDraw3DSkybox (bool)
+            pub mod CFuncMonitor {
+                pub const m_targetCamera: usize = 0x7B0; // CUtlString
+                pub const m_nResolutionEnum: usize = 0x7B8; // int32
+                pub const m_bRenderShadows: usize = 0x7BC; // bool
+                pub const m_bUseUniqueColorTarget: usize = 0x7BD; // bool
+                pub const m_brushModelName: usize = 0x7C0; // CUtlString
+                pub const m_hTargetCamera: usize = 0x7C8; // CHandle<CBaseEntity>
+                pub const m_bEnabled: usize = 0x7CC; // bool
+                pub const m_bDraw3DSkybox: usize = 0x7CD; // bool
+                pub const m_bStartEnabled: usize = 0x7CE; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CEnvFunnel {
+            }
+            // Parent: None
+            // Field count: 6
+            pub mod SequenceHistory_t {
+                pub const m_hSequence: usize = 0x0; // HSequence
+                pub const m_flSeqStartTime: usize = 0x4; // GameTime_t
+                pub const m_flSeqFixedCycle: usize = 0x8; // float32
+                pub const m_nSeqLoopMode: usize = 0xC; // AnimLoopMode_t
+                pub const m_flPlaybackRate: usize = 0x10; // float32
+                pub const m_flCyclesPerSecond: usize = 0x14; // float32
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 0
+            pub mod CCSGameModeRules_Noop {
+            }
+            // Parent: CPointEntity
+            // Field count: 16
+            pub mod CPointAngularVelocitySensor {
+                pub const m_hTargetEntity: usize = 0x4E0; // CHandle<CBaseEntity>
+                pub const m_flThreshold: usize = 0x4E4; // float32
+                pub const m_nLastCompareResult: usize = 0x4E8; // int32
+                pub const m_nLastFireResult: usize = 0x4EC; // int32
+                pub const m_flFireTime: usize = 0x4F0; // GameTime_t
+                pub const m_flFireInterval: usize = 0x4F4; // float32
+                pub const m_flLastAngVelocity: usize = 0x4F8; // float32
+                pub const m_lastOrientation: usize = 0x4FC; // QAngle
+                pub const m_vecAxis: usize = 0x508; // Vector
+                pub const m_bUseHelper: usize = 0x514; // bool
+                pub const m_AngularVelocity: usize = 0x518; // CEntityOutputTemplate<float32>
+                pub const m_OnLessThan: usize = 0x540; // CEntityIOOutput
+                pub const m_OnLessThanOrEqualTo: usize = 0x568; // CEntityIOOutput
+                pub const m_OnGreaterThan: usize = 0x590; // CEntityIOOutput
+                pub const m_OnGreaterThanOrEqualTo: usize = 0x5B8; // CEntityIOOutput
+                pub const m_OnEqualTo: usize = 0x5E0; // CEntityIOOutput
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsIncGrenade (bool)
+            pub mod CMolotovProjectile {
+                pub const m_bIsIncGrenade: usize = 0xB50; // bool
+                pub const m_bDetonated: usize = 0xB5C; // bool
+                pub const m_stillTimer: usize = 0xB60; // IntervalTimer
+                pub const m_bHasBouncedOffPlayer: usize = 0xC40; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CHostageRescueZoneShim {
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CPointPulse {
+            }
+            // Parent: CPointEntity
+            // Field count: 24
+            pub mod CEnvInstructorHint {
+                pub const m_iszName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszReplace_Key: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszHintTargetEntity: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_iTimeout: usize = 0x4F8; // int32
+                pub const m_iDisplayLimit: usize = 0x4FC; // int32
+                pub const m_iszIcon_Onscreen: usize = 0x500; // CUtlSymbolLarge
+                pub const m_iszIcon_Offscreen: usize = 0x508; // CUtlSymbolLarge
+                pub const m_iszCaption: usize = 0x510; // CUtlSymbolLarge
+                pub const m_iszActivatorCaption: usize = 0x518; // CUtlSymbolLarge
+                pub const m_Color: usize = 0x520; // Color
+                pub const m_fIconOffset: usize = 0x524; // float32
+                pub const m_fRange: usize = 0x528; // float32
+                pub const m_iPulseOption: usize = 0x52C; // uint8
+                pub const m_iAlphaOption: usize = 0x52D; // uint8
+                pub const m_iShakeOption: usize = 0x52E; // uint8
+                pub const m_bStatic: usize = 0x52F; // bool
+                pub const m_bNoOffscreen: usize = 0x530; // bool
+                pub const m_bForceCaption: usize = 0x531; // bool
+                pub const m_iInstanceType: usize = 0x534; // int32
+                pub const m_bSuppressRest: usize = 0x538; // bool
+                pub const m_iszBinding: usize = 0x540; // CUtlSymbolLarge
+                pub const m_bAllowNoDrawTarget: usize = 0x548; // bool
+                pub const m_bAutoStart: usize = 0x549; // bool
+                pub const m_bLocalPlayerOnly: usize = 0x54A; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CEnvTracer {
+                pub const m_vecEnd: usize = 0x4E0; // Vector
+                pub const m_flDelay: usize = 0x4EC; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CInfoGameEventProxy {
+                pub const m_iszEventName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_flRange: usize = 0x4E8; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 26
+            //
+            // Metadata:
+            // NetworkVarNames: m_FOV (float)
+            // NetworkVarNames: m_Resolution (float)
+            // NetworkVarNames: m_bFogEnable (bool)
+            // NetworkVarNames: m_FogColor (Color)
+            // NetworkVarNames: m_flFogStart (float)
+            // NetworkVarNames: m_flFogEnd (float)
+            // NetworkVarNames: m_flFogMaxDensity (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bUseScreenAspectRatio (bool)
+            // NetworkVarNames: m_flAspectRatio (float)
+            // NetworkVarNames: m_bNoSky (bool)
+            // NetworkVarNames: m_fBrightness (float)
+            // NetworkVarNames: m_flZFar (float)
+            // NetworkVarNames: m_flZNear (float)
+            // NetworkVarNames: m_bCanHLTVUse (bool)
+            // NetworkVarNames: m_bAlignWithParent (bool)
+            // NetworkVarNames: m_bDofEnabled (bool)
+            // NetworkVarNames: m_flDofNearBlurry (float)
+            // NetworkVarNames: m_flDofNearCrisp (float)
+            // NetworkVarNames: m_flDofFarCrisp (float)
+            // NetworkVarNames: m_flDofFarBlurry (float)
+            // NetworkVarNames: m_flDofTiltToGround (float)
+            pub mod CPointCamera {
+                pub const m_FOV: usize = 0x4E0; // float32
+                pub const m_Resolution: usize = 0x4E4; // float32
+                pub const m_bFogEnable: usize = 0x4E8; // bool
+                pub const m_FogColor: usize = 0x4E9; // Color
+                pub const m_flFogStart: usize = 0x4F0; // float32
+                pub const m_flFogEnd: usize = 0x4F4; // float32
+                pub const m_flFogMaxDensity: usize = 0x4F8; // float32
+                pub const m_bActive: usize = 0x4FC; // bool
+                pub const m_bUseScreenAspectRatio: usize = 0x4FD; // bool
+                pub const m_flAspectRatio: usize = 0x500; // float32
+                pub const m_bNoSky: usize = 0x504; // bool
+                pub const m_fBrightness: usize = 0x508; // float32
+                pub const m_flZFar: usize = 0x50C; // float32
+                pub const m_flZNear: usize = 0x510; // float32
+                pub const m_bCanHLTVUse: usize = 0x514; // bool
+                pub const m_bAlignWithParent: usize = 0x515; // bool
+                pub const m_bDofEnabled: usize = 0x516; // bool
+                pub const m_flDofNearBlurry: usize = 0x518; // float32
+                pub const m_flDofNearCrisp: usize = 0x51C; // float32
+                pub const m_flDofFarCrisp: usize = 0x520; // float32
+                pub const m_flDofFarBlurry: usize = 0x524; // float32
+                pub const m_flDofTiltToGround: usize = 0x528; // float32
+                pub const m_TargetFOV: usize = 0x52C; // float32
+                pub const m_DegreesPerSecond: usize = 0x530; // float32
+                pub const m_bIsOn: usize = 0x534; // bool
+                pub const m_pNext: usize = 0x538; // CPointCamera*
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_hModel (HModelStrong)
+            // NetworkVarNames: m_bClientClothCreationSuppressed (bool)
+            // NetworkVarNames: m_MeshGroupMask (MeshGroupMask_t)
+            // NetworkVarNames: m_nIdealMotionType (int8)
+            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 = 0x198; // uint64
+                pub const m_nIdealMotionType: usize = 0x21A; // int8
+                pub const m_nForceLOD: usize = 0x21B; // int8
+                pub const m_nClothUpdateFlags: usize = 0x21C; // int8
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecLadderDir (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionTop (Vector)
+            // NetworkVarNames: m_vecPlayerMountPositionBottom (Vector)
+            // NetworkVarNames: m_flAutoRideSpeed (float)
+            // NetworkVarNames: m_bFakeLadder (bool)
+            pub mod CFuncLadder {
+                pub const m_vecLadderDir: usize = 0x790; // Vector
+                pub const m_Dismounts: usize = 0x7A0; // CUtlVector<CHandle<CInfoLadderDismount>>
+                pub const m_vecLocalTop: usize = 0x7B8; // Vector
+                pub const m_vecPlayerMountPositionTop: usize = 0x7C4; // Vector
+                pub const m_vecPlayerMountPositionBottom: usize = 0x7D0; // Vector
+                pub const m_flAutoRideSpeed: usize = 0x7DC; // float32
+                pub const m_bDisabled: usize = 0x7E0; // bool
+                pub const m_bFakeLadder: usize = 0x7E1; // bool
+                pub const m_bHasSlack: usize = 0x7E2; // bool
+                pub const m_surfacePropName: usize = 0x7E8; // CUtlSymbolLarge
+                pub const m_OnPlayerGotOnLadder: usize = 0x7F0; // CEntityIOOutput
+                pub const m_OnPlayerGotOffLadder: usize = 0x818; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 8
+            pub mod CPathKeyFrame {
+                pub const m_Origin: usize = 0x4E0; // Vector
+                pub const m_Angles: usize = 0x4EC; // QAngle
+                pub const m_qAngle: usize = 0x500; // Quaternion
+                pub const m_iNextKey: usize = 0x510; // CUtlSymbolLarge
+                pub const m_flNextTime: usize = 0x518; // float32
+                pub const m_pNextKey: usize = 0x520; // CPathKeyFrame*
+                pub const m_pPrevKey: usize = 0x528; // CPathKeyFrame*
+                pub const m_flMoveSpeed: usize = 0x530; // float32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 3
+            pub mod CFuncInteractionLayerClip {
+                pub const m_bDisabled: usize = 0x790; // bool
+                pub const m_iszInteractsAs: usize = 0x798; // CUtlSymbolLarge
+                pub const m_iszInteractsWith: usize = 0x7A0; // CUtlSymbolLarge
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Attributes (CEconItemAttribute)
+            pub mod CAttributeList {
+                pub const m_Attributes: usize = 0x8; // CUtlVectorEmbeddedNetworkVar<CEconItemAttribute>
+                pub const m_pManager: usize = 0x58; // CAttributeManager*
+            }
+            // Parent: CGameRules
+            // Field count: 0
+            pub mod CMultiplayRules {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponRevolver {
+            }
+            // Parent: CDynamicProp
+            // Field count: 1
+            pub mod COrnamentProp {
+                pub const m_initialOwner: usize = 0xC58; // CUtlSymbolLarge
+            }
+            // Parent: CLogicalEntity
+            // Field count: 1
+            pub mod CLogicGameEvent {
+                pub const m_iszEventName: usize = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 2
+            pub mod CEnvMuzzleFlash {
+                pub const m_flScale: usize = 0x4E0; // float32
+                pub const m_iszParentAttachment: usize = 0x4E8; // CUtlSymbolLarge
+            }
+            // Parent: CModelPointEntity
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_nUniqueID (int)
+            // NetworkVarNames: m_unAccountID (uint32)
+            // NetworkVarNames: m_unTraceID (uint32)
+            // NetworkVarNames: m_rtGcTime (uint32)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            // NetworkVarNames: m_vecStart (Vector)
+            // NetworkVarNames: m_vecLeft (Vector)
+            // NetworkVarNames: m_vecNormal (Vector)
+            // NetworkVarNames: m_nPlayer (int)
+            // NetworkVarNames: m_nEntity (int)
+            // NetworkVarNames: m_nHitbox (int)
+            // NetworkVarNames: m_flCreationTime (float)
+            // NetworkVarNames: m_nTintID (int)
+            // NetworkVarNames: m_nVersion (uint8)
+            // NetworkVarNames: m_ubSignature (uint8)
+            pub mod CPlayerSprayDecal {
+                pub const m_nUniqueID: usize = 0x790; // int32
+                pub const m_unAccountID: usize = 0x794; // uint32
+                pub const m_unTraceID: usize = 0x798; // uint32
+                pub const m_rtGcTime: usize = 0x79C; // uint32
+                pub const m_vecEndPos: usize = 0x7A0; // Vector
+                pub const m_vecStart: usize = 0x7AC; // Vector
+                pub const m_vecLeft: usize = 0x7B8; // Vector
+                pub const m_vecNormal: usize = 0x7C4; // Vector
+                pub const m_nPlayer: usize = 0x7D0; // int32
+                pub const m_nEntity: usize = 0x7D4; // int32
+                pub const m_nHitbox: usize = 0x7D8; // int32
+                pub const m_flCreationTime: usize = 0x7DC; // float32
+                pub const m_nTintID: usize = 0x7E0; // int32
+                pub const m_nVersion: usize = 0x7E4; // uint8
+                pub const m_ubSignature: usize = 0x7E5; // uint8[128]
+            }
+            // Parent: CBaseTrigger
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombPlantedHere (bool)
+            pub mod CBombTarget {
+                pub const m_OnBombExplode: usize = 0x960; // CEntityIOOutput
+                pub const m_OnBombPlanted: usize = 0x988; // CEntityIOOutput
+                pub const m_OnBombDefused: usize = 0x9B0; // CEntityIOOutput
+                pub const m_bIsBombSiteB: usize = 0x9D8; // bool
+                pub const m_bIsHeistBombTarget: usize = 0x9D9; // bool
+                pub const m_bBombPlantedHere: usize = 0x9DA; // bool
+                pub const m_szMountTarget: usize = 0x9E0; // CUtlSymbolLarge
+                pub const m_hInstructorHint: usize = 0x9E8; // CHandle<CBaseEntity>
+                pub const m_nBombSiteDesignation: usize = 0x9EC; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            pub mod CPhysicsSpring {
+                pub const m_flFrequency: usize = 0x4E8; // float32
+                pub const m_flDampingRatio: usize = 0x4EC; // float32
+                pub const m_flRestLength: usize = 0x4F0; // float32
+                pub const m_nameAttachStart: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_nameAttachEnd: usize = 0x500; // CUtlSymbolLarge
+                pub const m_start: usize = 0x508; // Vector
+                pub const m_end: usize = 0x514; // Vector
+                pub const m_teleportTick: usize = 0x520; // uint32
+            }
+            // Parent: CBaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hLightProbeTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightIndicesTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightScalarsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_hLightProbeDirectLightShadowsTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_vBoxMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_nLightProbeSizeX (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeY (int)
+            // NetworkVarNames: m_Entity_nLightProbeSizeZ (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasX (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasY (int)
+            // NetworkVarNames: m_Entity_nLightProbeAtlasZ (int)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            pub mod CEnvLightProbeVolume {
+                pub const m_Entity_hLightProbeTexture: usize = 0x14C0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightIndicesTexture: usize = 0x14C8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightScalarsTexture: usize = 0x14D0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_hLightProbeDirectLightShadowsTexture: usize = 0x14D8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_vBoxMins: usize = 0x14E0; // Vector
+                pub const m_Entity_vBoxMaxs: usize = 0x14EC; // Vector
+                pub const m_Entity_bMoveable: usize = 0x14F8; // bool
+                pub const m_Entity_nHandshake: usize = 0x14FC; // int32
+                pub const m_Entity_nPriority: usize = 0x1500; // int32
+                pub const m_Entity_bStartDisabled: usize = 0x1504; // bool
+                pub const m_Entity_nLightProbeSizeX: usize = 0x1508; // int32
+                pub const m_Entity_nLightProbeSizeY: usize = 0x150C; // int32
+                pub const m_Entity_nLightProbeSizeZ: usize = 0x1510; // int32
+                pub const m_Entity_nLightProbeAtlasX: usize = 0x1514; // int32
+                pub const m_Entity_nLightProbeAtlasY: usize = 0x1518; // int32
+                pub const m_Entity_nLightProbeAtlasZ: usize = 0x151C; // int32
+                pub const m_Entity_bEnabled: usize = 0x1529; // bool
+            }
+            // Parent: CCSGameModeRules
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_WeaponSequence (CUtlString)
+            pub mod CCSGameModeRules_ArmsRace {
+                pub const m_WeaponSequence: usize = 0x30; // CNetworkUtlVectorBase<CUtlString>
+            }
+            // Parent: CTriggerPush
+            // Field count: 1
+            pub mod CScriptTriggerPush {
+                pub const m_vExtent: usize = 0x998; // Vector
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            pub mod CEnvEntityIgniter {
+                pub const m_flLifetime: usize = 0x4E0; // float32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CFuncWall {
+                pub const m_nState: usize = 0x790; // int32
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            pub mod CPointChildModifier {
+                pub const m_bOrphanInsteadOfDeletingChildrenOnRemove: usize = 0x4E0; // bool
+            }
+            // Parent: None
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_PlayerDamager (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_PlayerRecipient (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hPlayerControllerDamager (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_hPlayerControllerRecipient (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_szPlayerDamagerName (CUtlString)
+            // NetworkVarNames: m_szPlayerRecipientName (CUtlString)
+            // NetworkVarNames: m_DamagerXuid (uint64)
+            // NetworkVarNames: m_RecipientXuid (uint64)
+            // NetworkVarNames: m_iDamage (int)
+            // NetworkVarNames: m_iActualHealthRemoved (int)
+            // NetworkVarNames: m_iNumHits (int)
+            // NetworkVarNames: m_iLastBulletUpdate (int)
+            // NetworkVarNames: m_bIsOtherEnemy (bool)
+            // NetworkVarNames: m_killType (EKillTypes_t)
+            pub mod CDamageRecord {
+                pub const m_PlayerDamager: usize = 0x28; // CHandle<CCSPlayerPawn>
+                pub const m_PlayerRecipient: usize = 0x2C; // CHandle<CCSPlayerPawn>
+                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
+                pub const m_RecipientXuid: usize = 0x50; // uint64
+                pub const m_iBulletsDamage: usize = 0x58; // int32
+                pub const m_iDamage: usize = 0x5C; // int32
+                pub const m_iActualHealthRemoved: usize = 0x60; // int32
+                pub const m_iNumHits: usize = 0x64; // int32
+                pub const m_iLastBulletUpdate: usize = 0x68; // int32
+                pub const m_bIsOtherEnemy: usize = 0x6C; // bool
+                pub const m_killType: usize = 0x6D; // EKillTypes_t
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            pub mod CLogicAutosave {
+                pub const m_bForceNewLevelUnit: usize = 0x4E0; // bool
+                pub const m_minHitPoints: usize = 0x4E4; // int32
+                pub const m_minHitPointsToCommit: usize = 0x4E8; // int32
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSendUpdate (int)
+            // NetworkVarNames: m_DamageList (CDamageRecord)
+            pub mod CCSPlayerController_DamageServices {
+                pub const m_nSendUpdate: usize = 0x40; // int32
+                pub const m_DamageList: usize = 0x48; // CUtlVectorEmbeddedNetworkVar<CDamageRecord>
+            }
+            // Parent: CEntityComponent
+            // Field count: 5
+            pub mod CRenderComponent {
+                pub const __m_pChainEntity: usize = 0x10; // CNetworkVarChainer
+                pub const m_bIsRenderingWithViewModels: usize = 0x50; // bool
+                pub const m_nSplitscreenFlags: usize = 0x54; // uint32
+                pub const m_bEnableRendering: usize = 0x60; // bool
+                pub const m_bInterpolationReadyToDraw: usize = 0xB0; // bool
+            }
+            // Parent: CEnvSoundscape
+            // Field count: 1
+            pub mod CEnvSoundscapeProxy {
+                pub const m_MainSoundscapeName: usize = 0x580; // CUtlSymbolLarge
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecCornerPairsNetworked (SoundeventPathCornerPairNetworked_t)
+            pub mod CSoundEventPathCornerEntity {
+                pub const m_iszPathCorner: usize = 0x598; // CUtlSymbolLarge
+                pub const m_iCountMax: usize = 0x5A0; // int32
+                pub const m_flDistanceMax: usize = 0x5A4; // float32
+                pub const m_flDistMaxSqr: usize = 0x5A8; // float32
+                pub const m_flDotProductMax: usize = 0x5AC; // float32
+                pub const m_bPlaying: usize = 0x5B0; // bool
+                pub const m_vecCornerPairsNetworked: usize = 0x5D8; // CNetworkUtlVectorBase<SoundeventPathCornerPairNetworked_t>
+            }
+            // Parent: CEntityComponent
+            // Field count: 67
+            //
+            // Metadata:
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_SecondaryColor (Color)
+            // NetworkVarNames: m_flBrightness (float)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_flBrightnessMult (float)
+            // NetworkVarNames: m_flRange (float)
+            // NetworkVarNames: m_flFalloff (float)
+            // NetworkVarNames: m_flAttenuation0 (float)
+            // NetworkVarNames: m_flAttenuation1 (float)
+            // NetworkVarNames: m_flAttenuation2 (float)
+            // NetworkVarNames: m_flTheta (float)
+            // NetworkVarNames: m_flPhi (float)
+            // NetworkVarNames: m_hLightCookie (HRenderTextureStrong)
+            // NetworkVarNames: m_nCascades (int)
+            // NetworkVarNames: m_nCastShadows (int)
+            // NetworkVarNames: m_nShadowWidth (int)
+            // NetworkVarNames: m_nShadowHeight (int)
+            // NetworkVarNames: m_bRenderDiffuse (bool)
+            // NetworkVarNames: m_nRenderSpecular (int)
+            // NetworkVarNames: m_bRenderTransmissive (bool)
+            // NetworkVarNames: m_flOrthoLightWidth (float)
+            // NetworkVarNames: m_flOrthoLightHeight (float)
+            // NetworkVarNames: m_nStyle (int)
+            // NetworkVarNames: m_Pattern (CUtlString)
+            // NetworkVarNames: m_nCascadeRenderStaticObjects (int)
+            // NetworkVarNames: m_flShadowCascadeCrossFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistanceFade (float)
+            // NetworkVarNames: m_flShadowCascadeDistance0 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance1 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance2 (float)
+            // NetworkVarNames: m_flShadowCascadeDistance3 (float)
+            // NetworkVarNames: m_nShadowCascadeResolution0 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution1 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution2 (int)
+            // NetworkVarNames: m_nShadowCascadeResolution3 (int)
+            // NetworkVarNames: m_bUsesBakedShadowing (bool)
+            // NetworkVarNames: m_nShadowPriority (int)
+            // NetworkVarNames: m_nBakedShadowIndex (int)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_nDirectLight (int)
+            // NetworkVarNames: m_nIndirectLight (int)
+            // NetworkVarNames: m_flFadeMinDist (float)
+            // NetworkVarNames: m_flFadeMaxDist (float)
+            // NetworkVarNames: m_flShadowFadeMinDist (float)
+            // NetworkVarNames: m_flShadowFadeMaxDist (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFlicker (bool)
+            // NetworkVarNames: m_bPrecomputedFieldsValid (bool)
+            // NetworkVarNames: m_vPrecomputedBoundsMins (Vector)
+            // NetworkVarNames: m_vPrecomputedBoundsMaxs (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBOrigin (Vector)
+            // NetworkVarNames: m_vPrecomputedOBBAngles (QAngle)
+            // NetworkVarNames: m_vPrecomputedOBBExtent (Vector)
+            // NetworkVarNames: m_flPrecomputedMaxRange (float)
+            // NetworkVarNames: m_nFogLightingMode (int)
+            // NetworkVarNames: m_flFogContributionStength (float)
+            // NetworkVarNames: m_flNearClipPlane (float)
+            // NetworkVarNames: m_SkyColor (Color)
+            // NetworkVarNames: m_flSkyIntensity (float)
+            // NetworkVarNames: m_SkyAmbientBounce (Color)
+            // NetworkVarNames: m_bUseSecondaryColor (bool)
+            // NetworkVarNames: m_bMixedShadows (bool)
+            // NetworkVarNames: m_flLightStyleStartTime (GameTime_t)
+            // NetworkVarNames: m_flCapsuleLength (float)
+            // NetworkVarNames: m_flMinRoughness (float)
+            pub mod CLightComponent {
+                pub const __m_pChainEntity: usize = 0x38; // CNetworkVarChainer
+                pub const m_Color: usize = 0x75; // Color
+                pub const m_SecondaryColor: usize = 0x79; // Color
+                pub const m_flBrightness: usize = 0x80; // float32
+                pub const m_flBrightnessScale: usize = 0x84; // float32
+                pub const m_flBrightnessMult: usize = 0x88; // float32
+                pub const m_flRange: usize = 0x8C; // float32
+                pub const m_flFalloff: usize = 0x90; // float32
+                pub const m_flAttenuation0: usize = 0x94; // float32
+                pub const m_flAttenuation1: usize = 0x98; // float32
+                pub const m_flAttenuation2: usize = 0x9C; // float32
+                pub const m_flTheta: usize = 0xA0; // float32
+                pub const m_flPhi: usize = 0xA4; // float32
+                pub const m_hLightCookie: usize = 0xA8; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_nCascades: usize = 0xB0; // int32
+                pub const m_nCastShadows: usize = 0xB4; // int32
+                pub const m_nShadowWidth: usize = 0xB8; // int32
+                pub const m_nShadowHeight: usize = 0xBC; // int32
+                pub const m_bRenderDiffuse: usize = 0xC0; // bool
+                pub const m_nRenderSpecular: usize = 0xC4; // int32
+                pub const m_bRenderTransmissive: usize = 0xC8; // bool
+                pub const m_flOrthoLightWidth: usize = 0xCC; // float32
+                pub const m_flOrthoLightHeight: usize = 0xD0; // float32
+                pub const m_nStyle: usize = 0xD4; // int32
+                pub const m_Pattern: usize = 0xD8; // CUtlString
+                pub const m_nCascadeRenderStaticObjects: usize = 0xE0; // int32
+                pub const m_flShadowCascadeCrossFade: usize = 0xE4; // float32
+                pub const m_flShadowCascadeDistanceFade: usize = 0xE8; // float32
+                pub const m_flShadowCascadeDistance0: usize = 0xEC; // float32
+                pub const m_flShadowCascadeDistance1: usize = 0xF0; // float32
+                pub const m_flShadowCascadeDistance2: usize = 0xF4; // float32
+                pub const m_flShadowCascadeDistance3: usize = 0xF8; // float32
+                pub const m_nShadowCascadeResolution0: usize = 0xFC; // int32
+                pub const m_nShadowCascadeResolution1: usize = 0x100; // int32
+                pub const m_nShadowCascadeResolution2: usize = 0x104; // int32
+                pub const m_nShadowCascadeResolution3: usize = 0x108; // int32
+                pub const m_bUsesBakedShadowing: usize = 0x10C; // bool
+                pub const m_nShadowPriority: usize = 0x110; // int32
+                pub const m_nBakedShadowIndex: usize = 0x114; // int32
+                pub const m_bRenderToCubemaps: usize = 0x118; // bool
+                pub const m_nDirectLight: usize = 0x11C; // int32
+                pub const m_nIndirectLight: usize = 0x120; // int32
+                pub const m_flFadeMinDist: usize = 0x124; // float32
+                pub const m_flFadeMaxDist: usize = 0x128; // float32
+                pub const m_flShadowFadeMinDist: usize = 0x12C; // float32
+                pub const m_flShadowFadeMaxDist: usize = 0x130; // float32
+                pub const m_bEnabled: usize = 0x134; // bool
+                pub const m_bFlicker: usize = 0x135; // bool
+                pub const m_bPrecomputedFieldsValid: usize = 0x136; // bool
+                pub const m_vPrecomputedBoundsMins: usize = 0x138; // Vector
+                pub const m_vPrecomputedBoundsMaxs: usize = 0x144; // Vector
+                pub const m_vPrecomputedOBBOrigin: usize = 0x150; // Vector
+                pub const m_vPrecomputedOBBAngles: usize = 0x15C; // QAngle
+                pub const m_vPrecomputedOBBExtent: usize = 0x168; // Vector
+                pub const m_flPrecomputedMaxRange: usize = 0x174; // float32
+                pub const m_nFogLightingMode: usize = 0x178; // int32
+                pub const m_flFogContributionStength: usize = 0x17C; // float32
+                pub const m_flNearClipPlane: usize = 0x180; // float32
+                pub const m_SkyColor: usize = 0x184; // Color
+                pub const m_flSkyIntensity: usize = 0x188; // float32
+                pub const m_SkyAmbientBounce: usize = 0x18C; // Color
+                pub const m_bUseSecondaryColor: usize = 0x190; // bool
+                pub const m_bMixedShadows: usize = 0x191; // bool
+                pub const m_flLightStyleStartTime: usize = 0x194; // GameTime_t
+                pub const m_flCapsuleLength: usize = 0x198; // float32
+                pub const m_flMinRoughness: usize = 0x19C; // float32
+                pub const m_bPvsModifyEntity: usize = 0x1B0; // bool
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_nSmokeEffectTickBegin (int)
+            // NetworkVarNames: m_bDidSmokeEffect (bool)
+            // NetworkVarNames: m_nRandomSeed (int)
+            // NetworkVarNames: m_vSmokeColor (Vector)
+            // NetworkVarNames: m_vSmokeDetonationPos (Vector)
+            // NetworkVarNames: m_VoxelFrameData (uint8)
+            // NetworkVarNames: m_nVoxelFrameDataSize (int)
+            // NetworkVarNames: m_nVoxelUpdate (int)
+            pub mod CSmokeGrenadeProjectile {
+                pub const m_nSmokeEffectTickBegin: usize = 0xB68; // int32
+                pub const m_bDidSmokeEffect: usize = 0xB6C; // bool
+                pub const m_nRandomSeed: usize = 0xB70; // int32
+                pub const m_vSmokeColor: usize = 0xB74; // Vector
+                pub const m_vSmokeDetonationPos: usize = 0xB80; // Vector
+                pub const m_VoxelFrameData: usize = 0xB90; // CNetworkUtlVectorBase<uint8>
+                pub const m_nVoxelFrameDataSize: usize = 0xBA8; // int32
+                pub const m_nVoxelUpdate: usize = 0xBAC; // int32
+                pub const m_flLastBounce: usize = 0xBB0; // GameTime_t
+                pub const m_fllastSimulationTime: usize = 0xBB4; // GameTime_t
+                pub const m_bExplodeFromInferno: usize = 0x2E38; // bool
+            }
+            // Parent: CTriggerMultiple
+            // Field count: 1
+            pub mod CScriptTriggerMultiple {
+                pub const m_vExtent: usize = 0x988; // Vector
+            }
+            // Parent: CSoundOpvarSetPointEntity
+            // Field count: 5
+            pub mod CSoundOpvarSetAutoRoomEntity {
+                pub const m_traceResults: usize = 0x688; // CUtlVector<SoundOpvarTraceResult_t>
+                pub const m_doorwayPairs: usize = 0x6A0; // CUtlVector<AutoRoomDoorwayPairs_t>
+                pub const m_flSize: usize = 0x6B8; // float32
+                pub const m_flHeightTolerance: usize = 0x6BC; // float32
+                pub const m_flSizeSqr: usize = 0x6C0; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod CEntityComponent {
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod FilterDamageType {
+                pub const m_iDamageType: usize = 0x538; // int32
+            }
+            // Parent: CBot
+            // Field count: 139
+            pub mod CCSBot {
+                pub const m_eyePosition: usize = 0x108; // Vector
+                pub const m_name: usize = 0x114; // char[64]
+                pub const m_combatRange: usize = 0x154; // float32
+                pub const m_isRogue: usize = 0x158; // bool
+                pub const m_rogueTimer: usize = 0x160; // CountdownTimer
+                pub const m_diedLastRound: usize = 0x17C; // bool
+                pub const m_safeTime: usize = 0x180; // float32
+                pub const m_wasSafe: usize = 0x184; // bool
+                pub const m_blindFire: usize = 0x18C; // bool
+                pub const m_surpriseTimer: usize = 0x190; // CountdownTimer
+                pub const m_bAllowActive: usize = 0x1A8; // bool
+                pub const m_isFollowing: usize = 0x1A9; // bool
+                pub const m_leader: usize = 0x1AC; // CHandle<CCSPlayerPawn>
+                pub const m_followTimestamp: usize = 0x1B0; // float32
+                pub const m_allowAutoFollowTime: usize = 0x1B4; // float32
+                pub const m_hurryTimer: usize = 0x1B8; // CountdownTimer
+                pub const m_alertTimer: usize = 0x1D0; // CountdownTimer
+                pub const m_sneakTimer: usize = 0x1E8; // CountdownTimer
+                pub const m_panicTimer: usize = 0x200; // CountdownTimer
+                pub const m_stateTimestamp: usize = 0x4D0; // float32
+                pub const m_isAttacking: usize = 0x4D4; // bool
+                pub const m_isOpeningDoor: usize = 0x4D5; // bool
+                pub const m_taskEntity: usize = 0x4DC; // CHandle<CBaseEntity>
+                pub const m_goalPosition: usize = 0x4EC; // Vector
+                pub const m_goalEntity: usize = 0x4F8; // CHandle<CBaseEntity>
+                pub const m_avoid: usize = 0x4FC; // CHandle<CBaseEntity>
+                pub const m_avoidTimestamp: usize = 0x500; // float32
+                pub const m_isStopping: usize = 0x504; // bool
+                pub const m_hasVisitedEnemySpawn: usize = 0x505; // bool
+                pub const m_stillTimer: usize = 0x508; // IntervalTimer
+                pub const m_bEyeAnglesUnderPathFinderControl: usize = 0x518; // bool
+                pub const m_pathIndex: usize = 0x5610; // int32
+                pub const m_areaEnteredTimestamp: usize = 0x5614; // GameTime_t
+                pub const m_repathTimer: usize = 0x5618; // CountdownTimer
+                pub const m_avoidFriendTimer: usize = 0x5630; // CountdownTimer
+                pub const m_isFriendInTheWay: usize = 0x5648; // bool
+                pub const m_politeTimer: usize = 0x5650; // CountdownTimer
+                pub const m_isWaitingBehindFriend: usize = 0x5668; // bool
+                pub const m_pathLadderEnd: usize = 0x5694; // float32
+                pub const m_mustRunTimer: usize = 0x56E0; // CountdownTimer
+                pub const m_waitTimer: usize = 0x56F8; // CountdownTimer
+                pub const m_updateTravelDistanceTimer: usize = 0x5710; // CountdownTimer
+                pub const m_playerTravelDistance: usize = 0x5728; // float32[64]
+                pub const m_travelDistancePhase: usize = 0x5828; // uint8
+                pub const m_hostageEscortCount: usize = 0x59C0; // uint8
+                pub const m_hostageEscortCountTimestamp: usize = 0x59C4; // float32
+                pub const m_desiredTeam: usize = 0x59C8; // int32
+                pub const m_hasJoined: usize = 0x59CC; // bool
+                pub const m_isWaitingForHostage: usize = 0x59CD; // bool
+                pub const m_inhibitWaitingForHostageTimer: usize = 0x59D0; // CountdownTimer
+                pub const m_waitForHostageTimer: usize = 0x59E8; // CountdownTimer
+                pub const m_noisePosition: usize = 0x5A00; // Vector
+                pub const m_noiseTravelDistance: usize = 0x5A0C; // float32
+                pub const m_noiseTimestamp: usize = 0x5A10; // float32
+                pub const m_noiseSource: usize = 0x5A18; // CCSPlayerPawn*
+                pub const m_noiseBendTimer: usize = 0x5A30; // CountdownTimer
+                pub const m_bentNoisePosition: usize = 0x5A48; // Vector
+                pub const m_bendNoisePositionValid: usize = 0x5A54; // bool
+                pub const m_lookAroundStateTimestamp: usize = 0x5A58; // float32
+                pub const m_lookAheadAngle: usize = 0x5A5C; // float32
+                pub const m_forwardAngle: usize = 0x5A60; // float32
+                pub const m_inhibitLookAroundTimestamp: usize = 0x5A64; // float32
+                pub const m_lookAtSpot: usize = 0x5A6C; // Vector
+                pub const m_lookAtSpotDuration: usize = 0x5A7C; // float32
+                pub const m_lookAtSpotTimestamp: usize = 0x5A80; // float32
+                pub const m_lookAtSpotAngleTolerance: usize = 0x5A84; // float32
+                pub const m_lookAtSpotClearIfClose: usize = 0x5A88; // bool
+                pub const m_lookAtSpotAttack: usize = 0x5A89; // bool
+                pub const m_lookAtDesc: usize = 0x5A90; // char*
+                pub const m_peripheralTimestamp: usize = 0x5A98; // float32
+                pub const m_approachPointCount: usize = 0x5C20; // uint8
+                pub const m_approachPointViewPosition: usize = 0x5C24; // Vector
+                pub const m_viewSteadyTimer: usize = 0x5C30; // IntervalTimer
+                pub const m_tossGrenadeTimer: usize = 0x5C48; // CountdownTimer
+                pub const m_isAvoidingGrenade: usize = 0x5C68; // CountdownTimer
+                pub const m_spotCheckTimestamp: usize = 0x5C88; // float32
+                pub const m_checkedHidingSpotCount: usize = 0x6090; // int32
+                pub const m_lookPitch: usize = 0x6094; // float32
+                pub const m_lookPitchVel: usize = 0x6098; // float32
+                pub const m_lookYaw: usize = 0x609C; // float32
+                pub const m_lookYawVel: usize = 0x60A0; // float32
+                pub const m_targetSpot: usize = 0x60A4; // Vector
+                pub const m_targetSpotVelocity: usize = 0x60B0; // Vector
+                pub const m_targetSpotPredicted: usize = 0x60BC; // Vector
+                pub const m_aimError: usize = 0x60C8; // QAngle
+                pub const m_aimGoal: usize = 0x60D4; // QAngle
+                pub const m_targetSpotTime: usize = 0x60E0; // GameTime_t
+                pub const m_aimFocus: usize = 0x60E4; // float32
+                pub const m_aimFocusInterval: usize = 0x60E8; // float32
+                pub const m_aimFocusNextUpdate: usize = 0x60EC; // GameTime_t
+                pub const m_ignoreEnemiesTimer: usize = 0x60F8; // CountdownTimer
+                pub const m_enemy: usize = 0x6110; // CHandle<CCSPlayerPawn>
+                pub const m_isEnemyVisible: usize = 0x6114; // bool
+                pub const m_visibleEnemyParts: usize = 0x6115; // uint8
+                pub const m_lastEnemyPosition: usize = 0x6118; // Vector
+                pub const m_lastSawEnemyTimestamp: usize = 0x6124; // float32
+                pub const m_firstSawEnemyTimestamp: usize = 0x6128; // float32
+                pub const m_currentEnemyAcquireTimestamp: usize = 0x612C; // float32
+                pub const m_enemyDeathTimestamp: usize = 0x6130; // float32
+                pub const m_friendDeathTimestamp: usize = 0x6134; // float32
+                pub const m_isLastEnemyDead: usize = 0x6138; // bool
+                pub const m_nearbyEnemyCount: usize = 0x613C; // int32
+                pub const m_bomber: usize = 0x6348; // CHandle<CCSPlayerPawn>
+                pub const m_nearbyFriendCount: usize = 0x634C; // int32
+                pub const m_closestVisibleFriend: usize = 0x6350; // CHandle<CCSPlayerPawn>
+                pub const m_closestVisibleHumanFriend: usize = 0x6354; // CHandle<CCSPlayerPawn>
+                pub const m_attentionInterval: usize = 0x6358; // IntervalTimer
+                pub const m_attacker: usize = 0x6368; // CHandle<CCSPlayerPawn>
+                pub const m_attackedTimestamp: usize = 0x636C; // float32
+                pub const m_burnedByFlamesTimer: usize = 0x6370; // IntervalTimer
+                pub const m_lastVictimID: usize = 0x6380; // int32
+                pub const m_isAimingAtEnemy: usize = 0x6384; // bool
+                pub const m_isRapidFiring: usize = 0x6385; // bool
+                pub const m_equipTimer: usize = 0x6388; // IntervalTimer
+                pub const m_zoomTimer: usize = 0x6398; // CountdownTimer
+                pub const m_fireWeaponTimestamp: usize = 0x63B0; // GameTime_t
+                pub const m_lookForWeaponsOnGroundTimer: usize = 0x63B8; // CountdownTimer
+                pub const m_bIsSleeping: usize = 0x63D0; // bool
+                pub const m_isEnemySniperVisible: usize = 0x63D1; // bool
+                pub const m_sawEnemySniperTimer: usize = 0x63D8; // CountdownTimer
+                pub const m_enemyQueueIndex: usize = 0x6490; // uint8
+                pub const m_enemyQueueCount: usize = 0x6491; // uint8
+                pub const m_enemyQueueAttendIndex: usize = 0x6492; // uint8
+                pub const m_isStuck: usize = 0x6493; // bool
+                pub const m_stuckTimestamp: usize = 0x6494; // GameTime_t
+                pub const m_stuckSpot: usize = 0x6498; // Vector
+                pub const m_wiggleTimer: usize = 0x64A8; // CountdownTimer
+                pub const m_stuckJumpTimer: usize = 0x64C0; // CountdownTimer
+                pub const m_nextCleanupCheckTimestamp: usize = 0x64D8; // GameTime_t
+                pub const m_avgVel: usize = 0x64DC; // float32[10]
+                pub const m_avgVelIndex: usize = 0x6504; // int32
+                pub const m_avgVelCount: usize = 0x6508; // int32
+                pub const m_lastOrigin: usize = 0x650C; // Vector
+                pub const m_lastRadioRecievedTimestamp: usize = 0x651C; // float32
+                pub const m_lastRadioSentTimestamp: usize = 0x6520; // float32
+                pub const m_radioSubject: usize = 0x6524; // CHandle<CCSPlayerPawn>
+                pub const m_radioPosition: usize = 0x6528; // Vector
+                pub const m_voiceEndTimestamp: usize = 0x6534; // float32
+                pub const m_lastValidReactionQueueFrame: usize = 0x6540; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            pub mod CPhysMotor {
+                pub const m_nameAttach: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_hAttachedObject: usize = 0x4E8; // CHandle<CBaseEntity>
+                pub const m_spinUp: usize = 0x4EC; // float32
+                pub const m_additionalAcceleration: usize = 0x4F0; // float32
+                pub const m_angularAcceleration: usize = 0x4F4; // float32
+                pub const m_lastTime: usize = 0x4F8; // GameTime_t
+                pub const m_motor: usize = 0x510; // CMotorController
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_iszSoundAreaType (string_t)
+            // NetworkVarNames: m_vPos (Vector)
+            pub mod CSoundAreaEntityBase {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_iszSoundAreaType: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_vPos: usize = 0x4F0; // Vector
+            }
+            // Parent: CPlayer_UseServices
+            // Field count: 3
+            pub mod CCSPlayer_UseServices {
+                pub const m_hLastKnownUseEntity: usize = 0x40; // CHandle<CBaseEntity>
+                pub const m_flLastUseTimeStamp: usize = 0x44; // GameTime_t
+                pub const m_flTimeLastUsedWindow: usize = 0x48; // GameTime_t
+            }
+            // Parent: CCSGO_TeamPreviewCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_TeamSelectCharacterPosition {
+            }
+            // Parent: CItem
+            // Field count: 0
+            pub mod CItemKevlar {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 14
+            pub mod CTriggerHurt {
+                pub const m_flOriginalDamage: usize = 0x960; // float32
+                pub const m_flDamage: usize = 0x964; // float32
+                pub const m_flDamageCap: usize = 0x968; // float32
+                pub const m_flLastDmgTime: usize = 0x96C; // GameTime_t
+                pub const m_flForgivenessDelay: usize = 0x970; // float32
+                pub const m_bitsDamageInflict: usize = 0x974; // DamageTypes_t
+                pub const m_damageModel: usize = 0x978; // int32
+                pub const m_bNoDmgForce: usize = 0x97C; // bool
+                pub const m_vDamageForce: usize = 0x980; // Vector
+                pub const m_thinkAlways: usize = 0x98C; // bool
+                pub const m_hurtThinkPeriod: usize = 0x990; // float32
+                pub const m_OnHurt: usize = 0x998; // CEntityIOOutput
+                pub const m_OnHurtPlayer: usize = 0x9C0; // CEntityIOOutput
+                pub const m_hurtEntities: usize = 0x9E8; // CUtlVector<CHandle<CBaseEntity>>
+            }
+            // Parent: CLogicalEntity
+            // Field count: 13
+            pub mod CPhysConstraint {
+                pub const m_nameAttach1: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_nameAttach2: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_hAttach1: usize = 0x4F8; // CHandle<CBaseEntity>
+                pub const m_hAttach2: usize = 0x4FC; // CHandle<CBaseEntity>
+                pub const m_nameAttachment1: usize = 0x500; // CUtlSymbolLarge
+                pub const m_nameAttachment2: usize = 0x508; // CUtlSymbolLarge
+                pub const m_breakSound: usize = 0x510; // CUtlSymbolLarge
+                pub const m_forceLimit: usize = 0x518; // float32
+                pub const m_torqueLimit: usize = 0x51C; // float32
+                pub const m_teleportTick: usize = 0x520; // uint32
+                pub const m_minTeleportDistance: usize = 0x524; // float32
+                pub const m_bSnapObjectPositions: usize = 0x528; // bool
+                pub const m_OnBreak: usize = 0x530; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // NetworkVarNames: m_nDraftType (int)
+            // NetworkVarNames: m_nTeamWinningCoinToss (int)
+            // NetworkVarNames: m_nTeamWithFirstChoice (int)
+            // NetworkVarNames: m_nVoteMapIdsList (int)
+            // NetworkVarNames: m_nAccountIDs (int)
+            // NetworkVarNames: m_nMapId0 (int)
+            // NetworkVarNames: m_nMapId1 (int)
+            // NetworkVarNames: m_nMapId2 (int)
+            // NetworkVarNames: m_nMapId3 (int)
+            // NetworkVarNames: m_nMapId4 (int)
+            // NetworkVarNames: m_nMapId5 (int)
+            // NetworkVarNames: m_nStartingSide0 (int)
+            // NetworkVarNames: m_nCurrentPhase (int)
+            // NetworkVarNames: m_nPhaseStartTick (int)
+            // NetworkVarNames: m_nPhaseDurationTicks (int)
+            pub mod CMapVetoPickController {
+                pub const m_bPlayedIntroVcd: usize = 0x4E0; // bool
+                pub const m_bNeedToPlayFiveSecondsRemaining: usize = 0x4E1; // bool
+                pub const m_dblPreMatchDraftSequenceTime: usize = 0x500; // float64
+                pub const m_bPreMatchDraftStateChanged: usize = 0x508; // bool
+                pub const m_nDraftType: usize = 0x50C; // int32
+                pub const m_nTeamWinningCoinToss: usize = 0x510; // int32
+                pub const m_nTeamWithFirstChoice: usize = 0x514; // int32[64]
+                pub const m_nVoteMapIdsList: usize = 0x614; // int32[7]
+                pub const m_nAccountIDs: usize = 0x630; // int32[64]
+                pub const m_nMapId0: usize = 0x730; // int32[64]
+                pub const m_nMapId1: usize = 0x830; // int32[64]
+                pub const m_nMapId2: usize = 0x930; // int32[64]
+                pub const m_nMapId3: usize = 0xA30; // int32[64]
+                pub const m_nMapId4: usize = 0xB30; // int32[64]
+                pub const m_nMapId5: usize = 0xC30; // int32[64]
+                pub const m_nStartingSide0: usize = 0xD30; // int32[64]
+                pub const m_nCurrentPhase: usize = 0xE30; // int32
+                pub const m_nPhaseStartTick: usize = 0xE34; // int32
+                pub const m_nPhaseDurationTicks: usize = 0xE38; // int32
+                pub const m_OnMapVetoed: usize = 0xE40; // CEntityOutputTemplate<CUtlSymbolLarge>
+                pub const m_OnMapPicked: usize = 0xE68; // CEntityOutputTemplate<CUtlSymbolLarge>
+                pub const m_OnSidesPicked: usize = 0xE90; // CEntityOutputTemplate<int32>
+                pub const m_OnNewPhaseStarted: usize = 0xEB8; // CEntityOutputTemplate<int32>
+                pub const m_OnLevelTransition: usize = 0xEE0; // CEntityOutputTemplate<int32>
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CCSMinimapBoundary {
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            pub mod CSoundEnt {
+                pub const m_iFreeSound: usize = 0x4E0; // int32
+                pub const m_iActiveSound: usize = 0x4E4; // int32
+                pub const m_cLastActiveSounds: usize = 0x4E8; // int32
+                pub const m_SoundPool: usize = 0x4EC; // CSound[128]
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoSpawnGroupLandmark {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_nToggleButtonDownMask (ButtonBitMask_t)
+            // NetworkVarNames: m_flMaxspeed (float32)
+            // NetworkVarNames: m_arrForceSubtickMoveWhen (float32)
+            pub mod CPlayer_MovementServices {
+                pub const m_nImpulse: usize = 0x40; // int32
+                pub const m_nButtons: usize = 0x48; // CInButtonState
+                pub const m_nQueuedButtonDownMask: usize = 0x68; // uint64
+                pub const m_nQueuedButtonChangeMask: usize = 0x70; // uint64
+                pub const m_nButtonDoublePressed: usize = 0x78; // uint64
+                pub const m_pButtonPressedCmdNumber: usize = 0x80; // uint32[64]
+                pub const m_nLastCommandNumberProcessed: usize = 0x180; // uint32
+                pub const m_nToggleButtonDownMask: usize = 0x188; // uint64
+                pub const m_flMaxspeed: usize = 0x198; // float32
+                pub const m_arrForceSubtickMoveWhen: usize = 0x19C; // float32[4]
+                pub const m_flForwardMove: usize = 0x1AC; // float32
+                pub const m_flLeftMove: usize = 0x1B0; // float32
+                pub const m_flUpMove: usize = 0x1B4; // float32
+                pub const m_vecLastMovementImpulses: usize = 0x1B8; // Vector
+                pub const m_vecOldViewAngles: usize = 0x1C4; // QAngle
+            }
+            // Parent: CBaseTrigger
+            // Field count: 3
+            pub mod CTriggerSave {
+                pub const m_bForceNewLevelUnit: usize = 0x960; // bool
+                pub const m_fDangerousTimer: usize = 0x964; // float32
+                pub const m_minHitPoints: usize = 0x968; // int32
+            }
+            // Parent: CPhysConstraint
+            // Field count: 11
+            pub mod CPhysWheelConstraint {
+                pub const m_flSuspensionFrequency: usize = 0x558; // float32
+                pub const m_flSuspensionDampingRatio: usize = 0x55C; // float32
+                pub const m_flSuspensionHeightOffset: usize = 0x560; // float32
+                pub const m_bEnableSuspensionLimit: usize = 0x564; // bool
+                pub const m_flMinSuspensionOffset: usize = 0x568; // float32
+                pub const m_flMaxSuspensionOffset: usize = 0x56C; // float32
+                pub const m_bEnableSteeringLimit: usize = 0x570; // bool
+                pub const m_flMinSteeringAngle: usize = 0x574; // float32
+                pub const m_flMaxSteeringAngle: usize = 0x578; // float32
+                pub const m_flSteeringAxisFriction: usize = 0x57C; // float32
+                pub const m_flSpinAxisFriction: usize = 0x580; // float32
+            }
+            // Parent: CPhysConstraint
+            // Field count: 6
+            pub mod CPhysFixed {
+                pub const m_flLinearFrequency: usize = 0x558; // float32
+                pub const m_flLinearDampingRatio: usize = 0x55C; // float32
+                pub const m_flAngularFrequency: usize = 0x560; // float32
+                pub const m_flAngularDampingRatio: usize = 0x564; // float32
+                pub const m_bEnableLinearConstraint: usize = 0x568; // bool
+                pub const m_bEnableAngularConstraint: usize = 0x569; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 11
+            pub mod CEnvSoundscape {
+                pub const m_OnPlay: usize = 0x4E0; // CEntityIOOutput
+                pub const m_flRadius: usize = 0x508; // float32
+                pub const m_soundEventName: usize = 0x510; // CUtlSymbolLarge
+                pub const m_bOverrideWithEvent: usize = 0x518; // bool
+                pub const m_soundscapeIndex: usize = 0x51C; // int32
+                pub const m_soundscapeEntityListId: usize = 0x520; // int32
+                pub const m_positionNames: usize = 0x528; // CUtlSymbolLarge[8]
+                pub const m_hProxySoundscape: usize = 0x568; // CHandle<CEnvSoundscape>
+                pub const m_bDisabled: usize = 0x56C; // bool
+                pub const m_soundscapeName: usize = 0x570; // CUtlSymbolLarge
+                pub const m_soundEventHash: usize = 0x578; // uint32
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CBasePlayerVData {
+                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; // float32
+                pub const m_flDrowningDamageInterval: usize = 0x15C; // float32
+                pub const m_nDrowningDamageInitial: usize = 0x160; // int32
+                pub const m_nDrowningDamageMax: usize = 0x164; // int32
+                pub const m_nWaterSpeed: usize = 0x168; // int32
+                pub const m_flUseRange: usize = 0x16C; // float32
+                pub const m_flUseAngleTolerance: usize = 0x170; // float32
+                pub const m_flCrouchTime: usize = 0x174; // float32
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_iAccount (int)
+            // NetworkVarNames: m_iStartAccount (int)
+            // NetworkVarNames: m_iTotalCashSpent (int)
+            // NetworkVarNames: m_iCashSpentThisRound (int)
+            pub mod CCSPlayerController_InGameMoneyServices {
+                pub const m_bReceivesMoneyNextRound: usize = 0x40; // bool
+                pub const m_iMoneyEarnedForNextRound: usize = 0x44; // int32
+                pub const m_iAccount: usize = 0x48; // int32
+                pub const m_iStartAccount: usize = 0x4C; // int32
+                pub const m_iTotalCashSpent: usize = 0x50; // int32
+                pub const m_iCashSpentThisRound: usize = 0x54; // int32
+            }
+            // Parent: CSprite
+            // Field count: 0
+            pub mod CSpriteOriented {
+            }
+            // Parent: CSoundOpvarSetAABBEntity
+            // Field count: 0
+            pub mod CSoundOpvarSetOBBEntity {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponM4A1 {
+            }
+            // Parent: CBeam
+            // Field count: 5
+            pub mod CEnvLaser {
+                pub const m_iszLaserTarget: usize = 0x830; // CUtlSymbolLarge
+                pub const m_pSprite: usize = 0x838; // CSprite*
+                pub const m_iszSpriteName: usize = 0x840; // CUtlSymbolLarge
+                pub const m_firePosition: usize = 0x848; // Vector
+                pub const m_flStartFrame: usize = 0x854; // float32
+            }
+            // Parent: CSprite
+            // Field count: 0
+            pub mod CCommentaryViewPosition {
+            }
+            // Parent: CTonemapController2
+            // Field count: 0
+            pub mod CTonemapController2Alias_env_tonemap_controller2 {
+            }
+            // Parent: CPhysConstraint
+            // Field count: 4
+            pub mod CPhysPulley {
+                pub const m_position2: usize = 0x558; // Vector
+                pub const m_offset: usize = 0x564; // Vector[2]
+                pub const m_addLength: usize = 0x57C; // float32
+                pub const m_gearRatio: usize = 0x580; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CGameRulesProxy {
+            }
+            // Parent: CEconEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_nNextPrimaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextPrimaryAttackTickRatio (float32)
+            // NetworkVarNames: m_nNextSecondaryAttackTick (GameTick_t)
+            // NetworkVarNames: m_flNextSecondaryAttackTickRatio (float32)
+            // NetworkVarNames: m_iClip1 (int32)
+            // NetworkVarNames: m_iClip2 (int32)
+            // NetworkVarNames: m_pReserveAmmo (int)
+            pub mod CBasePlayerWeapon {
+                pub const m_nNextPrimaryAttackTick: usize = 0xD30; // GameTick_t
+                pub const m_flNextPrimaryAttackTickRatio: usize = 0xD34; // float32
+                pub const m_nNextSecondaryAttackTick: usize = 0xD38; // GameTick_t
+                pub const m_flNextSecondaryAttackTickRatio: usize = 0xD3C; // float32
+                pub const m_iClip1: usize = 0xD40; // int32
+                pub const m_iClip2: usize = 0xD44; // int32
+                pub const m_pReserveAmmo: usize = 0xD48; // int32[2]
+                pub const m_OnPlayerUse: usize = 0xD50; // CEntityIOOutput
+            }
+            // Parent: CPlayerControllerComponent
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_perRoundStats (CSPerRoundStats_t)
+            // NetworkVarNames: m_matchStats (CSMatchStats_t)
+            // NetworkVarNames: m_iNumRoundKills (int)
+            // NetworkVarNames: m_iNumRoundKillsHeadshots (int)
+            // NetworkVarNames: m_unTotalRoundDamageDealt (uint32)
+            pub mod CCSPlayerController_ActionTrackingServices {
+                pub const m_perRoundStats: usize = 0x40; // CUtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
+                pub const m_matchStats: usize = 0xB0; // CSMatchStats_t
+                pub const m_iNumRoundKills: usize = 0x170; // int32
+                pub const m_iNumRoundKillsHeadshots: usize = 0x174; // int32
+                pub const m_unTotalRoundDamageDealt: usize = 0x178; // uint32
+            }
+            // Parent: CEntityComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bvDisabledHitGroups (uint32)
+            pub mod CHitboxComponent {
+                pub const m_bvDisabledHitGroups: usize = 0x24; // uint32[1]
+            }
+            // Parent: CBaseFlex
+            // Field count: 0
+            pub mod CBaseFlexAlias_funCBaseFlex {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_x (float32)
+            // NetworkVarNames: m_y (float32)
+            // NetworkVarNames: m_z (float32)
+            // NetworkVarNames: m_angle (float32)
+            // NetworkVarNames: m_poolOrigin (Vector)
+            // NetworkVarNames: m_waterLevel (float32)
+            pub mod CFish {
+                pub const m_pool: usize = 0x9A8; // CHandle<CFishPool>
+                pub const m_id: usize = 0x9AC; // uint32
+                pub const m_x: usize = 0x9B0; // float32
+                pub const m_y: usize = 0x9B4; // float32
+                pub const m_z: usize = 0x9B8; // float32
+                pub const m_angle: usize = 0x9BC; // float32
+                pub const m_angleChange: usize = 0x9C0; // float32
+                pub const m_forward: usize = 0x9C4; // Vector
+                pub const m_perp: usize = 0x9D0; // Vector
+                pub const m_poolOrigin: usize = 0x9DC; // Vector
+                pub const m_waterLevel: usize = 0x9E8; // float32
+                pub const m_speed: usize = 0x9EC; // float32
+                pub const m_desiredSpeed: usize = 0x9F0; // float32
+                pub const m_calmSpeed: usize = 0x9F4; // float32
+                pub const m_panicSpeed: usize = 0x9F8; // float32
+                pub const m_avoidRange: usize = 0x9FC; // float32
+                pub const m_turnTimer: usize = 0xA00; // CountdownTimer
+                pub const m_turnClockwise: usize = 0xA18; // bool
+                pub const m_goTimer: usize = 0xA20; // CountdownTimer
+                pub const m_moveTimer: usize = 0xA38; // CountdownTimer
+                pub const m_panicTimer: usize = 0xA50; // CountdownTimer
+                pub const m_disperseTimer: usize = 0xA68; // CountdownTimer
+                pub const m_proximityTimer: usize = 0xA80; // CountdownTimer
+                pub const m_visible: usize = 0xA98; // CUtlVector<CFish*>
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            pub mod CEnvFireSource {
+                pub const m_bEnabled: usize = 0x4E0; // bool
+                pub const m_radius: usize = 0x4E4; // float32
+                pub const m_damage: usize = 0x4E8; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CInfoLadderDismount {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_strStartTouchEventName (CUtlString)
+            // NetworkVarNames: m_strEndTouchEventName (CUtlString)
+            // NetworkVarNames: m_strTriggerID (CUtlString)
+            pub mod CTriggerGameEvent {
+                pub const m_strStartTouchEventName: usize = 0x960; // CUtlString
+                pub const m_strEndTouchEventName: usize = 0x968; // CUtlString
+                pub const m_strTriggerID: usize = 0x970; // CUtlString
+            }
+            // Parent: CPhysConstraint
+            // Field count: 10
+            pub mod CPhysSlideConstraint {
+                pub const m_axisEnd: usize = 0x560; // Vector
+                pub const m_slideFriction: usize = 0x56C; // float32
+                pub const m_systemLoadScale: usize = 0x570; // float32
+                pub const m_initialOffset: usize = 0x574; // float32
+                pub const m_bEnableLinearConstraint: usize = 0x578; // bool
+                pub const m_bEnableAngularConstraint: usize = 0x579; // bool
+                pub const m_flMotorFrequency: usize = 0x57C; // float32
+                pub const m_flMotorDampingRatio: usize = 0x580; // float32
+                pub const m_bUseEntityPivot: usize = 0x584; // bool
+                pub const m_soundInfo: usize = 0x588; // ConstraintSoundInfo
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            pub mod CDebugHistory {
+                pub const m_nNpcEvents: usize = 0x3E8520; // int32
+            }
+            // Parent: CServerOnlyEntity
+            // Field count: 0
+            pub mod CInfoData {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod CHostageCarriableProp {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_CLightComponent (CLightComponent::Storage_t)
+            pub mod CLightEntity {
+                pub const m_CLightComponent: usize = 0x790; // CLightComponent*
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // MNetworkOverride
+            // MNetworkOverride
+            pub mod CFuncRotating {
+                pub const m_OnStopped: usize = 0x790; // CEntityIOOutput
+                pub const m_OnStarted: usize = 0x7B8; // CEntityIOOutput
+                pub const m_OnReachedStart: usize = 0x7E0; // CEntityIOOutput
+                pub const m_localRotationVector: usize = 0x808; // RotationVector
+                pub const m_flFanFriction: usize = 0x814; // float32
+                pub const m_flAttenuation: usize = 0x818; // float32
+                pub const m_flVolume: usize = 0x81C; // float32
+                pub const m_flTargetSpeed: usize = 0x820; // float32
+                pub const m_flMaxSpeed: usize = 0x824; // float32
+                pub const m_flBlockDamage: usize = 0x828; // float32
+                pub const m_NoiseRunning: usize = 0x830; // CUtlSymbolLarge
+                pub const m_bReversed: usize = 0x838; // bool
+                pub const m_bAccelDecel: usize = 0x839; // bool
+                pub const m_prevLocalAngles: usize = 0x844; // QAngle
+                pub const m_angStart: usize = 0x850; // QAngle
+                pub const m_bStopAtStartPos: usize = 0x85C; // bool
+                pub const m_vecClientOrigin: usize = 0x860; // Vector
+                pub const m_vecClientAngles: usize = 0x86C; // QAngle
+            }
+            // Parent: CBaseGrenade
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_vInitialPosition (Vector)
+            // NetworkVarNames: m_vInitialVelocity (Vector)
+            // NetworkVarNames: m_nBounces (int)
+            // NetworkVarNames: m_nExplodeEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_nExplodeEffectTickBegin (int)
+            // NetworkVarNames: m_vecExplodeEffectOrigin (Vector)
+            pub mod CBaseCSGrenadeProjectile {
+                pub const m_vInitialPosition: usize = 0xAE0; // Vector
+                pub const m_vInitialVelocity: usize = 0xAEC; // Vector
+                pub const m_nBounces: usize = 0xAF8; // int32
+                pub const m_nExplodeEffectIndex: usize = 0xB00; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_nExplodeEffectTickBegin: usize = 0xB08; // int32
+                pub const m_vecExplodeEffectOrigin: usize = 0xB0C; // Vector
+                pub const m_flSpawnTime: usize = 0xB18; // GameTime_t
+                pub const m_unOGSExtraFlags: usize = 0xB1C; // uint8
+                pub const m_bDetonationRecorded: usize = 0xB1D; // bool
+                pub const m_nItemIndex: usize = 0xB1E; // uint16
+                pub const m_vecOriginalSpawnLocation: usize = 0xB20; // Vector
+                pub const m_flLastBounceSoundTime: usize = 0xB2C; // GameTime_t
+                pub const m_vecGrenadeSpin: usize = 0xB30; // RotationVector
+                pub const m_vecLastHitSurfaceNormal: usize = 0xB3C; // Vector
+                pub const m_nTicksAtZeroVelocity: usize = 0xB48; // int32
+                pub const m_bHasEverHitEnemy: usize = 0xB4C; // bool
+            }
+            // Parent: CServerOnlyModelEntity
+            // Field count: 1
+            pub mod CCSPlace {
+                pub const m_name: usize = 0x798; // CUtlSymbolLarge
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CFuncTrainControls {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_flFadeInStart (float32)
+            // NetworkVarNames: m_flFadeInLength (float32)
+            // NetworkVarNames: m_flFadeOutModelStart (float32)
+            // NetworkVarNames: m_flFadeOutModelLength (float32)
+            // NetworkVarNames: m_flFadeOutStart (float32)
+            // NetworkVarNames: m_flFadeOutLength (float32)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_nDissolveType (EntityDisolveType_t)
+            // NetworkVarNames: m_vDissolverOrigin (Vector)
+            // NetworkVarNames: m_nMagnitude (uint32)
+            pub mod CEntityDissolve {
+                pub const m_flFadeInStart: usize = 0x790; // float32
+                pub const m_flFadeInLength: usize = 0x794; // float32
+                pub const m_flFadeOutModelStart: usize = 0x798; // float32
+                pub const m_flFadeOutModelLength: usize = 0x79C; // float32
+                pub const m_flFadeOutStart: usize = 0x7A0; // float32
+                pub const m_flFadeOutLength: usize = 0x7A4; // float32
+                pub const m_flStartTime: usize = 0x7A8; // GameTime_t
+                pub const m_nDissolveType: usize = 0x7AC; // EntityDisolveType_t
+                pub const m_vDissolverOrigin: usize = 0x7B0; // Vector
+                pub const m_nMagnitude: usize = 0x7BC; // uint32
+            }
+            // Parent: CPointEntity
+            // Field count: 12
+            pub mod CPointAngleSensor {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_nLookAtName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_hTargetEntity: usize = 0x4F0; // CHandle<CBaseEntity>
+                pub const m_hLookAtEntity: usize = 0x4F4; // CHandle<CBaseEntity>
+                pub const m_flDuration: usize = 0x4F8; // float32
+                pub const m_flDotTolerance: usize = 0x4FC; // float32
+                pub const m_flFacingTime: usize = 0x500; // GameTime_t
+                pub const m_bFired: usize = 0x504; // bool
+                pub const m_OnFacingLookat: usize = 0x508; // CEntityIOOutput
+                pub const m_OnNotFacingLookat: usize = 0x530; // CEntityIOOutput
+                pub const m_TargetDir: usize = 0x558; // CEntityOutputTemplate<Vector>
+                pub const m_FacingPercentage: usize = 0x580; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            pub mod CSoundEventOBBEntity {
+                pub const m_vMins: usize = 0x598; // Vector
+                pub const m_vMaxs: usize = 0x5A4; // Vector
+            }
+            // Parent: CBtNodeDecorator
+            // Field count: 1
+            pub mod CBtNodeCondition {
+                pub const m_bNegated: usize = 0x58; // bool
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGapTypeQueriesForScopeSingleton
+            pub mod CSharedGapTypeQueryRegistration {
+            }
+            // Parent: CBaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_vBoxMins (Vector)
+            // NetworkVarNames: m_vBoxMaxs (Vector)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flStrength (float)
+            // NetworkVarNames: m_nFalloffShape (int)
+            // NetworkVarNames: m_flFalloffExponent (float)
+            // NetworkVarNames: m_flHeightFogDepth (float)
+            // NetworkVarNames: m_fHeightFogEdgeWidth (float)
+            // NetworkVarNames: m_fIndirectLightStrength (float)
+            // NetworkVarNames: m_fSunLightStrength (float)
+            // NetworkVarNames: m_fNoiseStrength (float)
+            // NetworkVarNames: m_bOverrideIndirectLightStrength (bool)
+            // NetworkVarNames: m_bOverrideSunLightStrength (bool)
+            // NetworkVarNames: m_bOverrideNoiseStrength (bool)
+            // NetworkVarNames: m_bAllowLPVIndirect (bool)
+            pub mod CEnvVolumetricFogVolume {
+                pub const m_bActive: usize = 0x4E0; // bool
+                pub const m_vBoxMins: usize = 0x4E4; // Vector
+                pub const m_vBoxMaxs: usize = 0x4F0; // Vector
+                pub const m_bStartDisabled: usize = 0x4FC; // bool
+                pub const m_flStrength: usize = 0x500; // float32
+                pub const m_nFalloffShape: usize = 0x504; // int32
+                pub const m_flFalloffExponent: usize = 0x508; // float32
+                pub const m_flHeightFogDepth: usize = 0x50C; // float32
+                pub const m_fHeightFogEdgeWidth: usize = 0x510; // float32
+                pub const m_fIndirectLightStrength: usize = 0x514; // float32
+                pub const m_fSunLightStrength: usize = 0x518; // float32
+                pub const m_fNoiseStrength: usize = 0x51C; // float32
+                pub const m_bOverrideIndirectLightStrength: usize = 0x520; // bool
+                pub const m_bOverrideSunLightStrength: usize = 0x521; // bool
+                pub const m_bOverrideNoiseStrength: usize = 0x522; // bool
+                pub const m_bAllowLPVIndirect: usize = 0x523; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 24
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // NetworkVarNames: m_flFrameRate (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_nNumBeamEnts (uint8)
+            // NetworkVarNames: m_hBaseMaterial (HMaterialStrong)
+            // NetworkVarNames: m_nHaloIndex (HMaterialStrong)
+            // NetworkVarNames: m_nBeamType (BeamType_t)
+            // NetworkVarNames: m_nBeamFlags (uint32)
+            // NetworkVarNames: m_hAttachEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachIndex (AttachmentHandle_t)
+            // NetworkVarNames: m_fWidth (float32)
+            // NetworkVarNames: m_fEndWidth (float32)
+            // NetworkVarNames: m_fFadeLength (float32)
+            // NetworkVarNames: m_fHaloScale (float32)
+            // NetworkVarNames: m_fAmplitude (float32)
+            // NetworkVarNames: m_fStartFrame (float32)
+            // NetworkVarNames: m_fSpeed (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nClipStyle (BeamClipStyle_t)
+            // NetworkVarNames: m_bTurnedOff (bool)
+            // NetworkVarNames: m_vecEndPos (Vector)
+            pub mod CBeam {
+                pub const m_flFrameRate: usize = 0x790; // float32
+                pub const m_flHDRColorScale: usize = 0x794; // float32
+                pub const m_flFireTime: usize = 0x798; // GameTime_t
+                pub const m_flDamage: usize = 0x79C; // float32
+                pub const m_nNumBeamEnts: usize = 0x7A0; // uint8
+                pub const m_hBaseMaterial: usize = 0x7A8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nHaloIndex: usize = 0x7B0; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nBeamType: usize = 0x7B8; // BeamType_t
+                pub const m_nBeamFlags: usize = 0x7BC; // uint32
+                pub const m_hAttachEntity: usize = 0x7C0; // CHandle<CBaseEntity>[10]
+                pub const m_nAttachIndex: usize = 0x7E8; // AttachmentHandle_t[10]
+                pub const m_fWidth: usize = 0x7F4; // float32
+                pub const m_fEndWidth: usize = 0x7F8; // float32
+                pub const m_fFadeLength: usize = 0x7FC; // float32
+                pub const m_fHaloScale: usize = 0x800; // float32
+                pub const m_fAmplitude: usize = 0x804; // float32
+                pub const m_fStartFrame: usize = 0x808; // float32
+                pub const m_fSpeed: usize = 0x80C; // float32
+                pub const m_flFrame: usize = 0x810; // float32
+                pub const m_nClipStyle: usize = 0x814; // BeamClipStyle_t
+                pub const m_bTurnedOff: usize = 0x818; // bool
+                pub const m_vecEndPos: usize = 0x81C; // Vector
+                pub const m_hEndEntity: usize = 0x828; // CHandle<CBaseEntity>
+                pub const m_nDissolveType: usize = 0x82C; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_CRenderComponent (CRenderComponent::Storage_t)
+            // NetworkVarNames: m_CHitboxComponent (CHitboxComponent::Storage_t)
+            // NetworkVarNames: m_nRenderMode (RenderMode_t)
+            // NetworkVarNames: m_nRenderFX (RenderFx_t)
+            // NetworkVarNames: m_clrRender (Color)
+            // NetworkVarNames: m_vecRenderAttributes (EntityRenderAttribute_t)
+            // NetworkVarNames: m_bRenderToCubemaps (bool)
+            // NetworkVarNames: m_bNoInterpolate (bool)
+            // NetworkVarNames: m_Collision (CCollisionProperty)
+            // NetworkVarNames: m_Glow (CGlowProperty)
+            // NetworkVarNames: m_flGlowBackfaceMult (float)
+            // NetworkVarNames: m_fadeMinDist (float32)
+            // NetworkVarNames: m_fadeMaxDist (float32)
+            // NetworkVarNames: m_flFadeScale (float32)
+            // NetworkVarNames: m_flShadowStrength (float32)
+            // NetworkVarNames: m_nObjectCulling (uint8)
+            // NetworkVarNames: m_nAddDecal (int)
+            // NetworkVarNames: m_vDecalPosition (Vector)
+            // NetworkVarNames: m_vDecalForwardAxis (Vector)
+            // NetworkVarNames: m_flDecalHealBloodRate (float)
+            // NetworkVarNames: m_flDecalHealHeightRate (float)
+            // NetworkVarNames: m_ConfigEntitiesToPropagateMaterialDecalsTo (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_vecViewOffset (CNetworkViewOffsetVector)
+            pub mod CBaseModelEntity {
+                pub const m_CRenderComponent: usize = 0x4E0; // CRenderComponent*
+                pub const m_CHitboxComponent: usize = 0x4E8; // CHitboxComponent
+                pub const m_nDestructiblePartInitialStateDestructed0: usize = 0x510; // HitGroup_t
+                pub const m_nDestructiblePartInitialStateDestructed1: usize = 0x514; // HitGroup_t
+                pub const m_nDestructiblePartInitialStateDestructed2: usize = 0x518; // HitGroup_t
+                pub const m_nDestructiblePartInitialStateDestructed3: usize = 0x51C; // HitGroup_t
+                pub const m_nDestructiblePartInitialStateDestructed4: usize = 0x520; // HitGroup_t
+                pub const m_nLastHitDestructiblePartIndex: usize = 0x524; // int32
+                pub const m_LastHitGroup: usize = 0x550; // HitGroup_t
+                pub const m_flDissolveStartTime: usize = 0x554; // GameTime_t
+                pub const m_OnIgnite: usize = 0x558; // CEntityIOOutput
+                pub const m_nRenderMode: usize = 0x580; // RenderMode_t
+                pub const m_nRenderFX: usize = 0x581; // RenderFx_t
+                pub const m_bAllowFadeInView: usize = 0x582; // bool
+                pub const m_clrRender: usize = 0x5A0; // Color
+                pub const m_vecRenderAttributes: usize = 0x5A8; // CUtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
+                pub const m_bRenderToCubemaps: usize = 0x5F8; // bool
+                pub const m_bNoInterpolate: usize = 0x5F9; // bool
+                pub const m_Collision: usize = 0x600; // CCollisionProperty
+                pub const m_Glow: usize = 0x6B0; // CGlowProperty
+                pub const m_flGlowBackfaceMult: usize = 0x708; // float32
+                pub const m_fadeMinDist: usize = 0x70C; // float32
+                pub const m_fadeMaxDist: usize = 0x710; // float32
+                pub const m_flFadeScale: usize = 0x714; // float32
+                pub const m_flShadowStrength: usize = 0x718; // float32
+                pub const m_nObjectCulling: usize = 0x71C; // uint8
+                pub const m_nAddDecal: usize = 0x720; // int32
+                pub const m_vDecalPosition: usize = 0x724; // Vector
+                pub const m_vDecalForwardAxis: usize = 0x730; // Vector
+                pub const m_flDecalHealBloodRate: usize = 0x73C; // float32
+                pub const m_flDecalHealHeightRate: usize = 0x740; // float32
+                pub const m_ConfigEntitiesToPropagateMaterialDecalsTo: usize = 0x748; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                pub const m_vecViewOffset: usize = 0x760; // CNetworkViewOffsetVector
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 12
+            pub mod CPhysMagnet {
+                pub const m_OnMagnetAttach: usize = 0x9A8; // CEntityIOOutput
+                pub const m_OnMagnetDetach: usize = 0x9D0; // CEntityIOOutput
+                pub const m_massScale: usize = 0x9F8; // float32
+                pub const m_forceLimit: usize = 0x9FC; // float32
+                pub const m_torqueLimit: usize = 0xA00; // float32
+                pub const m_MagnettedEntities: usize = 0xA08; // CUtlVector<magnetted_objects_t>
+                pub const m_bActive: usize = 0xA20; // bool
+                pub const m_bHasHitSomething: usize = 0xA21; // bool
+                pub const m_flTotalMass: usize = 0xA24; // float32
+                pub const m_flRadius: usize = 0xA28; // float32
+                pub const m_flNextSuckTime: usize = 0xA2C; // GameTime_t
+                pub const m_iMaxObjectsAttached: usize = 0xA30; // int32
+            }
+            // Parent: CSceneEntity
+            // Field count: 0
+            pub mod CSceneEntityAlias_logic_choreographed_scene {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 2
+            pub mod CFuncNavBlocker {
+                pub const m_bDisabled: usize = 0x790; // bool
+                pub const m_nBlockedTeamNumber: usize = 0x794; // int32
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            pub mod CRagdollMagnet {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_radius: usize = 0x4E4; // float32
+                pub const m_force: usize = 0x4E8; // float32
+                pub const m_axis: usize = 0x4EC; // Vector
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 6
+            pub mod CFuncBrush {
+                pub const m_iSolidity: usize = 0x790; // BrushSolidities_e
+                pub const m_iDisabled: usize = 0x794; // int32
+                pub const m_bSolidBsp: usize = 0x798; // bool
+                pub const m_iszExcludedClass: usize = 0x7A0; // CUtlSymbolLarge
+                pub const m_bInvertExclusion: usize = 0x7A8; // bool
+                pub const m_bScriptedMovement: usize = 0x7A9; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            pub mod CPointProximitySensor {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_hTargetEntity: usize = 0x4E4; // CHandle<CBaseEntity>
+                pub const m_Distance: usize = 0x4E8; // CEntityOutputTemplate<float32>
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_weaponPurchases (WeaponPurchaseCount_t)
+            pub mod WeaponPurchaseTracker_t {
+                pub const m_weaponPurchases: usize = 0x8; // CUtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterClass {
+                pub const m_iFilterClass: usize = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CMultiplayRules
+            // Field count: 0
+            pub mod CTeamplayRules {
+            }
+            // Parent: CBaseFilter
+            // Field count: 0
+            pub mod CFilterLOS {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_duration (float32)
+            // NetworkVarNames: m_timestamp (float32)
+            // NetworkVarNames: m_timescale (float32)
+            pub mod EngineCountdownTimer {
+                pub const m_duration: usize = 0x8; // float32
+                pub const m_timestamp: usize = 0xC; // float32
+                pub const m_timescale: usize = 0x10; // float32
+            }
+            // Parent: CBreakable
+            // Field count: 14
+            pub mod CPhysBox {
+                pub const m_damageType: usize = 0x868; // int32
+                pub const m_damageToEnableMotion: usize = 0x86C; // int32
+                pub const m_flForceToEnableMotion: usize = 0x870; // float32
+                pub const m_angPreferredCarryAngles: usize = 0x874; // QAngle
+                pub const m_bNotSolidToWorld: usize = 0x880; // bool
+                pub const m_bEnableUseOutput: usize = 0x881; // bool
+                pub const m_iExploitableByPlayer: usize = 0x884; // int32
+                pub const m_flTouchOutputPerEntityDelay: usize = 0x888; // float32
+                pub const m_OnDamaged: usize = 0x890; // CEntityIOOutput
+                pub const m_OnAwakened: usize = 0x8B8; // CEntityIOOutput
+                pub const m_OnMotionEnabled: usize = 0x8E0; // CEntityIOOutput
+                pub const m_OnPlayerUse: usize = 0x908; // CEntityIOOutput
+                pub const m_OnStartTouch: usize = 0x930; // CEntityIOOutput
+                pub const m_hCarryingPlayer: usize = 0x958; // CHandle<CBasePlayerPawn>
+            }
+            // Parent: CBaseFlex
+            // Field count: 14
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_bIsLive (bool)
+            // NetworkVarNames: m_DmgRadius (float32)
+            // NetworkVarNames: m_flDetonateTime (GameTime_t)
+            // NetworkVarNames: m_flDamage (float32)
+            // NetworkVarNames: m_hThrower (CHandle<CCSPlayerPawn>)
+            pub mod CBaseGrenade {
+                pub const m_OnPlayerPickup: usize = 0xA40; // CEntityIOOutput
+                pub const m_OnExplode: usize = 0xA68; // CEntityIOOutput
+                pub const m_bHasWarnedAI: usize = 0xA90; // bool
+                pub const m_bIsSmokeGrenade: usize = 0xA91; // bool
+                pub const m_bIsLive: usize = 0xA92; // bool
+                pub const m_DmgRadius: usize = 0xA94; // float32
+                pub const m_flDetonateTime: usize = 0xA98; // GameTime_t
+                pub const m_flWarnAITime: usize = 0xA9C; // float32
+                pub const m_flDamage: usize = 0xAA0; // float32
+                pub const m_iszBounceSound: usize = 0xAA8; // CUtlSymbolLarge
+                pub const m_ExplosionSound: usize = 0xAB0; // CUtlString
+                pub const m_hThrower: usize = 0xABC; // CHandle<CCSPlayerPawn>
+                pub const m_flNextAttack: usize = 0xAD4; // GameTime_t
+                pub const m_hOriginalThrower: usize = 0xAD8; // CHandle<CCSPlayerPawn>
+            }
+            // Parent: CLogicalEntity
+            // Field count: 13
+            pub mod CTimerEntity {
+                pub const m_OnTimer: usize = 0x4E0; // CEntityIOOutput
+                pub const m_OnTimerHigh: usize = 0x508; // CEntityIOOutput
+                pub const m_OnTimerLow: usize = 0x530; // CEntityIOOutput
+                pub const m_iDisabled: usize = 0x558; // int32
+                pub const m_flInitialDelay: usize = 0x55C; // float32
+                pub const m_flRefireTime: usize = 0x560; // float32
+                pub const m_bUpDownState: usize = 0x564; // bool
+                pub const m_iUseRandomTime: usize = 0x568; // int32
+                pub const m_bPauseAfterFiring: usize = 0x56C; // bool
+                pub const m_flLowerRandomBound: usize = 0x570; // float32
+                pub const m_flUpperRandomBound: usize = 0x574; // float32
+                pub const m_flRemainingTime: usize = 0x578; // float32
+                pub const m_bPaused: usize = 0x57C; // bool
+            }
+            // Parent: CCSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_TeamIntroCounterTerroristPosition {
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 0
+            pub mod CHEGrenadeProjectile {
+            }
+            // Parent: CBaseEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_EnvWindShared (CEnvWindShared)
+            pub mod CEnvWind {
+                pub const m_EnvWindShared: usize = 0x4E0; // CEnvWindShared
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_timestamp (GameTime_t)
+            // NetworkVarNames: m_nWorldGroupId (WorldGroupId_t)
+            pub mod IntervalTimer {
+                pub const m_timestamp: usize = 0x8; // GameTime_t
+                pub const m_nWorldGroupId: usize = 0xC; // WorldGroupId_t
+            }
+            // Parent: CBasePlayerWeapon
+            // Field count: 64
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_flFireSequenceStartTime (float)
+            // NetworkVarNames: m_nFireSequenceStartTimeChange (int)
+            // NetworkVarNames: m_ePlayerFireEvent (PlayerAnimEvent_t)
+            // NetworkVarNames: m_ePlayerFireEventAttackType (WeaponAttackType_t)
+            // NetworkVarNames: m_iState (CSWeaponState_t)
+            // NetworkVarNames: m_nViewModelIndex (uint32)
+            // NetworkVarNames: m_flTimeWeaponIdle (GameTime_t)
+            // NetworkVarNames: m_weaponMode (CSWeaponMode)
+            // NetworkVarNames: m_fAccuracyPenalty (float)
+            // NetworkVarNames: m_iRecoilIndex (int)
+            // NetworkVarNames: m_flRecoilIndex (float)
+            // NetworkVarNames: m_bBurstMode (bool)
+            // NetworkVarNames: m_nPostponeFireReadyTicks (GameTick_t)
+            // NetworkVarNames: m_flPostponeFireReadyFrac (float)
+            // NetworkVarNames: m_bInReload (bool)
+            // NetworkVarNames: m_bReloadVisuallyComplete (bool)
+            // NetworkVarNames: m_flDroppedAtTime (GameTime_t)
+            // NetworkVarNames: m_bIsHauledBack (bool)
+            // NetworkVarNames: m_bSilencerOn (bool)
+            // NetworkVarNames: m_flTimeSilencerSwitchComplete (GameTime_t)
+            // NetworkVarNames: m_iOriginalTeamNumber (int)
+            // NetworkVarNames: m_iMostRecentTeamNumber (int)
+            // NetworkVarNames: m_bDroppedNearBuyZone (bool)
+            // NetworkVarNames: m_nextPrevOwnerUseTime (GameTime_t)
+            // NetworkVarNames: m_hPrevOwner (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_nDropTick (GameTick_t)
+            // NetworkVarNames: m_fLastShotTime (GameTime_t)
+            // NetworkVarNames: m_iIronSightMode (int)
+            // NetworkVarNames: m_iNumEmptyAttacks (int)
+            pub mod CCSWeaponBase {
+                pub const m_bRemoveable: usize = 0xDA0; // bool
+                pub const m_flFireSequenceStartTime: usize = 0xDA8; // float32
+                pub const m_nFireSequenceStartTimeChange: usize = 0xDAC; // int32
+                pub const m_nFireSequenceStartTimeAck: usize = 0xDB0; // int32
+                pub const m_ePlayerFireEvent: usize = 0xDB4; // PlayerAnimEvent_t
+                pub const m_ePlayerFireEventAttackType: usize = 0xDB8; // WeaponAttackType_t
+                pub const m_seqIdle: usize = 0xDBC; // HSequence
+                pub const m_seqFirePrimary: usize = 0xDC0; // HSequence
+                pub const m_seqFireSecondary: usize = 0xDC4; // HSequence
+                pub const m_thirdPersonFireSequences: usize = 0xDC8; // CUtlVector<HSequence>
+                pub const m_hCurrentThirdPersonSequence: usize = 0xDE0; // HSequence
+                pub const m_nSilencerBoneIndex: usize = 0xDE4; // int32
+                pub const m_thirdPersonSequences: usize = 0xDE8; // HSequence[7]
+                pub const m_bPlayerAmmoStockOnPickup: usize = 0xE10; // bool
+                pub const m_bRequireUseToTouch: usize = 0xE11; // bool
+                pub const m_iState: usize = 0xE14; // CSWeaponState_t
+                pub const m_flLastTimeInAir: usize = 0xE18; // GameTime_t
+                pub const m_nLastEmptySoundCmdNum: usize = 0xE1C; // int32
+                pub const m_nViewModelIndex: usize = 0xE20; // uint32
+                pub const m_bReloadsWithClips: usize = 0xE24; // bool
+                pub const m_flTimeWeaponIdle: usize = 0xE40; // GameTime_t
+                pub const m_bFireOnEmpty: usize = 0xE44; // bool
+                pub const m_OnPlayerPickup: usize = 0xE48; // CEntityIOOutput
+                pub const m_weaponMode: usize = 0xE70; // CSWeaponMode
+                pub const m_flTurningInaccuracyDelta: usize = 0xE74; // float32
+                pub const m_vecTurningInaccuracyEyeDirLast: usize = 0xE78; // Vector
+                pub const m_flTurningInaccuracy: usize = 0xE84; // float32
+                pub const m_fAccuracyPenalty: usize = 0xE88; // float32
+                pub const m_flLastAccuracyUpdateTime: usize = 0xE8C; // GameTime_t
+                pub const m_fAccuracySmoothedForZoom: usize = 0xE90; // float32
+                pub const m_fScopeZoomEndTime: usize = 0xE94; // GameTime_t
+                pub const m_iRecoilIndex: usize = 0xE98; // int32
+                pub const m_flRecoilIndex: usize = 0xE9C; // float32
+                pub const m_bBurstMode: usize = 0xEA0; // bool
+                pub const m_nPostponeFireReadyTicks: usize = 0xEA4; // GameTick_t
+                pub const m_flPostponeFireReadyFrac: usize = 0xEA8; // float32
+                pub const m_bInReload: usize = 0xEAC; // bool
+                pub const m_bReloadVisuallyComplete: usize = 0xEAD; // bool
+                pub const m_flDroppedAtTime: usize = 0xEB0; // GameTime_t
+                pub const m_bIsHauledBack: usize = 0xEB4; // bool
+                pub const m_bSilencerOn: usize = 0xEB5; // bool
+                pub const m_flTimeSilencerSwitchComplete: usize = 0xEB8; // GameTime_t
+                pub const m_iOriginalTeamNumber: usize = 0xEBC; // int32
+                pub const m_iMostRecentTeamNumber: usize = 0xEC0; // int32
+                pub const m_bDroppedNearBuyZone: usize = 0xEC4; // bool
+                pub const m_flNextAttackRenderTimeOffset: usize = 0xEC8; // float32
+                pub const m_bCanBePickedUp: usize = 0xEE0; // bool
+                pub const m_bUseCanOverrideNextOwnerTouchTime: usize = 0xEE1; // bool
+                pub const m_nextOwnerTouchTime: usize = 0xEE4; // GameTime_t
+                pub const m_nextPrevOwnerTouchTime: usize = 0xEE8; // GameTime_t
+                pub const m_nextPrevOwnerUseTime: usize = 0xEF0; // GameTime_t
+                pub const m_hPrevOwner: usize = 0xEF4; // CHandle<CCSPlayerPawn>
+                pub const m_nDropTick: usize = 0xEF8; // GameTick_t
+                pub const m_donated: usize = 0xF1C; // bool
+                pub const m_fLastShotTime: usize = 0xF20; // GameTime_t
+                pub const m_bWasOwnedByCT: usize = 0xF24; // bool
+                pub const m_bWasOwnedByTerrorist: usize = 0xF25; // bool
+                pub const m_bFiredOutOfAmmoEvent: usize = 0xF26; // bool
+                pub const m_numRemoveUnownedWeaponThink: usize = 0xF28; // int32
+                pub const m_IronSightController: usize = 0xF30; // CIronSightController
+                pub const m_iIronSightMode: usize = 0xF48; // int32
+                pub const m_flLastLOSTraceFailureTime: usize = 0xF4C; // GameTime_t
+                pub const m_iNumEmptyAttacks: usize = 0xF50; // int32
+                pub const m_flWatTickOffset: usize = 0xF54; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CHandleDummy {
+            }
+            // Parent: CPhysConstraint
+            // Field count: 9
+            pub mod CRagdollConstraint {
+                pub const m_xmin: usize = 0x558; // float32
+                pub const m_xmax: usize = 0x55C; // float32
+                pub const m_ymin: usize = 0x560; // float32
+                pub const m_ymax: usize = 0x564; // float32
+                pub const m_zmin: usize = 0x568; // float32
+                pub const m_zmax: usize = 0x56C; // float32
+                pub const m_xfriction: usize = 0x570; // float32
+                pub const m_yfriction: usize = 0x574; // float32
+                pub const m_zfriction: usize = 0x578; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            pub mod CPhysExplosion {
+                pub const m_bExplodeOnSpawn: usize = 0x4E0; // bool
+                pub const m_flMagnitude: usize = 0x4E4; // float32
+                pub const m_flDamage: usize = 0x4E8; // float32
+                pub const m_radius: usize = 0x4EC; // float32
+                pub const m_targetEntityName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_flInnerRadius: usize = 0x4F8; // float32
+                pub const m_flPushScale: usize = 0x4FC; // float32
+                pub const m_bConvertToDebrisWhenPossible: usize = 0x500; // bool
+                pub const m_OnPushedPlayer: usize = 0x508; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            pub mod CPointPush {
+                pub const m_bEnabled: usize = 0x4E0; // bool
+                pub const m_flMagnitude: usize = 0x4E4; // float32
+                pub const m_flRadius: usize = 0x4E8; // float32
+                pub const m_flInnerRadius: usize = 0x4EC; // float32
+                pub const m_flConeOfInfluence: usize = 0x4F0; // float32
+                pub const m_iszFilterName: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_hFilter: usize = 0x500; // CHandle<CBaseFilter>
+            }
+            // Parent: CPointEntity
+            // Field count: 3
+            pub mod CCredits {
+                pub const m_OnCreditsDone: usize = 0x4E0; // CEntityIOOutput
+                pub const m_bRolledOutroCredits: usize = 0x508; // bool
+                pub const m_flLogoLength: usize = 0x50C; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bHostageAlive (bool)
+            // NetworkVarNames: m_isHostageFollowingSomeone (bool)
+            // NetworkVarNames: m_iHostageEntityIDs (CEntityIndex)
+            // NetworkVarNames: m_bombsiteCenterA (Vector)
+            // NetworkVarNames: m_bombsiteCenterB (Vector)
+            // NetworkVarNames: m_hostageRescueX (int)
+            // NetworkVarNames: m_hostageRescueY (int)
+            // NetworkVarNames: m_hostageRescueZ (int)
+            // NetworkVarNames: m_bEndMatchNextMapAllVoted (bool)
+            pub mod CCSPlayerResource {
+                pub const m_bHostageAlive: usize = 0x4E0; // bool[12]
+                pub const m_isHostageFollowingSomeone: usize = 0x4EC; // bool[12]
+                pub const m_iHostageEntityIDs: usize = 0x4F8; // CEntityIndex[12]
+                pub const m_bombsiteCenterA: usize = 0x528; // Vector
+                pub const m_bombsiteCenterB: usize = 0x534; // Vector
+                pub const m_hostageRescueX: usize = 0x540; // int32[4]
+                pub const m_hostageRescueY: usize = 0x550; // int32[4]
+                pub const m_hostageRescueZ: usize = 0x560; // int32[4]
+                pub const m_bEndMatchNextMapAllVoted: usize = 0x570; // bool
+                pub const m_foundGoalPositions: usize = 0x571; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_hMyWeapons (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hActiveWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_hLastWeapon (CHandle<CBasePlayerWeapon>)
+            // NetworkVarNames: m_iAmmo (uint16)
+            pub mod CPlayer_WeaponServices {
+                pub const m_hMyWeapons: usize = 0x40; // CNetworkUtlVectorBase<CHandle<CBasePlayerWeapon>>
+                pub const m_hActiveWeapon: usize = 0x58; // CHandle<CBasePlayerWeapon>
+                pub const m_hLastWeapon: usize = 0x5C; // CHandle<CBasePlayerWeapon>
+                pub const m_iAmmo: usize = 0x60; // uint16[32]
+                pub const m_bPreventWeaponPickup: usize = 0xA0; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod CAttributeManager__cached_attribute_float_t {
+                pub const flIn: usize = 0x0; // float32
+                pub const iAttribHook: usize = 0x8; // CUtlSymbolLarge
+                pub const flOut: usize = 0x10; // float32
+            }
+            // Parent: CTeam
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_bSurrendered (bool)
+            // NetworkVarNames: m_szTeamMatchStat (char)
+            // NetworkVarNames: m_numMapVictories (int)
+            // NetworkVarNames: m_scoreFirstHalf (int32)
+            // NetworkVarNames: m_scoreSecondHalf (int32)
+            // NetworkVarNames: m_scoreOvertime (int32)
+            // NetworkVarNames: m_szClanTeamname (char)
+            // NetworkVarNames: m_iClanID (uint32)
+            // NetworkVarNames: m_szTeamFlagImage (char)
+            // NetworkVarNames: m_szTeamLogoImage (char)
+            pub mod CCSTeam {
+                pub const m_nLastRecievedShorthandedRoundBonus: usize = 0x598; // int32
+                pub const m_nShorthandedRoundBonusStartRound: usize = 0x59C; // int32
+                pub const m_bSurrendered: usize = 0x5A0; // bool
+                pub const m_szTeamMatchStat: usize = 0x5A1; // char[512]
+                pub const m_numMapVictories: usize = 0x7A4; // int32
+                pub const m_scoreFirstHalf: usize = 0x7A8; // int32
+                pub const m_scoreSecondHalf: usize = 0x7AC; // int32
+                pub const m_scoreOvertime: usize = 0x7B0; // int32
+                pub const m_szClanTeamname: usize = 0x7B4; // char[129]
+                pub const m_iClanID: usize = 0x838; // uint32
+                pub const m_szTeamFlagImage: usize = 0x83C; // char[8]
+                pub const m_szTeamLogoImage: usize = 0x844; // char[8]
+                pub const m_flNextResourceTime: usize = 0x84C; // float32
+                pub const m_iLastUpdateSentAt: usize = 0x850; // int32
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod CCSGameModeRules {
+                pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nInteractsAs (uint64)
+            // NetworkVarNames: m_nInteractsWith (uint64)
+            // NetworkVarNames: m_nInteractsExclude (uint64)
+            // NetworkVarNames: m_nEntityId (uint32)
+            // NetworkVarNames: m_nOwnerId (uint32)
+            // NetworkVarNames: m_nHierarchyId (uint16)
+            // NetworkVarNames: m_nCollisionGroup (uint8)
+            // NetworkVarNames: m_nCollisionFunctionMask (uint8)
+            pub mod VPhysicsCollisionAttribute_t {
+                pub const m_nInteractsAs: usize = 0x8; // uint64
+                pub const m_nInteractsWith: usize = 0x10; // uint64
+                pub const m_nInteractsExclude: usize = 0x18; // uint64
+                pub const m_nEntityId: usize = 0x20; // uint32
+                pub const m_nOwnerId: usize = 0x24; // uint32
+                pub const m_nHierarchyId: usize = 0x28; // uint16
+                pub const m_nCollisionGroup: usize = 0x2A; // uint8
+                pub const m_nCollisionFunctionMask: usize = 0x2B; // uint8
+            }
+            // Parent: CTriggerMultiple
+            // Field count: 4
+            pub mod CTriggerImpact {
+                pub const m_flMagnitude: usize = 0x988; // float32
+                pub const m_flNoise: usize = 0x98C; // float32
+                pub const m_flViewkick: usize = 0x990; // float32
+                pub const m_pOutputForce: usize = 0x998; // CEntityOutputTemplate<Vector>
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 14
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_vDirection (Vector)
+            // NetworkVarNames: m_clrOverlay (Color)
+            // NetworkVarNames: m_iszEffectName (string_t)
+            // NetworkVarNames: m_iszSSEffectName (string_t)
+            // NetworkVarNames: m_bOn (bool)
+            // NetworkVarNames: m_bmaxColor (bool)
+            // NetworkVarNames: m_flSize (float32)
+            // NetworkVarNames: m_flRotation (float32)
+            // NetworkVarNames: m_flHazeScale (float32)
+            // NetworkVarNames: m_flAlphaHaze (float32)
+            // NetworkVarNames: m_flAlphaHdr (float32)
+            // NetworkVarNames: m_flAlphaScale (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            // NetworkVarNames: m_flFarZScale (float32)
+            pub mod CSun {
+                pub const m_vDirection: usize = 0x790; // Vector
+                pub const m_clrOverlay: usize = 0x79C; // Color
+                pub const m_iszEffectName: usize = 0x7A0; // CUtlSymbolLarge
+                pub const m_iszSSEffectName: usize = 0x7A8; // CUtlSymbolLarge
+                pub const m_bOn: usize = 0x7B0; // bool
+                pub const m_bmaxColor: usize = 0x7B1; // bool
+                pub const m_flSize: usize = 0x7B4; // float32
+                pub const m_flRotation: usize = 0x7B8; // float32
+                pub const m_flHazeScale: usize = 0x7BC; // float32
+                pub const m_flAlphaHaze: usize = 0x7C0; // float32
+                pub const m_flAlphaHdr: usize = 0x7C4; // float32
+                pub const m_flAlphaScale: usize = 0x7C8; // float32
+                pub const m_flHDRColorScale: usize = 0x7CC; // float32
+                pub const m_flFarZScale: usize = 0x7D0; // float32
+            }
+            // Parent: CBaseTrigger
+            // Field count: 2
+            pub mod CTriggerDetectBulletFire {
+                pub const m_bPlayerFireOnly: usize = 0x960; // bool
+                pub const m_OnDetectedBulletFire: usize = 0x968; // CEntityIOOutput
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 0
+            pub mod CWorld {
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            pub mod CPointGiveAmmo {
+                pub const m_pActivator: usize = 0x4E0; // CHandle<CBaseEntity>
+            }
+            // Parent: CFuncMoveLinear
+            // Field count: 0
+            pub mod CFuncMoveLinearAlias_momentary_door {
+            }
+            // Parent: CBaseEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_flParticleSpacing (float)
+            // NetworkVarNames: m_flSlack (float)
+            // NetworkVarNames: m_flRadius (float)
+            // NetworkVarNames: m_ColorTint (Color)
+            // NetworkVarNames: m_nEffectState (int)
+            // NetworkVarNames: m_iEffectIndex (HParticleSystemDefinitionStrong)
+            // NetworkVarNames: m_PathNodes_Position (Vector)
+            // NetworkVarNames: m_PathNodes_TangentIn (Vector)
+            // NetworkVarNames: m_PathNodes_TangentOut (Vector)
+            // NetworkVarNames: m_PathNodes_Color (Vector)
+            // NetworkVarNames: m_PathNodes_PinEnabled (bool)
+            // NetworkVarNames: m_PathNodes_RadiusScale (float)
+            pub mod CPathParticleRope {
+                pub const m_bStartActive: usize = 0x4E8; // bool
+                pub const m_flMaxSimulationTime: usize = 0x4EC; // float32
+                pub const m_iszEffectName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_PathNodes_Name: usize = 0x4F8; // CUtlVector<CUtlSymbolLarge>
+                pub const m_flParticleSpacing: usize = 0x510; // float32
+                pub const m_flSlack: usize = 0x514; // float32
+                pub const m_flRadius: usize = 0x518; // float32
+                pub const m_ColorTint: usize = 0x51C; // Color
+                pub const m_nEffectState: usize = 0x520; // int32
+                pub const m_iEffectIndex: usize = 0x528; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
+                pub const m_PathNodes_Position: usize = 0x530; // CNetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_TangentIn: usize = 0x548; // CNetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_TangentOut: usize = 0x560; // CNetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_Color: usize = 0x578; // CNetworkUtlVectorBase<Vector>
+                pub const m_PathNodes_PinEnabled: usize = 0x590; // CNetworkUtlVectorBase<bool>
+                pub const m_PathNodes_RadiusScale: usize = 0x5A8; // CNetworkUtlVectorBase<float32>
+            }
+            // Parent: CBaseEntity
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_flVisibilityStrength (float)
+            // NetworkVarNames: m_flFogDistanceMultiplier (float)
+            // NetworkVarNames: m_flFogMaxDensityMultiplier (float)
+            // NetworkVarNames: m_flFadeTime (float)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_bIsEnabled (bool)
+            pub mod CPlayerVisibility {
+                pub const m_flVisibilityStrength: usize = 0x4E0; // float32
+                pub const m_flFogDistanceMultiplier: usize = 0x4E4; // float32
+                pub const m_flFogMaxDensityMultiplier: usize = 0x4E8; // float32
+                pub const m_flFadeTime: usize = 0x4EC; // float32
+                pub const m_bStartDisabled: usize = 0x4F0; // bool
+                pub const m_bIsEnabled: usize = 0x4F1; // bool
+            }
+            // Parent: CServerOnlyEntity
+            // Field count: 0
+            pub mod CServerOnlyPointEntity {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CAK47 {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 4
+            pub mod CTriggerTeleport {
+                pub const m_iLandmark: usize = 0x960; // CUtlSymbolLarge
+                pub const m_bUseLandmarkAngles: usize = 0x968; // bool
+                pub const m_bMirrorPlayer: usize = 0x969; // bool
+                pub const m_bCheckDestIfClearForPlayer: usize = 0x96A; // bool
+            }
+            // Parent: CCSPlayerBase_CameraServices
+            // Field count: 0
+            pub mod CCSObserver_CameraServices {
+            }
+            // Parent: CCSGO_TeamIntroCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_TeamIntroTerroristPosition {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 38
+            pub mod CFuncMover {
+                pub const m_bCreateMovableNavMesh: usize = 0x790; // bool
+                pub const m_iszPathName: usize = 0x798; // CUtlSymbolLarge
+                pub const m_hPathMover: usize = 0x7A0; // CHandle<CPathMover>
+                pub const m_iszPathNodeStart: usize = 0x7A8; // CUtlSymbolLarge
+                pub const m_eMoveType: usize = 0x7B0; // CFuncMover::Move_t
+                pub const m_bIsReversing: usize = 0x7B4; // bool
+                pub const m_vTarget: usize = 0x7B8; // Vector
+                pub const m_flStartSpeed: usize = 0x7C4; // float32
+                pub const m_flPathLocation: usize = 0x7C8; // float32
+                pub const m_flT: usize = 0x7CC; // float32
+                pub const m_nCurrentNodeIndex: usize = 0x7D0; // int32
+                pub const m_nPreviousNodeIndex: usize = 0x7D4; // int32
+                pub const m_bFixedOrientation: usize = 0x7D8; // bool
+                pub const m_bFixedPitch: usize = 0x7D9; // bool
+                pub const m_eSolidType: usize = 0x7DA; // SolidType_t
+                pub const m_bIsMoving: usize = 0x7DB; // bool
+                pub const m_flTimeToReachMaxSpeed: usize = 0x7DC; // float32
+                pub const m_flDistanceToReachMaxSpeed: usize = 0x7E0; // float32
+                pub const m_flTimeToReachZeroSpeed: usize = 0x7E4; // float32
+                pub const m_flDistanceToReachZeroSpeed: usize = 0x7E8; // float32
+                pub const m_flTimeMovementStart: usize = 0x7EC; // GameTime_t
+                pub const m_flTimeMovementStop: usize = 0x7F0; // GameTime_t
+                pub const m_hStopAtNode: usize = 0x7F4; // CHandle<CMoverPathNode>
+                pub const m_flPathLocationToBeginStop: usize = 0x7F8; // float32
+                pub const m_iszStartForwardSound: usize = 0x800; // CUtlSymbolLarge
+                pub const m_iszLoopForwardSound: usize = 0x808; // CUtlSymbolLarge
+                pub const m_iszStopForwardSound: usize = 0x810; // CUtlSymbolLarge
+                pub const m_iszStartReverseSound: usize = 0x818; // CUtlSymbolLarge
+                pub const m_iszLoopReverseSound: usize = 0x820; // CUtlSymbolLarge
+                pub const m_iszStopReverseSound: usize = 0x828; // CUtlSymbolLarge
+                pub const m_iszArriveAtDestinationSound: usize = 0x830; // CUtlSymbolLarge
+                pub const m_OnMovementEnd: usize = 0x840; // CEntityIOOutput
+                pub const m_bStartAtEnd: usize = 0x868; // bool
+                pub const m_eOrientationUpdate: usize = 0x86C; // CFuncMover::OrientationUpdate_t
+                pub const m_flTimeStartOrientationChange: usize = 0x870; // GameTime_t
+                pub const m_flTimeToBlendToNewOrientation: usize = 0x874; // float32
+                pub const m_flDurationBlendToNewOrientationRan: usize = 0x878; // float32
+                pub const m_qOriginalOrientation: usize = 0x880; // Quaternion
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: localSound (Vector)
+            // NetworkVarNames: soundscapeIndex (int32)
+            // NetworkVarNames: localBits (uint8)
+            // NetworkVarNames: soundscapeEntityListIndex (int)
+            // NetworkVarNames: soundEventHash (uint32)
+            pub mod audioparams_t {
+                pub const localSound: usize = 0x8; // Vector[8]
+                pub const soundscapeIndex: usize = 0x68; // int32
+                pub const localBits: usize = 0x6C; // uint8
+                pub const soundscapeEntityListIndex: usize = 0x70; // int32
+                pub const soundEventHash: usize = 0x74; // uint32
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            pub mod CHEGrenade {
+            }
+            // Parent: CRulePointEntity
+            // Field count: 0
+            pub mod CGameEnd {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CTriggerCallback {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 3
+            pub mod CBubbling {
+                pub const m_density: usize = 0x790; // int32
+                pub const m_frequency: usize = 0x794; // int32
+                pub const m_state: usize = 0x798; // int32
+            }
+            // Parent: CTeamplayRules
+            // Field count: 190
+            //
+            // Metadata:
+            // NetworkVarNames: m_bFreezePeriod (bool)
+            // NetworkVarNames: m_bWarmupPeriod (bool)
+            // NetworkVarNames: m_fWarmupPeriodEnd (GameTime_t)
+            // NetworkVarNames: m_fWarmupPeriodStart (GameTime_t)
+            // NetworkVarNames: m_bServerPaused (bool)
+            // NetworkVarNames: m_bTerroristTimeOutActive (bool)
+            // NetworkVarNames: m_bCTTimeOutActive (bool)
+            // NetworkVarNames: m_flTerroristTimeOutRemaining (float)
+            // NetworkVarNames: m_flCTTimeOutRemaining (float)
+            // NetworkVarNames: m_nTerroristTimeOuts (int)
+            // NetworkVarNames: m_nCTTimeOuts (int)
+            // NetworkVarNames: m_bTechnicalTimeOut (bool)
+            // NetworkVarNames: m_bMatchWaitingForResume (bool)
+            // NetworkVarNames: m_iRoundTime (int)
+            // NetworkVarNames: m_fMatchStartTime (float)
+            // NetworkVarNames: m_fRoundStartTime (GameTime_t)
+            // NetworkVarNames: m_flRestartRoundTime (GameTime_t)
+            // NetworkVarNames: m_bGameRestart (bool)
+            // NetworkVarNames: m_flGameStartTime (float)
+            // NetworkVarNames: m_timeUntilNextPhaseStarts (float)
+            // NetworkVarNames: m_gamePhase (int)
+            // NetworkVarNames: m_totalRoundsPlayed (int)
+            // NetworkVarNames: m_nRoundsPlayedThisPhase (int)
+            // NetworkVarNames: m_nOvertimePlaying (int)
+            // NetworkVarNames: m_iHostagesRemaining (int)
+            // NetworkVarNames: m_bAnyHostageReached (bool)
+            // NetworkVarNames: m_bMapHasBombTarget (bool)
+            // NetworkVarNames: m_bMapHasRescueZone (bool)
+            // NetworkVarNames: m_bMapHasBuyZone (bool)
+            // NetworkVarNames: m_bIsQueuedMatchmaking (bool)
+            // NetworkVarNames: m_nQueuedMatchmakingMode (int)
+            // NetworkVarNames: m_bIsValveDS (bool)
+            // NetworkVarNames: m_bLogoMap (bool)
+            // NetworkVarNames: m_bPlayAllStepSoundsOnServer (bool)
+            // NetworkVarNames: m_iSpectatorSlotCount (int)
+            // NetworkVarNames: m_MatchDevice (int)
+            // NetworkVarNames: m_bHasMatchStarted (bool)
+            // NetworkVarNames: m_nNextMapInMapgroup (int)
+            // NetworkVarNames: m_szTournamentEventName (char)
+            // NetworkVarNames: m_szTournamentEventStage (char)
+            // NetworkVarNames: m_szMatchStatTxt (char)
+            // NetworkVarNames: m_szTournamentPredictionsTxt (char)
+            // NetworkVarNames: m_nTournamentPredictionsPct (int)
+            // NetworkVarNames: m_flCMMItemDropRevealStartTime (GameTime_t)
+            // NetworkVarNames: m_flCMMItemDropRevealEndTime (GameTime_t)
+            // NetworkVarNames: m_bIsDroppingItems (bool)
+            // NetworkVarNames: m_bIsQuestEligible (bool)
+            // NetworkVarNames: m_bIsHltvActive (bool)
+            // NetworkVarNames: m_arrProhibitedItemIndices (uint16)
+            // NetworkVarNames: m_arrTournamentActiveCasterAccounts (uint32)
+            // NetworkVarNames: m_numBestOfMaps (int)
+            // NetworkVarNames: m_nHalloweenMaskListSeed (int)
+            // NetworkVarNames: m_bBombDropped (bool)
+            // NetworkVarNames: m_bBombPlanted (bool)
+            // NetworkVarNames: m_iRoundWinStatus (int)
+            // NetworkVarNames: m_eRoundWinReason (int)
+            // NetworkVarNames: m_bTCantBuy (bool)
+            // NetworkVarNames: m_bCTCantBuy (bool)
+            // NetworkVarNames: m_iMatchStats_RoundResults (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_CT (int)
+            // NetworkVarNames: m_iMatchStats_PlayersAlive_T (int)
+            // NetworkVarNames: m_TeamRespawnWaveTimes (float)
+            // NetworkVarNames: m_flNextRespawnWave (GameTime_t)
+            // NetworkVarNames: m_nServerQuestID (int)
+            // NetworkVarNames: m_vMinimapMins (Vector)
+            // NetworkVarNames: m_vMinimapMaxs (Vector)
+            // NetworkVarNames: m_MinimapVerticalSectionHeights (float)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteTypes (int)
+            // NetworkVarNames: m_nEndMatchMapGroupVoteOptions (int)
+            // NetworkVarNames: m_nEndMatchMapVoteWinner (int)
+            // NetworkVarNames: m_iNumConsecutiveCTLoses (int)
+            // NetworkVarNames: m_iNumConsecutiveTerroristLoses (int)
+            // NetworkVarNames: m_nMatchAbortedEarlyReason (int)
+            // NetworkVarNames: m_pGameModeRules (CCSGameModeRules*)
+            // NetworkVarNames: m_RetakeRules (CRetakeGameRules)
+            // NetworkVarNames: m_nMatchEndCount (uint8)
+            // NetworkVarNames: m_nTTeamIntroVariant (int)
+            // NetworkVarNames: m_nCTTeamIntroVariant (int)
+            // NetworkVarNames: m_bTeamIntroPeriod (bool)
+            // NetworkVarNames: m_iRoundEndWinnerTeam (int)
+            // NetworkVarNames: m_eRoundEndReason (int)
+            // NetworkVarNames: m_bRoundEndShowTimerDefend (bool)
+            // NetworkVarNames: m_iRoundEndTimerTime (int)
+            // NetworkVarNames: m_sRoundEndFunFactToken (CUtlString)
+            // NetworkVarNames: m_iRoundEndFunFactPlayerSlot (CPlayerSlot)
+            // NetworkVarNames: m_iRoundEndFunFactData1 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData2 (int)
+            // NetworkVarNames: m_iRoundEndFunFactData3 (int)
+            // NetworkVarNames: m_sRoundEndMessage (CUtlString)
+            // NetworkVarNames: m_iRoundEndPlayerCount (int)
+            // NetworkVarNames: m_bRoundEndNoMusic (bool)
+            // NetworkVarNames: m_iRoundEndLegacy (int)
+            // NetworkVarNames: m_nRoundEndCount (uint8)
+            // NetworkVarNames: m_iRoundStartRoundNumber (int)
+            // NetworkVarNames: m_nRoundStartCount (uint8)
+            pub mod CCSGameRules {
+                pub const m_bFreezePeriod: usize = 0xC8; // bool
+                pub const m_bWarmupPeriod: usize = 0xC9; // bool
+                pub const m_fWarmupPeriodEnd: usize = 0xCC; // GameTime_t
+                pub const m_fWarmupPeriodStart: usize = 0xD0; // GameTime_t
+                pub const m_bServerPaused: usize = 0xD4; // bool
+                pub const m_bTerroristTimeOutActive: usize = 0xD5; // bool
+                pub const m_bCTTimeOutActive: usize = 0xD6; // bool
+                pub const m_flTerroristTimeOutRemaining: usize = 0xD8; // float32
+                pub const m_flCTTimeOutRemaining: usize = 0xDC; // float32
+                pub const m_nTerroristTimeOuts: usize = 0xE0; // int32
+                pub const m_nCTTimeOuts: usize = 0xE4; // int32
+                pub const m_bTechnicalTimeOut: usize = 0xE8; // bool
+                pub const m_bMatchWaitingForResume: usize = 0xE9; // bool
+                pub const m_iRoundTime: usize = 0xEC; // int32
+                pub const m_fMatchStartTime: usize = 0xF0; // float32
+                pub const m_fRoundStartTime: usize = 0xF4; // GameTime_t
+                pub const m_flRestartRoundTime: usize = 0xF8; // GameTime_t
+                pub const m_bGameRestart: usize = 0xFC; // bool
+                pub const m_flGameStartTime: usize = 0x100; // float32
+                pub const m_timeUntilNextPhaseStarts: usize = 0x104; // float32
+                pub const m_gamePhase: usize = 0x108; // int32
+                pub const m_totalRoundsPlayed: usize = 0x10C; // int32
+                pub const m_nRoundsPlayedThisPhase: usize = 0x110; // int32
+                pub const m_nOvertimePlaying: usize = 0x114; // int32
+                pub const m_iHostagesRemaining: usize = 0x118; // int32
+                pub const m_bAnyHostageReached: usize = 0x11C; // bool
+                pub const m_bMapHasBombTarget: usize = 0x11D; // bool
+                pub const m_bMapHasRescueZone: usize = 0x11E; // bool
+                pub const m_bMapHasBuyZone: usize = 0x11F; // bool
+                pub const m_bIsQueuedMatchmaking: usize = 0x120; // bool
+                pub const m_nQueuedMatchmakingMode: usize = 0x124; // int32
+                pub const m_bIsValveDS: usize = 0x128; // bool
+                pub const m_bLogoMap: usize = 0x129; // bool
+                pub const m_bPlayAllStepSoundsOnServer: usize = 0x12A; // bool
+                pub const m_iSpectatorSlotCount: usize = 0x12C; // int32
+                pub const m_MatchDevice: usize = 0x130; // int32
+                pub const m_bHasMatchStarted: usize = 0x134; // bool
+                pub const m_nNextMapInMapgroup: usize = 0x138; // int32
+                pub const m_szTournamentEventName: usize = 0x13C; // char[512]
+                pub const m_szTournamentEventStage: usize = 0x33C; // char[512]
+                pub const m_szMatchStatTxt: usize = 0x53C; // char[512]
+                pub const m_szTournamentPredictionsTxt: usize = 0x73C; // char[512]
+                pub const m_nTournamentPredictionsPct: usize = 0x93C; // int32
+                pub const m_flCMMItemDropRevealStartTime: usize = 0x940; // GameTime_t
+                pub const m_flCMMItemDropRevealEndTime: usize = 0x944; // GameTime_t
+                pub const m_bIsDroppingItems: usize = 0x948; // bool
+                pub const m_bIsQuestEligible: usize = 0x949; // bool
+                pub const m_bIsHltvActive: usize = 0x94A; // bool
+                pub const m_arrProhibitedItemIndices: usize = 0x94C; // uint16[100]
+                pub const m_arrTournamentActiveCasterAccounts: usize = 0xA14; // uint32[4]
+                pub const m_numBestOfMaps: usize = 0xA24; // int32
+                pub const m_nHalloweenMaskListSeed: usize = 0xA28; // int32
+                pub const m_bBombDropped: usize = 0xA2C; // bool
+                pub const m_bBombPlanted: usize = 0xA2D; // bool
+                pub const m_iRoundWinStatus: usize = 0xA30; // int32
+                pub const m_eRoundWinReason: usize = 0xA34; // int32
+                pub const m_bTCantBuy: usize = 0xA38; // bool
+                pub const m_bCTCantBuy: usize = 0xA39; // bool
+                pub const m_iMatchStats_RoundResults: usize = 0xA3C; // int32[30]
+                pub const m_iMatchStats_PlayersAlive_CT: usize = 0xAB4; // int32[30]
+                pub const m_iMatchStats_PlayersAlive_T: usize = 0xB2C; // int32[30]
+                pub const m_TeamRespawnWaveTimes: usize = 0xBA4; // float32[32]
+                pub const m_flNextRespawnWave: usize = 0xC24; // GameTime_t[32]
+                pub const m_nServerQuestID: usize = 0xCA4; // int32
+                pub const m_vMinimapMins: usize = 0xCA8; // Vector
+                pub const m_vMinimapMaxs: usize = 0xCB4; // Vector
+                pub const m_MinimapVerticalSectionHeights: usize = 0xCC0; // float32[8]
+                pub const m_bSpawnedTerrorHuntHeavy: usize = 0xCE0; // bool
+                pub const m_ullLocalMatchID: usize = 0xCE8; // uint64
+                pub const m_nEndMatchMapGroupVoteTypes: usize = 0xCF0; // int32[10]
+                pub const m_nEndMatchMapGroupVoteOptions: usize = 0xD18; // int32[10]
+                pub const m_nEndMatchMapVoteWinner: usize = 0xD40; // int32
+                pub const m_iNumConsecutiveCTLoses: usize = 0xD44; // int32
+                pub const m_iNumConsecutiveTerroristLoses: usize = 0xD48; // int32
+                pub const m_bHasHostageBeenTouched: usize = 0xD68; // bool
+                pub const m_flIntermissionStartTime: usize = 0xD6C; // GameTime_t
+                pub const m_flIntermissionEndTime: usize = 0xD70; // GameTime_t
+                pub const m_bLevelInitialized: usize = 0xD74; // bool
+                pub const m_iTotalRoundsPlayed: usize = 0xD78; // int32
+                pub const m_iUnBalancedRounds: usize = 0xD7C; // int32
+                pub const m_endMatchOnRoundReset: usize = 0xD80; // bool
+                pub const m_endMatchOnThink: usize = 0xD81; // bool
+                pub const m_iFreezeTime: usize = 0xD84; // int32
+                pub const m_iNumTerrorist: usize = 0xD88; // int32
+                pub const m_iNumCT: usize = 0xD8C; // int32
+                pub const m_iNumSpawnableTerrorist: usize = 0xD90; // int32
+                pub const m_iNumSpawnableCT: usize = 0xD94; // int32
+                pub const m_arrSelectedHostageSpawnIndices: usize = 0xD98; // CUtlVector<int32>
+                pub const m_nSpawnPointsRandomSeed: usize = 0xDB0; // int32
+                pub const m_bFirstConnected: usize = 0xDB4; // bool
+                pub const m_bCompleteReset: usize = 0xDB5; // bool
+                pub const m_bPickNewTeamsOnReset: usize = 0xDB6; // bool
+                pub const m_bScrambleTeamsOnRestart: usize = 0xDB7; // bool
+                pub const m_bSwapTeamsOnRestart: usize = 0xDB8; // bool
+                pub const m_nEndMatchTiedVotes: usize = 0xDC0; // CUtlVector<int32>
+                pub const m_bNeedToAskPlayersForContinueVote: usize = 0xDDC; // bool
+                pub const m_numQueuedMatchmakingAccounts: usize = 0xDE0; // uint32
+                pub const m_fAvgPlayerRank: usize = 0xDE4; // float32
+                pub const m_pQueuedMatchmakingReservationString: usize = 0xDE8; // char*
+                pub const m_numTotalTournamentDrops: usize = 0xDF0; // uint32
+                pub const m_numSpectatorsCountMax: usize = 0xDF4; // uint32
+                pub const m_numSpectatorsCountMaxTV: usize = 0xDF8; // uint32
+                pub const m_numSpectatorsCountMaxLnk: usize = 0xDFC; // uint32
+                pub const m_bForceTeamChangeSilent: usize = 0xE08; // bool
+                pub const m_bLoadingRoundBackupData: usize = 0xE09; // bool
+                pub const m_nMatchInfoShowType: usize = 0xE40; // int32
+                pub const m_flMatchInfoDecidedTime: usize = 0xE44; // float32
+                pub const mTeamDMLastWinningTeamNumber: usize = 0xE60; // int32
+                pub const mTeamDMLastThinkTime: usize = 0xE64; // float32
+                pub const m_flTeamDMLastAnnouncementTime: usize = 0xE68; // float32
+                pub const m_iAccountTerrorist: usize = 0xE6C; // int32
+                pub const m_iAccountCT: usize = 0xE70; // int32
+                pub const m_iSpawnPointCount_Terrorist: usize = 0xE74; // int32
+                pub const m_iSpawnPointCount_CT: usize = 0xE78; // int32
+                pub const m_iMaxNumTerrorists: usize = 0xE7C; // int32
+                pub const m_iMaxNumCTs: usize = 0xE80; // int32
+                pub const m_iLoserBonusMostRecentTeam: usize = 0xE84; // int32
+                pub const m_tmNextPeriodicThink: usize = 0xE88; // float32
+                pub const m_bVoiceWonMatchBragFired: usize = 0xE8C; // bool
+                pub const m_fWarmupNextChatNoticeTime: usize = 0xE90; // float32
+                pub const m_iHostagesRescued: usize = 0xE98; // int32
+                pub const m_iHostagesTouched: usize = 0xE9C; // int32
+                pub const m_flNextHostageAnnouncement: usize = 0xEA0; // float32
+                pub const m_bNoTerroristsKilled: usize = 0xEA4; // bool
+                pub const m_bNoCTsKilled: usize = 0xEA5; // bool
+                pub const m_bNoEnemiesKilled: usize = 0xEA6; // bool
+                pub const m_bCanDonateWeapons: usize = 0xEA7; // bool
+                pub const m_firstKillTime: usize = 0xEAC; // float32
+                pub const m_firstBloodTime: usize = 0xEB4; // float32
+                pub const m_hostageWasInjured: usize = 0xED0; // bool
+                pub const m_hostageWasKilled: usize = 0xED1; // bool
+                pub const m_bVoteCalled: usize = 0xEE0; // bool
+                pub const m_bServerVoteOnReset: usize = 0xEE1; // bool
+                pub const m_flVoteCheckThrottle: usize = 0xEE4; // float32
+                pub const m_bBuyTimeEnded: usize = 0xEE8; // bool
+                pub const m_nLastFreezeEndBeep: usize = 0xEEC; // int32
+                pub const m_bTargetBombed: usize = 0xEF0; // bool
+                pub const m_bBombDefused: usize = 0xEF1; // bool
+                pub const m_bMapHasBombZone: usize = 0xEF2; // bool
+                pub const m_vecMainCTSpawnPos: usize = 0xF40; // Vector
+                pub const m_CTSpawnPointsMasterList: usize = 0xF50; // CUtlVector<SpawnPoint*>
+                pub const m_TerroristSpawnPointsMasterList: usize = 0xF68; // CUtlVector<SpawnPoint*>
+                pub const m_bRespawningAllRespawnablePlayers: usize = 0xF80; // bool
+                pub const m_iNextCTSpawnPoint: usize = 0xF84; // int32
+                pub const m_flCTSpawnPointUsedTime: usize = 0xF88; // float32
+                pub const m_iNextTerroristSpawnPoint: usize = 0xF8C; // int32
+                pub const m_flTerroristSpawnPointUsedTime: usize = 0xF90; // float32
+                pub const m_CTSpawnPoints: usize = 0xF98; // CUtlVector<SpawnPoint*>
+                pub const m_TerroristSpawnPoints: usize = 0xFB0; // CUtlVector<SpawnPoint*>
+                pub const m_bIsUnreservedGameServer: usize = 0xFC8; // bool
+                pub const m_fAutobalanceDisplayTime: usize = 0xFCC; // float32
+                pub const m_bAllowWeaponSwitch: usize = 0x1238; // bool
+                pub const m_bRoundTimeWarningTriggered: usize = 0x1239; // bool
+                pub const m_phaseChangeAnnouncementTime: usize = 0x123C; // GameTime_t
+                pub const m_fNextUpdateTeamClanNamesTime: usize = 0x1240; // float32
+                pub const m_flLastThinkTime: usize = 0x1244; // GameTime_t
+                pub const m_fAccumulatedRoundOffDamage: usize = 0x1248; // float32
+                pub const m_nShorthandedBonusLastEvalRound: usize = 0x124C; // int32
+                pub const m_nMatchAbortedEarlyReason: usize = 0x14C8; // int32
+                pub const m_bHasTriggeredRoundStartMusic: usize = 0x14CC; // bool
+                pub const m_bSwitchingTeamsAtRoundReset: usize = 0x14CD; // bool
+                pub const m_pGameModeRules: usize = 0x14E8; // CCSGameModeRules*
+                pub const m_BtGlobalBlackboard: usize = 0x14F0; // KeyValues3
+                pub const m_hPlayerResource: usize = 0x1580; // CHandle<CBaseEntity>
+                pub const m_RetakeRules: usize = 0x1588; // CRetakeGameRules
+                pub const m_arrTeamUniqueKillWeaponsMatch: usize = 0x1720; // CUtlVector<int32>[4]
+                pub const m_bTeamLastKillUsedUniqueWeaponMatch: usize = 0x1780; // bool[4]
+                pub const m_nMatchEndCount: usize = 0x17A8; // uint8
+                pub const m_nTTeamIntroVariant: usize = 0x17AC; // int32
+                pub const m_nCTTeamIntroVariant: usize = 0x17B0; // int32
+                pub const m_bTeamIntroPeriod: usize = 0x17B4; // bool
+                pub const m_fTeamIntroPeriodEnd: usize = 0x17B8; // GameTime_t
+                pub const m_bPlayedTeamIntroVO: usize = 0x17BC; // bool
+                pub const m_iRoundEndWinnerTeam: usize = 0x17C0; // int32
+                pub const m_eRoundEndReason: usize = 0x17C4; // int32
+                pub const m_bRoundEndShowTimerDefend: usize = 0x17C8; // bool
+                pub const m_iRoundEndTimerTime: usize = 0x17CC; // int32
+                pub const m_sRoundEndFunFactToken: usize = 0x17D0; // CUtlString
+                pub const m_iRoundEndFunFactPlayerSlot: usize = 0x17D8; // CPlayerSlot
+                pub const m_iRoundEndFunFactData1: usize = 0x17DC; // int32
+                pub const m_iRoundEndFunFactData2: usize = 0x17E0; // int32
+                pub const m_iRoundEndFunFactData3: usize = 0x17E4; // int32
+                pub const m_sRoundEndMessage: usize = 0x17E8; // CUtlString
+                pub const m_iRoundEndPlayerCount: usize = 0x17F0; // int32
+                pub const m_bRoundEndNoMusic: usize = 0x17F4; // bool
+                pub const m_iRoundEndLegacy: usize = 0x17F8; // int32
+                pub const m_nRoundEndCount: usize = 0x17FC; // uint8
+                pub const m_iRoundStartRoundNumber: usize = 0x1800; // int32
+                pub const m_nRoundStartCount: usize = 0x1804; // uint8
+                pub const m_flLastPerfSampleTime: usize = 0x5810; // float64
+            }
+            // Parent: CPhysicsProp
+            // Field count: 0
+            pub mod CPhysicsPropOverride {
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            pub mod CAI_ChangeHintGroup {
+                pub const m_iSearchType: usize = 0x4E0; // int32
+                pub const m_strSearchName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_strNewHintGroup: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_flRadius: usize = 0x4F8; // float32
+            }
+            // Parent: CBaseTrigger
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_MaxWeight (float32)
+            // NetworkVarNames: m_FadeDuration (float32)
+            // NetworkVarNames: m_Weight (float32)
+            // NetworkVarNames: m_lookupFilename (char)
+            pub mod CColorCorrectionVolume {
+                pub const m_bEnabled: usize = 0x960; // bool
+                pub const m_MaxWeight: usize = 0x964; // float32
+                pub const m_FadeDuration: usize = 0x968; // float32
+                pub const m_bStartDisabled: usize = 0x96C; // bool
+                pub const m_Weight: usize = 0x970; // float32
+                pub const m_lookupFilename: usize = 0x974; // char[512]
+                pub const m_LastEnterWeight: usize = 0xB74; // float32
+                pub const m_LastEnterTime: usize = 0xB78; // GameTime_t
+                pub const m_LastExitWeight: usize = 0xB7C; // float32
+                pub const m_LastExitTime: usize = 0xB80; // GameTime_t
+            }
+            // Parent: CBaseFilter
+            // Field count: 5
+            pub mod CFilterEnemy {
+                pub const m_iszEnemyName: usize = 0x538; // CUtlSymbolLarge
+                pub const m_flRadius: usize = 0x540; // float32
+                pub const m_flOuterRadius: usize = 0x544; // float32
+                pub const m_nMaxSquadmatesPerEnemy: usize = 0x548; // int32
+                pub const m_iszPlayerName: usize = 0x550; // CUtlSymbolLarge
+            }
+            // Parent: CModelPointEntity
+            // Field count: 0
+            pub mod CShower {
+            }
+            // Parent: CBaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_flEndDistance (float)
+            // NetworkVarNames: m_flStartDistance (float)
+            // NetworkVarNames: m_flFogFalloffExponent (float)
+            // NetworkVarNames: m_bHeightFogEnabled (bool)
+            // NetworkVarNames: m_flFogHeightWidth (float)
+            // NetworkVarNames: m_flFogHeightEnd (float)
+            // NetworkVarNames: m_flFogHeightStart (float)
+            // NetworkVarNames: m_flFogHeightExponent (float)
+            // NetworkVarNames: m_flLODBias (float)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_flFogMaxOpacity (float)
+            // NetworkVarNames: m_nCubemapSourceType (int)
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_iszSkyEntity (string_t)
+            // NetworkVarNames: m_hFogCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_bHasHeightFogEnd (bool)
+            pub mod CEnvCubemapFog {
+                pub const m_flEndDistance: usize = 0x4E0; // float32
+                pub const m_flStartDistance: usize = 0x4E4; // float32
+                pub const m_flFogFalloffExponent: usize = 0x4E8; // float32
+                pub const m_bHeightFogEnabled: usize = 0x4EC; // bool
+                pub const m_flFogHeightWidth: usize = 0x4F0; // float32
+                pub const m_flFogHeightEnd: usize = 0x4F4; // float32
+                pub const m_flFogHeightStart: usize = 0x4F8; // float32
+                pub const m_flFogHeightExponent: usize = 0x4FC; // float32
+                pub const m_flLODBias: usize = 0x500; // float32
+                pub const m_bActive: usize = 0x504; // bool
+                pub const m_bStartDisabled: usize = 0x505; // bool
+                pub const m_flFogMaxOpacity: usize = 0x508; // float32
+                pub const m_nCubemapSourceType: usize = 0x50C; // int32
+                pub const m_hSkyMaterial: usize = 0x510; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_iszSkyEntity: usize = 0x518; // CUtlSymbolLarge
+                pub const m_hFogCubemapTexture: usize = 0x520; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_bHasHeightFogEnd: usize = 0x528; // bool
+                pub const m_bFirstTime: usize = 0x529; // bool
+            }
+            // Parent: CBaseButton
+            // Field count: 0
+            pub mod CPhysicalButton {
+            }
+            // Parent: CModelPointEntity
+            // Field count: 16
+            pub mod CEnvExplosion {
+                pub const m_iMagnitude: usize = 0x790; // int32
+                pub const m_flPlayerDamage: usize = 0x794; // float32
+                pub const m_iRadiusOverride: usize = 0x798; // int32
+                pub const m_flInnerRadius: usize = 0x79C; // float32
+                pub const m_spriteScale: usize = 0x7A0; // int32
+                pub const m_flDamageForce: usize = 0x7A4; // float32
+                pub const m_hInflictor: usize = 0x7A8; // CHandle<CBaseEntity>
+                pub const m_iCustomDamageType: usize = 0x7AC; // DamageTypes_t
+                pub const m_bCreateDebris: usize = 0x7B0; // bool
+                pub const m_iszExplosionType: usize = 0x7B8; // CUtlSymbolLarge
+                pub const m_iszCustomEffectName: usize = 0x7C0; // CUtlSymbolLarge
+                pub const m_iszCustomSoundName: usize = 0x7C8; // CUtlSymbolLarge
+                pub const m_iClassIgnore: usize = 0x7D0; // Class_T
+                pub const m_iClassIgnore2: usize = 0x7D4; // Class_T
+                pub const m_iszEntityIgnoreName: usize = 0x7D8; // CUtlSymbolLarge
+                pub const m_hEntityIgnore: usize = 0x7E0; // CHandle<CBaseEntity>
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMins (Vector)
+            // NetworkVarNames: m_vMaxs (Vector)
+            pub mod CSoundEventAABBEntity {
+                pub const m_vMins: usize = 0x598; // Vector
+                pub const m_vMaxs: usize = 0x5A4; // Vector
+            }
+            // Parent: CTriggerMultiple
+            // Field count: 0
+            pub mod CTriggerOnce {
+            }
+            // Parent: CEntitySubclassVDataBase
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CPrecipitationVData {
+                pub const m_szParticlePrecipitationEffect: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_flInnerDistance: usize = 0x108; // float32
+                pub const m_nAttachType: usize = 0x10C; // ParticleAttachment_t
+                pub const m_bBatchSameVolumeType: usize = 0x110; // bool
+                pub const m_nRTEnvCP: usize = 0x114; // int32
+                pub const m_nRTEnvCPComponent: usize = 0x118; // int32
+                pub const m_szModifier: usize = 0x120; // CUtlString
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CLogicProximity {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 30
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszCommentaryFile (string_t)
+            // NetworkVarNames: m_hViewPosition (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bActive (bool)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_flStartTimeInCommentary (float32)
+            // NetworkVarNames: m_iszTitle (string_t)
+            // NetworkVarNames: m_iszSpeakers (string_t)
+            // NetworkVarNames: m_iNodeNumber (int)
+            // NetworkVarNames: m_iNodeNumberMax (int)
+            // NetworkVarNames: m_bListenedTo (bool)
+            pub mod CPointCommentaryNode {
+                pub const m_iszPreCommands: usize = 0x9A8; // CUtlSymbolLarge
+                pub const m_iszPostCommands: usize = 0x9B0; // CUtlSymbolLarge
+                pub const m_iszCommentaryFile: usize = 0x9B8; // CUtlSymbolLarge
+                pub const m_iszViewTarget: usize = 0x9C0; // CUtlSymbolLarge
+                pub const m_hViewTarget: usize = 0x9C8; // CHandle<CBaseEntity>
+                pub const m_hViewTargetAngles: usize = 0x9CC; // CHandle<CBaseEntity>
+                pub const m_iszViewPosition: usize = 0x9D0; // CUtlSymbolLarge
+                pub const m_hViewPosition: usize = 0x9D8; // CHandle<CBaseEntity>
+                pub const m_hViewPositionMover: usize = 0x9DC; // CHandle<CBaseEntity>
+                pub const m_bPreventMovement: usize = 0x9E0; // bool
+                pub const m_bUnderCrosshair: usize = 0x9E1; // bool
+                pub const m_bUnstoppable: usize = 0x9E2; // bool
+                pub const m_flFinishedTime: usize = 0x9E4; // GameTime_t
+                pub const m_vecFinishOrigin: usize = 0x9E8; // Vector
+                pub const m_vecOriginalAngles: usize = 0x9F4; // QAngle
+                pub const m_vecFinishAngles: usize = 0xA00; // QAngle
+                pub const m_bPreventChangesWhileMoving: usize = 0xA0C; // bool
+                pub const m_bDisabled: usize = 0xA0D; // bool
+                pub const m_vecTeleportOrigin: usize = 0xA10; // Vector
+                pub const m_flAbortedPlaybackAt: usize = 0xA1C; // GameTime_t
+                pub const m_pOnCommentaryStarted: usize = 0xA20; // CEntityIOOutput
+                pub const m_pOnCommentaryStopped: usize = 0xA48; // CEntityIOOutput
+                pub const m_bActive: usize = 0xA70; // bool
+                pub const m_flStartTime: usize = 0xA74; // GameTime_t
+                pub const m_flStartTimeInCommentary: usize = 0xA78; // float32
+                pub const m_iszTitle: usize = 0xA80; // CUtlSymbolLarge
+                pub const m_iszSpeakers: usize = 0xA88; // CUtlSymbolLarge
+                pub const m_iNodeNumber: usize = 0xA90; // int32
+                pub const m_iNodeNumberMax: usize = 0xA94; // int32
+                pub const m_bListenedTo: usize = 0xA98; // bool
+            }
+            // Parent: CBaseClientUIEntity
+            // Field count: 23
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIgnoreInput (bool)
+            // NetworkVarNames: m_bLit (bool)
+            // NetworkVarNames: m_bFollowPlayerAcrossTeleport (bool)
+            // NetworkVarNames: m_flWidth (float)
+            // NetworkVarNames: m_flHeight (float)
+            // NetworkVarNames: m_flDPI (float)
+            // NetworkVarNames: m_flInteractDistance (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_unOwnerContext (uint32)
+            // NetworkVarNames: m_unHorizontalAlign (uint32)
+            // NetworkVarNames: m_unVerticalAlign (uint32)
+            // NetworkVarNames: m_unOrientation (uint32)
+            // NetworkVarNames: m_bAllowInteractionFromAllSceneWorlds (bool)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            // NetworkVarNames: m_bOpaque (bool)
+            // NetworkVarNames: m_bNoDepth (bool)
+            // NetworkVarNames: m_bRenderBackface (bool)
+            // NetworkVarNames: m_bUseOffScreenIndicator (bool)
+            // NetworkVarNames: m_bExcludeFromSaveGames (bool)
+            // NetworkVarNames: m_bGrabbable (bool)
+            // NetworkVarNames: m_bOnlyRenderToTexture (bool)
+            // NetworkVarNames: m_bDisableMipGen (bool)
+            // NetworkVarNames: m_nExplicitImageLayout (int32)
+            pub mod CPointClientUIWorldPanel {
+                pub const m_bIgnoreInput: usize = 0x940; // bool
+                pub const m_bLit: usize = 0x941; // bool
+                pub const m_bFollowPlayerAcrossTeleport: usize = 0x942; // bool
+                pub const m_flWidth: usize = 0x944; // float32
+                pub const m_flHeight: usize = 0x948; // float32
+                pub const m_flDPI: usize = 0x94C; // float32
+                pub const m_flInteractDistance: usize = 0x950; // float32
+                pub const m_flDepthOffset: usize = 0x954; // float32
+                pub const m_unOwnerContext: usize = 0x958; // uint32
+                pub const m_unHorizontalAlign: usize = 0x95C; // uint32
+                pub const m_unVerticalAlign: usize = 0x960; // uint32
+                pub const m_unOrientation: usize = 0x964; // uint32
+                pub const m_bAllowInteractionFromAllSceneWorlds: usize = 0x968; // bool
+                pub const m_vecCSSClasses: usize = 0x970; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+                pub const m_bOpaque: usize = 0x988; // bool
+                pub const m_bNoDepth: usize = 0x989; // bool
+                pub const m_bRenderBackface: usize = 0x98A; // bool
+                pub const m_bUseOffScreenIndicator: usize = 0x98B; // bool
+                pub const m_bExcludeFromSaveGames: usize = 0x98C; // bool
+                pub const m_bGrabbable: usize = 0x98D; // bool
+                pub const m_bOnlyRenderToTexture: usize = 0x98E; // bool
+                pub const m_bDisableMipGen: usize = 0x98F; // bool
+                pub const m_nExplicitImageLayout: usize = 0x990; // int32
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterContext {
+                pub const m_iFilterContext: usize = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CPathParticleRope
+            // Field count: 0
+            pub mod CPathParticleRopeAlias_path_particle_rope_clientside {
+            }
+            // Parent: None
+            // Field count: 6
+            pub mod CBuoyancyHelper {
+                pub const m_nFluidType: usize = 0x18; // CUtlStringToken
+                pub const m_flFluidDensity: usize = 0x1C; // float32
+                pub const m_vecFractionOfWheelSubmergedForWheelFriction: usize = 0x20; // CUtlVector<float32>
+                pub const m_vecWheelFrictionScales: usize = 0x38; // CUtlVector<float32>
+                pub const m_vecFractionOfWheelSubmergedForWheelDrag: usize = 0x50; // CUtlVector<float32>
+                pub const m_vecWheelDrag: usize = 0x68; // CUtlVector<float32>
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterAttributeInt {
+                pub const m_sAttributeName: usize = 0x538; // CUtlStringToken
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsRescuing (bool)
+            // NetworkVarNames: m_weaponPurchasesThisMatch (WeaponPurchaseTracker_t)
+            // NetworkVarNames: m_weaponPurchasesThisRound (WeaponPurchaseTracker_t)
+            pub mod CCSPlayer_ActionTrackingServices {
+                pub const m_hLastWeaponBeforeC4AutoSwitch: usize = 0x218; // CHandle<CBasePlayerWeapon>
+                pub const m_bIsRescuing: usize = 0x244; // bool
+                pub const m_weaponPurchasesThisMatch: usize = 0x248; // WeaponPurchaseTracker_t
+                pub const m_weaponPurchasesThisRound: usize = 0x2A0; // WeaponPurchaseTracker_t
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            pub mod CAISound {
+                pub const m_iSoundType: usize = 0x4E0; // SoundTypes_t
+                pub const m_iSoundFlags: usize = 0x4E2; // SoundFlags_t
+                pub const m_iVolume: usize = 0x4E4; // int32
+                pub const m_iSoundIndex: usize = 0x4E8; // int32
+                pub const m_flDuration: usize = 0x4EC; // float32
+                pub const m_iszProxyEntityName: usize = 0x4F0; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 7
+            pub mod CPointEntityFinder {
+                pub const m_hEntity: usize = 0x4E0; // CHandle<CBaseEntity>
+                pub const m_iFilterName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_hFilter: usize = 0x4F0; // CHandle<CBaseFilter>
+                pub const m_iRefName: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_hReference: usize = 0x500; // CHandle<CBaseEntity>
+                pub const m_FindMethod: usize = 0x504; // EntFinderMethod_t
+                pub const m_OnFoundEntity: usize = 0x508; // CEntityIOOutput
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_nModelID (int32)
+            // NetworkVarNames: m_hMaterialBase (HMaterialStrong)
+            // NetworkVarNames: m_hMaterialDamageOverlay (HMaterialStrong)
+            // NetworkVarNames: m_solid (ShardSolid_t)
+            // NetworkVarNames: m_vecPanelSize (Vector2D)
+            // NetworkVarNames: m_vecStressPositionA (Vector2D)
+            // NetworkVarNames: m_vecStressPositionB (Vector2D)
+            // NetworkVarNames: m_vecPanelVertices (Vector2D)
+            // NetworkVarNames: m_vInitialPanelVertices (Vector4D)
+            // NetworkVarNames: m_flGlassHalfThickness (float)
+            // NetworkVarNames: m_bHasParent (bool)
+            // NetworkVarNames: m_bParentFrozen (bool)
+            // NetworkVarNames: m_SurfacePropStringToken (CUtlStringToken)
+            pub mod shard_model_desc_t {
+                pub const m_nModelID: usize = 0x8; // int32
+                pub const m_hMaterialBase: usize = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_hMaterialDamageOverlay: usize = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_solid: usize = 0x20; // ShardSolid_t
+                pub const m_vecPanelSize: usize = 0x24; // Vector2D
+                pub const m_vecStressPositionA: usize = 0x2C; // Vector2D
+                pub const m_vecStressPositionB: usize = 0x34; // Vector2D
+                pub const m_vecPanelVertices: usize = 0x40; // CNetworkUtlVectorBase<Vector2D>
+                pub const m_vInitialPanelVertices: usize = 0x58; // CNetworkUtlVectorBase<Vector4D>
+                pub const m_flGlassHalfThickness: usize = 0x70; // float32
+                pub const m_bHasParent: usize = 0x74; // bool
+                pub const m_bParentFrozen: usize = 0x75; // bool
+                pub const m_SurfacePropStringToken: usize = 0x78; // CUtlStringToken
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 4
+            pub mod CBaseProp {
+                pub const m_bModelOverrodeBlockLOS: usize = 0x9A8; // bool
+                pub const m_iShapeType: usize = 0x9AC; // int32
+                pub const m_bConformToCollisionBounds: usize = 0x9B0; // bool
+                pub const m_mPreferredCatchTransform: usize = 0x9B4; // matrix3x4_t
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 12
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSkyMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hSkyMaterialLightingOnly (HMaterialStrong)
+            // NetworkVarNames: m_bStartDisabled (bool)
+            // NetworkVarNames: m_vTintColor (Color)
+            // NetworkVarNames: m_vTintColorLightingOnly (Color)
+            // NetworkVarNames: m_flBrightnessScale (float)
+            // NetworkVarNames: m_nFogType (int)
+            // NetworkVarNames: m_flFogMinStart (float)
+            // NetworkVarNames: m_flFogMinEnd (float)
+            // NetworkVarNames: m_flFogMaxStart (float)
+            // NetworkVarNames: m_flFogMaxEnd (float)
+            // NetworkVarNames: m_bEnabled (bool)
+            pub mod CEnvSky {
+                pub const m_hSkyMaterial: usize = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_hSkyMaterialLightingOnly: usize = 0x798; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_bStartDisabled: usize = 0x7A0; // bool
+                pub const m_vTintColor: usize = 0x7A1; // Color
+                pub const m_vTintColorLightingOnly: usize = 0x7A5; // Color
+                pub const m_flBrightnessScale: usize = 0x7AC; // float32
+                pub const m_nFogType: usize = 0x7B0; // int32
+                pub const m_flFogMinStart: usize = 0x7B4; // float32
+                pub const m_flFogMinEnd: usize = 0x7B8; // float32
+                pub const m_flFogMaxStart: usize = 0x7BC; // float32
+                pub const m_flFogMaxEnd: usize = 0x7C0; // float32
+                pub const m_bEnabled: usize = 0x7C4; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            pub mod CPointVelocitySensor {
+                pub const m_hTargetEntity: usize = 0x4E0; // CHandle<CBaseEntity>
+                pub const m_vecAxis: usize = 0x4E4; // Vector
+                pub const m_bEnabled: usize = 0x4F0; // bool
+                pub const m_fPrevVelocity: usize = 0x4F4; // float32
+                pub const m_flAvgInterval: usize = 0x4F8; // float32
+                pub const m_Velocity: usize = 0x500; // CEntityOutputTemplate<float32>
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterMassGreater {
+                pub const m_fFilterMass: usize = 0x538; // float32
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod FilterTeam {
+                pub const m_iFilterTeam: usize = 0x538; // int32
+            }
+            // Parent: CFuncTrackTrain
+            // Field count: 1
+            pub mod CFuncTankTrain {
+                pub const m_OnDeath: usize = 0x8E0; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CNullEntity {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_observer {
+            }
+            // Parent: CMarkupVolumeWithRef
+            // Field count: 1
+            pub mod CMarkupVolumeTagged_NavGame {
+                pub const m_bFloodFillAttribute: usize = 0x7E8; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            pub mod CBuyZone {
+                pub const m_LegacyTeamNum: usize = 0x960; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 12
+            pub mod CPointTemplate {
+                pub const m_iszWorldName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszSource2EntityLumpName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszEntityFilterName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_flTimeoutInterval: usize = 0x4F8; // float32
+                pub const m_bAsynchronouslySpawnEntities: usize = 0x4FC; // bool
+                pub const m_pOutputOnSpawned: usize = 0x500; // CEntityIOOutput
+                pub const m_clientOnlyEntityBehavior: usize = 0x528; // PointTemplateClientOnlyEntityBehavior_t
+                pub const m_ownerSpawnGroupType: usize = 0x52C; // PointTemplateOwnerSpawnGroupType_t
+                pub const m_createdSpawnGroupHandles: usize = 0x530; // CUtlVector<uint32>
+                pub const m_SpawnedEntityHandles: usize = 0x548; // CUtlVector<CEntityHandle>
+                pub const m_ScriptSpawnCallback: usize = 0x560; // HSCRIPT
+                pub const m_ScriptCallbackScope: usize = 0x568; // HSCRIPT
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            pub mod CPhysForce {
+                pub const m_nameAttach: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_force: usize = 0x4F0; // float32
+                pub const m_forceTime: usize = 0x4F4; // float32
+                pub const m_attachedObject: usize = 0x4F8; // CHandle<CBaseEntity>
+                pub const m_wasRestored: usize = 0x4FC; // bool
+                pub const m_integrator: usize = 0x500; // CConstantForceController
+            }
+            // Parent: CLogicalEntity
+            // Field count: 6
+            pub mod CLogicDistanceAutosave {
+                pub const m_iszTargetEntity: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_flDistanceToPlayer: usize = 0x4E8; // float32
+                pub const m_bForceNewLevelUnit: usize = 0x4EC; // bool
+                pub const m_bCheckCough: usize = 0x4ED; // bool
+                pub const m_bThinkDangerous: usize = 0x4EE; // bool
+                pub const m_flDangerousTime: usize = 0x4F0; // float32
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            pub mod CInfoDynamicShadowHint {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_flRange: usize = 0x4E4; // float32
+                pub const m_nImportance: usize = 0x4E8; // int32
+                pub const m_nLightChoice: usize = 0x4EC; // int32
+                pub const m_hLight: usize = 0x4F0; // CHandle<CBaseEntity>
+            }
+            // Parent: CSoundOpvarSetPointEntity
+            // Field count: 9
+            pub mod CSoundOpvarSetAABBEntity {
+                pub const m_vDistanceInnerMins: usize = 0x688; // Vector
+                pub const m_vDistanceInnerMaxs: usize = 0x694; // Vector
+                pub const m_vDistanceOuterMins: usize = 0x6A0; // Vector
+                pub const m_vDistanceOuterMaxs: usize = 0x6AC; // Vector
+                pub const m_nAABBDirection: usize = 0x6B8; // int32
+                pub const m_vInnerMins: usize = 0x6BC; // Vector
+                pub const m_vInnerMaxs: usize = 0x6C8; // Vector
+                pub const m_vOuterMins: usize = 0x6D4; // Vector
+                pub const m_vOuterMaxs: usize = 0x6E0; // Vector
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod CEnvWindShared__WindVariationEvent_t {
+                pub const m_flWindAngleVariation: usize = 0x0; // float32
+                pub const m_flWindSpeedVariation: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CTakeDamageInfoAPI {
+            }
+            // Parent: CTriggerOnce
+            // Field count: 1
+            pub mod CScriptTriggerOnce {
+                pub const m_vExtent: usize = 0x988; // Vector
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CNavWalkable {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_iGlowType (int32)
+            // NetworkVarNames: m_iGlowTeam (int32)
+            // NetworkVarNames: m_nGlowRange (int32)
+            // NetworkVarNames: m_nGlowRangeMin (int32)
+            // NetworkVarNames: m_glowColorOverride (Color)
+            // NetworkVarNames: m_bFlashing (bool)
+            // NetworkVarNames: m_flGlowTime (float)
+            // NetworkVarNames: m_flGlowStartTime (float)
+            // NetworkVarNames: m_bEligibleForScreenHighlight (bool)
+            pub mod CGlowProperty {
+                pub const m_fGlowColor: usize = 0x8; // Vector
+                pub const m_iGlowType: usize = 0x30; // int32
+                pub const m_iGlowTeam: usize = 0x34; // int32
+                pub const m_nGlowRange: usize = 0x38; // int32
+                pub const m_nGlowRangeMin: usize = 0x3C; // int32
+                pub const m_glowColorOverride: usize = 0x40; // Color
+                pub const m_bFlashing: usize = 0x44; // bool
+                pub const m_flGlowTime: usize = 0x48; // float32
+                pub const m_flGlowStartTime: usize = 0x4C; // float32
+                pub const m_bEligibleForScreenHighlight: usize = 0x50; // bool
+                pub const m_bGlowing: usize = 0x51; // bool
+            }
+            // Parent: CBaseCSGrenadeProjectile
+            // Field count: 3
+            pub mod CFlashbangProjectile {
+                pub const m_flTimeToDetonate: usize = 0xB50; // float32
+                pub const m_numOpponentsHit: usize = 0xB54; // uint8
+                pub const m_numTeammatesHit: usize = 0xB55; // uint8
+            }
+            // Parent: CPointClientUIWorldPanel
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            pub mod CPointClientUIWorldTextPanel {
+                pub const m_messageText: usize = 0x998; // char[512]
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoInstructorHintTarget {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hCarriedHostage (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hCarriedHostageProp (CHandle<CBaseEntity>)
+            pub mod CCSPlayer_HostageServices {
+                pub const m_hCarriedHostage: usize = 0x40; // CHandle<CBaseEntity>
+                pub const m_hCarriedHostageProp: usize = 0x44; // CHandle<CBaseEntity>
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponSSG08 {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            pub mod CLogicBranch {
+                pub const m_bInValue: usize = 0x4E0; // bool
+                pub const m_Listeners: usize = 0x4E8; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_OnTrue: usize = 0x500; // CEntityIOOutput
+                pub const m_OnFalse: usize = 0x528; // CEntityIOOutput
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponUMP45 {
+            }
+            // Parent: CSprite
+            // Field count: 0
+            pub mod CSpriteAlias_env_glow {
+            }
+            // Parent: CBaseToggle
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: m_glowEntity (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_usable (bool)
+            // NetworkVarNames: m_szDisplayText (string_t)
+            pub mod CBaseButton {
+                pub const m_angMoveEntitySpace: usize = 0x810; // QAngle
+                pub const m_fStayPushed: usize = 0x81C; // bool
+                pub const m_fRotating: usize = 0x81D; // bool
+                pub const m_ls: usize = 0x820; // locksound_t
+                pub const m_sUseSound: usize = 0x840; // CUtlSymbolLarge
+                pub const m_sLockedSound: usize = 0x848; // CUtlSymbolLarge
+                pub const m_sUnlockedSound: usize = 0x850; // CUtlSymbolLarge
+                pub const m_sOverrideAnticipationName: usize = 0x858; // CUtlSymbolLarge
+                pub const m_bLocked: usize = 0x860; // bool
+                pub const m_bDisabled: usize = 0x861; // bool
+                pub const m_flUseLockedTime: usize = 0x864; // GameTime_t
+                pub const m_bSolidBsp: usize = 0x868; // bool
+                pub const m_OnDamaged: usize = 0x870; // CEntityIOOutput
+                pub const m_OnPressed: usize = 0x898; // CEntityIOOutput
+                pub const m_OnUseLocked: usize = 0x8C0; // CEntityIOOutput
+                pub const m_OnIn: usize = 0x8E8; // CEntityIOOutput
+                pub const m_OnOut: usize = 0x910; // CEntityIOOutput
+                pub const m_nState: usize = 0x938; // int32
+                pub const m_hConstraint: usize = 0x93C; // CEntityHandle
+                pub const m_hConstraintParent: usize = 0x940; // CEntityHandle
+                pub const m_bForceNpcExclude: usize = 0x944; // bool
+                pub const m_sGlowEntity: usize = 0x948; // CUtlSymbolLarge
+                pub const m_glowEntity: usize = 0x950; // CHandle<CBaseModelEntity>
+                pub const m_usable: usize = 0x954; // bool
+                pub const m_szDisplayText: usize = 0x958; // CUtlSymbolLarge
+            }
+            // Parent: CPhysConstraint
+            // Field count: 6
+            pub mod CPhysLength {
+                pub const m_offset: usize = 0x558; // Vector[2]
+                pub const m_vecAttach: usize = 0x570; // Vector
+                pub const m_addLength: usize = 0x57C; // float32
+                pub const m_minLength: usize = 0x580; // float32
+                pub const m_totalLength: usize = 0x584; // float32
+                pub const m_bEnableCollision: usize = 0x588; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 48
+            pub mod CLogicNPCCounter {
+                pub const m_OnMinCountAll: usize = 0x4E0; // CEntityIOOutput
+                pub const m_OnMaxCountAll: usize = 0x508; // CEntityIOOutput
+                pub const m_OnFactorAll: usize = 0x530; // CEntityOutputTemplate<float32>
+                pub const m_OnMinPlayerDistAll: usize = 0x558; // CEntityOutputTemplate<float32>
+                pub const m_OnMinCount_1: usize = 0x580; // CEntityIOOutput
+                pub const m_OnMaxCount_1: usize = 0x5A8; // CEntityIOOutput
+                pub const m_OnFactor_1: usize = 0x5D0; // CEntityOutputTemplate<float32>
+                pub const m_OnMinPlayerDist_1: usize = 0x5F8; // CEntityOutputTemplate<float32>
+                pub const m_OnMinCount_2: usize = 0x620; // CEntityIOOutput
+                pub const m_OnMaxCount_2: usize = 0x648; // CEntityIOOutput
+                pub const m_OnFactor_2: usize = 0x670; // CEntityOutputTemplate<float32>
+                pub const m_OnMinPlayerDist_2: usize = 0x698; // CEntityOutputTemplate<float32>
+                pub const m_OnMinCount_3: usize = 0x6C0; // CEntityIOOutput
+                pub const m_OnMaxCount_3: usize = 0x6E8; // CEntityIOOutput
+                pub const m_OnFactor_3: usize = 0x710; // CEntityOutputTemplate<float32>
+                pub const m_OnMinPlayerDist_3: usize = 0x738; // CEntityOutputTemplate<float32>
+                pub const m_hSource: usize = 0x760; // CEntityHandle
+                pub const m_iszSourceEntityName: usize = 0x768; // CUtlSymbolLarge
+                pub const m_flDistanceMax: usize = 0x770; // float32
+                pub const m_bDisabled: usize = 0x774; // bool
+                pub const m_nMinCountAll: usize = 0x778; // int32
+                pub const m_nMaxCountAll: usize = 0x77C; // int32
+                pub const m_nMinFactorAll: usize = 0x780; // int32
+                pub const m_nMaxFactorAll: usize = 0x784; // int32
+                pub const m_iszNPCClassname_1: usize = 0x790; // CUtlSymbolLarge
+                pub const m_nNPCState_1: usize = 0x798; // int32
+                pub const m_bInvertState_1: usize = 0x79C; // bool
+                pub const m_nMinCount_1: usize = 0x7A0; // int32
+                pub const m_nMaxCount_1: usize = 0x7A4; // int32
+                pub const m_nMinFactor_1: usize = 0x7A8; // int32
+                pub const m_nMaxFactor_1: usize = 0x7AC; // int32
+                pub const m_flDefaultDist_1: usize = 0x7B4; // float32
+                pub const m_iszNPCClassname_2: usize = 0x7B8; // CUtlSymbolLarge
+                pub const m_nNPCState_2: usize = 0x7C0; // int32
+                pub const m_bInvertState_2: usize = 0x7C4; // bool
+                pub const m_nMinCount_2: usize = 0x7C8; // int32
+                pub const m_nMaxCount_2: usize = 0x7CC; // int32
+                pub const m_nMinFactor_2: usize = 0x7D0; // int32
+                pub const m_nMaxFactor_2: usize = 0x7D4; // int32
+                pub const m_flDefaultDist_2: usize = 0x7DC; // float32
+                pub const m_iszNPCClassname_3: usize = 0x7E0; // CUtlSymbolLarge
+                pub const m_nNPCState_3: usize = 0x7E8; // int32
+                pub const m_bInvertState_3: usize = 0x7EC; // bool
+                pub const m_nMinCount_3: usize = 0x7F0; // int32
+                pub const m_nMaxCount_3: usize = 0x7F4; // int32
+                pub const m_nMinFactor_3: usize = 0x7F8; // int32
+                pub const m_nMaxFactor_3: usize = 0x7FC; // int32
+                pub const m_flDefaultDist_3: usize = 0x804; // float32
+            }
+            // Parent: CPredictedViewModel
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShouldIgnoreOffsetAndAccuracy (bool)
+            pub mod CCSGOViewModel {
+                pub const m_bShouldIgnoreOffsetAndAccuracy: usize = 0x9F0; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 4
+            pub mod CBlood {
+                pub const m_vecSprayAngles: usize = 0x4E0; // QAngle
+                pub const m_vecSprayDir: usize = 0x4EC; // Vector
+                pub const m_flAmount: usize = 0x4F8; // float32
+                pub const m_Color: usize = 0x4FC; // BloodType
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_fadeColor (Color)
+            pub mod CEnvFade {
+                pub const m_fadeColor: usize = 0x4E0; // Color
+                pub const m_Duration: usize = 0x4E4; // float32
+                pub const m_HoldDuration: usize = 0x4E8; // float32
+                pub const m_OnBeginFade: usize = 0x4F0; // CEntityIOOutput
+            }
+            // Parent: CBaseProp
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+            // NetworkVarNames: m_noGhostCollision (bool)
+            pub mod CBreakableProp {
+                pub const m_CPropDataComponent: usize = 0x9F0; // CPropDataComponent
+                pub const m_OnBreak: usize = 0xA30; // CEntityIOOutput
+                pub const m_OnHealthChanged: usize = 0xA58; // CEntityOutputTemplate<float32>
+                pub const m_OnTakeDamage: usize = 0xA80; // CEntityIOOutput
+                pub const m_impactEnergyScale: usize = 0xAA8; // float32
+                pub const m_iMinHealthDmg: usize = 0xAAC; // int32
+                pub const m_preferredCarryAngles: usize = 0xAB0; // QAngle
+                pub const m_flPressureDelay: usize = 0xABC; // float32
+                pub const m_flDefBurstScale: usize = 0xAC0; // float32
+                pub const m_vDefBurstOffset: usize = 0xAC4; // Vector
+                pub const m_hBreaker: usize = 0xAD0; // CHandle<CBaseEntity>
+                pub const m_PerformanceMode: usize = 0xAD4; // PerformanceMode_t
+                pub const m_flPreventDamageBeforeTime: usize = 0xAD8; // GameTime_t
+                pub const m_BreakableContentsType: usize = 0xADC; // BreakableContentsType_t
+                pub const m_strBreakableContentsPropGroupOverride: usize = 0xAE0; // CUtlString
+                pub const m_strBreakableContentsParticleOverride: usize = 0xAE8; // CUtlString
+                pub const m_bHasBreakPiecesOrCommands: usize = 0xAF0; // bool
+                pub const m_explodeDamage: usize = 0xAF4; // float32
+                pub const m_explodeRadius: usize = 0xAF8; // float32
+                pub const m_explosionDelay: usize = 0xB00; // float32
+                pub const m_explosionBuildupSound: usize = 0xB08; // CUtlSymbolLarge
+                pub const m_explosionCustomEffect: usize = 0xB10; // CUtlSymbolLarge
+                pub const m_explosionCustomSound: usize = 0xB18; // CUtlSymbolLarge
+                pub const m_explosionModifier: usize = 0xB20; // CUtlSymbolLarge
+                pub const m_hPhysicsAttacker: usize = 0xB28; // CHandle<CBasePlayerPawn>
+                pub const m_flLastPhysicsInfluenceTime: usize = 0xB2C; // GameTime_t
+                pub const m_bOriginalBlockLOS: usize = 0xB30; // bool
+                pub const m_flDefaultFadeScale: usize = 0xB34; // float32
+                pub const m_hLastAttacker: usize = 0xB38; // CHandle<CBaseEntity>
+                pub const m_hFlareEnt: usize = 0xB3C; // CHandle<CBaseEntity>
+                pub const m_bUsePuntSound: usize = 0xB40; // bool
+                pub const m_iszPuntSound: usize = 0xB48; // CUtlSymbolLarge
+                pub const m_noGhostCollision: usize = 0xB50; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_vecSellbackPurchaseEntries (SellbackPurchaseEntry_t)
+            pub mod CCSPlayer_BuyServices {
+                pub const m_vecSellbackPurchaseEntries: usize = 0xC8; // CUtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CPathSimpleAPI {
+            }
+            // Parent: CBaseFlex
+            // Field count: 9
+            //
+            // Metadata:
+            // MNetworkExcludeByUserGroup
+            // NetworkVarNames: m_hMyWearables (CHandle<CEconWearable>)
+            pub mod CBaseCombatCharacter {
+                pub const m_bForceServerRagdoll: usize = 0xA38; // bool
+                pub const m_hMyWearables: usize = 0xA40; // CNetworkUtlVectorBase<CHandle<CEconWearable>>
+                pub const m_impactEnergyScale: usize = 0xA58; // float32
+                pub const m_bApplyStressDamage: usize = 0xA5C; // bool
+                pub const m_iDamageCount: usize = 0xAA0; // int32
+                pub const m_pVecRelationships: usize = 0xAA8; // CUtlVector<RelationshipOverride_t>*
+                pub const m_strRelationships: usize = 0xAB0; // CUtlSymbolLarge
+                pub const m_eHull: usize = 0xAB8; // Hull_t
+                pub const m_nNavHullIdx: usize = 0xABC; // uint32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: m_firePositions (Vector)
+            // NetworkVarNames: m_fireParentPositions (Vector)
+            // NetworkVarNames: m_bFireIsBurning (bool)
+            // NetworkVarNames: m_BurnNormal (Vector)
+            // NetworkVarNames: m_fireCount (int)
+            // NetworkVarNames: m_nInfernoType (int)
+            // NetworkVarNames: m_nFireEffectTickBegin (int)
+            // NetworkVarNames: m_nFireLifetime (float)
+            // NetworkVarNames: m_bInPostEffectTime (bool)
+            pub mod CInferno {
+                pub const m_firePositions: usize = 0x7A0; // Vector[64]
+                pub const m_fireParentPositions: usize = 0xAA0; // Vector[64]
+                pub const m_bFireIsBurning: usize = 0xDA0; // bool[64]
+                pub const m_BurnNormal: usize = 0xDE0; // Vector[64]
+                pub const m_fireCount: usize = 0x10E0; // int32
+                pub const m_nInfernoType: usize = 0x10E4; // int32
+                pub const m_nFireEffectTickBegin: usize = 0x10E8; // int32
+                pub const m_nFireLifetime: usize = 0x10EC; // float32
+                pub const m_bInPostEffectTime: usize = 0x10F0; // bool
+                pub const m_nFiresExtinguishCount: usize = 0x10F4; // int32
+                pub const m_bWasCreatedInSmoke: usize = 0x10F8; // bool
+                pub const m_extent: usize = 0x1300; // Extent
+                pub const m_damageTimer: usize = 0x1318; // CountdownTimer
+                pub const m_damageRampTimer: usize = 0x1330; // CountdownTimer
+                pub const m_splashVelocity: usize = 0x1348; // Vector
+                pub const m_InitialSplashVelocity: usize = 0x1354; // Vector
+                pub const m_startPos: usize = 0x1360; // Vector
+                pub const m_vecOriginalSpawnLocation: usize = 0x136C; // Vector
+                pub const m_activeTimer: usize = 0x1378; // IntervalTimer
+                pub const m_fireSpawnOffset: usize = 0x1388; // int32
+                pub const m_nMaxFlames: usize = 0x138C; // int32
+                pub const m_nSpreadCount: usize = 0x1390; // int32
+                pub const m_BookkeepingTimer: usize = 0x1398; // CountdownTimer
+                pub const m_NextSpreadTimer: usize = 0x13B0; // CountdownTimer
+                pub const m_nSourceItemDefIndex: usize = 0x13C8; // uint16
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            pub mod CEnvGlobal {
+                pub const m_outCounter: usize = 0x4E0; // CEntityOutputTemplate<int32>
+                pub const m_globalstate: usize = 0x508; // CUtlSymbolLarge
+                pub const m_triggermode: usize = 0x510; // int32
+                pub const m_initialstate: usize = 0x514; // int32
+                pub const m_counter: usize = 0x518; // int32
+            }
+            // Parent: CLogicalEntity
+            // Field count: 3
+            pub mod CBaseFilter {
+                pub const m_bNegated: usize = 0x4E0; // bool
+                pub const m_OnPass: usize = 0x4E8; // CEntityIOOutput
+                pub const m_OnFail: usize = 0x510; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_aPlayerControllers (CHandle<CBasePlayerController>)
+            // NetworkVarNames: m_aPlayers (CHandle<CBasePlayerPawn>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_szTeamname (char)
+            pub mod CTeam {
+                pub const m_aPlayerControllers: usize = 0x4E0; // CNetworkUtlVectorBase<CHandle<CBasePlayerController>>
+                pub const m_aPlayers: usize = 0x4F8; // CNetworkUtlVectorBase<CHandle<CBasePlayerPawn>>
+                pub const m_iScore: usize = 0x510; // int32
+                pub const m_szTeamname: usize = 0x514; // char[129]
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponUSPSilencer {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 23
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSpriteMaterial (HMaterialStrong)
+            // NetworkVarNames: m_hAttachedToEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nAttachment (AttachmentHandle_t)
+            // NetworkVarNames: m_flSpriteFramerate (float32)
+            // NetworkVarNames: m_flFrame (float32)
+            // NetworkVarNames: m_nBrightness (uint32)
+            // NetworkVarNames: m_flBrightnessDuration (float32)
+            // NetworkVarNames: m_flSpriteScale (float32)
+            // NetworkVarNames: m_flScaleDuration (float32)
+            // NetworkVarNames: m_bWorldSpaceScale (bool)
+            // NetworkVarNames: m_flGlowProxySize (float32)
+            // NetworkVarNames: m_flHDRColorScale (float32)
+            pub mod CSprite {
+                pub const m_hSpriteMaterial: usize = 0x790; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_hAttachedToEntity: usize = 0x798; // CHandle<CBaseEntity>
+                pub const m_nAttachment: usize = 0x79C; // AttachmentHandle_t
+                pub const m_flSpriteFramerate: usize = 0x7A0; // float32
+                pub const m_flFrame: usize = 0x7A4; // float32
+                pub const m_flDieTime: usize = 0x7A8; // GameTime_t
+                pub const m_nBrightness: usize = 0x7B8; // uint32
+                pub const m_flBrightnessDuration: usize = 0x7BC; // float32
+                pub const m_flSpriteScale: usize = 0x7C0; // float32
+                pub const m_flScaleDuration: usize = 0x7C4; // float32
+                pub const m_bWorldSpaceScale: usize = 0x7C8; // bool
+                pub const m_flGlowProxySize: usize = 0x7CC; // float32
+                pub const m_flHDRColorScale: usize = 0x7D0; // float32
+                pub const m_flLastTime: usize = 0x7D4; // GameTime_t
+                pub const m_flMaxFrame: usize = 0x7D8; // float32
+                pub const m_flStartScale: usize = 0x7DC; // float32
+                pub const m_flDestScale: usize = 0x7E0; // float32
+                pub const m_flScaleTimeStart: usize = 0x7E4; // GameTime_t
+                pub const m_nStartBrightness: usize = 0x7E8; // int32
+                pub const m_nDestBrightness: usize = 0x7EC; // int32
+                pub const m_flBrightnessTimeStart: usize = 0x7F0; // GameTime_t
+                pub const m_nSpriteWidth: usize = 0x7F4; // int32
+                pub const m_nSpriteHeight: usize = 0x7F8; // int32
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CTriggerGravity {
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CServerRagdollTrigger {
+            }
+            // Parent: CInfoDynamicShadowHint
+            // Field count: 2
+            pub mod CInfoDynamicShadowHintBox {
+                pub const m_vBoxMins: usize = 0x4F8; // Vector
+                pub const m_vBoxMaxs: usize = 0x504; // Vector
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            pub mod CPathMover {
+                pub const m_vecPathNodes: usize = 0x4E8; // CUtlVector<CHandle<CMoverPathNode>>
+                pub const m_flPathLength: usize = 0x500; // float32
+                pub const m_bClosedLoop: usize = 0x504; // bool
+            }
+            // Parent: CBaseCSGrenade
+            // Field count: 0
+            pub mod CFlashbang {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponAug {
+            }
+            // Parent: CDynamicProp
+            // Field count: 28
+            //
+            // Metadata:
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_leader (CHandle<CCSPlayerPawn>)
+            pub mod CChicken {
+                pub const m_AttributeManager: usize = 0xC78; // CAttributeContainer
+                pub const m_updateTimer: usize = 0xF40; // CountdownTimer
+                pub const m_stuckAnchor: usize = 0xF58; // Vector
+                pub const m_stuckTimer: usize = 0xF68; // CountdownTimer
+                pub const m_collisionStuckTimer: usize = 0xF80; // CountdownTimer
+                pub const m_isOnGround: usize = 0xF98; // bool
+                pub const m_vFallVelocity: usize = 0xF9C; // Vector
+                pub const m_desiredActivity: usize = 0xFA8; // ChickenActivity
+                pub const m_currentActivity: usize = 0xFAC; // ChickenActivity
+                pub const m_activityTimer: usize = 0xFB0; // CountdownTimer
+                pub const m_turnRate: usize = 0xFC8; // float32
+                pub const m_fleeFrom: usize = 0xFCC; // CHandle<CBaseEntity>
+                pub const m_moveRateThrottleTimer: usize = 0xFD0; // CountdownTimer
+                pub const m_startleTimer: usize = 0xFE8; // CountdownTimer
+                pub const m_vocalizeTimer: usize = 0x1000; // CountdownTimer
+                pub const m_flWhenZombified: usize = 0x1018; // GameTime_t
+                pub const m_jumpedThisFrame: usize = 0x101C; // bool
+                pub const m_leader: usize = 0x1020; // CHandle<CCSPlayerPawn>
+                pub const m_reuseTimer: usize = 0x1038; // CountdownTimer
+                pub const m_hasBeenUsed: usize = 0x1050; // bool
+                pub const m_jumpTimer: usize = 0x1058; // CountdownTimer
+                pub const m_flLastJumpTime: usize = 0x1070; // float32
+                pub const m_bInJump: usize = 0x1074; // bool
+                pub const m_repathTimer: usize = 0x3080; // CountdownTimer
+                pub const m_vecPathGoal: usize = 0x3118; // Vector
+                pub const m_flActiveFollowStartTime: usize = 0x3124; // GameTime_t
+                pub const m_followMinuteTimer: usize = 0x3128; // CountdownTimer
+                pub const m_BlockDirectionTimer: usize = 0x3148; // CountdownTimer
+            }
+            // Parent: CBaseTrigger
+            // Field count: 7
+            pub mod CChangeLevel {
+                pub const m_sMapName: usize = 0x960; // CUtlString
+                pub const m_sLandmarkName: usize = 0x968; // CUtlString
+                pub const m_OnChangeLevel: usize = 0x970; // CEntityIOOutput
+                pub const m_bTouched: usize = 0x998; // bool
+                pub const m_bNoTouch: usize = 0x999; // bool
+                pub const m_bNewChapter: usize = 0x99A; // bool
+                pub const m_bOnChangeLevelFired: usize = 0x99B; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 14
+            pub mod CTriggerLerpObject {
+                pub const m_iszLerpTarget: usize = 0x960; // CUtlSymbolLarge
+                pub const m_hLerpTarget: usize = 0x968; // CHandle<CBaseEntity>
+                pub const m_iszLerpTargetAttachment: usize = 0x970; // CUtlSymbolLarge
+                pub const m_hLerpTargetAttachment: usize = 0x978; // AttachmentHandle_t
+                pub const m_flLerpDuration: usize = 0x97C; // float32
+                pub const m_bLerpRestoreMoveType: usize = 0x980; // bool
+                pub const m_bSingleLerpObject: usize = 0x981; // bool
+                pub const m_vecLerpingObjects: usize = 0x988; // CUtlVector<lerpdata_t>
+                pub const m_iszLerpEffect: usize = 0x9A0; // CUtlSymbolLarge
+                pub const m_iszLerpSound: usize = 0x9A8; // CUtlSymbolLarge
+                pub const m_bAttachTouchingObject: usize = 0x9B0; // bool
+                pub const m_hEntityToWaitForDisconnect: usize = 0x9B4; // CHandle<CBaseEntity>
+                pub const m_OnLerpStarted: usize = 0x9B8; // CEntityIOOutput
+                pub const m_OnLerpFinished: usize = 0x9E0; // CEntityIOOutput
+            }
+            // Parent: CBaseToggle
+            // Field count: 12
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_bClientSidePredicted (bool)
+            pub mod CBaseTrigger {
+                pub const m_bDisabled: usize = 0x810; // bool
+                pub const m_iFilterName: usize = 0x818; // CUtlSymbolLarge
+                pub const m_hFilter: usize = 0x820; // CHandle<CBaseFilter>
+                pub const m_OnStartTouch: usize = 0x828; // CEntityIOOutput
+                pub const m_OnStartTouchAll: usize = 0x850; // CEntityIOOutput
+                pub const m_OnEndTouch: usize = 0x878; // CEntityIOOutput
+                pub const m_OnEndTouchAll: usize = 0x8A0; // CEntityIOOutput
+                pub const m_OnTouching: usize = 0x8C8; // CEntityIOOutput
+                pub const m_OnTouchingEachEntity: usize = 0x8F0; // CEntityIOOutput
+                pub const m_OnNotTouching: usize = 0x918; // CEntityIOOutput
+                pub const m_hTouchingEntities: usize = 0x940; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_bClientSidePredicted: usize = 0x958; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CLogicScript {
+            }
+            // Parent: CBaseFlex
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_OriginalOwnerXuidLow (uint32)
+            // NetworkVarNames: m_OriginalOwnerXuidHigh (uint32)
+            // NetworkVarNames: m_nFallbackPaintKit (int)
+            // NetworkVarNames: m_nFallbackSeed (int)
+            // NetworkVarNames: m_flFallbackWear (float)
+            // NetworkVarNames: m_nFallbackStatTrak (int)
+            pub mod CEconEntity {
+                pub const m_AttributeManager: usize = 0xA48; // CAttributeContainer
+                pub const m_OriginalOwnerXuidLow: usize = 0xD10; // uint32
+                pub const m_OriginalOwnerXuidHigh: usize = 0xD14; // uint32
+                pub const m_nFallbackPaintKit: usize = 0xD18; // int32
+                pub const m_nFallbackSeed: usize = 0xD1C; // int32
+                pub const m_flFallbackWear: usize = 0xD20; // float32
+                pub const m_nFallbackStatTrak: usize = 0xD24; // int32
+                pub const m_hOldProvidee: usize = 0xD28; // CHandle<CBaseEntity>
+                pub const m_iOldOwnerClass: usize = 0xD2C; // int32
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // NetworkVarNames: m_collisionAttribute (VPhysicsCollisionAttribute_t)
+            // NetworkVarNames: m_vecMins (Vector)
+            // NetworkVarNames: m_vecMaxs (Vector)
+            // NetworkVarNames: m_usSolidFlags (uint8)
+            // NetworkVarNames: m_nSolidType (SolidType_t)
+            // NetworkVarNames: m_triggerBloat (uint8)
+            // NetworkVarNames: m_nSurroundType (SurroundingBoundsType_t)
+            // NetworkVarNames: m_CollisionGroup (uint8)
+            // NetworkVarNames: m_nEnablePhysics (uint8)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMins (Vector)
+            // NetworkVarNames: m_vecSpecifiedSurroundingMaxs (Vector)
+            // NetworkVarNames: m_vCapsuleCenter1 (Vector)
+            // NetworkVarNames: m_vCapsuleCenter2 (Vector)
+            // NetworkVarNames: m_flCapsuleRadius (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
+                pub const m_nSolidType: usize = 0x5B; // SolidType_t
+                pub const m_triggerBloat: usize = 0x5C; // uint8
+                pub const m_nSurroundType: usize = 0x5D; // SurroundingBoundsType_t
+                pub const m_CollisionGroup: usize = 0x5E; // uint8
+                pub const m_nEnablePhysics: usize = 0x5F; // uint8
+                pub const m_flBoundingRadius: usize = 0x60; // float32
+                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; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CServerOnlyEntity {
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_hSequence (HSequence)
+            // NetworkVarNames: m_flPrevCycle (float32)
+            // NetworkVarNames: m_flCycle (float32)
+            pub mod CNetworkedSequenceOperation {
+                pub const m_hSequence: usize = 0x8; // HSequence
+                pub const m_flPrevCycle: usize = 0xC; // float32
+                pub const m_flCycle: usize = 0x10; // float32
+                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; // float32
+                pub const m_flPrevCycleForAnimEventDetection: usize = 0x24; // float32
+            }
+            // Parent: CModelPointEntity
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_messageText (char)
+            // NetworkVarNames: m_FontName (char)
+            // NetworkVarNames: m_BackgroundMaterialName (char)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bFullbright (bool)
+            // NetworkVarNames: m_flWorldUnitsPerPx (float)
+            // NetworkVarNames: m_flFontSize (float)
+            // NetworkVarNames: m_flDepthOffset (float)
+            // NetworkVarNames: m_bDrawBackground (bool)
+            // NetworkVarNames: m_flBackgroundBorderWidth (float)
+            // NetworkVarNames: m_flBackgroundBorderHeight (float)
+            // NetworkVarNames: m_flBackgroundWorldToUV (float)
+            // NetworkVarNames: m_Color (Color)
+            // NetworkVarNames: m_nJustifyHorizontal (PointWorldTextJustifyHorizontal_t)
+            // NetworkVarNames: m_nJustifyVertical (PointWorldTextJustifyVertical_t)
+            // NetworkVarNames: m_nReorientMode (PointWorldTextReorientMode_t)
+            pub mod CPointWorldText {
+                pub const m_messageText: usize = 0x790; // char[512]
+                pub const m_FontName: usize = 0x990; // char[64]
+                pub const m_BackgroundMaterialName: usize = 0x9D0; // char[64]
+                pub const m_bEnabled: usize = 0xA10; // bool
+                pub const m_bFullbright: usize = 0xA11; // bool
+                pub const m_flWorldUnitsPerPx: usize = 0xA14; // float32
+                pub const m_flFontSize: usize = 0xA18; // float32
+                pub const m_flDepthOffset: usize = 0xA1C; // float32
+                pub const m_bDrawBackground: usize = 0xA20; // bool
+                pub const m_flBackgroundBorderWidth: usize = 0xA24; // float32
+                pub const m_flBackgroundBorderHeight: usize = 0xA28; // float32
+                pub const m_flBackgroundWorldToUV: usize = 0xA2C; // float32
+                pub const m_Color: usize = 0xA30; // Color
+                pub const m_nJustifyHorizontal: usize = 0xA34; // PointWorldTextJustifyHorizontal_t
+                pub const m_nJustifyVertical: usize = 0xA38; // PointWorldTextJustifyVertical_t
+                pub const m_nReorientMode: usize = 0xA3C; // PointWorldTextReorientMode_t
+            }
+            // Parent: CSoundAreaEntityBase
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_vMin (Vector)
+            // NetworkVarNames: m_vMax (Vector)
+            pub mod CSoundAreaEntityOrientedBox {
+                pub const m_vMin: usize = 0x500; // Vector
+                pub const m_vMax: usize = 0x50C; // Vector
+            }
+            // Parent: CBaseTrigger
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_gravityScale (float)
+            // NetworkVarNames: m_linearLimit (float)
+            // NetworkVarNames: m_linearDamping (float)
+            // NetworkVarNames: m_angularLimit (float)
+            // NetworkVarNames: m_angularDamping (float)
+            // NetworkVarNames: m_linearForce (float)
+            // NetworkVarNames: m_flFrequency (float)
+            // NetworkVarNames: m_flDampingRatio (float)
+            // NetworkVarNames: m_vecLinearForcePointAt (Vector)
+            // NetworkVarNames: m_bCollapseToForcePoint (bool)
+            // NetworkVarNames: m_vecLinearForcePointAtWorld (Vector)
+            // NetworkVarNames: m_vecLinearForceDirection (Vector)
+            // NetworkVarNames: m_bConvertToDebrisWhenPossible (bool)
+            pub mod CTriggerPhysics {
+                pub const m_gravityScale: usize = 0x970; // float32
+                pub const m_linearLimit: usize = 0x974; // float32
+                pub const m_linearDamping: usize = 0x978; // float32
+                pub const m_angularLimit: usize = 0x97C; // float32
+                pub const m_angularDamping: usize = 0x980; // float32
+                pub const m_linearForce: usize = 0x984; // float32
+                pub const m_flFrequency: usize = 0x988; // float32
+                pub const m_flDampingRatio: usize = 0x98C; // float32
+                pub const m_vecLinearForcePointAt: usize = 0x990; // Vector
+                pub const m_bCollapseToForcePoint: usize = 0x99C; // bool
+                pub const m_vecLinearForcePointAtWorld: usize = 0x9A0; // Vector
+                pub const m_vecLinearForceDirection: usize = 0x9AC; // Vector
+                pub const m_bConvertToDebrisWhenPossible: usize = 0x9B8; // bool
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_ID (CUtlStringToken)
+            // NetworkVarNames: m_Values (Vector4D)
+            pub mod EntityRenderAttribute_t {
+                pub const m_ID: usize = 0x30; // CUtlStringToken
+                pub const m_Values: usize = 0x34; // Vector4D
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CPointBroadcastClientCommand {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 26
+            pub mod CFuncShatterglass {
+                pub const m_matPanelTransform: usize = 0x790; // matrix3x4_t
+                pub const m_matPanelTransformWsTemp: usize = 0x7C0; // matrix3x4_t
+                pub const m_vecShatterGlassShards: usize = 0x7F0; // CUtlVector<uint32>
+                pub const m_PanelSize: usize = 0x808; // Vector2D
+                pub const m_flLastShatterSoundEmitTime: usize = 0x810; // GameTime_t
+                pub const m_flLastCleanupTime: usize = 0x814; // GameTime_t
+                pub const m_flInitAtTime: usize = 0x818; // GameTime_t
+                pub const m_flGlassThickness: usize = 0x81C; // float32
+                pub const m_flSpawnInvulnerability: usize = 0x820; // float32
+                pub const m_bBreakSilent: usize = 0x824; // bool
+                pub const m_bBreakShardless: usize = 0x825; // bool
+                pub const m_bBroken: usize = 0x826; // bool
+                pub const m_bGlassNavIgnore: usize = 0x827; // bool
+                pub const m_bGlassInFrame: usize = 0x828; // bool
+                pub const m_bStartBroken: usize = 0x829; // bool
+                pub const m_iInitialDamageType: usize = 0x82A; // uint8
+                pub const m_szDamagePositioningEntityName01: usize = 0x830; // CUtlSymbolLarge
+                pub const m_szDamagePositioningEntityName02: usize = 0x838; // CUtlSymbolLarge
+                pub const m_szDamagePositioningEntityName03: usize = 0x840; // CUtlSymbolLarge
+                pub const m_szDamagePositioningEntityName04: usize = 0x848; // CUtlSymbolLarge
+                pub const m_vInitialDamagePositions: usize = 0x850; // CUtlVector<Vector>
+                pub const m_vExtraDamagePositions: usize = 0x868; // CUtlVector<Vector>
+                pub const m_vInitialPanelVertices: usize = 0x880; // CUtlVector<Vector4D>
+                pub const m_OnBroken: usize = 0x898; // CEntityIOOutput
+                pub const m_iSurfaceType: usize = 0x8C0; // uint8
+                pub const m_hMaterialDamageBase: usize = 0x8C8; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: CBaseButton
+            // Field count: 0
+            pub mod CRotButton {
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_flRadius (float)
+            pub mod CSoundEventSphereEntity {
+                pub const m_flRadius: usize = 0x598; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponHKP2000 {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 27
+            //
+            // Metadata:
+            // NetworkVarNames: m_bBombTicking (bool)
+            // NetworkVarNames: m_flC4Blow (GameTime_t)
+            // NetworkVarNames: m_nBombSite (int)
+            // NetworkVarNames: m_nSourceSoundscapeHash (int)
+            // NetworkVarNames: m_AttributeManager (CAttributeContainer)
+            // NetworkVarNames: m_bCannotBeDefused (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_bHasExploded (bool)
+            // NetworkVarNames: m_flTimerLength (float)
+            // NetworkVarNames: m_bBeingDefused (bool)
+            // NetworkVarNames: m_flDefuseLength (float)
+            // NetworkVarNames: m_flDefuseCountDown (GameTime_t)
+            // NetworkVarNames: m_bBombDefused (bool)
+            // NetworkVarNames: m_hBombDefuser (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hControlPanel (CHandle<CBaseEntity>)
+            pub mod CPlantedC4 {
+                pub const m_bBombTicking: usize = 0x9B0; // bool
+                pub const m_flC4Blow: usize = 0x9B4; // GameTime_t
+                pub const m_nBombSite: usize = 0x9B8; // int32
+                pub const m_nSourceSoundscapeHash: usize = 0x9BC; // int32
+                pub const m_AttributeManager: usize = 0x9C0; // CAttributeContainer
+                pub const m_OnBombDefused: usize = 0xC88; // CEntityIOOutput
+                pub const m_OnBombBeginDefuse: usize = 0xCB0; // CEntityIOOutput
+                pub const m_OnBombDefuseAborted: usize = 0xCD8; // CEntityIOOutput
+                pub const m_bCannotBeDefused: usize = 0xD00; // bool
+                pub const m_entitySpottedState: usize = 0xD08; // EntitySpottedState_t
+                pub const m_nSpotRules: usize = 0xD20; // int32
+                pub const m_bTrainingPlacedByPlayer: usize = 0xD24; // bool
+                pub const m_bHasExploded: usize = 0xD25; // bool
+                pub const m_flTimerLength: usize = 0xD28; // float32
+                pub const m_bBeingDefused: usize = 0xD2C; // bool
+                pub const m_fLastDefuseTime: usize = 0xD34; // GameTime_t
+                pub const m_flDefuseLength: usize = 0xD3C; // float32
+                pub const m_flDefuseCountDown: usize = 0xD40; // GameTime_t
+                pub const m_bBombDefused: usize = 0xD44; // bool
+                pub const m_hBombDefuser: usize = 0xD48; // CHandle<CCSPlayerPawn>
+                pub const m_hControlPanel: usize = 0xD4C; // CHandle<CBaseEntity>
+                pub const m_iProgressBarTime: usize = 0xD50; // int32
+                pub const m_bVoiceAlertFired: usize = 0xD54; // bool
+                pub const m_bVoiceAlertPlayed: usize = 0xD55; // bool[4]
+                pub const m_flNextBotBeepTime: usize = 0xD5C; // GameTime_t
+                pub const m_angCatchUpToPlayerEye: usize = 0xD64; // QAngle
+                pub const m_flLastSpinDetectionTime: usize = 0xD70; // GameTime_t
+            }
+            // Parent: CBaseClientUIEntity
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_hActivator (EHANDLE)
+            pub mod CPointClientUIDialog {
+                pub const m_hActivator: usize = 0x940; // CHandle<CBaseEntity>
+                pub const m_bStartEnabled: usize = 0x944; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 1
+            pub mod CEnvSplash {
+                pub const m_flScale: usize = 0x4E0; // float32
+            }
+            // Parent: None
+            // Field count: 25
+            //
+            // Metadata:
+            // NetworkVarNames: dirPrimary (Vector)
+            // NetworkVarNames: colorPrimary (Color)
+            // NetworkVarNames: colorSecondary (Color)
+            // NetworkVarNames: colorPrimaryLerpTo (Color)
+            // NetworkVarNames: colorSecondaryLerpTo (Color)
+            // NetworkVarNames: start (float32)
+            // NetworkVarNames: end (float32)
+            // NetworkVarNames: farz (float32)
+            // NetworkVarNames: maxdensity (float32)
+            // NetworkVarNames: exponent (float32)
+            // NetworkVarNames: HDRColorScale (float32)
+            // NetworkVarNames: skyboxFogFactor (float32)
+            // NetworkVarNames: skyboxFogFactorLerpTo (float32)
+            // NetworkVarNames: startLerpTo (float32)
+            // NetworkVarNames: endLerpTo (float32)
+            // NetworkVarNames: maxdensityLerpTo (float32)
+            // NetworkVarNames: lerptime (GameTime_t)
+            // NetworkVarNames: duration (float32)
+            // NetworkVarNames: blendtobackground (float32)
+            // NetworkVarNames: scattering (float32)
+            // NetworkVarNames: locallightscale (float32)
+            // NetworkVarNames: enable (bool)
+            // NetworkVarNames: blend (bool)
+            // NetworkVarNames: m_bNoReflectionFog (bool)
+            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; // float32
+                pub const end: usize = 0x28; // float32
+                pub const farz: usize = 0x2C; // float32
+                pub const maxdensity: usize = 0x30; // float32
+                pub const exponent: usize = 0x34; // float32
+                pub const HDRColorScale: usize = 0x38; // float32
+                pub const skyboxFogFactor: usize = 0x3C; // float32
+                pub const skyboxFogFactorLerpTo: usize = 0x40; // float32
+                pub const startLerpTo: usize = 0x44; // float32
+                pub const endLerpTo: usize = 0x48; // float32
+                pub const maxdensityLerpTo: usize = 0x4C; // float32
+                pub const lerptime: usize = 0x50; // GameTime_t
+                pub const duration: usize = 0x54; // float32
+                pub const blendtobackground: usize = 0x58; // float32
+                pub const scattering: usize = 0x5C; // float32
+                pub const locallightscale: usize = 0x60; // float32
+                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
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 0
+            pub mod CWeaponNOVA {
+            }
+            // Parent: CPointCamera
+            // Field count: 1
+            pub mod CPointCameraVFOV {
+                pub const m_flVerticalFOV: usize = 0x540; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_fFireTime (GameTime_t)
+            pub mod CWeaponTaser {
+                pub const m_fFireTime: usize = 0xF88; // GameTime_t
+                pub const m_nLastAttackTick: usize = 0xF8C; // int32
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 0
+            pub mod CWaterBullet {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CMarkupVolume {
+                pub const m_bDisabled: usize = 0x790; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 6
+            pub mod CMessage {
+                pub const m_iszMessage: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_MessageVolume: usize = 0x4E8; // float32
+                pub const m_MessageAttenuation: usize = 0x4EC; // int32
+                pub const m_Radius: usize = 0x4F0; // float32
+                pub const m_sNoise: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_OnShowMessage: usize = 0x500; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_bEnabled (bool)
+            pub mod CLogicGameEventListener {
+                pub const m_OnEventFired: usize = 0x4F0; // CEntityIOOutput
+                pub const m_iszGameEventName: usize = 0x518; // CUtlSymbolLarge
+                pub const m_iszGameEventItem: usize = 0x520; // CUtlSymbolLarge
+                pub const m_bEnabled: usize = 0x528; // bool
+                pub const m_bStartDisabled: usize = 0x529; // bool
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_CPropDataComponent (CPropDataComponent::Storage_t)
+            pub mod CBreakable {
+                pub const m_CPropDataComponent: usize = 0x798; // CPropDataComponent
+                pub const m_Material: usize = 0x7D8; // Materials
+                pub const m_hBreaker: usize = 0x7DC; // CHandle<CBaseEntity>
+                pub const m_Explosion: usize = 0x7E0; // Explosions
+                pub const m_iszSpawnObject: usize = 0x7E8; // CUtlSymbolLarge
+                pub const m_flPressureDelay: usize = 0x7F0; // float32
+                pub const m_iMinHealthDmg: usize = 0x7F4; // int32
+                pub const m_iszPropData: usize = 0x7F8; // CUtlSymbolLarge
+                pub const m_impactEnergyScale: usize = 0x800; // float32
+                pub const m_nOverrideBlockLOS: usize = 0x804; // EOverrideBlockLOS_t
+                pub const m_OnBreak: usize = 0x808; // CEntityIOOutput
+                pub const m_OnHealthChanged: usize = 0x830; // CEntityOutputTemplate<float32>
+                pub const m_PerformanceMode: usize = 0x858; // PerformanceMode_t
+                pub const m_hPhysicsAttacker: usize = 0x85C; // CHandle<CBasePlayerPawn>
+                pub const m_flLastPhysicsInfluenceTime: usize = 0x860; // GameTime_t
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 16
+            pub mod CBaseToggle {
+                pub const m_toggle_state: usize = 0x790; // TOGGLE_STATE
+                pub const m_flMoveDistance: usize = 0x794; // float32
+                pub const m_flWait: usize = 0x798; // float32
+                pub const m_flLip: usize = 0x79C; // float32
+                pub const m_bAlwaysFireBlockedOutputs: usize = 0x7A0; // bool
+                pub const m_vecPosition1: usize = 0x7A4; // Vector
+                pub const m_vecPosition2: usize = 0x7B0; // Vector
+                pub const m_vecMoveAng: usize = 0x7BC; // QAngle
+                pub const m_vecAngle1: usize = 0x7C8; // QAngle
+                pub const m_vecAngle2: usize = 0x7D4; // QAngle
+                pub const m_flHeight: usize = 0x7E0; // float32
+                pub const m_hActivator: usize = 0x7E4; // CHandle<CBaseEntity>
+                pub const m_vecFinalDest: usize = 0x7E8; // Vector
+                pub const m_vecFinalAngle: usize = 0x7F4; // QAngle
+                pub const m_movementType: usize = 0x800; // int32
+                pub const m_sMaster: usize = 0x808; // CUtlSymbolLarge
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoTarget {
+            }
+            // Parent: CRotButton
+            // Field count: 14
+            pub mod CMomentaryRotButton {
+                pub const m_Position: usize = 0x960; // CEntityOutputTemplate<float32>
+                pub const m_OnUnpressed: usize = 0x988; // CEntityIOOutput
+                pub const m_OnFullyOpen: usize = 0x9B0; // CEntityIOOutput
+                pub const m_OnFullyClosed: usize = 0x9D8; // CEntityIOOutput
+                pub const m_OnReachedPosition: usize = 0xA00; // CEntityIOOutput
+                pub const m_lastUsed: usize = 0xA28; // int32
+                pub const m_start: usize = 0xA2C; // QAngle
+                pub const m_end: usize = 0xA38; // QAngle
+                pub const m_IdealYaw: usize = 0xA44; // float32
+                pub const m_sNoise: usize = 0xA48; // CUtlSymbolLarge
+                pub const m_bUpdateTarget: usize = 0xA50; // bool
+                pub const m_direction: usize = 0xA54; // int32
+                pub const m_returnSpeed: usize = 0xA58; // float32
+                pub const m_flStartPosition: usize = 0xA5C; // float32
+            }
+            // Parent: CEntityComponent
+            // Field count: 10
+            pub mod CPropDataComponent {
+                pub const m_flDmgModBullet: usize = 0x10; // float32
+                pub const m_flDmgModClub: usize = 0x14; // float32
+                pub const m_flDmgModExplosive: usize = 0x18; // float32
+                pub const m_flDmgModFire: usize = 0x1C; // float32
+                pub const m_iszPhysicsDamageTableName: usize = 0x20; // CUtlSymbolLarge
+                pub const m_iszBasePropData: usize = 0x28; // CUtlSymbolLarge
+                pub const m_nInteractions: usize = 0x30; // int32
+                pub const m_bSpawnMotionDisabled: usize = 0x34; // bool
+                pub const m_nDisableTakePhysicsDamageSpawnFlag: usize = 0x38; // int32
+                pub const m_nMotionDisabledSpawnFlag: usize = 0x3C; // int32
+            }
+            // Parent: CRulePointEntity
+            // Field count: 2
+            pub mod CGameText {
+                pub const m_iszMessage: usize = 0x7A0; // CUtlSymbolLarge
+                pub const m_textParms: usize = 0x7A8; // hudtextparms_t
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponMP5SD {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_bLoop (bool)
+            // NetworkVarNames: m_flFPS (float)
+            // NetworkVarNames: m_hPositionKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_hRotationKeys (HRenderTextureStrong)
+            // NetworkVarNames: m_vAnimationBoundsMin (Vector)
+            // NetworkVarNames: m_vAnimationBoundsMax (Vector)
+            // NetworkVarNames: m_flStartTime (float)
+            // NetworkVarNames: m_flStartFrame (float)
+            pub mod CTextureBasedAnimatable {
+                pub const m_bLoop: usize = 0x790; // bool
+                pub const m_flFPS: usize = 0x794; // float32
+                pub const m_hPositionKeys: usize = 0x798; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_hRotationKeys: usize = 0x7A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_vAnimationBoundsMin: usize = 0x7A8; // Vector
+                pub const m_vAnimationBoundsMax: usize = 0x7B4; // Vector
+                pub const m_flStartTime: usize = 0x7C0; // float32
+                pub const m_flStartFrame: usize = 0x7C4; // float32
+            }
+            // Parent: CMarkupVolumeTagged
+            // Field count: 3
+            pub mod CMarkupVolumeWithRef {
+                pub const m_bUseRef: usize = 0x7D0; // bool
+                pub const m_vRefPos: usize = 0x7D4; // Vector
+                pub const m_flRefDot: usize = 0x7E0; // float32
+            }
+            // Parent: CPhysForce
+            // Field count: 1
+            pub mod CPhysThruster {
+                pub const m_localOrigin: usize = 0x540; // Vector
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CCSPointScriptExtensions_player {
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszStackName (string_t)
+            // NetworkVarNames: m_iszOperatorName (string_t)
+            // NetworkVarNames: m_iszOpvarName (string_t)
+            // NetworkVarNames: m_vDistanceInnerMins (Vector)
+            // NetworkVarNames: m_vDistanceInnerMaxs (Vector)
+            // NetworkVarNames: m_vDistanceOuterMins (Vector)
+            // NetworkVarNames: m_vDistanceOuterMaxs (Vector)
+            // NetworkVarNames: m_nAABBDirection (int)
+            pub mod CCitadelSoundOpvarSetOBB {
+                pub const m_iszStackName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszOperatorName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszOpvarName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_vDistanceInnerMins: usize = 0x4F8; // Vector
+                pub const m_vDistanceInnerMaxs: usize = 0x504; // Vector
+                pub const m_vDistanceOuterMins: usize = 0x510; // Vector
+                pub const m_vDistanceOuterMaxs: usize = 0x51C; // Vector
+                pub const m_nAABBDirection: usize = 0x528; // int32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_unDefIdx (item_definition_index_t)
+            // NetworkVarNames: m_nCost (int)
+            // NetworkVarNames: m_nPrevArmor (int)
+            // NetworkVarNames: m_bPrevHelmet (bool)
+            // NetworkVarNames: m_hItem (CEntityHandle)
+            pub mod SellbackPurchaseEntry_t {
+                pub const m_unDefIdx: usize = 0x30; // uint16
+                pub const m_nCost: usize = 0x34; // int32
+                pub const m_nPrevArmor: usize = 0x38; // int32
+                pub const m_bPrevHelmet: usize = 0x3C; // bool
+                pub const m_hItem: usize = 0x40; // CEntityHandle
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponFamas {
+            }
+            // Parent: CPhysicsProp
+            // Field count: 3
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_ShardDesc (shard_model_desc_t)
+            pub mod CShatterGlassShardPhysics {
+                pub const m_bDebris: usize = 0xD00; // bool
+                pub const m_hParentShard: usize = 0xD04; // uint32
+                pub const m_ShardDesc: usize = 0xD08; // shard_model_desc_t
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterModel {
+                pub const m_iFilterModel: usize = 0x538; // CUtlSymbolLarge
+            }
+            // Parent: CBasePlayerPawn
+            // Field count: 22
+            //
+            // Metadata:
+            // NetworkVarNames: m_CTouchExpansionComponent (CTouchExpansionComponent::Storage_t)
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pPingServices (CCSPlayer_PingServices*)
+            // NetworkVarNames: m_pViewModelServices (CPlayer_ViewModelServices*)
+            // NetworkVarNames: m_iPlayerState (CSPlayerState)
+            // NetworkVarNames: m_fImmuneToGunGameDamageTime (GameTime_t)
+            // NetworkVarNames: m_bGunGameImmunity (bool)
+            // NetworkVarNames: m_fMolotovDamageTime (float)
+            // NetworkVarNames: m_bHasMovedSinceSpawn (bool)
+            // NetworkVarNames: m_flFlashDuration (float)
+            // NetworkVarNames: m_flFlashMaxAlpha (float)
+            // NetworkVarNames: m_flProgressBarStartTime (float)
+            // NetworkVarNames: m_iProgressBarDuration (int)
+            // NetworkVarNames: m_angEyeAngles (QAngle)
+            // NetworkVarNames: m_hOriginalController (CHandle<CCSPlayerController>)
+            pub mod CCSPlayerPawnBase {
+                pub const m_CTouchExpansionComponent: usize = 0xC68; // CTouchExpansionComponent
+                pub const m_pPingServices: usize = 0xCB8; // CCSPlayer_PingServices*
+                pub const m_pViewModelServices: usize = 0xCC0; // CPlayer_ViewModelServices*
+                pub const m_blindUntilTime: usize = 0xCC8; // GameTime_t
+                pub const m_blindStartTime: usize = 0xCCC; // GameTime_t
+                pub const m_iPlayerState: usize = 0xCD0; // CSPlayerState
+                pub const m_bRespawning: usize = 0xD80; // bool
+                pub const m_fImmuneToGunGameDamageTime: usize = 0xD84; // GameTime_t
+                pub const m_bGunGameImmunity: usize = 0xD88; // bool
+                pub const m_fMolotovDamageTime: usize = 0xD8C; // float32
+                pub const m_bHasMovedSinceSpawn: usize = 0xD90; // bool
+                pub const m_iNumSpawns: usize = 0xD94; // int32
+                pub const m_flIdleTimeSinceLastAction: usize = 0xD9C; // float32
+                pub const m_fNextRadarUpdateTime: usize = 0xDA0; // float32
+                pub const m_flFlashDuration: usize = 0xDA4; // float32
+                pub const m_flFlashMaxAlpha: usize = 0xDA8; // float32
+                pub const m_flProgressBarStartTime: usize = 0xDAC; // float32
+                pub const m_iProgressBarDuration: usize = 0xDB0; // int32
+                pub const m_angEyeAngles: usize = 0xDB4; // QAngle
+                pub const m_wasNotKilledNaturally: usize = 0xDC0; // bool
+                pub const m_bCommittingSuicideOnTeamChange: usize = 0xDC1; // bool
+                pub const m_hOriginalController: usize = 0xDC4; // CHandle<CCSPlayerController>
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            pub mod CPathTrack {
+                pub const m_pnext: usize = 0x4E0; // CPathTrack*
+                pub const m_pprevious: usize = 0x4E8; // CPathTrack*
+                pub const m_paltpath: usize = 0x4F0; // CPathTrack*
+                pub const m_flRadius: usize = 0x4F8; // float32
+                pub const m_length: usize = 0x4FC; // float32
+                pub const m_altName: usize = 0x500; // CUtlSymbolLarge
+                pub const m_nIterVal: usize = 0x508; // int32
+                pub const m_eOrientationType: usize = 0x50C; // TrackOrientationType_t
+                pub const m_OnPass: usize = 0x510; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 7
+            pub mod CLogicDistanceCheck {
+                pub const m_iszEntityA: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_iszEntityB: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_flZone1Distance: usize = 0x4F0; // float32
+                pub const m_flZone2Distance: usize = 0x4F4; // float32
+                pub const m_InZone1: usize = 0x4F8; // CEntityIOOutput
+                pub const m_InZone2: usize = 0x520; // CEntityIOOutput
+                pub const m_InZone3: usize = 0x548; // CEntityIOOutput
+            }
+            // Parent: CBarnLight
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_flInnerAngle (float)
+            // NetworkVarNames: m_flOuterAngle (float)
+            // NetworkVarNames: m_bShowLight (bool)
+            pub mod COmniLight {
+                pub const m_flInnerAngle: usize = 0xAB0; // float32
+                pub const m_flOuterAngle: usize = 0xAB4; // float32
+                pub const m_bShowLight: usize = 0xAB8; // bool
+            }
+            // Parent: CPointEntity
+            // Field count: 10
+            //
+            // Metadata:
+            // NetworkVarNames: m_bDisabled (bool)
+            // NetworkVarNames: m_nResolutionX (int)
+            // NetworkVarNames: m_nResolutionY (int)
+            // NetworkVarNames: m_szLayoutFileName (string_t)
+            // NetworkVarNames: m_RenderAttrName (string_t)
+            // NetworkVarNames: m_TargetEntities (CHandle<CBaseModelEntity>)
+            // NetworkVarNames: m_nTargetChangeCount (int)
+            // NetworkVarNames: m_vecCSSClasses (string_t)
+            pub mod CInfoOffscreenPanoramaTexture {
+                pub const m_bDisabled: usize = 0x4E0; // bool
+                pub const m_nResolutionX: usize = 0x4E4; // int32
+                pub const m_nResolutionY: usize = 0x4E8; // int32
+                pub const m_szLayoutFileName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_RenderAttrName: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_TargetEntities: usize = 0x500; // CNetworkUtlVectorBase<CHandle<CBaseModelEntity>>
+                pub const m_nTargetChangeCount: usize = 0x518; // int32
+                pub const m_vecCSSClasses: usize = 0x520; // CNetworkUtlVectorBase<CUtlSymbolLarge>
+                pub const m_szTargetsName: usize = 0x538; // CUtlSymbolLarge
+                pub const m_AdditionalTargetEntities: usize = 0x540; // CUtlVector<CHandle<CBaseModelEntity>>
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMode (int)
+            // NetworkVarNames: m_vBoxSize (Vector)
+            // NetworkVarNames: m_bEnabled (bool)
+            pub mod CInfoVisibilityBox {
+                pub const m_nMode: usize = 0x4E4; // int32
+                pub const m_vBoxSize: usize = 0x4E8; // Vector
+                pub const m_bEnabled: usize = 0x4F4; // bool
+            }
+            // Parent: CRulePointEntity
+            // Field count: 0
+            pub mod CGamePlayerEquip {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 0
+            pub mod CInfoTargetServerOnly {
+            }
+            // Parent: CSoundOpvarSetPointEntity
+            // Field count: 3
+            pub mod CSoundOpvarSetPathCornerEntity {
+                pub const m_flDistMinSqr: usize = 0x6A0; // float32
+                pub const m_flDistMaxSqr: usize = 0x6A4; // float32
+                pub const m_iszPathCornerEntityName: usize = 0x6A8; // CUtlSymbolLarge
+            }
+            // Parent: CPlayer_WeaponServices
+            // Field count: 15
+            //
+            // Metadata:
+            // NetworkVarNames: m_flNextAttack (GameTime_t)
+            // NetworkVarNames: m_bIsLookingAtWeapon (bool)
+            // NetworkVarNames: m_bIsHoldingLookAtWeapon (bool)
+            pub mod CCSPlayer_WeaponServices {
+                pub const m_flNextAttack: usize = 0xA8; // GameTime_t
+                pub const m_bIsLookingAtWeapon: usize = 0xAC; // bool
+                pub const m_bIsHoldingLookAtWeapon: usize = 0xAD; // bool
+                pub const m_hSavedWeapon: usize = 0xB0; // CHandle<CBasePlayerWeapon>
+                pub const m_nTimeToMelee: usize = 0xB4; // int32
+                pub const m_nTimeToSecondary: usize = 0xB8; // int32
+                pub const m_nTimeToPrimary: usize = 0xBC; // int32
+                pub const m_nTimeToSniperRifle: usize = 0xC0; // int32
+                pub const m_bIsBeingGivenItem: usize = 0xC4; // bool
+                pub const m_bIsPickingUpItemWithUse: usize = 0xC5; // bool
+                pub const m_bPickedUpWeapon: usize = 0xC6; // bool
+                pub const m_bDisableAutoDeploy: usize = 0xC7; // bool
+                pub const m_bIsPickingUpGroundWeapon: usize = 0xC8; // bool
+                pub const m_nOldShootPositionHistoryCount: usize = 0xCC; // uint32
+                pub const m_nOldInputHistoryCount: usize = 0x468; // uint32
+            }
+            // Parent: CBaseEntity
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_hEntAttached (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_bCheapEffect (bool)
+            pub mod CEntityFlame {
+                pub const m_hEntAttached: usize = 0x4E0; // CHandle<CBaseEntity>
+                pub const m_bCheapEffect: usize = 0x4E4; // bool
+                pub const m_flSize: usize = 0x4E8; // float32
+                pub const m_bUseHitboxes: usize = 0x4EC; // bool
+                pub const m_iNumHitboxFires: usize = 0x4F0; // int32
+                pub const m_flHitboxFireScale: usize = 0x4F4; // float32
+                pub const m_flLifetime: usize = 0x4F8; // GameTime_t
+                pub const m_hAttacker: usize = 0x4FC; // CHandle<CBaseEntity>
+                pub const m_iDangerSound: usize = 0x500; // int32
+                pub const m_flDirectDamagePerSecond: usize = 0x504; // float32
+                pub const m_iCustomDamageType: usize = 0x508; // int32
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 9
+            //
+            // Metadata:
+            // NetworkVarNames: m_zoomLevel (int)
+            // NetworkVarNames: m_iBurstShotsRemaining (int)
+            // NetworkVarNames: m_bNeedsBoltAction (bool)
+            pub mod CCSWeaponBaseGun {
+                pub const m_zoomLevel: usize = 0xF68; // int32
+                pub const m_iBurstShotsRemaining: usize = 0xF6C; // int32
+                pub const m_silencedModelIndex: usize = 0xF78; // int32
+                pub const m_inPrecache: usize = 0xF7C; // bool
+                pub const m_bNeedsBoltAction: usize = 0xF7D; // bool
+                pub const m_bSkillReloadAvailable: usize = 0xF7E; // bool
+                pub const m_bSkillReloadLiftedReloadKey: usize = 0xF7F; // bool
+                pub const m_bSkillBoltInterruptAvailable: usize = 0xF80; // bool
+                pub const m_bSkillBoltLiftedFireKey: usize = 0xF81; // bool
+            }
+            // Parent: None
+            // Field count: 13
+            pub mod CBot {
+                pub const m_pController: usize = 0x10; // CCSPlayerController*
+                pub const m_pPlayer: usize = 0x18; // CCSPlayerPawn*
+                pub const m_bHasSpawned: usize = 0x20; // bool
+                pub const m_id: usize = 0x24; // uint32
+                pub const m_isRunning: usize = 0xC0; // bool
+                pub const m_isCrouching: usize = 0xC1; // bool
+                pub const m_forwardSpeed: usize = 0xC4; // float32
+                pub const m_leftSpeed: usize = 0xC8; // float32
+                pub const m_verticalSpeed: usize = 0xCC; // float32
+                pub const m_buttonFlags: usize = 0xD0; // uint64
+                pub const m_jumpTimestamp: usize = 0xD8; // float32
+                pub const m_viewForward: usize = 0xDC; // Vector
+                pub const m_postureStackIndex: usize = 0xF8; // int32
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_nameStringableIndex (int32)
+            pub mod CEntityIdentity {
+                pub const m_nameStringableIndex: usize = 0x14; // int32
+                pub const m_name: usize = 0x18; // CUtlSymbolLarge
+                pub const m_designerName: usize = 0x20; // CUtlSymbolLarge
+                pub const m_flags: usize = 0x30; // uint32
+                pub const m_worldGroupId: usize = 0x38; // WorldGroupId_t
+                pub const m_fDataObjectTypes: usize = 0x3C; // uint32
+                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*
+            }
+            // Parent: CBaseToggle
+            // Field count: 3
+            pub mod CGunTarget {
+                pub const m_on: usize = 0x810; // bool
+                pub const m_hTargetEnt: usize = 0x814; // CHandle<CBaseEntity>
+                pub const m_OnDeath: usize = 0x818; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            pub mod CSoundEventParameter {
+                pub const m_iszParamName: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_flFloatValue: usize = 0x4F0; // float32
+            }
+            // Parent: CPulseGraphInstance_ServerEntity
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            pub mod CPulseGraphInstance_GameBlackboard {
+            }
+            // Parent: CMarkupVolume
+            // Field count: 5
+            pub mod CMarkupVolumeTagged {
+                pub const m_bIsGroup: usize = 0x7C8; // bool
+                pub const m_bGroupByPrefab: usize = 0x7C9; // bool
+                pub const m_bGroupByVolume: usize = 0x7CA; // bool
+                pub const m_bGroupOtherGroups: usize = 0x7CB; // bool
+                pub const m_bIsInGroup: usize = 0x7CC; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 5
+            pub mod CTestEffect {
+                pub const m_iLoop: usize = 0x4E0; // int32
+                pub const m_iBeam: usize = 0x4E4; // int32
+                pub const m_pBeam: usize = 0x4E8; // CBeam*[24]
+                pub const m_flBeamTime: usize = 0x5A8; // GameTime_t[24]
+                pub const m_flStartTime: usize = 0x608; // GameTime_t
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponM4A1Silencer {
+            }
+            // Parent: CFuncNavBlocker
+            // Field count: 1
+            pub mod CScriptNavBlocker {
+                pub const m_vExtent: usize = 0x7A0; // Vector
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 1
+            pub mod CConstraintAnchor {
+                pub const m_massScale: usize = 0x9A8; // float32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponTec9 {
+            }
+            // Parent: CMarkupVolumeTagged
+            // Field count: 0
+            pub mod CMarkupVolumeTagged_Nav {
+            }
+            // Parent: CPointEntity
+            // Field count: 66
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsPlayingBack (bool)
+            // NetworkVarNames: m_bPaused (bool)
+            // NetworkVarNames: m_bMultiplayer (bool)
+            // NetworkVarNames: m_bAutogenerated (bool)
+            // NetworkVarNames: m_flForceClientTime (float32)
+            // NetworkVarNames: m_hActorList (CHandle<CBaseFlex>)
+            // NetworkVarNames: m_nSceneStringIndex (uint16)
+            pub mod CSceneEntity {
+                pub const m_iszSceneFile: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_iszResumeSceneFile: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_iszTarget1: usize = 0x4F8; // CUtlSymbolLarge
+                pub const m_iszTarget2: usize = 0x500; // CUtlSymbolLarge
+                pub const m_iszTarget3: usize = 0x508; // CUtlSymbolLarge
+                pub const m_iszTarget4: usize = 0x510; // CUtlSymbolLarge
+                pub const m_iszTarget5: usize = 0x518; // CUtlSymbolLarge
+                pub const m_iszTarget6: usize = 0x520; // CUtlSymbolLarge
+                pub const m_iszTarget7: usize = 0x528; // CUtlSymbolLarge
+                pub const m_iszTarget8: usize = 0x530; // CUtlSymbolLarge
+                pub const m_hTarget1: usize = 0x538; // CHandle<CBaseEntity>
+                pub const m_hTarget2: usize = 0x53C; // CHandle<CBaseEntity>
+                pub const m_hTarget3: usize = 0x540; // CHandle<CBaseEntity>
+                pub const m_hTarget4: usize = 0x544; // CHandle<CBaseEntity>
+                pub const m_hTarget5: usize = 0x548; // CHandle<CBaseEntity>
+                pub const m_hTarget6: usize = 0x54C; // CHandle<CBaseEntity>
+                pub const m_hTarget7: usize = 0x550; // CHandle<CBaseEntity>
+                pub const m_hTarget8: usize = 0x554; // CHandle<CBaseEntity>
+                pub const m_sTargetAttachment: usize = 0x558; // CUtlSymbolLarge
+                pub const m_bIsPlayingBack: usize = 0x560; // bool
+                pub const m_bPaused: usize = 0x561; // bool
+                pub const m_bMultiplayer: usize = 0x562; // bool
+                pub const m_bAutogenerated: usize = 0x563; // bool
+                pub const m_flForceClientTime: usize = 0x564; // float32
+                pub const m_flCurrentTime: usize = 0x568; // float32
+                pub const m_flFrameTime: usize = 0x56C; // float32
+                pub const m_bCancelAtNextInterrupt: usize = 0x570; // bool
+                pub const m_fPitch: usize = 0x574; // float32
+                pub const m_bAutomated: usize = 0x578; // bool
+                pub const m_nAutomatedAction: usize = 0x57C; // int32
+                pub const m_flAutomationDelay: usize = 0x580; // float32
+                pub const m_flAutomationTime: usize = 0x584; // float32
+                pub const m_hWaitingForThisResumeScene: usize = 0x588; // CHandle<CBaseEntity>
+                pub const m_bWaitingForResumeScene: usize = 0x58C; // bool
+                pub const m_bPausedViaInput: usize = 0x58D; // bool
+                pub const m_bPauseAtNextInterrupt: usize = 0x58E; // bool
+                pub const m_bWaitingForActor: usize = 0x58F; // bool
+                pub const m_bWaitingForInterrupt: usize = 0x590; // bool
+                pub const m_bInterruptedActorsScenes: usize = 0x591; // bool
+                pub const m_bBreakOnNonIdle: usize = 0x592; // bool
+                pub const m_bSceneFinished: usize = 0x593; // bool
+                pub const m_hActorList: usize = 0x598; // CNetworkUtlVectorBase<CHandle<CBaseFlex>>
+                pub const m_hRemoveActorList: usize = 0x5B0; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_nSceneFlushCounter: usize = 0x5F8; // int32
+                pub const m_nSceneStringIndex: usize = 0x5FC; // uint16
+                pub const m_OnStart: usize = 0x600; // CEntityIOOutput
+                pub const m_OnCompletion: usize = 0x628; // CEntityIOOutput
+                pub const m_OnCanceled: usize = 0x650; // CEntityIOOutput
+                pub const m_OnPaused: usize = 0x678; // CEntityIOOutput
+                pub const m_OnResumed: usize = 0x6A0; // CEntityIOOutput
+                pub const m_OnTrigger: usize = 0x6C8; // CEntityIOOutput[16]
+                pub const m_hInterruptScene: usize = 0x9D8; // CHandle<CSceneEntity>
+                pub const m_nInterruptCount: usize = 0x9DC; // int32
+                pub const m_bSceneMissing: usize = 0x9E0; // bool
+                pub const m_bInterrupted: usize = 0x9E1; // bool
+                pub const m_bCompletedEarly: usize = 0x9E2; // bool
+                pub const m_bInterruptSceneFinished: usize = 0x9E3; // bool
+                pub const m_bRestoring: usize = 0x9E4; // bool
+                pub const m_hNotifySceneCompletion: usize = 0x9E8; // CUtlVector<CHandle<CSceneEntity>>
+                pub const m_hListManagers: usize = 0xA00; // CUtlVector<CHandle<CSceneListManager>>
+                pub const m_iszSoundName: usize = 0xA18; // CUtlSymbolLarge
+                pub const m_iszSequenceName: usize = 0xA20; // CUtlSymbolLarge
+                pub const m_hActor: usize = 0xA28; // CHandle<CBaseFlex>
+                pub const m_hActivator: usize = 0xA2C; // CHandle<CBaseEntity>
+                pub const m_BusyActor: usize = 0xA30; // int32
+                pub const m_iPlayerDeathBehavior: usize = 0xA34; // SceneOnPlayerDeath_t
+            }
+            // Parent: CLightDirectionalEntity
+            // Field count: 0
+            pub mod CLightEnvironmentEntity {
+            }
+            // Parent: CLogicAutosave
+            // Field count: 4
+            pub mod CLogicActiveAutosave {
+                pub const m_TriggerHitPoints: usize = 0x4F0; // int32
+                pub const m_flTimeToTrigger: usize = 0x4F4; // float32
+                pub const m_flStartTime: usize = 0x4F8; // GameTime_t
+                pub const m_flDangerousTime: usize = 0x4FC; // float32
+            }
+            // Parent: CBaseEntity
+            // Field count: 2
+            pub mod CEnvBeverage {
+                pub const m_CanInDispenser: usize = 0x4E0; // bool
+                pub const m_nBeverageType: usize = 0x4E4; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 14
+            //
+            // Metadata:
+            // NetworkVarNames: m_iActiveIssueIndex (int)
+            // NetworkVarNames: m_iOnlyTeamToVote (int)
+            // NetworkVarNames: m_nVoteOptionCount (int)
+            // NetworkVarNames: m_nPotentialVotes (int)
+            // NetworkVarNames: m_bIsYesNoVote (bool)
+            pub mod CVoteController {
+                pub const m_iActiveIssueIndex: usize = 0x4E0; // int32
+                pub const m_iOnlyTeamToVote: usize = 0x4E4; // int32
+                pub const m_nVoteOptionCount: usize = 0x4E8; // int32[5]
+                pub const m_nPotentialVotes: usize = 0x4FC; // int32
+                pub const m_bIsYesNoVote: usize = 0x500; // bool
+                pub const m_acceptingVotesTimer: usize = 0x508; // CountdownTimer
+                pub const m_executeCommandTimer: usize = 0x520; // CountdownTimer
+                pub const m_resetVoteTimer: usize = 0x538; // CountdownTimer
+                pub const m_nVotesCast: usize = 0x550; // int32[64]
+                pub const m_playerHoldingVote: usize = 0x650; // CPlayerSlot
+                pub const m_playerOverrideForVote: usize = 0x654; // CPlayerSlot
+                pub const m_nHighestCountIndex: usize = 0x658; // int32
+                pub const m_potentialIssues: usize = 0x660; // CUtlVector<CBaseIssue*>
+                pub const m_VoteOptions: usize = 0x678; // CUtlVector<char*>
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponCZ75a {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponP250 {
+            }
+            // Parent: CBaseAnimGraph
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_flexWeight (float32)
+            // NetworkVarNames: m_vLookTargetPosition (Vector)
+            // NetworkVarNames: m_blinktoggle (bool)
+            pub mod CBaseFlex {
+                pub const m_flexWeight: usize = 0x9A8; // CNetworkUtlVectorBase<float32>
+                pub const m_vLookTargetPosition: usize = 0x9C0; // Vector
+                pub const m_blinktoggle: usize = 0x9CC; // bool
+                pub const m_flAllowResponsesEndTime: usize = 0xA20; // GameTime_t
+                pub const m_flLastFlexAnimationTime: usize = 0xA24; // GameTime_t
+                pub const m_nNextSceneEventId: usize = 0xA28; // SceneEventId_t
+                pub const m_bUpdateLayerPriorities: usize = 0xA2C; // bool
+            }
+            // Parent: CTriggerHurt
+            // Field count: 1
+            pub mod CScriptTriggerHurt {
+                pub const m_vExtent: usize = 0xA00; // Vector
+            }
+            // Parent: CBasePlayerWeaponVData
+            // Field count: 92
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertySuppressBaseClassField
+            // MPropertySuppressBaseClassField
+            pub mod CCSWeaponBaseVData {
+                pub const m_WeaponType: usize = 0x348; // CSWeaponType
+                pub const m_WeaponCategory: usize = 0x34C; // CSWeaponCategory
+                pub const m_szViewModel: usize = 0x350; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szPlayerModel: usize = 0x430; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szWorldDroppedModel: usize = 0x510; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szAimsightLensMaskModel: usize = 0x5F0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szMagazineModel: usize = 0x6D0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
+                pub const m_szHeatEffect: usize = 0x7B0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szEjectBrassEffect: usize = 0x890; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szMuzzleFlashParticleAlt: usize = 0x970; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szMuzzleFlashThirdPersonParticle: usize = 0xA50; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szMuzzleFlashThirdPersonParticleAlt: usize = 0xB30; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_szTracerParticle: usize = 0xC10; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
+                pub const m_GearSlot: usize = 0xCF0; // gear_slot_t
+                pub const m_GearSlotPosition: usize = 0xCF4; // int32
+                pub const m_DefaultLoadoutSlot: usize = 0xCF8; // loadout_slot_t
+                pub const m_sWrongTeamMsg: usize = 0xD00; // CUtlString
+                pub const m_nPrice: usize = 0xD08; // int32
+                pub const m_nKillAward: usize = 0xD0C; // int32
+                pub const m_nPrimaryReserveAmmoMax: usize = 0xD10; // int32
+                pub const m_nSecondaryReserveAmmoMax: usize = 0xD14; // int32
+                pub const m_bMeleeWeapon: usize = 0xD18; // bool
+                pub const m_bHasBurstMode: usize = 0xD19; // bool
+                pub const m_bIsRevolver: usize = 0xD1A; // bool
+                pub const m_bCannotShootUnderwater: usize = 0xD1B; // bool
+                pub const m_szName: usize = 0xD20; // CGlobalSymbol
+                pub const m_szAnimExtension: usize = 0xD28; // CUtlString
+                pub const m_eSilencerType: usize = 0xD30; // CSWeaponSilencerType
+                pub const m_nCrosshairMinDistance: usize = 0xD34; // int32
+                pub const m_nCrosshairDeltaDistance: usize = 0xD38; // int32
+                pub const m_bIsFullAuto: usize = 0xD3C; // bool
+                pub const m_nNumBullets: usize = 0xD40; // int32
+                pub const m_flCycleTime: usize = 0xD44; // CFiringModeFloat
+                pub const m_flMaxSpeed: usize = 0xD4C; // CFiringModeFloat
+                pub const m_flSpread: usize = 0xD54; // CFiringModeFloat
+                pub const m_flInaccuracyCrouch: usize = 0xD5C; // CFiringModeFloat
+                pub const m_flInaccuracyStand: usize = 0xD64; // CFiringModeFloat
+                pub const m_flInaccuracyJump: usize = 0xD6C; // CFiringModeFloat
+                pub const m_flInaccuracyLand: usize = 0xD74; // CFiringModeFloat
+                pub const m_flInaccuracyLadder: usize = 0xD7C; // CFiringModeFloat
+                pub const m_flInaccuracyFire: usize = 0xD84; // CFiringModeFloat
+                pub const m_flInaccuracyMove: usize = 0xD8C; // CFiringModeFloat
+                pub const m_flRecoilAngle: usize = 0xD94; // CFiringModeFloat
+                pub const m_flRecoilAngleVariance: usize = 0xD9C; // CFiringModeFloat
+                pub const m_flRecoilMagnitude: usize = 0xDA4; // CFiringModeFloat
+                pub const m_flRecoilMagnitudeVariance: usize = 0xDAC; // CFiringModeFloat
+                pub const m_nTracerFrequency: usize = 0xDB4; // CFiringModeInt
+                pub const m_flInaccuracyJumpInitial: usize = 0xDBC; // float32
+                pub const m_flInaccuracyJumpApex: usize = 0xDC0; // float32
+                pub const m_flInaccuracyReload: usize = 0xDC4; // float32
+                pub const m_nRecoilSeed: usize = 0xDC8; // int32
+                pub const m_nSpreadSeed: usize = 0xDCC; // int32
+                pub const m_flTimeToIdleAfterFire: usize = 0xDD0; // float32
+                pub const m_flIdleInterval: usize = 0xDD4; // float32
+                pub const m_flAttackMovespeedFactor: usize = 0xDD8; // float32
+                pub const m_flHeatPerShot: usize = 0xDDC; // float32
+                pub const m_flInaccuracyPitchShift: usize = 0xDE0; // float32
+                pub const m_flInaccuracyAltSoundThreshold: usize = 0xDE4; // float32
+                pub const m_flBotAudibleRange: usize = 0xDE8; // float32
+                pub const m_szUseRadioSubtitle: usize = 0xDF0; // CUtlString
+                pub const m_bUnzoomsAfterShot: usize = 0xDF8; // bool
+                pub const m_bHideViewModelWhenZoomed: usize = 0xDF9; // bool
+                pub const m_nZoomLevels: usize = 0xDFC; // int32
+                pub const m_nZoomFOV1: usize = 0xE00; // int32
+                pub const m_nZoomFOV2: usize = 0xE04; // int32
+                pub const m_flZoomTime0: usize = 0xE08; // float32
+                pub const m_flZoomTime1: usize = 0xE0C; // float32
+                pub const m_flZoomTime2: usize = 0xE10; // float32
+                pub const m_flIronSightPullUpSpeed: usize = 0xE14; // float32
+                pub const m_flIronSightPutDownSpeed: usize = 0xE18; // float32
+                pub const m_flIronSightFOV: usize = 0xE1C; // float32
+                pub const m_flIronSightPivotForward: usize = 0xE20; // float32
+                pub const m_flIronSightLooseness: usize = 0xE24; // float32
+                pub const m_angPivotAngle: usize = 0xE28; // QAngle
+                pub const m_vecIronSightEyePos: usize = 0xE34; // Vector
+                pub const m_nDamage: usize = 0xE40; // int32
+                pub const m_flHeadshotMultiplier: usize = 0xE44; // float32
+                pub const m_flArmorRatio: usize = 0xE48; // float32
+                pub const m_flPenetration: usize = 0xE4C; // float32
+                pub const m_flRange: usize = 0xE50; // float32
+                pub const m_flRangeModifier: usize = 0xE54; // float32
+                pub const m_flFlinchVelocityModifierLarge: usize = 0xE58; // float32
+                pub const m_flFlinchVelocityModifierSmall: usize = 0xE5C; // float32
+                pub const m_flRecoveryTimeCrouch: usize = 0xE60; // float32
+                pub const m_flRecoveryTimeStand: usize = 0xE64; // float32
+                pub const m_flRecoveryTimeCrouchFinal: usize = 0xE68; // float32
+                pub const m_flRecoveryTimeStandFinal: usize = 0xE6C; // float32
+                pub const m_nRecoveryTransitionStartBullet: usize = 0xE70; // int32
+                pub const m_nRecoveryTransitionEndBullet: usize = 0xE74; // int32
+                pub const m_flThrowVelocity: usize = 0xE78; // float32
+                pub const m_vSmokeColor: usize = 0xE7C; // Vector
+                pub const m_szAnimClass: usize = 0xE88; // CGlobalSymbol
+            }
+            // Parent: CLogicalEntity
+            // Field count: 5
+            pub mod CMathColorBlend {
+                pub const m_flInMin: usize = 0x4E0; // float32
+                pub const m_flInMax: usize = 0x4E4; // float32
+                pub const m_OutColor1: usize = 0x4E8; // Color
+                pub const m_OutColor2: usize = 0x4EC; // Color
+                pub const m_OutValue: usize = 0x4F0; // CEntityOutputTemplate<Color>
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_iszOverlayNames (string_t)
+            // NetworkVarNames: m_flOverlayTimes (float32)
+            // NetworkVarNames: m_flStartTime (GameTime_t)
+            // NetworkVarNames: m_iDesiredOverlay (int32)
+            // NetworkVarNames: m_bIsActive (bool)
+            pub mod CEnvScreenOverlay {
+                pub const m_iszOverlayNames: usize = 0x4E0; // CUtlSymbolLarge[10]
+                pub const m_flOverlayTimes: usize = 0x530; // float32[10]
+                pub const m_flStartTime: usize = 0x558; // GameTime_t
+                pub const m_iDesiredOverlay: usize = 0x55C; // int32
+                pub const m_bIsActive: usize = 0x560; // bool
+            }
+            // Parent: CCSPlayerPawnBase
+            // Field count: 118
+            //
+            // Metadata:
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // MNetworkVarTypeOverride
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_pBulletServices (CCSPlayer_BulletServices*)
+            // NetworkVarNames: m_pHostageServices (CCSPlayer_HostageServices*)
+            // NetworkVarNames: m_pBuyServices (CCSPlayer_BuyServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayer_ActionTrackingServices*)
+            // NetworkVarNames: m_bHasFemaleVoice (bool)
+            // NetworkVarNames: m_szLastPlaceName (char)
+            // NetworkVarNames: m_bInBuyZone (bool)
+            // NetworkVarNames: m_bInHostageRescueZone (bool)
+            // NetworkVarNames: m_bInBombZone (bool)
+            // NetworkVarNames: m_iRetakesOffering (int)
+            // NetworkVarNames: m_iRetakesOfferingCard (int)
+            // NetworkVarNames: m_bRetakesHasDefuseKit (bool)
+            // NetworkVarNames: m_bRetakesMVPLastRound (bool)
+            // NetworkVarNames: m_iRetakesMVPBoostItem (int)
+            // NetworkVarNames: m_RetakesMVPBoostExtraUtility (loadout_slot_t)
+            // NetworkVarNames: m_flHealthShotBoostExpirationTime (GameTime_t)
+            // NetworkVarNames: m_aimPunchAngle (QAngle)
+            // NetworkVarNames: m_aimPunchAngleVel (QAngle)
+            // NetworkVarNames: m_aimPunchTickBase (int)
+            // NetworkVarNames: m_aimPunchTickFraction (float)
+            // NetworkVarNames: m_bIsBuyMenuOpen (bool)
+            // NetworkVarNames: m_flTimeOfLastInjury (GameTime_t)
+            // NetworkVarNames: m_flNextSprayDecalTime (GameTime_t)
+            // NetworkVarNames: m_nRagdollDamageBone (int)
+            // NetworkVarNames: m_vRagdollDamageForce (Vector)
+            // NetworkVarNames: m_vRagdollDamagePosition (Vector)
+            // NetworkVarNames: m_szRagdollDamageWeaponName (char)
+            // NetworkVarNames: m_bRagdollDamageHeadshot (bool)
+            // NetworkVarNames: m_vRagdollServerOrigin (Vector)
+            // NetworkVarNames: m_EconGloves (CEconItemView)
+            // NetworkVarNames: m_nEconGlovesChanged (uint8)
+            // NetworkVarNames: m_qDeathEyeAngles (QAngle)
+            // NetworkVarNames: m_bLeftHanded (bool)
+            // NetworkVarNames: m_fSwitchedHandednessTime (GameTime_t)
+            // NetworkVarNames: m_flViewmodelOffsetX (float)
+            // NetworkVarNames: m_flViewmodelOffsetY (float)
+            // NetworkVarNames: m_flViewmodelOffsetZ (float)
+            // NetworkVarNames: m_flViewmodelFOV (float)
+            // NetworkVarNames: m_bIsWalking (bool)
+            // NetworkVarNames: m_nLastKillerIndex (CEntityIndex)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // NetworkVarNames: m_bIsScoped (bool)
+            // NetworkVarNames: m_bResumeZoom (bool)
+            // NetworkVarNames: m_bIsDefusing (bool)
+            // NetworkVarNames: m_bIsGrabbingHostage (bool)
+            // NetworkVarNames: m_iBlockingUseActionInProgress (CSPlayerBlockingUseAction_t)
+            // NetworkVarNames: m_flEmitSoundTime (GameTime_t)
+            // NetworkVarNames: m_bInNoDefuseArea (bool)
+            // NetworkVarNames: m_nWhichBombZone (int)
+            // NetworkVarNames: m_iShotsFired (int)
+            // NetworkVarNames: m_flFlinchStack (float)
+            // NetworkVarNames: m_flVelocityModifier (float)
+            // NetworkVarNames: m_flHitHeading (float)
+            // NetworkVarNames: m_nHitBodyPart (int)
+            // NetworkVarNames: m_bWaitForNoAttack (bool)
+            // NetworkVarNames: m_bKilledByHeadshot (bool)
+            // NetworkVarNames: m_thirdPersonHeading (QAngle)
+            // NetworkVarNames: m_flSlopeDropOffset (float)
+            // NetworkVarNames: m_flSlopeDropHeight (float)
+            // NetworkVarNames: m_vHeadConstraintOffset (Vector)
+            // NetworkVarNames: m_ArmorValue (int32)
+            // NetworkVarNames: m_unCurrentEquipmentValue (uint16)
+            // NetworkVarNames: m_unRoundStartEquipmentValue (uint16)
+            // NetworkVarNames: m_unFreezetimeEndEquipmentValue (uint16)
+            // NetworkVarNames: m_vecPlayerPatchEconIndices (uint32)
+            // NetworkVarNames: m_GunGameImmunityColor (Color)
+            // NetworkVarNames: m_PredictedDamageTags (PredictedDamageTag_t)
+            pub mod CCSPlayerPawn {
+                pub const m_pBulletServices: usize = 0xDD0; // CCSPlayer_BulletServices*
+                pub const m_pHostageServices: usize = 0xDD8; // CCSPlayer_HostageServices*
+                pub const m_pBuyServices: usize = 0xDE0; // CCSPlayer_BuyServices*
+                pub const m_pActionTrackingServices: usize = 0xDE8; // CCSPlayer_ActionTrackingServices*
+                pub const m_pRadioServices: usize = 0xDF0; // CCSPlayer_RadioServices*
+                pub const m_pDamageReactServices: usize = 0xDF8; // CCSPlayer_DamageReactServices*
+                pub const m_nCharacterDefIndex: usize = 0xE00; // uint16
+                pub const m_bHasFemaleVoice: usize = 0xE02; // bool
+                pub const m_strVOPrefix: usize = 0xE08; // CUtlString
+                pub const m_szLastPlaceName: usize = 0xE10; // char[18]
+                pub const m_bInHostageResetZone: usize = 0xED0; // bool
+                pub const m_bInBuyZone: usize = 0xED1; // bool
+                pub const m_TouchingBuyZones: usize = 0xED8; // CUtlVector<CHandle<CBaseEntity>>
+                pub const m_bWasInBuyZone: usize = 0xEF0; // bool
+                pub const m_bInHostageRescueZone: usize = 0xEF1; // bool
+                pub const m_bInBombZone: usize = 0xEF2; // bool
+                pub const m_bWasInHostageRescueZone: usize = 0xEF3; // bool
+                pub const m_iRetakesOffering: usize = 0xEF4; // int32
+                pub const m_iRetakesOfferingCard: usize = 0xEF8; // int32
+                pub const m_bRetakesHasDefuseKit: usize = 0xEFC; // bool
+                pub const m_bRetakesMVPLastRound: usize = 0xEFD; // bool
+                pub const m_iRetakesMVPBoostItem: usize = 0xF00; // int32
+                pub const m_RetakesMVPBoostExtraUtility: usize = 0xF04; // loadout_slot_t
+                pub const m_flHealthShotBoostExpirationTime: usize = 0xF08; // GameTime_t
+                pub const m_flLandingTimeSeconds: usize = 0xF0C; // float32
+                pub const m_aimPunchAngle: usize = 0xF10; // QAngle
+                pub const m_aimPunchAngleVel: usize = 0xF1C; // QAngle
+                pub const m_aimPunchTickBase: usize = 0xF28; // int32
+                pub const m_aimPunchTickFraction: usize = 0xF2C; // float32
+                pub const m_aimPunchCache: usize = 0xF30; // CUtlVector<QAngle>
+                pub const m_bIsBuyMenuOpen: usize = 0xF48; // bool
+                pub const m_xLastHeadBoneTransform: usize = 0x15F0; // CTransform
+                pub const m_bLastHeadBoneTransformIsValid: usize = 0x1610; // bool
+                pub const m_lastLandTime: usize = 0x1614; // GameTime_t
+                pub const m_bOnGroundLastTick: usize = 0x1618; // bool
+                pub const m_iPlayerLocked: usize = 0x161C; // int32
+                pub const m_flTimeOfLastInjury: usize = 0x1624; // GameTime_t
+                pub const m_flNextSprayDecalTime: usize = 0x1628; // GameTime_t
+                pub const m_bNextSprayDecalTimeExpedited: usize = 0x162C; // bool
+                pub const m_nRagdollDamageBone: usize = 0x1630; // int32
+                pub const m_vRagdollDamageForce: usize = 0x1634; // Vector
+                pub const m_vRagdollDamagePosition: usize = 0x1640; // Vector
+                pub const m_szRagdollDamageWeaponName: usize = 0x164C; // char[64]
+                pub const m_bRagdollDamageHeadshot: usize = 0x168C; // bool
+                pub const m_vRagdollServerOrigin: usize = 0x1690; // Vector
+                pub const m_EconGloves: usize = 0x16A0; // CEconItemView
+                pub const m_nEconGlovesChanged: usize = 0x1918; // uint8
+                pub const m_qDeathEyeAngles: usize = 0x191C; // QAngle
+                pub const m_bSkipOneHeadConstraintUpdate: usize = 0x1928; // bool
+                pub const m_bLeftHanded: usize = 0x1929; // bool
+                pub const m_fSwitchedHandednessTime: usize = 0x192C; // GameTime_t
+                pub const m_flViewmodelOffsetX: usize = 0x1930; // float32
+                pub const m_flViewmodelOffsetY: usize = 0x1934; // float32
+                pub const m_flViewmodelOffsetZ: usize = 0x1938; // float32
+                pub const m_flViewmodelFOV: usize = 0x193C; // float32
+                pub const m_bIsWalking: usize = 0x1940; // bool
+                pub const m_fLastGivenDefuserTime: usize = 0x1944; // float32
+                pub const m_fLastGivenBombTime: usize = 0x1948; // float32
+                pub const m_flDealtDamageToEnemyMostRecentTimestamp: usize = 0x194C; // float32
+                pub const m_iDisplayHistoryBits: usize = 0x1950; // uint32
+                pub const m_flLastAttackedTeammate: usize = 0x1954; // float32
+                pub const m_allowAutoFollowTime: usize = 0x1958; // GameTime_t
+                pub const m_bResetArmorNextSpawn: usize = 0x195C; // bool
+                pub const m_nLastKillerIndex: usize = 0x1960; // CEntityIndex
+                pub const m_entitySpottedState: usize = 0x1968; // EntitySpottedState_t
+                pub const m_nSpotRules: usize = 0x1980; // int32
+                pub const m_bIsScoped: usize = 0x1984; // bool
+                pub const m_bResumeZoom: usize = 0x1985; // bool
+                pub const m_bIsDefusing: usize = 0x1986; // bool
+                pub const m_bIsGrabbingHostage: usize = 0x1987; // bool
+                pub const m_iBlockingUseActionInProgress: usize = 0x1988; // CSPlayerBlockingUseAction_t
+                pub const m_flEmitSoundTime: usize = 0x198C; // GameTime_t
+                pub const m_bInNoDefuseArea: usize = 0x1990; // bool
+                pub const m_iBombSiteIndex: usize = 0x1994; // CEntityIndex
+                pub const m_nWhichBombZone: usize = 0x1998; // int32
+                pub const m_bInBombZoneTrigger: usize = 0x199C; // bool
+                pub const m_bWasInBombZoneTrigger: usize = 0x199D; // bool
+                pub const m_iShotsFired: usize = 0x19A0; // int32
+                pub const m_flFlinchStack: usize = 0x19A4; // float32
+                pub const m_flVelocityModifier: usize = 0x19A8; // float32
+                pub const m_flHitHeading: usize = 0x19AC; // float32
+                pub const m_nHitBodyPart: usize = 0x19B0; // int32
+                pub const m_vecTotalBulletForce: usize = 0x19B4; // Vector
+                pub const m_bWaitForNoAttack: usize = 0x19C0; // bool
+                pub const m_ignoreLadderJumpTime: usize = 0x19C4; // float32
+                pub const m_bKilledByHeadshot: usize = 0x19C8; // bool
+                pub const m_LastHitBox: usize = 0x19CC; // int32
+                pub const m_LastHealth: usize = 0x19D0; // int32
+                pub const m_pBot: usize = 0x19D8; // CCSBot*
+                pub const m_bBotAllowActive: usize = 0x19E0; // bool
+                pub const m_thirdPersonHeading: usize = 0x19E4; // QAngle
+                pub const m_flSlopeDropOffset: usize = 0x19F0; // float32
+                pub const m_flSlopeDropHeight: usize = 0x19F4; // float32
+                pub const m_vHeadConstraintOffset: usize = 0x19F8; // Vector
+                pub const m_nLastPickupPriority: usize = 0x1A04; // int32
+                pub const m_flLastPickupPriorityTime: usize = 0x1A08; // float32
+                pub const m_ArmorValue: usize = 0x1A0C; // int32
+                pub const m_unCurrentEquipmentValue: usize = 0x1A10; // uint16
+                pub const m_unRoundStartEquipmentValue: usize = 0x1A12; // uint16
+                pub const m_unFreezetimeEndEquipmentValue: usize = 0x1A14; // uint16
+                pub const m_iLastWeaponFireUsercmd: usize = 0x1A18; // int32
+                pub const m_bIsSpawning: usize = 0x1A1C; // bool
+                pub const m_iDeathFlags: usize = 0x1A28; // int32
+                pub const m_bHasDeathInfo: usize = 0x1A2C; // bool
+                pub const m_flDeathInfoTime: usize = 0x1A30; // float32
+                pub const m_vecDeathInfoOrigin: usize = 0x1A34; // Vector
+                pub const m_vecPlayerPatchEconIndices: usize = 0x1A40; // uint32[5]
+                pub const m_GunGameImmunityColor: usize = 0x1A54; // Color
+                pub const m_grenadeParameterStashTime: usize = 0x1A58; // GameTime_t
+                pub const m_bGrenadeParametersStashed: usize = 0x1A5C; // bool
+                pub const m_angStashedShootAngles: usize = 0x1A60; // QAngle
+                pub const m_vecStashedGrenadeThrowPosition: usize = 0x1A6C; // Vector
+                pub const m_vecStashedVelocity: usize = 0x1A78; // Vector
+                pub const m_angShootAngleHistory: usize = 0x1A84; // QAngle[2]
+                pub const m_vecThrowPositionHistory: usize = 0x1A9C; // Vector[2]
+                pub const m_vecVelocityHistory: usize = 0x1AB4; // Vector[2]
+                pub const m_PredictedDamageTags: usize = 0x1AD0; // CUtlVectorEmbeddedNetworkVar<PredictedDamageTag_t>
+                pub const m_nHighestAppliedDamageTagTick: usize = 0x1B20; // int32
+            }
+            // Parent: CBasePlayerController
+            // Field count: 91
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_pInGameMoneyServices (CCSPlayerController_InGameMoneyServices*)
+            // NetworkVarNames: m_pInventoryServices (CCSPlayerController_InventoryServices*)
+            // NetworkVarNames: m_pActionTrackingServices (CCSPlayerController_ActionTrackingServices*)
+            // NetworkVarNames: m_pDamageServices (CCSPlayerController_DamageServices*)
+            // NetworkVarNames: m_iPing (uint32)
+            // NetworkVarNames: m_bHasCommunicationAbuseMute (bool)
+            // NetworkVarNames: m_szCrosshairCodes (string_t)
+            // NetworkVarNames: m_iPendingTeamNum (uint8)
+            // NetworkVarNames: m_flForceTeamTime (GameTime_t)
+            // NetworkVarNames: m_iCompTeammateColor (int)
+            // NetworkVarNames: m_bEverPlayedOnTeam (bool)
+            // NetworkVarNames: m_szClan (string_t)
+            // NetworkVarNames: m_iCoachingTeam (int)
+            // NetworkVarNames: m_nPlayerDominated (uint64)
+            // NetworkVarNames: m_nPlayerDominatingMe (uint64)
+            // NetworkVarNames: m_iCompetitiveRanking (int)
+            // NetworkVarNames: m_iCompetitiveWins (int)
+            // NetworkVarNames: m_iCompetitiveRankType (int8)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Win (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Loss (int)
+            // NetworkVarNames: m_iCompetitiveRankingPredicted_Tie (int)
+            // NetworkVarNames: m_nEndMatchNextMapVote (int)
+            // NetworkVarNames: m_unActiveQuestId (uint16)
+            // NetworkVarNames: m_nQuestProgressReason (QuestProgress::Reason)
+            // NetworkVarNames: m_unPlayerTvControlFlags (uint32)
+            // NetworkVarNames: m_nDisconnectionTick (int)
+            // NetworkVarNames: m_bControllingBot (bool)
+            // NetworkVarNames: m_bHasControlledBotThisRound (bool)
+            // NetworkVarNames: m_bCanControlObservedBot (bool)
+            // NetworkVarNames: m_hPlayerPawn (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_hObserverPawn (CHandle<CCSObserverPawn>)
+            // NetworkVarNames: m_bPawnIsAlive (bool)
+            // NetworkVarNames: m_iPawnHealth (uint32)
+            // NetworkVarNames: m_iPawnArmor (int)
+            // NetworkVarNames: m_bPawnHasDefuser (bool)
+            // NetworkVarNames: m_bPawnHasHelmet (bool)
+            // NetworkVarNames: m_nPawnCharacterDefIndex (item_definition_index_t)
+            // NetworkVarNames: m_iPawnLifetimeStart (int)
+            // NetworkVarNames: m_iPawnLifetimeEnd (int)
+            // NetworkVarNames: m_iPawnBotDifficulty (int)
+            // NetworkVarNames: m_hOriginalControllerOfCurrentPawn (CHandle<CCSPlayerController>)
+            // NetworkVarNames: m_iScore (int32)
+            // NetworkVarNames: m_recentKillQueue (uint8)
+            // NetworkVarNames: m_nFirstKill (uint8)
+            // NetworkVarNames: m_nKillCount (uint8)
+            // NetworkVarNames: m_bMvpNoMusic (bool)
+            // NetworkVarNames: m_eMvpReason (int)
+            // NetworkVarNames: m_iMusicKitID (int)
+            // NetworkVarNames: m_iMusicKitMVPs (int)
+            // NetworkVarNames: m_iMVPs (int)
+            // NetworkVarNames: m_bFireBulletsSeedSynchronized (bool)
+            pub mod CCSPlayerController {
+                pub const m_pInGameMoneyServices: usize = 0x788; // CCSPlayerController_InGameMoneyServices*
+                pub const m_pInventoryServices: usize = 0x790; // CCSPlayerController_InventoryServices*
+                pub const m_pActionTrackingServices: usize = 0x798; // CCSPlayerController_ActionTrackingServices*
+                pub const m_pDamageServices: usize = 0x7A0; // CCSPlayerController_DamageServices*
+                pub const m_iPing: usize = 0x7A8; // uint32
+                pub const m_bHasCommunicationAbuseMute: usize = 0x7AC; // bool
+                pub const m_szCrosshairCodes: usize = 0x7B0; // CUtlSymbolLarge
+                pub const m_iPendingTeamNum: usize = 0x7B8; // uint8
+                pub const m_flForceTeamTime: usize = 0x7BC; // GameTime_t
+                pub const m_iCompTeammateColor: usize = 0x7C0; // int32
+                pub const m_bEverPlayedOnTeam: usize = 0x7C4; // bool
+                pub const m_bAttemptedToGetColor: usize = 0x7C5; // bool
+                pub const m_iTeammatePreferredColor: usize = 0x7C8; // int32
+                pub const m_bTeamChanged: usize = 0x7CC; // bool
+                pub const m_bInSwitchTeam: usize = 0x7CD; // bool
+                pub const m_bHasSeenJoinGame: usize = 0x7CE; // bool
+                pub const m_bJustBecameSpectator: usize = 0x7CF; // bool
+                pub const m_bSwitchTeamsOnNextRoundReset: usize = 0x7D0; // bool
+                pub const m_bRemoveAllItemsOnNextRoundReset: usize = 0x7D1; // bool
+                pub const m_flLastJoinTeamTime: usize = 0x7D4; // GameTime_t
+                pub const m_szClan: usize = 0x7D8; // CUtlSymbolLarge
+                pub const m_szClanName: usize = 0x7E0; // char[32]
+                pub const m_iCoachingTeam: usize = 0x800; // int32
+                pub const m_nPlayerDominated: usize = 0x808; // uint64
+                pub const m_nPlayerDominatingMe: usize = 0x810; // uint64
+                pub const m_iCompetitiveRanking: usize = 0x818; // int32
+                pub const m_iCompetitiveWins: usize = 0x81C; // int32
+                pub const m_iCompetitiveRankType: usize = 0x820; // int8
+                pub const m_iCompetitiveRankingPredicted_Win: usize = 0x824; // int32
+                pub const m_iCompetitiveRankingPredicted_Loss: usize = 0x828; // int32
+                pub const m_iCompetitiveRankingPredicted_Tie: usize = 0x82C; // int32
+                pub const m_nEndMatchNextMapVote: usize = 0x830; // int32
+                pub const m_unActiveQuestId: usize = 0x834; // uint16
+                pub const m_nQuestProgressReason: usize = 0x838; // QuestProgress::Reason
+                pub const m_unPlayerTvControlFlags: usize = 0x83C; // uint32
+                pub const m_iDraftIndex: usize = 0x868; // int32
+                pub const m_msQueuedModeDisconnectionTimestamp: usize = 0x86C; // uint32
+                pub const m_uiAbandonRecordedReason: usize = 0x870; // uint32
+                pub const m_eNetworkDisconnectionReason: usize = 0x874; // uint32
+                pub const m_bCannotBeKicked: usize = 0x878; // bool
+                pub const m_bEverFullyConnected: usize = 0x879; // bool
+                pub const m_bAbandonAllowsSurrender: usize = 0x87A; // bool
+                pub const m_bAbandonOffersInstantSurrender: usize = 0x87B; // bool
+                pub const m_bDisconnection1MinWarningPrinted: usize = 0x87C; // bool
+                pub const m_bScoreReported: usize = 0x87D; // bool
+                pub const m_nDisconnectionTick: usize = 0x880; // int32
+                pub const m_bControllingBot: usize = 0x890; // bool
+                pub const m_bHasControlledBotThisRound: usize = 0x891; // bool
+                pub const m_bHasBeenControlledByPlayerThisRound: usize = 0x892; // bool
+                pub const m_nBotsControlledThisRound: usize = 0x894; // int32
+                pub const m_bCanControlObservedBot: usize = 0x898; // bool
+                pub const m_hPlayerPawn: usize = 0x89C; // CHandle<CCSPlayerPawn>
+                pub const m_hObserverPawn: usize = 0x8A0; // CHandle<CCSObserverPawn>
+                pub const m_DesiredObserverMode: usize = 0x8A4; // int32
+                pub const m_hDesiredObserverTarget: usize = 0x8A8; // CEntityHandle
+                pub const m_bPawnIsAlive: usize = 0x8AC; // bool
+                pub const m_iPawnHealth: usize = 0x8B0; // uint32
+                pub const m_iPawnArmor: usize = 0x8B4; // int32
+                pub const m_bPawnHasDefuser: usize = 0x8B8; // bool
+                pub const m_bPawnHasHelmet: usize = 0x8B9; // bool
+                pub const m_nPawnCharacterDefIndex: usize = 0x8BA; // uint16
+                pub const m_iPawnLifetimeStart: usize = 0x8BC; // int32
+                pub const m_iPawnLifetimeEnd: usize = 0x8C0; // int32
+                pub const m_iPawnBotDifficulty: usize = 0x8C4; // int32
+                pub const m_hOriginalControllerOfCurrentPawn: usize = 0x8C8; // CHandle<CCSPlayerController>
+                pub const m_iScore: usize = 0x8CC; // int32
+                pub const m_iRoundScore: usize = 0x8D0; // int32
+                pub const m_iRoundsWon: usize = 0x8D4; // int32
+                pub const m_recentKillQueue: usize = 0x8D8; // uint8[8]
+                pub const m_nFirstKill: usize = 0x8E0; // uint8
+                pub const m_nKillCount: usize = 0x8E1; // uint8
+                pub const m_bMvpNoMusic: usize = 0x8E2; // bool
+                pub const m_eMvpReason: usize = 0x8E4; // int32
+                pub const m_iMusicKitID: usize = 0x8E8; // int32
+                pub const m_iMusicKitMVPs: usize = 0x8EC; // int32
+                pub const m_iMVPs: usize = 0x8F0; // int32
+                pub const m_nUpdateCounter: usize = 0x8F4; // int32
+                pub const m_flSmoothedPing: usize = 0x8F8; // float32
+                pub const m_lastHeldVoteTimer: usize = 0xF9A0; // IntervalTimer
+                pub const m_bShowHints: usize = 0xF9B8; // bool
+                pub const m_iNextTimeCheck: usize = 0xF9BC; // int32
+                pub const m_bJustDidTeamKill: usize = 0xF9C0; // bool
+                pub const m_bPunishForTeamKill: usize = 0xF9C1; // bool
+                pub const m_bGaveTeamDamageWarning: usize = 0xF9C2; // bool
+                pub const m_bGaveTeamDamageWarningThisRound: usize = 0xF9C3; // bool
+                pub const m_dblLastReceivedPacketPlatFloatTime: usize = 0xF9C8; // float64
+                pub const m_LastTeamDamageWarningTime: usize = 0xF9D0; // GameTime_t
+                pub const m_LastTimePlayerWasDisconnectedForPawnsRemove: usize = 0xF9D4; // GameTime_t
+                pub const m_nSuspiciousHitCount: usize = 0xF9D8; // uint32
+                pub const m_nNonSuspiciousHitStreak: usize = 0xF9DC; // uint32
+                pub const m_bFireBulletsSeedSynchronized: usize = 0xFA81; // bool
+            }
+            // Parent: IEconItemInterface
+            // Field count: 13
+            //
+            // Metadata:
+            // NetworkVarNames: m_iItemDefinitionIndex (item_definition_index_t)
+            // NetworkVarNames: m_iEntityQuality (int)
+            // NetworkVarNames: m_iEntityLevel (uint32)
+            // NetworkVarNames: m_iItemIDHigh (uint32)
+            // NetworkVarNames: m_iItemIDLow (uint32)
+            // NetworkVarNames: m_iAccountID (uint32)
+            // NetworkVarNames: m_iInventoryPosition (uint32)
+            // NetworkVarNames: m_bInitialized (bool)
+            // NetworkVarNames: m_AttributeList (CAttributeList)
+            // NetworkVarNames: m_NetworkedDynamicAttributes (CAttributeList)
+            // NetworkVarNames: m_szCustomName (char)
+            pub mod CEconItemView {
+                pub const m_iItemDefinitionIndex: usize = 0x38; // uint16
+                pub const m_iEntityQuality: usize = 0x3C; // int32
+                pub const m_iEntityLevel: usize = 0x40; // uint32
+                pub const m_iItemID: usize = 0x48; // uint64
+                pub const m_iItemIDHigh: usize = 0x50; // uint32
+                pub const m_iItemIDLow: usize = 0x54; // uint32
+                pub const m_iAccountID: usize = 0x58; // uint32
+                pub const m_iInventoryPosition: usize = 0x5C; // uint32
+                pub const m_bInitialized: usize = 0x68; // bool
+                pub const m_AttributeList: usize = 0x70; // CAttributeList
+                pub const m_NetworkedDynamicAttributes: usize = 0xD0; // CAttributeList
+                pub const m_szCustomName: usize = 0x130; // char[161]
+                pub const m_szCustomNameOverride: usize = 0x1D1; // char[161]
+            }
+            // Parent: CPointEntity
+            // Field count: 0
+            pub mod CInfoInstructorHintBombTargetA {
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponAWP {
+            }
+            // Parent: CBaseCombatCharacter
+            // Field count: 25
+            //
+            // Metadata:
+            // MNetworkUserGroupProxy
+            // MNetworkUserGroupProxy
+            // MNetworkExcludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByUserGroup
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_pWeaponServices (CPlayer_WeaponServices*)
+            // NetworkVarNames: m_pItemServices (CPlayer_ItemServices*)
+            // NetworkVarNames: m_pAutoaimServices (CPlayer_AutoaimServices*)
+            // NetworkVarNames: m_pObserverServices (CPlayer_ObserverServices*)
+            // NetworkVarNames: m_pWaterServices (CPlayer_WaterServices*)
+            // NetworkVarNames: m_pUseServices (CPlayer_UseServices*)
+            // NetworkVarNames: m_pFlashlightServices (CPlayer_FlashlightServices*)
+            // NetworkVarNames: m_pCameraServices (CPlayer_CameraServices*)
+            // NetworkVarNames: m_pMovementServices (CPlayer_MovementServices*)
+            // MNetworkUserGroupProxy
+            // NetworkVarNames: m_ServerViewAngleChanges (ViewAngleServerChange_t)
+            // NetworkVarNames: m_iHideHUD (uint32)
+            // NetworkVarNames: m_skybox3d (sky3dparams_t)
+            // NetworkVarNames: m_flDeathTime (GameTime_t)
+            // NetworkVarNames: m_hController (CHandle<CBasePlayerController>)
+            pub mod CBasePlayerPawn {
+                pub const m_pWeaponServices: usize = 0xAC0; // CPlayer_WeaponServices*
+                pub const m_pItemServices: usize = 0xAC8; // CPlayer_ItemServices*
+                pub const m_pAutoaimServices: usize = 0xAD0; // CPlayer_AutoaimServices*
+                pub const m_pObserverServices: usize = 0xAD8; // CPlayer_ObserverServices*
+                pub const m_pWaterServices: usize = 0xAE0; // CPlayer_WaterServices*
+                pub const m_pUseServices: usize = 0xAE8; // CPlayer_UseServices*
+                pub const m_pFlashlightServices: usize = 0xAF0; // CPlayer_FlashlightServices*
+                pub const m_pCameraServices: usize = 0xAF8; // CPlayer_CameraServices*
+                pub const m_pMovementServices: usize = 0xB00; // CPlayer_MovementServices*
+                pub const m_ServerViewAngleChanges: usize = 0xB10; // CUtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
+                pub const m_nHighestGeneratedServerViewAngleChangeIndex: usize = 0xB60; // uint32
+                pub const v_angle: usize = 0xB64; // QAngle
+                pub const v_anglePrevious: usize = 0xB70; // QAngle
+                pub const m_iHideHUD: usize = 0xB7C; // uint32
+                pub const m_skybox3d: usize = 0xB80; // sky3dparams_t
+                pub const m_fTimeLastHurt: usize = 0xC10; // GameTime_t
+                pub const m_flDeathTime: usize = 0xC14; // GameTime_t
+                pub const m_fNextSuicideTime: usize = 0xC18; // GameTime_t
+                pub const m_fInitHUD: usize = 0xC1C; // bool
+                pub const m_pExpresser: usize = 0xC20; // CAI_Expresser*
+                pub const m_hController: usize = 0xC28; // CHandle<CBasePlayerController>
+                pub const m_fHltvReplayDelay: usize = 0xC30; // float32
+                pub const m_fHltvReplayEnd: usize = 0xC34; // float32
+                pub const m_iHltvReplayEntity: usize = 0xC38; // CEntityIndex
+                pub const m_sndOpvarLatchData: usize = 0xC40; // CUtlVector<sndopvarlatchdata_t>
+            }
+            // Parent: CBaseTrigger
+            // Field count: 16
+            //
+            // Metadata:
+            // NetworkVarNames: m_hPostSettings (HPostProcessingStrong)
+            // NetworkVarNames: m_flFadeDuration (float)
+            // NetworkVarNames: m_flMinLogExposure (float)
+            // NetworkVarNames: m_flMaxLogExposure (float)
+            // NetworkVarNames: m_flMinExposure (float)
+            // NetworkVarNames: m_flMaxExposure (float)
+            // NetworkVarNames: m_flExposureCompensation (float)
+            // NetworkVarNames: m_flExposureFadeSpeedUp (float)
+            // NetworkVarNames: m_flExposureFadeSpeedDown (float)
+            // NetworkVarNames: m_flTonemapEVSmoothingRange (float)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bExposureControl (bool)
+            // NetworkVarNames: m_flRate (float)
+            // NetworkVarNames: m_flTonemapPercentTarget (float)
+            // NetworkVarNames: m_flTonemapPercentBrightPixels (float)
+            // NetworkVarNames: m_flTonemapMinAvgLum (float)
+            pub mod CPostProcessingVolume {
+                pub const m_hPostSettings: usize = 0x970; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
+                pub const m_flFadeDuration: usize = 0x978; // float32
+                pub const m_flMinLogExposure: usize = 0x97C; // float32
+                pub const m_flMaxLogExposure: usize = 0x980; // float32
+                pub const m_flMinExposure: usize = 0x984; // float32
+                pub const m_flMaxExposure: usize = 0x988; // float32
+                pub const m_flExposureCompensation: usize = 0x98C; // float32
+                pub const m_flExposureFadeSpeedUp: usize = 0x990; // float32
+                pub const m_flExposureFadeSpeedDown: usize = 0x994; // float32
+                pub const m_flTonemapEVSmoothingRange: usize = 0x998; // float32
+                pub const m_bMaster: usize = 0x99C; // bool
+                pub const m_bExposureControl: usize = 0x99D; // bool
+                pub const m_flRate: usize = 0x9A0; // float32
+                pub const m_flTonemapPercentTarget: usize = 0x9A4; // float32
+                pub const m_flTonemapPercentBrightPixels: usize = 0x9A8; // float32
+                pub const m_flTonemapMinAvgLum: usize = 0x9AC; // float32
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_flLightScale (float32)
+            // NetworkVarNames: m_Radius (float32)
+            pub mod CSpotlightEnd {
+                pub const m_flLightScale: usize = 0x790; // float32
+                pub const m_Radius: usize = 0x794; // float32
+                pub const m_vSpotlightDir: usize = 0x798; // Vector
+                pub const m_vSpotlightOrg: usize = 0x7A4; // Vector
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 1
+            pub mod CRuleEntity {
+                pub const m_iszMaster: usize = 0x790; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 8
+            //
+            // Metadata:
+            // NetworkVarNames: m_nVariant (int)
+            // NetworkVarNames: m_nRandom (int)
+            // NetworkVarNames: m_nOrdinal (int)
+            // NetworkVarNames: m_sWeaponName (CUtlString)
+            // NetworkVarNames: m_xuid (XUID)
+            // NetworkVarNames: m_agentItem (CEconItemView)
+            // NetworkVarNames: m_glovesItem (CEconItemView)
+            // NetworkVarNames: m_weaponItem (CEconItemView)
+            pub mod CCSGO_TeamPreviewCharacterPosition {
+                pub const m_nVariant: usize = 0x4E0; // int32
+                pub const m_nRandom: usize = 0x4E4; // int32
+                pub const m_nOrdinal: usize = 0x4E8; // int32
+                pub const m_sWeaponName: usize = 0x4F0; // CUtlString
+                pub const m_xuid: usize = 0x4F8; // uint64
+                pub const m_agentItem: usize = 0x500; // CEconItemView
+                pub const m_glovesItem: usize = 0x778; // CEconItemView
+                pub const m_weaponItem: usize = 0x9F0; // CEconItemView
+            }
+            // Parent: CBaseTrigger
+            // Field count: 1
+            pub mod CTriggerDetectExplosion {
+                pub const m_OnDetectedExplosion: usize = 0x988; // CEntityIOOutput
+            }
+            // Parent: CLogicalEntity
+            // Field count: 1
+            pub mod CSoundStackSave {
+                pub const m_iszStackName: usize = 0x4E0; // CUtlSymbolLarge
+            }
+            // Parent: CPhysConstraint
+            // Field count: 18
+            pub mod CPhysHinge {
+                pub const m_soundInfo: usize = 0x560; // ConstraintSoundInfo
+                pub const m_NotifyMinLimitReached: usize = 0x5E8; // CEntityIOOutput
+                pub const m_NotifyMaxLimitReached: usize = 0x610; // CEntityIOOutput
+                pub const m_bAtMinLimit: usize = 0x638; // bool
+                pub const m_bAtMaxLimit: usize = 0x639; // bool
+                pub const m_hinge: usize = 0x63C; // constraint_hingeparams_t
+                pub const m_hingeFriction: usize = 0x67C; // float32
+                pub const m_systemLoadScale: usize = 0x680; // float32
+                pub const m_bIsAxisLocal: usize = 0x684; // bool
+                pub const m_flMinRotation: usize = 0x688; // float32
+                pub const m_flMaxRotation: usize = 0x68C; // float32
+                pub const m_flInitialRotation: usize = 0x690; // float32
+                pub const m_flMotorFrequency: usize = 0x694; // float32
+                pub const m_flMotorDampingRatio: usize = 0x698; // float32
+                pub const m_flAngleSpeed: usize = 0x69C; // float32
+                pub const m_flAngleSpeedThreshold: usize = 0x6A0; // float32
+                pub const m_OnStartMoving: usize = 0x6A8; // CEntityIOOutput
+                pub const m_OnStopMoving: usize = 0x6D0; // CEntityIOOutput
+            }
+            // Parent: CGameRules
+            // Field count: 1
+            pub mod CSingleplayRules {
+                pub const m_bSinglePlayerGameEnding: usize = 0xC0; // bool
+            }
+            // Parent: CBaseFilter
+            // Field count: 1
+            pub mod CFilterProximity {
+                pub const m_flRadius: usize = 0x538; // float32
+            }
+            // Parent: CEconEntity
+            // Field count: 2
+            pub mod CEconWearable {
+                pub const m_nForceSkin: usize = 0xD30; // int32
+                pub const m_bAlwaysAllow: usize = 0xD34; // bool
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_ItemServices {
+            }
+            // Parent: CBaseModelEntity
+            // Field count: 9
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // MNetworkOverride
+            // NetworkVarNames: m_vecMoveDirEntitySpace (Vector)
+            // NetworkVarNames: m_flTargetSpeed (float32)
+            // NetworkVarNames: m_nTransitionStartTick (GameTick_t)
+            // NetworkVarNames: m_nTransitionDurationTicks (int)
+            // NetworkVarNames: m_flTransitionStartSpeed (float32)
+            // NetworkVarNames: m_hConveyorModels (EHANDLE)
+            pub mod CFuncConveyor {
+                pub const m_szConveyorModels: usize = 0x790; // CUtlSymbolLarge
+                pub const m_flTransitionDurationSeconds: usize = 0x798; // float32
+                pub const m_angMoveEntitySpace: usize = 0x79C; // QAngle
+                pub const m_vecMoveDirEntitySpace: usize = 0x7A8; // Vector
+                pub const m_flTargetSpeed: usize = 0x7B4; // float32
+                pub const m_nTransitionStartTick: usize = 0x7B8; // GameTick_t
+                pub const m_nTransitionDurationTicks: usize = 0x7BC; // int32
+                pub const m_flTransitionStartSpeed: usize = 0x7C0; // float32
+                pub const m_hConveyorModels: usize = 0x7C8; // CNetworkUtlVectorBase<CHandle<CBaseEntity>>
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponMag7 {
+            }
+            // Parent: CLogicalEntity
+            // Field count: 11
+            pub mod CMathCounter {
+                pub const m_flMin: usize = 0x4E0; // float32
+                pub const m_flMax: usize = 0x4E4; // float32
+                pub const m_bHitMin: usize = 0x4E8; // bool
+                pub const m_bHitMax: usize = 0x4E9; // bool
+                pub const m_bDisabled: usize = 0x4EA; // bool
+                pub const m_OutValue: usize = 0x4F0; // CEntityOutputTemplate<float32>
+                pub const m_OnGetValue: usize = 0x518; // CEntityOutputTemplate<float32>
+                pub const m_OnHitMin: usize = 0x540; // CEntityIOOutput
+                pub const m_OnHitMax: usize = 0x568; // CEntityIOOutput
+                pub const m_OnChangedFromMin: usize = 0x590; // CEntityIOOutput
+                pub const m_OnChangedFromMax: usize = 0x5B8; // CEntityIOOutput
+            }
+            // Parent: CBaseEntity
+            // Field count: 7
+            //
+            // Metadata:
+            // NetworkVarNames: m_worldName (string_t)
+            // NetworkVarNames: m_layerName (string_t)
+            // NetworkVarNames: m_bWorldLayerVisible (bool)
+            // NetworkVarNames: m_bEntitiesSpawned (bool)
+            pub mod CInfoWorldLayer {
+                pub const m_pOutputOnEntitiesSpawned: usize = 0x4E0; // CEntityIOOutput
+                pub const m_worldName: usize = 0x508; // CUtlSymbolLarge
+                pub const m_layerName: usize = 0x510; // CUtlSymbolLarge
+                pub const m_bWorldLayerVisible: usize = 0x518; // bool
+                pub const m_bEntitiesSpawned: usize = 0x519; // bool
+                pub const m_bCreateAsChildSpawnGroup: usize = 0x51A; // bool
+                pub const m_hLayerSpawnGroup: usize = 0x51C; // uint32
+            }
+            // Parent: CBarnLight
+            // Field count: 1
+            //
+            // Metadata:
+            // NetworkVarNames: m_bShowLight (bool)
+            pub mod CRectLight {
+                pub const m_bShowLight: usize = 0xAB0; // bool
+            }
+            // Parent: CCSGO_TeamSelectCharacterPosition
+            // Field count: 0
+            pub mod CCSGO_TeamSelectTerroristPosition {
+            }
+            // Parent: CBaseDoor
+            // Field count: 1
+            pub mod CRotDoor {
+                pub const m_bSolidBsp: usize = 0xA18; // bool
+            }
+            // Parent: CLogicalEntity
+            // Field count: 4
+            pub mod CLogicLineToEntity {
+                pub const m_Line: usize = 0x4E0; // CEntityOutputTemplate<Vector>
+                pub const m_SourceName: usize = 0x508; // CUtlSymbolLarge
+                pub const m_StartEntity: usize = 0x510; // CHandle<CBaseEntity>
+                pub const m_EndEntity: usize = 0x514; // CHandle<CBaseEntity>
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // NetworkVarNames: m_nTotalPausedTicks (int)
+            // NetworkVarNames: m_nPauseStartTick (int)
+            // NetworkVarNames: m_bGamePaused (bool)
+            pub mod CGameRules {
+                pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
+                pub const m_szQuestName: usize = 0x30; // char[128]
+                pub const m_nQuestPhase: usize = 0xB0; // int32
+                pub const m_nTotalPausedTicks: usize = 0xB4; // int32
+                pub const m_nPauseStartTick: usize = 0xB8; // int32
+                pub const m_bGamePaused: usize = 0xBC; // bool
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // NetworkVarNames: m_pEntity (CEntityIdentity*)
+            // NetworkVarNames: m_CScriptComponent (CScriptComponent::Storage_t)
+            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 const m_bVisibleinPVS: usize = 0x30; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 18
+            //
+            // Metadata:
+            // NetworkVarNames: m_Entity_hCubemapTexture (HRenderTextureStrong)
+            // NetworkVarNames: m_Entity_bCustomCubemapTexture (bool)
+            // NetworkVarNames: m_Entity_flInfluenceRadius (float)
+            // NetworkVarNames: m_Entity_vBoxProjectMins (Vector)
+            // NetworkVarNames: m_Entity_vBoxProjectMaxs (Vector)
+            // NetworkVarNames: m_Entity_bMoveable (bool)
+            // NetworkVarNames: m_Entity_nHandshake (int)
+            // NetworkVarNames: m_Entity_nEnvCubeMapArrayIndex (int)
+            // NetworkVarNames: m_Entity_nPriority (int)
+            // NetworkVarNames: m_Entity_flEdgeFadeDist (float)
+            // NetworkVarNames: m_Entity_vEdgeFadeDists (Vector)
+            // NetworkVarNames: m_Entity_flDiffuseScale (float)
+            // NetworkVarNames: m_Entity_bStartDisabled (bool)
+            // NetworkVarNames: m_Entity_bDefaultEnvMap (bool)
+            // NetworkVarNames: m_Entity_bDefaultSpecEnvMap (bool)
+            // NetworkVarNames: m_Entity_bIndoorCubeMap (bool)
+            // NetworkVarNames: m_Entity_bCopyDiffuseFromDefaultCubemap (bool)
+            // NetworkVarNames: m_Entity_bEnabled (bool)
+            pub mod CEnvCubemap {
+                pub const m_Entity_hCubemapTexture: usize = 0x560; // CStrongHandle<InfoForResourceTypeCTextureBase>
+                pub const m_Entity_bCustomCubemapTexture: usize = 0x568; // bool
+                pub const m_Entity_flInfluenceRadius: usize = 0x56C; // float32
+                pub const m_Entity_vBoxProjectMins: usize = 0x570; // Vector
+                pub const m_Entity_vBoxProjectMaxs: usize = 0x57C; // Vector
+                pub const m_Entity_bMoveable: usize = 0x588; // bool
+                pub const m_Entity_nHandshake: usize = 0x58C; // int32
+                pub const m_Entity_nEnvCubeMapArrayIndex: usize = 0x590; // int32
+                pub const m_Entity_nPriority: usize = 0x594; // int32
+                pub const m_Entity_flEdgeFadeDist: usize = 0x598; // float32
+                pub const m_Entity_vEdgeFadeDists: usize = 0x59C; // Vector
+                pub const m_Entity_flDiffuseScale: usize = 0x5A8; // float32
+                pub const m_Entity_bStartDisabled: usize = 0x5AC; // bool
+                pub const m_Entity_bDefaultEnvMap: usize = 0x5AD; // bool
+                pub const m_Entity_bDefaultSpecEnvMap: usize = 0x5AE; // bool
+                pub const m_Entity_bIndoorCubeMap: usize = 0x5AF; // bool
+                pub const m_Entity_bCopyDiffuseFromDefaultCubemap: usize = 0x5B0; // bool
+                pub const m_Entity_bEnabled: usize = 0x5C0; // bool
+            }
+            // Parent: None
+            // Field count: 3
+            pub mod ServerAuthoritativeWeaponSlot_t {
+                pub const unClass: usize = 0x28; // uint16
+                pub const unSlot: usize = 0x2A; // uint16
+                pub const unItemDefIdx: usize = 0x2C; // uint16
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CCSPlayer_DamageReactServices {
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // NetworkVarNames: m_nMatchSeed (int)
+            // NetworkVarNames: m_bBlockersPresent (bool)
+            // NetworkVarNames: m_bRoundInProgress (bool)
+            // NetworkVarNames: m_iFirstSecondHalfRound (int)
+            // NetworkVarNames: m_iBombSite (int)
+            pub mod CRetakeGameRules {
+                pub const m_nMatchSeed: usize = 0xF8; // int32
+                pub const m_bBlockersPresent: usize = 0xFC; // bool
+                pub const m_bRoundInProgress: usize = 0xFD; // bool
+                pub const m_iFirstSecondHalfRound: usize = 0x100; // int32
+                pub const m_iBombSite: usize = 0x104; // int32
+            }
+            // Parent: CBaseEntity
+            // Field count: 17
+            //
+            // Metadata:
+            // MNetworkIncludeByUserGroup
+            // NetworkVarNames: m_flFadeInDuration (float32)
+            // NetworkVarNames: m_flFadeOutDuration (float32)
+            // NetworkVarNames: m_flMaxWeight (float32)
+            // NetworkVarNames: m_bEnabled (bool)
+            // NetworkVarNames: m_bMaster (bool)
+            // NetworkVarNames: m_bClientSide (bool)
+            // NetworkVarNames: m_bExclusive (bool)
+            // NetworkVarNames: m_MinFalloff (float32)
+            // NetworkVarNames: m_MaxFalloff (float32)
+            // NetworkVarNames: m_flCurWeight (float32)
+            // NetworkVarNames: m_netlookupFilename (char)
+            pub mod CColorCorrection {
+                pub const m_flFadeInDuration: usize = 0x4E0; // float32
+                pub const m_flFadeOutDuration: usize = 0x4E4; // float32
+                pub const m_flStartFadeInWeight: usize = 0x4E8; // float32
+                pub const m_flStartFadeOutWeight: usize = 0x4EC; // float32
+                pub const m_flTimeStartFadeIn: usize = 0x4F0; // GameTime_t
+                pub const m_flTimeStartFadeOut: usize = 0x4F4; // GameTime_t
+                pub const m_flMaxWeight: usize = 0x4F8; // float32
+                pub const m_bStartDisabled: usize = 0x4FC; // bool
+                pub const m_bEnabled: usize = 0x4FD; // bool
+                pub const m_bMaster: usize = 0x4FE; // bool
+                pub const m_bClientSide: usize = 0x4FF; // bool
+                pub const m_bExclusive: usize = 0x500; // bool
+                pub const m_MinFalloff: usize = 0x504; // float32
+                pub const m_MaxFalloff: usize = 0x508; // float32
+                pub const m_flCurWeight: usize = 0x50C; // float32
+                pub const m_netlookupFilename: usize = 0x510; // char[512]
+                pub const m_lookupFilename: usize = 0x710; // CUtlSymbolLarge
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponElite {
+            }
+            // Parent: CSoundEventEntity
+            // Field count: 0
+            pub mod CSoundEventEntityAlias_snd_event_point {
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MPulseProvideFeatureTag
+            // MPulseLibraryBindings
+            pub mod CBaseEntityAPI {
+            }
+            // Parent: CCSWeaponBase
+            // Field count: 11
+            //
+            // Metadata:
+            // NetworkVarNames: m_bStartedArming (bool)
+            // NetworkVarNames: m_fArmedTime (GameTime_t)
+            // NetworkVarNames: m_bBombPlacedAnimation (bool)
+            // NetworkVarNames: m_bIsPlantingViaUse (bool)
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            pub mod CC4 {
+                pub const m_vecLastValidPlayerHeldPosition: usize = 0xF98; // Vector
+                pub const m_vecLastValidDroppedPosition: usize = 0xFA4; // Vector
+                pub const m_bDoValidDroppedPositionCheck: usize = 0xFB0; // bool
+                pub const m_bStartedArming: usize = 0xFB1; // bool
+                pub const m_fArmedTime: usize = 0xFB4; // GameTime_t
+                pub const m_bBombPlacedAnimation: usize = 0xFB8; // bool
+                pub const m_bIsPlantingViaUse: usize = 0xFB9; // bool
+                pub const m_entitySpottedState: usize = 0xFC0; // EntitySpottedState_t
+                pub const m_nSpotRules: usize = 0xFD8; // int32
+                pub const m_bPlayedArmingBeeps: usize = 0xFDC; // bool[7]
+                pub const m_bBombPlanted: usize = 0xFE3; // bool
+            }
+            // Parent: CHostageRescueZoneShim
+            // Field count: 0
+            pub mod CHostageRescueZone {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 6
+            pub mod CPointPrefab {
+                pub const m_targetMapName: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_forceWorldGroupID: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_associatedRelayTargetName: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_fixupNames: usize = 0x4F8; // bool
+                pub const m_bLoadDynamic: usize = 0x4F9; // bool
+                pub const m_associatedRelayEntity: usize = 0x4FC; // CHandle<CPointPrefab>
+            }
+            // Parent: CBaseToggle
+            // Field count: 27
+            //
+            // Metadata:
+            // NetworkVarNames: m_bIsUsable (bool)
+            pub mod CBaseDoor {
+                pub const m_angMoveEntitySpace: usize = 0x820; // QAngle
+                pub const m_vecMoveDirParentSpace: usize = 0x82C; // Vector
+                pub const m_ls: usize = 0x838; // locksound_t
+                pub const m_bForceClosed: usize = 0x858; // bool
+                pub const m_bDoorGroup: usize = 0x859; // bool
+                pub const m_bLocked: usize = 0x85A; // bool
+                pub const m_bIgnoreDebris: usize = 0x85B; // bool
+                pub const m_eSpawnPosition: usize = 0x85C; // FuncDoorSpawnPos_t
+                pub const m_flBlockDamage: usize = 0x860; // float32
+                pub const m_NoiseMoving: usize = 0x868; // CUtlSymbolLarge
+                pub const m_NoiseArrived: usize = 0x870; // CUtlSymbolLarge
+                pub const m_NoiseMovingClosed: usize = 0x878; // CUtlSymbolLarge
+                pub const m_NoiseArrivedClosed: usize = 0x880; // CUtlSymbolLarge
+                pub const m_ChainTarget: usize = 0x888; // CUtlSymbolLarge
+                pub const m_OnBlockedClosing: usize = 0x890; // CEntityIOOutput
+                pub const m_OnBlockedOpening: usize = 0x8B8; // CEntityIOOutput
+                pub const m_OnUnblockedClosing: usize = 0x8E0; // CEntityIOOutput
+                pub const m_OnUnblockedOpening: usize = 0x908; // CEntityIOOutput
+                pub const m_OnFullyClosed: usize = 0x930; // CEntityIOOutput
+                pub const m_OnFullyOpen: usize = 0x958; // CEntityIOOutput
+                pub const m_OnClose: usize = 0x980; // CEntityIOOutput
+                pub const m_OnOpen: usize = 0x9A8; // CEntityIOOutput
+                pub const m_OnLockedUse: usize = 0x9D0; // CEntityIOOutput
+                pub const m_bLoopMoveSound: usize = 0x9F8; // bool
+                pub const m_bCreateNavObstacle: usize = 0xA10; // bool
+                pub const m_isChaining: usize = 0xA11; // bool
+                pub const m_bIsUsable: usize = 0xA12; // bool
+            }
+            // Parent: None
+            // Field count: 33
+            //
+            // Metadata:
+            // NetworkVarNames: m_hParent (CGameSceneNodeHandle)
+            // NetworkVarNames: m_vecOrigin (CNetworkOriginCellCoordQuantizedVector)
+            // NetworkVarNames: m_angRotation (QAngle)
+            // NetworkVarNames: m_flScale (float)
+            // NetworkVarNames: m_name (CUtlStringToken)
+            // NetworkVarNames: m_hierarchyAttachName (CUtlStringToken)
+            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 = 0x78; // CGameSceneNodeHandle
+                pub const m_vecOrigin: usize = 0x88; // CNetworkOriginCellCoordQuantizedVector
+                pub const m_angRotation: usize = 0xC0; // QAngle
+                pub const m_flScale: usize = 0xCC; // float32
+                pub const m_vecAbsOrigin: usize = 0xD0; // Vector
+                pub const m_angAbsRotation: usize = 0xDC; // QAngle
+                pub const m_flAbsScale: usize = 0xE8; // float32
+                pub const m_nParentAttachmentOrBone: usize = 0xEC; // int16
+                pub const m_bDebugAbsOriginChanges: usize = 0xEE; // bool
+                pub const m_bDormant: usize = 0xEF; // bool
+                pub const m_bForceParentToBeNetworked: usize = 0xF0; // 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_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 = 0xF3; // uint8
+                pub const m_nHierarchyType: usize = 0xF4; // uint8
+                pub const m_nDoNotSetAnimTimeInInvalidatePhysicsCount: usize = 0xF5; // uint8
+                pub const m_name: usize = 0xF8; // CUtlStringToken
+                pub const m_hierarchyAttachName: usize = 0x138; // CUtlStringToken
+                pub const m_flZOffset: usize = 0x13C; // float32
+                pub const m_flClientLocalScale: usize = 0x140; // float32
+                pub const m_vRenderOrigin: usize = 0x144; // Vector
+            }
+            // Parent: CPointEntity
+            // Field count: 7
+            pub mod CTankTrainAI {
+                pub const m_hTrain: usize = 0x4E0; // CHandle<CFuncTrackTrain>
+                pub const m_hTargetEntity: usize = 0x4E4; // CHandle<CBaseEntity>
+                pub const m_soundPlaying: usize = 0x4E8; // int32
+                pub const m_startSoundName: usize = 0x500; // CUtlSymbolLarge
+                pub const m_engineSoundName: usize = 0x508; // CUtlSymbolLarge
+                pub const m_movementSoundName: usize = 0x510; // CUtlSymbolLarge
+                pub const m_targetEntityName: usize = 0x518; // CUtlSymbolLarge
+            }
+            // Parent: CBaseEntity
+            // Field count: 4
+            pub mod CGameGibManager {
+                pub const m_bAllowNewGibs: usize = 0x500; // bool
+                pub const m_iCurrentMaxPieces: usize = 0x504; // int32
+                pub const m_iMaxPieces: usize = 0x508; // int32
+                pub const m_iLastFrame: usize = 0x50C; // int32
+            }
+            // Parent: CBasePulseGraphInstance
+            // Field count: 1
+            //
+            // Metadata:
+            // MPulseInstanceDomainInfo
+            // MPulseDomainHookInfo
+            // MPulseLibraryBindings
+            // MPulseDomainOptInFeatureTag
+            pub mod CCSPointScript {
+                pub const m_pParent: usize = 0xF8; // CCSPointScriptEntity*
+            }
+            // Parent: CRagdollProp
+            // Field count: 0
+            pub mod CRagdollPropAlias_physics_prop_ragdoll {
+            }
+            // Parent: CSprite
+            // Field count: 0
+            pub mod CCSSprite {
+            }
+            // Parent: CBaseEntity
+            // Field count: 0
+            pub mod CFuncPropRespawnZone {
+            }
+            // Parent: CServerOnlyPointEntity
+            // Field count: 3
+            pub mod SpawnPoint {
+                pub const m_iPriority: usize = 0x4E0; // int32
+                pub const m_bEnabled: usize = 0x4E4; // bool
+                pub const m_nType: usize = 0x4E8; // int32
+            }
+            // Parent: CCSWeaponBaseGun
+            // Field count: 0
+            pub mod CWeaponSCAR20 {
+            }
+            // Parent: CFuncPlat
+            // Field count: 2
+            pub mod CFuncPlatRot {
+                pub const m_end: usize = 0x840; // QAngle
+                pub const m_start: usize = 0x84C; // QAngle
+            }
+            // Parent: CPointEntity
+            // Field count: 5
+            pub mod CEnvSpark {
+                pub const m_flDelay: usize = 0x4E0; // float32
+                pub const m_nMagnitude: usize = 0x4E4; // int32
+                pub const m_nTrailLength: usize = 0x4E8; // int32
+                pub const m_nType: usize = 0x4EC; // int32
+                pub const m_OnSpark: usize = 0x4F0; // CEntityIOOutput
+            }
+            // Parent: CPlayer_ObserverServices
+            // Field count: 0
+            pub mod CCSObserver_ObserverServices {
+            }
+            // Parent: CPlayerPawnComponent
+            // Field count: 0
+            pub mod CPlayer_AutoaimServices {
+            }
+            // Parent: CBasePlatTrain
+            // Field count: 6
+            pub mod CFuncTrain {
+                pub const m_hCurrentTarget: usize = 0x838; // CHandle<CBaseEntity>
+                pub const m_activated: usize = 0x83C; // bool
+                pub const m_hEnemy: usize = 0x840; // CHandle<CBaseEntity>
+                pub const m_flBlockDamage: usize = 0x844; // float32
+                pub const m_flNextBlockTime: usize = 0x848; // GameTime_t
+                pub const m_iszLastTarget: usize = 0x850; // CUtlSymbolLarge
+            }
+            // Parent: CHostageExpresserShim
+            // Field count: 39
+            //
+            // Metadata:
+            // NetworkVarNames: m_entitySpottedState (EntitySpottedState_t)
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // NetworkVarNames: m_vel (Vector)
+            // NetworkVarNames: m_isRescued (bool)
+            // NetworkVarNames: m_jumpedThisFrame (bool)
+            // NetworkVarNames: m_nHostageState (int)
+            // NetworkVarNames: m_leader (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_reuseTimer (CountdownTimer)
+            // NetworkVarNames: m_bHandsHaveBeenCut (bool)
+            // NetworkVarNames: m_hHostageGrabber (CHandle<CCSPlayerPawn>)
+            // NetworkVarNames: m_flRescueStartTime (GameTime_t)
+            // NetworkVarNames: m_flGrabSuccessTime (GameTime_t)
+            // NetworkVarNames: m_flDropStartTime (GameTime_t)
+            pub mod CHostage {
+                pub const m_OnHostageBeginGrab: usize = 0xAD8; // CEntityIOOutput
+                pub const m_OnFirstPickedUp: usize = 0xB00; // CEntityIOOutput
+                pub const m_OnDroppedNotRescued: usize = 0xB28; // CEntityIOOutput
+                pub const m_OnRescued: usize = 0xB50; // CEntityIOOutput
+                pub const m_entitySpottedState: usize = 0xB78; // EntitySpottedState_t
+                pub const m_nSpotRules: usize = 0xB90; // int32
+                pub const m_uiHostageSpawnExclusionGroupMask: usize = 0xB94; // uint32
+                pub const m_nHostageSpawnRandomFactor: usize = 0xB98; // uint32
+                pub const m_bRemove: usize = 0xB9C; // bool
+                pub const m_vel: usize = 0xBA0; // Vector
+                pub const m_isRescued: usize = 0xBAC; // bool
+                pub const m_jumpedThisFrame: usize = 0xBAD; // bool
+                pub const m_nHostageState: usize = 0xBB0; // int32
+                pub const m_leader: usize = 0xBB4; // CHandle<CBaseEntity>
+                pub const m_lastLeader: usize = 0xBB8; // CHandle<CCSPlayerPawnBase>
+                pub const m_reuseTimer: usize = 0xBC0; // CountdownTimer
+                pub const m_hasBeenUsed: usize = 0xBD8; // bool
+                pub const m_accel: usize = 0xBDC; // Vector
+                pub const m_isRunning: usize = 0xBE8; // bool
+                pub const m_isCrouching: usize = 0xBE9; // bool
+                pub const m_jumpTimer: usize = 0xBF0; // CountdownTimer
+                pub const m_isWaitingForLeader: usize = 0xC08; // bool
+                pub const m_repathTimer: usize = 0x2C18; // CountdownTimer
+                pub const m_inhibitDoorTimer: usize = 0x2C30; // CountdownTimer
+                pub const m_inhibitObstacleAvoidanceTimer: usize = 0x2CC0; // CountdownTimer
+                pub const m_wiggleTimer: usize = 0x2CE0; // CountdownTimer
+                pub const m_isAdjusted: usize = 0x2CFC; // bool
+                pub const m_bHandsHaveBeenCut: usize = 0x2CFD; // bool
+                pub const m_hHostageGrabber: usize = 0x2D00; // CHandle<CCSPlayerPawn>
+                pub const m_fLastGrabTime: usize = 0x2D04; // GameTime_t
+                pub const m_vecPositionWhenStartedDroppingToGround: usize = 0x2D08; // Vector
+                pub const m_vecGrabbedPos: usize = 0x2D14; // Vector
+                pub const m_flRescueStartTime: usize = 0x2D20; // GameTime_t
+                pub const m_flGrabSuccessTime: usize = 0x2D24; // GameTime_t
+                pub const m_flDropStartTime: usize = 0x2D28; // GameTime_t
+                pub const m_nApproachRewardPayouts: usize = 0x2D2C; // int32
+                pub const m_nPickupEventCount: usize = 0x2D30; // int32
+                pub const m_vecSpawnGroundPos: usize = 0x2D34; // Vector
+                pub const m_vecHostageResetPosition: usize = 0x2D54; // Vector
+            }
+            // Parent: CPointEntity
+            // Field count: 13
+            pub mod CNavLinkAreaEntity {
+                pub const m_flWidth: usize = 0x4E0; // float32
+                pub const m_vLocatorOffset: usize = 0x4E4; // Vector
+                pub const m_qLocatorAnglesOffset: usize = 0x4F0; // QAngle
+                pub const m_strMovementForward: usize = 0x500; // CUtlSymbolLarge
+                pub const m_strMovementReverse: usize = 0x508; // CUtlSymbolLarge
+                pub const m_nNavLinkIdForward: usize = 0x510; // int32
+                pub const m_nNavLinkIdReverse: usize = 0x514; // int32
+                pub const m_bEnabled: usize = 0x518; // bool
+                pub const m_strFilterName: usize = 0x520; // CUtlSymbolLarge
+                pub const m_hFilter: usize = 0x528; // CHandle<CBaseFilter>
+                pub const m_OnNavLinkStart: usize = 0x530; // CEntityIOOutput
+                pub const m_OnNavLinkFinish: usize = 0x558; // CEntityIOOutput
+                pub const m_bIsTerminus: usize = 0x580; // bool
+            }
+            // Parent: CBaseToggle
+            // Field count: 12
+            //
+            // Metadata:
+            // MNetworkIncludeByName
+            // MNetworkIncludeByName
+            // MNetworkOverride
+            pub mod CFuncMoveLinear {
+                pub const m_authoredPosition: usize = 0x810; // MoveLinearAuthoredPos_t
+                pub const m_angMoveEntitySpace: usize = 0x814; // QAngle
+                pub const m_vecMoveDirParentSpace: usize = 0x820; // Vector
+                pub const m_soundStart: usize = 0x830; // CUtlSymbolLarge
+                pub const m_soundStop: usize = 0x838; // CUtlSymbolLarge
+                pub const m_currentSound: usize = 0x840; // CUtlSymbolLarge
+                pub const m_flBlockDamage: usize = 0x848; // float32
+                pub const m_flStartPosition: usize = 0x84C; // float32
+                pub const m_OnFullyOpen: usize = 0x858; // CEntityIOOutput
+                pub const m_OnFullyClosed: usize = 0x880; // CEntityIOOutput
+                pub const m_bCreateMovableNavMesh: usize = 0x8A8; // bool
+                pub const m_bCreateNavObstacle: usize = 0x8A9; // bool
+            }
+            // Parent: CBaseEntity
+            // Field count: 3
+            pub mod CCommentaryAuto {
+                pub const m_OnCommentaryNewGame: usize = 0x4E0; // CEntityIOOutput
+                pub const m_OnCommentaryMidGame: usize = 0x508; // CEntityIOOutput
+                pub const m_OnCommentaryMultiplayerSpawn: usize = 0x530; // CEntityIOOutput
+            }
+            // Parent: CPointEntity
+            // Field count: 9
+            pub mod CMapInfo {
+                pub const m_iBuyingStatus: usize = 0x4E0; // int32
+                pub const m_flBombRadius: usize = 0x4E4; // float32
+                pub const m_iPetPopulation: usize = 0x4E8; // int32
+                pub const m_bUseNormalSpawnsForDM: usize = 0x4EC; // bool
+                pub const m_bDisableAutoGeneratedDMSpawns: usize = 0x4ED; // bool
+                pub const m_flBotMaxVisionDistance: usize = 0x4F0; // float32
+                pub const m_iHostageCount: usize = 0x4F4; // int32
+                pub const m_bFadePlayerVisibilityFarZ: usize = 0x4F8; // bool
+                pub const m_bRainTraceToSkyEnabled: usize = 0x4F9; // bool
+            }
+            // Parent: CBaseTrigger
+            // Field count: 0
+            pub mod CTriggerBombReset {
+            }
+            // Parent: CEntityInstance
+            // Field count: 77
+            //
+            // Metadata:
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByUserGroup
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // MNetworkExcludeByName
+            // NetworkVarNames: m_CBodyComponent (CBodyComponent::Storage_t)
+            // NetworkVarNames: m_iHealth (int32)
+            // NetworkVarNames: m_iMaxHealth (int32)
+            // NetworkVarNames: m_lifeState (uint8)
+            // NetworkVarNames: m_bTakesDamage (bool)
+            // NetworkVarNames: m_nTakeDamageFlags (TakeDamageFlags_t)
+            // NetworkVarNames: m_nPlatformType (EntityPlatformTypes_t)
+            // NetworkVarNames: m_MoveCollide (MoveCollide_t)
+            // NetworkVarNames: m_MoveType (MoveType_t)
+            // NetworkVarNames: m_nSubclassID (EntitySubclassID_t)
+            // NetworkVarNames: m_flAnimTime (float32)
+            // NetworkVarNames: m_flSimulationTime (float32)
+            // NetworkVarNames: m_flCreateTime (GameTime_t)
+            // NetworkVarNames: m_bClientSideRagdoll (bool)
+            // NetworkVarNames: m_ubInterpolationFrame (uint8)
+            // NetworkVarNames: m_iTeamNum (uint8)
+            // NetworkVarNames: m_flSpeed (float)
+            // NetworkVarNames: m_spawnflags (uint32)
+            // NetworkVarNames: m_nNextThinkTick (GameTick_t)
+            // NetworkVarNames: m_fFlags (uint32)
+            // NetworkVarNames: m_vecVelocity (CNetworkVelocityVector)
+            // NetworkVarNames: m_vecBaseVelocity (Vector)
+            // NetworkVarNames: m_hEffectEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_hOwnerEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_fEffects (uint32)
+            // NetworkVarNames: m_hGroundEntity (CHandle<CBaseEntity>)
+            // NetworkVarNames: m_nGroundBodyIndex (int)
+            // NetworkVarNames: m_flFriction (float32)
+            // NetworkVarNames: m_flElasticity (float32)
+            // NetworkVarNames: m_flGravityScale (float32)
+            // NetworkVarNames: m_flTimeScale (float32)
+            // NetworkVarNames: m_flWaterLevel (float)
+            // NetworkVarNames: m_bAnimatedEveryTick (bool)
+            // NetworkVarNames: m_flNavIgnoreUntilTime (GameTime_t)
+            // NetworkVarNames: m_nBloodType (BloodType)
+            pub mod CBaseEntity {
+                pub const m_CBodyComponent: usize = 0x38; // CBodyComponent*
+                pub const m_NetworkTransmitComponent: usize = 0x40; // CNetworkTransmitComponent
+                pub const m_aThinkFunctions: usize = 0x240; // CUtlVector<thinkfunc_t>
+                pub const m_iCurrentThinkContext: usize = 0x258; // int32
+                pub const m_nLastThinkTick: usize = 0x25C; // GameTick_t
+                pub const m_bDisabledContextThinks: usize = 0x260; // bool
+                pub const m_isSteadyState: usize = 0x270; // CTypedBitVec<64>
+                pub const m_lastNetworkChange: usize = 0x278; // float32
+                pub const m_ResponseContexts: usize = 0x288; // CUtlVector<ResponseContext_t>
+                pub const m_iszResponseContext: usize = 0x2A0; // CUtlSymbolLarge
+                pub const m_iHealth: usize = 0x2C8; // int32
+                pub const m_iMaxHealth: usize = 0x2CC; // int32
+                pub const m_lifeState: usize = 0x2D0; // uint8
+                pub const m_flDamageAccumulator: usize = 0x2D4; // float32
+                pub const m_bTakesDamage: usize = 0x2D8; // bool
+                pub const m_nTakeDamageFlags: usize = 0x2E0; // TakeDamageFlags_t
+                pub const m_nPlatformType: usize = 0x2E8; // EntityPlatformTypes_t
+                pub const m_MoveCollide: usize = 0x2EA; // MoveCollide_t
+                pub const m_MoveType: usize = 0x2EB; // MoveType_t
+                pub const m_nActualMoveType: usize = 0x2EC; // MoveType_t
+                pub const m_nWaterTouch: usize = 0x2ED; // uint8
+                pub const m_nSlimeTouch: usize = 0x2EE; // uint8
+                pub const m_bRestoreInHierarchy: usize = 0x2EF; // bool
+                pub const m_target: usize = 0x2F0; // CUtlSymbolLarge
+                pub const m_hDamageFilter: usize = 0x2F8; // CHandle<CBaseFilter>
+                pub const m_iszDamageFilterName: usize = 0x300; // CUtlSymbolLarge
+                pub const m_flMoveDoneTime: usize = 0x308; // float32
+                pub const m_nSubclassID: usize = 0x30C; // CUtlStringToken
+                pub const m_flAnimTime: usize = 0x318; // float32
+                pub const m_flSimulationTime: usize = 0x31C; // float32
+                pub const m_flCreateTime: usize = 0x320; // GameTime_t
+                pub const m_bClientSideRagdoll: usize = 0x324; // bool
+                pub const m_ubInterpolationFrame: usize = 0x325; // uint8
+                pub const m_vPrevVPhysicsUpdatePos: usize = 0x328; // Vector
+                pub const m_iTeamNum: usize = 0x334; // uint8
+                pub const m_iGlobalname: usize = 0x338; // CUtlSymbolLarge
+                pub const m_iSentToClients: usize = 0x340; // int32
+                pub const m_flSpeed: usize = 0x344; // float32
+                pub const m_sUniqueHammerID: usize = 0x348; // CUtlString
+                pub const m_spawnflags: usize = 0x350; // uint32
+                pub const m_nNextThinkTick: usize = 0x354; // GameTick_t
+                pub const m_nSimulationTick: usize = 0x358; // int32
+                pub const m_OnKilled: usize = 0x360; // CEntityIOOutput
+                pub const m_fFlags: usize = 0x388; // uint32
+                pub const m_vecAbsVelocity: usize = 0x38C; // Vector
+                pub const m_vecVelocity: usize = 0x398; // CNetworkVelocityVector
+                pub const m_vecBaseVelocity: usize = 0x3C8; // Vector
+                pub const m_nPushEnumCount: usize = 0x3D4; // int32
+                pub const m_pCollision: usize = 0x3D8; // CCollisionProperty*
+                pub const m_hEffectEntity: usize = 0x3E0; // CHandle<CBaseEntity>
+                pub const m_hOwnerEntity: usize = 0x3E4; // CHandle<CBaseEntity>
+                pub const m_fEffects: usize = 0x3E8; // uint32
+                pub const m_hGroundEntity: usize = 0x3EC; // CHandle<CBaseEntity>
+                pub const m_nGroundBodyIndex: usize = 0x3F0; // int32
+                pub const m_flFriction: usize = 0x3F4; // float32
+                pub const m_flElasticity: usize = 0x3F8; // float32
+                pub const m_flGravityScale: usize = 0x3FC; // float32
+                pub const m_flTimeScale: usize = 0x400; // float32
+                pub const m_flWaterLevel: usize = 0x404; // float32
+                pub const m_bAnimatedEveryTick: usize = 0x408; // bool
+                pub const m_bDisableLowViolence: usize = 0x409; // bool
+                pub const m_nWaterType: usize = 0x40A; // uint8
+                pub const m_iEFlags: usize = 0x40C; // int32
+                pub const m_OnUser1: usize = 0x410; // CEntityIOOutput
+                pub const m_OnUser2: usize = 0x438; // CEntityIOOutput
+                pub const m_OnUser3: usize = 0x460; // CEntityIOOutput
+                pub const m_OnUser4: usize = 0x488; // CEntityIOOutput
+                pub const m_iInitialTeamNum: usize = 0x4B0; // int32
+                pub const m_flNavIgnoreUntilTime: usize = 0x4B4; // GameTime_t
+                pub const m_vecAngVelocity: usize = 0x4B8; // QAngle
+                pub const m_bNetworkQuantizeOriginAndAngles: usize = 0x4C4; // bool
+                pub const m_bLagCompensate: usize = 0x4C5; // bool
+                pub const m_flOverriddenFriction: usize = 0x4C8; // float32
+                pub const m_pBlocker: usize = 0x4CC; // CHandle<CBaseEntity>
+                pub const m_flLocalTime: usize = 0x4D0; // float32
+                pub const m_flVPhysicsUpdateLocalTime: usize = 0x4D4; // float32
+                pub const m_nBloodType: usize = 0x4D8; // BloodType
+            }
+            // Parent: CLogicalEntity
+            // Field count: 9
+            pub mod CLogicMeasureMovement {
+                pub const m_strMeasureTarget: usize = 0x4E0; // CUtlSymbolLarge
+                pub const m_strMeasureReference: usize = 0x4E8; // CUtlSymbolLarge
+                pub const m_strTargetReference: usize = 0x4F0; // CUtlSymbolLarge
+                pub const m_hMeasureTarget: usize = 0x4F8; // CHandle<CBaseEntity>
+                pub const m_hMeasureReference: usize = 0x4FC; // CHandle<CBaseEntity>
+                pub const m_hTarget: usize = 0x500; // CHandle<CBaseEntity>
+                pub const m_hTargetReference: usize = 0x504; // CHandle<CBaseEntity>
+                pub const m_flScale: usize = 0x508; // float32
+                pub const m_nMeasureType: usize = 0x50C; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // NetworkVarNames: nType (FixAngleSet_t)
+            // NetworkVarNames: qAngle (QAngle)
+            // NetworkVarNames: nIndex (uint32)
+            pub mod ViewAngleServerChange_t {
+                pub const nType: usize = 0x30; // FixAngleSet_t
+                pub const qAngle: usize = 0x34; // QAngle
+                pub const nIndex: usize = 0x40; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // NetworkVarNames: m_Transforms (CTransform)
+            // NetworkVarNames: m_hOwner (EHANDLE)
+            pub mod PhysicsRagdollPose_t {
+                pub const m_Transforms: usize = 0x8; // CNetworkUtlVectorBase<CTransform>
+                pub const m_hOwner: usize = 0x20; // CHandle<CBaseEntity>
+            }
+        }
+    }
+}
diff --git a/output/soundsystem_dll.cs b/output/soundsystem_dll.cs
new file mode 100644
index 0000000..b6273c1
--- /dev/null
+++ b/output/soundsystem_dll.cs
@@ -0,0 +1,1123 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: soundsystem.dll
+    // Class count: 74
+    // Enum count: 18
+    public static class SoundsystemDll {
+        // Alignment: 4
+        // Member count: 2
+        public enum EMode_t : uint {
+            Peak = 0x0,
+            RMS = 0x1
+        }
+        // Alignment: 1
+        // Member count: 5
+        public enum EWaveform : byte {
+            Sine = 0x0,
+            Square = 0x1,
+            Saw = 0x2,
+            Triangle = 0x3,
+            Noise = 0x4
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum VMixLFOShape_t : uint {
+            LFO_SHAPE_SINE = 0x0,
+            LFO_SHAPE_SQUARE = 0x1,
+            LFO_SHAPE_TRI = 0x2,
+            LFO_SHAPE_SAW = 0x3,
+            LFO_SHAPE_NOISE = 0x4
+        }
+        // Alignment: 2
+        // Member count: 10
+        public enum VMixFilterType_t : ushort {
+            FILTER_UNKNOWN = unchecked((ushort)-1),
+            FILTER_LOWPASS = 0x0,
+            FILTER_HIGHPASS = 0x1,
+            FILTER_BANDPASS = 0x2,
+            FILTER_NOTCH = 0x3,
+            FILTER_PEAKING_EQ = 0x4,
+            FILTER_LOW_SHELF = 0x5,
+            FILTER_HIGH_SHELF = 0x6,
+            FILTER_ALLPASS = 0x7,
+            FILTER_PASSTHROUGH = 0x8
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum SosActionStopType_t : uint {
+            SOS_STOPTYPE_NONE = 0x0,
+            SOS_STOPTYPE_TIME = 0x1,
+            SOS_STOPTYPE_OPVAR = 0x2
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum SosEditItemType_t : uint {
+            SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0,
+            SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1,
+            SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2,
+            SOS_EDIT_ITEM_TYPE_STACK = 0x3,
+            SOS_EDIT_ITEM_TYPE_OPERATOR = 0x4,
+            SOS_EDIT_ITEM_TYPE_FIELD = 0x5
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum SosActionSortType_t : uint {
+            SOS_SORTTYPE_HIGHEST = 0x0,
+            SOS_SORTTYPE_LOWEST = 0x1
+        }
+        // Alignment: 4
+        // Member count: 5
+        public enum PlayBackMode_t : uint {
+            Random = 0x0,
+            RandomNoRepeats = 0x1,
+            RandomAvoidLast = 0x2,
+            Sequential = 0x3,
+            RandomWeights = 0x4
+        }
+        // Alignment: 2
+        // Member count: 30
+        public enum VMixProcessorType_t : ushort {
+            VPROCESSOR_UNKNOWN = 0x0,
+            VPROCESSOR_RT_PITCH = 0x1,
+            VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
+            VPROCESSOR_DYNAMICS = 0x3,
+            VPROCESSOR_PRESETDSP = 0x4,
+            VPROCESSOR_DELAY = 0x5,
+            VPROCESSOR_MOD_DELAY = 0x6,
+            VPROCESSOR_DIFFUSOR = 0x7,
+            VPROCESSOR_BOXVERB = 0x8,
+            VPROCESSOR_FREEVERB = 0x9,
+            VPROCESSOR_PLATEVERB = 0xA,
+            VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
+            VPROCESSOR_FILTER = 0xC,
+            VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
+            VPROCESSOR_EQ8 = 0xE,
+            VPROCESSOR_ENVELOPE = 0xF,
+            VPROCESSOR_VOCODER = 0x10,
+            VPROCESSOR_CONVOLUTION = 0x11,
+            VPROCESSOR_DYNAMICS_3BAND = 0x12,
+            VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
+            VPROCESSOR_SHAPER = 0x14,
+            VPROCESSOR_PANNER = 0x15,
+            VPROCESSOR_UTILITY = 0x16,
+            VPROCESSOR_AUTOFILTER = 0x17,
+            VPROCESSOR_OSC = 0x18,
+            VPROCESSOR_STEREODELAY = 0x19,
+            VPROCESSOR_EFFECT_CHAIN = 0x1A,
+            VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
+            VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
+            VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
+        }
+        // Alignment: 4
+        // Member count: 30
+        public enum soundlevel_t : uint {
+            SNDLVL_NONE = 0x0,
+            SNDLVL_20dB = 0x14,
+            SNDLVL_25dB = 0x19,
+            SNDLVL_30dB = 0x1E,
+            SNDLVL_35dB = 0x23,
+            SNDLVL_40dB = 0x28,
+            SNDLVL_45dB = 0x2D,
+            SNDLVL_50dB = 0x32,
+            SNDLVL_55dB = 0x37,
+            SNDLVL_IDLE = 0x3C,
+            SNDLVL_60dB = 0x3C,
+            SNDLVL_65dB = 0x41,
+            SNDLVL_STATIC = 0x42,
+            SNDLVL_70dB = 0x46,
+            SNDLVL_NORM = 0x4B,
+            SNDLVL_75dB = 0x4B,
+            SNDLVL_80dB = 0x50,
+            SNDLVL_TALKING = 0x50,
+            SNDLVL_85dB = 0x55,
+            SNDLVL_90dB = 0x5A,
+            SNDLVL_95dB = 0x5F,
+            SNDLVL_100dB = 0x64,
+            SNDLVL_105dB = 0x69,
+            SNDLVL_110dB = 0x6E,
+            SNDLVL_120dB = 0x78,
+            SNDLVL_130dB = 0x82,
+            SNDLVL_GUNFIRE = 0x8C,
+            SNDLVL_140dB = 0x8C,
+            SNDLVL_150dB = 0x96,
+            SNDLVL_180dB = 0xB4
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum VMixPannerType_t : uint {
+            PANNER_TYPE_LINEAR = 0x0,
+            PANNER_TYPE_EQUAL_POWER = 0x1
+        }
+        // Alignment: 4
+        // Member count: 6
+        public enum VMixChannelOperation_t : uint {
+            VMIX_CHAN_STEREO = 0x0,
+            VMIX_CHAN_LEFT = 0x1,
+            VMIX_CHAN_RIGHT = 0x2,
+            VMIX_CHAN_SWAP = 0x3,
+            VMIX_CHAN_MONO = 0x4,
+            VMIX_CHAN_MID_SIDE = 0x5
+        }
+        // Alignment: 1
+        // Member count: 13
+        public enum EMidiNote : byte {
+            C = 0x0,
+            C_Sharp = 0x1,
+            D = 0x2,
+            D_Sharp = 0x3,
+            E = 0x4,
+            F = 0x5,
+            F_Sharp = 0x6,
+            G = 0x7,
+            G_Sharp = 0x8,
+            A = 0x9,
+            A_Sharp = 0xA,
+            B = 0xB,
+            Count = 0xC
+        }
+        // Alignment: 1
+        // Member count: 4
+        public enum CVSoundFormat_t : byte {
+            PCM16 = 0x0,
+            PCM8 = 0x1,
+            MP3 = 0x2,
+            ADPCM = 0x3
+        }
+        // Alignment: 1
+        // Member count: 9
+        public enum VMixFilterSlope_t : byte {
+            FILTER_SLOPE_1POLE_6dB = 0x0,
+            FILTER_SLOPE_1POLE_12dB = 0x1,
+            FILTER_SLOPE_1POLE_18dB = 0x2,
+            FILTER_SLOPE_1POLE_24dB = 0x3,
+            FILTER_SLOPE_12dB = 0x4,
+            FILTER_SLOPE_24dB = 0x5,
+            FILTER_SLOPE_36dB = 0x6,
+            FILTER_SLOPE_48dB = 0x7,
+            FILTER_SLOPE_MAX = 0x7
+        }
+        // Alignment: 4
+        // Member count: 10
+        public enum ActionType_t : uint {
+            SOS_ACTION_NONE = 0x0,
+            SOS_ACTION_LIMITER = 0x1,
+            SOS_ACTION_TIME_LIMIT = 0x2,
+            SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
+            SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
+            SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
+            SOS_ACTION_SOUNDEVENT_PRIORITY = 0x6,
+            SOS_ACTION_COUNT_ENVELOPE = 0x7,
+            SOS_ACTION_SOUNDEVENT_COUNT = 0x8,
+            SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES = 0x9
+        }
+        // Alignment: 4
+        // Member count: 3
+        public enum VMixSubgraphSwitchInterpolationType_t : uint {
+            SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0,
+            SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1,
+            SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2
+        }
+        // Alignment: 4
+        // Member count: 2
+        public enum SosGroupType_t : uint {
+            SOS_GROUPTYPE_DYNAMIC = 0x0,
+            SOS_GROUPTYPE_STATIC = 0x1
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerBlender {
+            public const nint m_firstSound = 0xC0; // CSoundContainerReference
+            public const nint m_secondSound = 0xD8; // CSoundContainerReference
+            public const nint m_flBlendFactor = 0xF0; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixFreeverbDesc_t {
+            public const nint m_flRoomSize = 0x0; // float32
+            public const nint m_flDamp = 0x4; // float32
+            public const nint m_flWidth = 0x8; // float32
+            public const nint m_flLateReflections = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVoiceContainerStaticAdditiveSynth__CHarmonic {
+            public const nint m_nWaveform = 0x0; // EWaveform
+            public const nint m_nFundamental = 0x1; // EMidiNote
+            public const nint m_nOctave = 0x4; // int32
+            public const nint m_flCents = 0x8; // float32
+            public const nint m_flPhase = 0xC; // float32
+            public const nint m_curve = 0x10; // CPiecewiseCurve
+            public const nint m_volumeScaling = 0x50; // CVoiceContainerStaticAdditiveSynth::CGainScalePerInstance
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVoiceContainerStaticAdditiveSynth__CTone {
+            public const nint m_harmonics = 0x0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CHarmonic>
+            public const nint m_curve = 0x18; // CPiecewiseCurve
+            public const nint m_bSyncInstances = 0x58; // bool
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerRandomSampler {
+            public const nint m_flAmplitude = 0xC0; // float32
+            public const nint m_flAmplitudeJitter = 0xC4; // float32
+            public const nint m_flTimeJitter = 0xC8; // float32
+            public const nint m_flMaxLength = 0xCC; // float32
+            public const nint m_nNumDelayVariations = 0xD0; // int32
+            public const nint m_grainResources = 0xD8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerDefault {
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVSound {
+            public const nint m_nRate = 0x0; // int32
+            public const nint m_nFormat = 0x4; // CVSoundFormat_t
+            public const nint m_nChannels = 0x8; // uint32
+            public const nint m_nLoopStart = 0xC; // int32
+            public const nint m_nSampleCount = 0x10; // uint32
+            public const nint m_flDuration = 0x14; // float32
+            public const nint m_Sentences = 0x18; // CUtlVector<CAudioSentence>
+            public const nint m_nStreamingSize = 0x30; // uint32
+            public const nint m_nSeekTable = 0x38; // CUtlVector<int32>
+            public const nint m_nLoopEnd = 0x50; // int32
+            public const nint m_encodedHeader = 0x58; // CUtlBinaryBlock
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MVDataNodeType
+        public static class CDSPPresetMixgroupModifierTable {
+            public const nint m_table = 0x0; // CUtlVector<CDspPresetModifierList>
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionSoundeventClusterSchema {
+            public const nint m_nMinNearby = 0x18; // int32
+            public const nint m_flClusterEpsilon = 0x1C; // float32
+            public const nint m_shouldPlayOpvar = 0x20; // CUtlString
+            public const nint m_shouldPlayClusterChild = 0x28; // CUtlString
+            public const nint m_clusterSizeOpvar = 0x30; // CUtlString
+            public const nint m_groupBoundingBoxMinsOpvar = 0x38; // CUtlString
+            public const nint m_groupBoundingBoxMaxsOpvar = 0x40; // CUtlString
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionSetSoundeventParameterSchema {
+            public const nint m_nMaxCount = 0x18; // int32
+            public const nint m_flMinValue = 0x1C; // float32
+            public const nint m_flMaxValue = 0x20; // float32
+            public const nint m_opvarName = 0x28; // CUtlString
+            public const nint m_nSortType = 0x30; // SosActionSortType_t
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CSoundContainerReference {
+            public const nint m_bUseReference = 0x0; // bool
+            public const nint m_sound = 0x8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            public const nint m_pSound = 0x10; // CVoiceContainerBase*
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerNull {
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixSubgraphSwitchDesc_t {
+            public const nint m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t
+            public const nint m_bOnlyTailsOnFadeOut = 0x4; // bool
+            public const nint m_flInterpolationTime = 0x8; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MVDataNodeType
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerAnalysisBase {
+            public const nint m_bRegenerateCurveOnCompile = 0x8; // bool
+            public const nint m_curve = 0x10; // CPiecewiseCurve
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionSoundeventMinMaxValuesSchema {
+            public const nint m_strQueryPublicFieldName = 0x18; // CUtlString
+            public const nint m_strDelayPublicFieldName = 0x20; // CUtlString
+            public const nint m_bExcludeStoppedSounds = 0x28; // bool
+            public const nint m_bExcludeDelayedSounds = 0x29; // bool
+            public const nint m_bExcludeSoundsBelowThreshold = 0x2A; // bool
+            public const nint m_flExcludeSoundsMinThresholdValue = 0x2C; // float32
+            public const nint m_bExcludSoundsAboveThreshold = 0x30; // bool
+            public const nint m_flExcludeSoundsMaxThresholdValue = 0x34; // float32
+            public const nint m_strMinValueName = 0x38; // CUtlString
+            public const nint m_strMaxValueName = 0x40; // CUtlString
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixPannerDesc_t {
+            public const nint m_type = 0x0; // VMixPannerType_t
+            public const nint m_flStrength = 0x4; // float32
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionSoundeventPrioritySchema {
+            public const nint m_priorityValue = 0x18; // CUtlString
+            public const nint m_priorityVolumeScalar = 0x20; // CUtlString
+            public const nint m_priorityContributeButDontRead = 0x28; // CUtlString
+            public const nint m_bPriorityReadButDontContribute = 0x30; // CUtlString
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerRealtimeFMSineWave {
+            public const nint m_flCarrierFrequency = 0xC0; // float32
+            public const nint m_flModulatorFrequency = 0xC4; // float32
+            public const nint m_flModulatorAmount = 0xC8; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SelectedEditItemInfo_t {
+            public const nint m_EditItems = 0x0; // CUtlVector<SosEditItemInfo_t>
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixModDelayDesc_t {
+            public const nint m_feedbackFilter = 0x0; // VMixFilterDesc_t
+            public const nint m_bPhaseInvert = 0x10; // bool
+            public const nint m_flGlideTime = 0x14; // float32
+            public const nint m_flDelay = 0x18; // float32
+            public const nint m_flOutputGain = 0x1C; // float32
+            public const nint m_flFeedbackGain = 0x20; // float32
+            public const nint m_flModRate = 0x24; // float32
+            public const nint m_flModDepth = 0x28; // float32
+            public const nint m_bApplyAntialiasing = 0x2C; // bool
+        }
+        // Parent: None
+        // Field count: 17
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixBoxverbDesc_t {
+            public const nint m_flSizeMax = 0x0; // float32
+            public const nint m_flSizeMin = 0x4; // float32
+            public const nint m_flComplexity = 0x8; // float32
+            public const nint m_flDiffusion = 0xC; // float32
+            public const nint m_flModDepth = 0x10; // float32
+            public const nint m_flModRate = 0x14; // float32
+            public const nint m_bParallel = 0x18; // bool
+            public const nint m_filterType = 0x1C; // VMixFilterDesc_t
+            public const nint m_flWidth = 0x2C; // float32
+            public const nint m_flHeight = 0x30; // float32
+            public const nint m_flDepth = 0x34; // float32
+            public const nint m_flFeedbackScale = 0x38; // float32
+            public const nint m_flFeedbackWidth = 0x3C; // float32
+            public const nint m_flFeedbackHeight = 0x40; // float32
+            public const nint m_flFeedbackDepth = 0x44; // float32
+            public const nint m_flOutputGain = 0x48; // float32
+            public const nint m_flTaps = 0x4C; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyElementNameFn
+        public static class CSosGroupActionSchema {
+            public const nint m_name = 0x8; // CUtlString
+            public const nint m_actionType = 0x10; // ActionType_t
+            public const nint m_actionInstanceType = 0x14; // ActionType_t
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyElementNameFn
+        public static class CSosSoundEventGroupSchema {
+            public const nint m_name = 0x0; // CUtlString
+            public const nint m_nType = 0x8; // SosGroupType_t
+            public const nint m_bIsBlocking = 0xC; // bool
+            public const nint m_nBlockMaxCount = 0x10; // int32
+            public const nint m_bInvertMatch = 0x14; // bool
+            public const nint m_matchPattern = 0x18; // CSosGroupMatchPattern
+            public const nint m_branchPattern = 0x48; // CSosGroupBranchPattern
+            public const nint m_flLifeSpanTime = 0x58; // float32
+            public const nint m_vActions = 0xC0; // CSosGroupActionSchema*[4]
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupBranchPattern {
+            public const nint m_bMatchEventName = 0x8; // bool
+            public const nint m_bMatchEventSubString = 0x9; // bool
+            public const nint m_bMatchEntIndex = 0xA; // bool
+            public const nint m_bMatchOpvar = 0xB; // bool
+            public const nint m_bMatchString = 0xC; // bool
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixDynamics3BandDesc_t {
+            public const nint m_fldbGainOutput = 0x0; // float32
+            public const nint m_flRMSTimeMS = 0x4; // float32
+            public const nint m_fldbKneeWidth = 0x8; // float32
+            public const nint m_flDepth = 0xC; // float32
+            public const nint m_flWetMix = 0x10; // float32
+            public const nint m_flTimeScale = 0x14; // float32
+            public const nint m_flLowCutoffFreq = 0x18; // float32
+            public const nint m_flHighCutoffFreq = 0x1C; // float32
+            public const nint m_bPeakMode = 0x20; // bool
+            public const nint m_bandDesc = 0x24; // VMixDynamicsBand_t[3]
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDSPMixgroupModifier {
+            public const nint m_mixgroup = 0x0; // CUtlString
+            public const nint m_flModifier = 0x8; // float32
+            public const nint m_flModifierMin = 0xC; // float32
+            public const nint m_flSourceModifier = 0x10; // float32
+            public const nint m_flSourceModifierMin = 0x14; // float32
+            public const nint m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAudioMorphData {
+            public const nint m_times = 0x0; // CUtlVector<float32>
+            public const nint m_nameHashCodes = 0x18; // CUtlVector<uint32>
+            public const nint m_nameStrings = 0x30; // CUtlVector<CUtlString>
+            public const nint m_samples = 0x48; // CUtlVector<CUtlVector<float32>>
+            public const nint m_flEaseIn = 0x60; // float32
+            public const nint m_flEaseOut = 0x64; // float32
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerStaticAdditiveSynth {
+            public const nint m_tones = 0xC0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerShapedNoise {
+            public const nint m_bUseCurveForFrequency = 0xC0; // bool
+            public const nint m_flFrequency = 0xC4; // float32
+            public const nint m_frequencySweep = 0xC8; // CPiecewiseCurve
+            public const nint m_bUseCurveForResonance = 0x108; // bool
+            public const nint m_flResonance = 0x10C; // float32
+            public const nint m_resonanceSweep = 0x110; // CPiecewiseCurve
+            public const nint m_bUseCurveForAmplitude = 0x150; // bool
+            public const nint m_flGainInDecibels = 0x154; // float32
+            public const nint m_gainSweep = 0x158; // CPiecewiseCurve
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CDspPresetModifierList {
+            public const nint m_dspName = 0x0; // CUtlString
+            public const nint m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MVDataNodeType
+        // MVDataFileExtension
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerBase {
+            public const nint m_vSound = 0x38; // CVSound
+            public const nint m_pEnvelopeAnalyzer = 0xB8; // CVoiceContainerAnalysisBase*
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        public static class CVoiceContainerGranulator {
+            public const nint m_flGrainLength = 0xC0; // float32
+            public const nint m_flGrainCrossfadeAmount = 0xC4; // float32
+            public const nint m_flStartJitter = 0xC8; // float32
+            public const nint m_flPlaybackJitter = 0xCC; // float32
+            public const nint m_sourceAudio = 0xD0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixDelayDesc_t {
+            public const nint m_feedbackFilter = 0x0; // VMixFilterDesc_t
+            public const nint m_bEnableFilter = 0x10; // bool
+            public const nint m_flDelay = 0x14; // float32
+            public const nint m_flDirectGain = 0x18; // float32
+            public const nint m_flDelayGain = 0x1C; // float32
+            public const nint m_flFeedbackGain = 0x20; // float32
+            public const nint m_flWidth = 0x24; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixEQ8Desc_t {
+            public const nint m_stages = 0x0; // VMixFilterDesc_t[8]
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAudioPhonemeTag {
+            public const nint m_flStartTime = 0x0; // float32
+            public const nint m_flEndTime = 0x4; // float32
+            public const nint m_nPhonemeCode = 0x8; // int32
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionSoundeventCountSchema {
+            public const nint m_bExcludeStoppedSounds = 0x18; // bool
+            public const nint m_strCountKeyName = 0x20; // CUtlString
+        }
+        // Parent: CVoiceContainerAnalysisBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerEnvelopeAnalyzer {
+            public const nint m_mode = 0x50; // EMode_t
+            public const nint m_nSamples = 0x54; // int32
+            public const nint m_flThreshold = 0x58; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSoundEventMetaData {
+            public const nint m_soundEventVMix = 0x0; // CStrongHandle<InfoForResourceTypeCVMixListResource>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixPitchShiftDesc_t {
+            public const nint m_nGrainSampleCount = 0x0; // int32
+            public const nint m_flPitchShift = 0x4; // float32
+            public const nint m_nQuality = 0x8; // int32
+            public const nint m_nProcType = 0xC; // int32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAudioEmphasisSample {
+            public const nint m_flTime = 0x0; // float32
+            public const nint m_flValue = 0x4; // float32
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerSet {
+            public const nint m_soundsToPlay = 0xC0; // CUtlVector<CVoiceContainerSetElement>
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixConvolutionDesc_t {
+            public const nint m_fldbGain = 0x0; // float32
+            public const nint m_flPreDelayMS = 0x4; // float32
+            public const nint m_flWetMix = 0x8; // float32
+            public const nint m_fldbLow = 0xC; // float32
+            public const nint m_fldbMid = 0x10; // float32
+            public const nint m_fldbHigh = 0x14; // float32
+            public const nint m_flLowCutoffFreq = 0x18; // float32
+            public const nint m_flHighCutoffFreq = 0x1C; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVoiceContainerSetElement {
+            public const nint m_sound = 0x0; // CSoundContainerReference
+            public const nint m_flVolumeDB = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSoundInfoHeader {
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosSoundEventGroupListSchema {
+            public const nint m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
+        }
+        // Parent: CSosGroupBranchPattern
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupMatchPattern {
+            public const nint m_matchSoundEventName = 0x10; // CUtlString
+            public const nint m_matchSoundEventSubString = 0x18; // CUtlString
+            public const nint m_flEntIndex = 0x20; // float32
+            public const nint m_flOpvar = 0x24; // float32
+            public const nint m_opvarString = 0x28; // CUtlString
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SosEditItemInfo_t {
+            public const nint itemType = 0x0; // SosEditItemType_t
+            public const nint itemName = 0x8; // CUtlString
+            public const nint itemTypeName = 0x10; // CUtlString
+            public const nint itemKVString = 0x20; // CUtlString
+            public const nint itemPos = 0x28; // Vector2D
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixPlateverbDesc_t {
+            public const nint m_flPrefilter = 0x0; // float32
+            public const nint m_flInputDiffusion1 = 0x4; // float32
+            public const nint m_flInputDiffusion2 = 0x8; // float32
+            public const nint m_flDecay = 0xC; // float32
+            public const nint m_flDamp = 0x10; // float32
+            public const nint m_flFeedbackDiffusion1 = 0x14; // float32
+            public const nint m_flFeedbackDiffusion2 = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CSoundContainerReferenceArray {
+            public const nint m_bUseReference = 0x0; // bool
+            public const nint m_sounds = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
+            public const nint m_pSounds = 0x20; // CUtlVector<CVoiceContainerBase*>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixDiffusorDesc_t {
+            public const nint m_flSize = 0x0; // float32
+            public const nint m_flComplexity = 0x4; // float32
+            public const nint m_flFeedback = 0x8; // float32
+            public const nint m_flOutputGain = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixDynamicsCompressorDesc_t {
+            public const nint m_fldbOutputGain = 0x0; // float32
+            public const nint m_fldbCompressionThreshold = 0x4; // float32
+            public const nint m_fldbKneeWidth = 0x8; // float32
+            public const nint m_flCompressionRatio = 0xC; // float32
+            public const nint m_flAttackTimeMS = 0x10; // float32
+            public const nint m_flReleaseTimeMS = 0x14; // float32
+            public const nint m_flRMSTimeMS = 0x18; // float32
+            public const nint m_flWetMix = 0x1C; // float32
+            public const nint m_bPeakMode = 0x20; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixShaperDesc_t {
+            public const nint m_nShape = 0x0; // int32
+            public const nint m_fldbDrive = 0x4; // float32
+            public const nint m_fldbOutputGain = 0x8; // float32
+            public const nint m_flWetMix = 0xC; // float32
+            public const nint m_nOversampleFactor = 0x10; // int32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixEnvelopeDesc_t {
+            public const nint m_flAttackTimeMS = 0x0; // float32
+            public const nint m_flHoldTimeMS = 0x4; // float32
+            public const nint m_flReleaseTimeMS = 0x8; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CAudioSentence {
+            public const nint m_bShouldVoiceDuck = 0x0; // bool
+            public const nint m_RunTimePhonemes = 0x8; // CUtlVector<CAudioPhonemeTag>
+            public const nint m_EmphasisSamples = 0x20; // CUtlVector<CAudioEmphasisSample>
+            public const nint m_morphData = 0x38; // CAudioMorphData
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionLimitSchema {
+            public const nint m_nMaxCount = 0x18; // int32
+            public const nint m_nStopType = 0x1C; // SosActionStopType_t
+            public const nint m_nSortType = 0x20; // SosActionSortType_t
+        }
+        // Parent: CVoiceContainerDecayingSineWave
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerAmpedDecayingSineWave {
+            public const nint m_flGainAmount = 0xC8; // float32
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerEnvelope {
+            public const nint m_sound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            public const nint m_analysisContainer = 0xC8; // CVoiceContainerAnalysisBase*
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixAutoFilterDesc_t {
+            public const nint m_flEnvelopeAmount = 0x0; // float32
+            public const nint m_flAttackTimeMS = 0x4; // float32
+            public const nint m_flReleaseTimeMS = 0x8; // float32
+            public const nint m_filter = 0xC; // VMixFilterDesc_t
+            public const nint m_flLFOAmount = 0x1C; // float32
+            public const nint m_flLFORate = 0x20; // float32
+            public const nint m_flPhase = 0x24; // float32
+            public const nint m_nLFOShape = 0x28; // VMixLFOShape_t
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixDynamicsBand_t {
+            public const nint m_fldbGainInput = 0x0; // float32
+            public const nint m_fldbGainOutput = 0x4; // float32
+            public const nint m_fldbThresholdBelow = 0x8; // float32
+            public const nint m_fldbThresholdAbove = 0xC; // float32
+            public const nint m_flRatioBelow = 0x10; // float32
+            public const nint m_flRatioAbove = 0x14; // float32
+            public const nint m_flAttackTimeMS = 0x18; // float32
+            public const nint m_flReleaseTimeMS = 0x1C; // float32
+            public const nint m_bEnable = 0x20; // bool
+            public const nint m_bSolo = 0x21; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixEffectChainDesc_t {
+            public const nint m_flCrossfadeTime = 0x0; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance {
+            public const nint m_flMinVolume = 0x0; // float32
+            public const nint m_nInstancesAtMinVolume = 0x4; // int32
+            public const nint m_flMaxVolume = 0x8; // float32
+            public const nint m_nInstancesAtMaxVolume = 0xC; // int32
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerSelector {
+            public const nint m_mode = 0xC0; // PlayBackMode_t
+            public const nint m_soundsToPlay = 0xC8; // CSoundContainerReferenceArray
+            public const nint m_fProbabilityWeights = 0x100; // CUtlVector<float32>
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionTimeBlockLimitSchema {
+            public const nint m_nMaxCount = 0x18; // int32
+            public const nint m_flMaxDuration = 0x1C; // float32
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CTestBlendContainer {
+            public const nint m_firstSound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            public const nint m_secondSound = 0xC8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionMemberCountEnvelopeSchema {
+            public const nint m_nBaseCount = 0x18; // int32
+            public const nint m_nTargetCount = 0x1C; // int32
+            public const nint m_flBaseValue = 0x20; // float32
+            public const nint m_flTargetValue = 0x24; // float32
+            public const nint m_flAttack = 0x28; // float32
+            public const nint m_flDecay = 0x2C; // float32
+            public const nint m_resultVarName = 0x30; // CUtlString
+            public const nint m_bSaveToGroup = 0x38; // bool
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerSwitch {
+            public const nint m_soundsToPlay = 0xC0; // CUtlVector<CSoundContainerReference>
+        }
+        // Parent: CSosGroupActionSchema
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CSosGroupActionTimeLimitSchema {
+            public const nint m_flMaxDuration = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixVocoderDesc_t {
+            public const nint m_nBandCount = 0x0; // int32
+            public const nint m_flBandwidth = 0x4; // float32
+            public const nint m_fldBModGain = 0x8; // float32
+            public const nint m_flFreqRangeStart = 0xC; // float32
+            public const nint m_flFreqRangeEnd = 0x10; // float32
+            public const nint m_fldBUnvoicedGain = 0x14; // float32
+            public const nint m_flAttackTimeMS = 0x18; // float32
+            public const nint m_flReleaseTimeMS = 0x1C; // float32
+            public const nint m_nDebugBand = 0x20; // int32
+            public const nint m_bPeakMode = 0x24; // bool
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixUtilityDesc_t {
+            public const nint m_nOp = 0x0; // VMixChannelOperation_t
+            public const nint m_flInputPan = 0x4; // float32
+            public const nint m_flOutputBalance = 0x8; // float32
+            public const nint m_fldbOutputGain = 0xC; // float32
+            public const nint m_bBassMono = 0x10; // bool
+            public const nint m_flBassFreq = 0x14; // float32
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerLoopTrigger {
+            public const nint m_sound = 0xC0; // CSoundContainerReference
+            public const nint m_flRetriggerTimeMin = 0xD8; // float32
+            public const nint m_flRetriggerTimeMax = 0xDC; // float32
+            public const nint m_flFadeTime = 0xE0; // float32
+            public const nint m_bCrossFade = 0xE4; // bool
+        }
+        // Parent: CVoiceContainerBase
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        // MPropertyFriendlyName
+        // MPropertyDescription
+        public static class CVoiceContainerDecayingSineWave {
+            public const nint m_flFrequency = 0xC0; // float32
+            public const nint m_flDecayTime = 0xC4; // float32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixFilterDesc_t {
+            public const nint m_nFilterType = 0x0; // VMixFilterType_t
+            public const nint m_nFilterSlope = 0x2; // VMixFilterSlope_t
+            public const nint m_bEnabled = 0x3; // bool
+            public const nint m_fldbGain = 0x4; // float32
+            public const nint m_flCutoffFreq = 0x8; // float32
+            public const nint m_flQ = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixOscDesc_t {
+            public const nint oscType = 0x0; // VMixLFOShape_t
+            public const nint m_freq = 0x4; // float32
+            public const nint m_flPhase = 0x8; // float32
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VMixDynamicsDesc_t {
+            public const nint m_fldbGain = 0x0; // float32
+            public const nint m_fldbNoiseGateThreshold = 0x4; // float32
+            public const nint m_fldbCompressionThreshold = 0x8; // float32
+            public const nint m_fldbLimiterThreshold = 0xC; // float32
+            public const nint m_fldbKneeWidth = 0x10; // float32
+            public const nint m_flRatio = 0x14; // float32
+            public const nint m_flLimiterRatio = 0x18; // float32
+            public const nint m_flAttackTimeMS = 0x1C; // float32
+            public const nint m_flReleaseTimeMS = 0x20; // float32
+            public const nint m_flRMSTimeMS = 0x24; // float32
+            public const nint m_flWetMix = 0x28; // float32
+            public const nint m_bPeakMode = 0x2C; // bool
+        }
+    }
+}
diff --git a/output/soundsystem_dll.hpp b/output/soundsystem_dll.hpp
new file mode 100644
index 0000000..a30699e
--- /dev/null
+++ b/output/soundsystem_dll.hpp
@@ -0,0 +1,1129 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: soundsystem.dll
+        // Class count: 74
+        // Enum count: 18
+        namespace soundsystem_dll {
+            // Alignment: 4
+            // Member count: 2
+            enum class EMode_t : uint32_t {
+                Peak = 0x0,
+                RMS = 0x1
+            };
+            // Alignment: 1
+            // Member count: 5
+            enum class EWaveform : uint8_t {
+                Sine = 0x0,
+                Square = 0x1,
+                Saw = 0x2,
+                Triangle = 0x3,
+                Noise = 0x4
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class VMixLFOShape_t : uint32_t {
+                LFO_SHAPE_SINE = 0x0,
+                LFO_SHAPE_SQUARE = 0x1,
+                LFO_SHAPE_TRI = 0x2,
+                LFO_SHAPE_SAW = 0x3,
+                LFO_SHAPE_NOISE = 0x4
+            };
+            // Alignment: 2
+            // Member count: 10
+            enum class VMixFilterType_t : uint16_t {
+                FILTER_UNKNOWN = 0xFFFFFFFFFFFFFFFF,
+                FILTER_LOWPASS = 0x0,
+                FILTER_HIGHPASS = 0x1,
+                FILTER_BANDPASS = 0x2,
+                FILTER_NOTCH = 0x3,
+                FILTER_PEAKING_EQ = 0x4,
+                FILTER_LOW_SHELF = 0x5,
+                FILTER_HIGH_SHELF = 0x6,
+                FILTER_ALLPASS = 0x7,
+                FILTER_PASSTHROUGH = 0x8
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class SosActionStopType_t : uint32_t {
+                SOS_STOPTYPE_NONE = 0x0,
+                SOS_STOPTYPE_TIME = 0x1,
+                SOS_STOPTYPE_OPVAR = 0x2
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class SosEditItemType_t : uint32_t {
+                SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0,
+                SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1,
+                SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2,
+                SOS_EDIT_ITEM_TYPE_STACK = 0x3,
+                SOS_EDIT_ITEM_TYPE_OPERATOR = 0x4,
+                SOS_EDIT_ITEM_TYPE_FIELD = 0x5
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class SosActionSortType_t : uint32_t {
+                SOS_SORTTYPE_HIGHEST = 0x0,
+                SOS_SORTTYPE_LOWEST = 0x1
+            };
+            // Alignment: 4
+            // Member count: 5
+            enum class PlayBackMode_t : uint32_t {
+                Random = 0x0,
+                RandomNoRepeats = 0x1,
+                RandomAvoidLast = 0x2,
+                Sequential = 0x3,
+                RandomWeights = 0x4
+            };
+            // Alignment: 2
+            // Member count: 30
+            enum class VMixProcessorType_t : uint16_t {
+                VPROCESSOR_UNKNOWN = 0x0,
+                VPROCESSOR_RT_PITCH = 0x1,
+                VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
+                VPROCESSOR_DYNAMICS = 0x3,
+                VPROCESSOR_PRESETDSP = 0x4,
+                VPROCESSOR_DELAY = 0x5,
+                VPROCESSOR_MOD_DELAY = 0x6,
+                VPROCESSOR_DIFFUSOR = 0x7,
+                VPROCESSOR_BOXVERB = 0x8,
+                VPROCESSOR_FREEVERB = 0x9,
+                VPROCESSOR_PLATEVERB = 0xA,
+                VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
+                VPROCESSOR_FILTER = 0xC,
+                VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
+                VPROCESSOR_EQ8 = 0xE,
+                VPROCESSOR_ENVELOPE = 0xF,
+                VPROCESSOR_VOCODER = 0x10,
+                VPROCESSOR_CONVOLUTION = 0x11,
+                VPROCESSOR_DYNAMICS_3BAND = 0x12,
+                VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
+                VPROCESSOR_SHAPER = 0x14,
+                VPROCESSOR_PANNER = 0x15,
+                VPROCESSOR_UTILITY = 0x16,
+                VPROCESSOR_AUTOFILTER = 0x17,
+                VPROCESSOR_OSC = 0x18,
+                VPROCESSOR_STEREODELAY = 0x19,
+                VPROCESSOR_EFFECT_CHAIN = 0x1A,
+                VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
+                VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
+                VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
+            };
+            // Alignment: 4
+            // Member count: 30
+            enum class soundlevel_t : uint32_t {
+                SNDLVL_NONE = 0x0,
+                SNDLVL_20dB = 0x14,
+                SNDLVL_25dB = 0x19,
+                SNDLVL_30dB = 0x1E,
+                SNDLVL_35dB = 0x23,
+                SNDLVL_40dB = 0x28,
+                SNDLVL_45dB = 0x2D,
+                SNDLVL_50dB = 0x32,
+                SNDLVL_55dB = 0x37,
+                SNDLVL_IDLE = 0x3C,
+                SNDLVL_60dB = 0x3C,
+                SNDLVL_65dB = 0x41,
+                SNDLVL_STATIC = 0x42,
+                SNDLVL_70dB = 0x46,
+                SNDLVL_NORM = 0x4B,
+                SNDLVL_75dB = 0x4B,
+                SNDLVL_80dB = 0x50,
+                SNDLVL_TALKING = 0x50,
+                SNDLVL_85dB = 0x55,
+                SNDLVL_90dB = 0x5A,
+                SNDLVL_95dB = 0x5F,
+                SNDLVL_100dB = 0x64,
+                SNDLVL_105dB = 0x69,
+                SNDLVL_110dB = 0x6E,
+                SNDLVL_120dB = 0x78,
+                SNDLVL_130dB = 0x82,
+                SNDLVL_GUNFIRE = 0x8C,
+                SNDLVL_140dB = 0x8C,
+                SNDLVL_150dB = 0x96,
+                SNDLVL_180dB = 0xB4
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class VMixPannerType_t : uint32_t {
+                PANNER_TYPE_LINEAR = 0x0,
+                PANNER_TYPE_EQUAL_POWER = 0x1
+            };
+            // Alignment: 4
+            // Member count: 6
+            enum class VMixChannelOperation_t : uint32_t {
+                VMIX_CHAN_STEREO = 0x0,
+                VMIX_CHAN_LEFT = 0x1,
+                VMIX_CHAN_RIGHT = 0x2,
+                VMIX_CHAN_SWAP = 0x3,
+                VMIX_CHAN_MONO = 0x4,
+                VMIX_CHAN_MID_SIDE = 0x5
+            };
+            // Alignment: 1
+            // Member count: 13
+            enum class EMidiNote : uint8_t {
+                C = 0x0,
+                C_Sharp = 0x1,
+                D = 0x2,
+                D_Sharp = 0x3,
+                E = 0x4,
+                F = 0x5,
+                F_Sharp = 0x6,
+                G = 0x7,
+                G_Sharp = 0x8,
+                A = 0x9,
+                A_Sharp = 0xA,
+                B = 0xB,
+                Count = 0xC
+            };
+            // Alignment: 1
+            // Member count: 4
+            enum class CVSoundFormat_t : uint8_t {
+                PCM16 = 0x0,
+                PCM8 = 0x1,
+                MP3 = 0x2,
+                ADPCM = 0x3
+            };
+            // Alignment: 1
+            // Member count: 9
+            enum class VMixFilterSlope_t : uint8_t {
+                FILTER_SLOPE_1POLE_6dB = 0x0,
+                FILTER_SLOPE_1POLE_12dB = 0x1,
+                FILTER_SLOPE_1POLE_18dB = 0x2,
+                FILTER_SLOPE_1POLE_24dB = 0x3,
+                FILTER_SLOPE_12dB = 0x4,
+                FILTER_SLOPE_24dB = 0x5,
+                FILTER_SLOPE_36dB = 0x6,
+                FILTER_SLOPE_48dB = 0x7,
+                FILTER_SLOPE_MAX = 0x7
+            };
+            // Alignment: 4
+            // Member count: 10
+            enum class ActionType_t : uint32_t {
+                SOS_ACTION_NONE = 0x0,
+                SOS_ACTION_LIMITER = 0x1,
+                SOS_ACTION_TIME_LIMIT = 0x2,
+                SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
+                SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
+                SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
+                SOS_ACTION_SOUNDEVENT_PRIORITY = 0x6,
+                SOS_ACTION_COUNT_ENVELOPE = 0x7,
+                SOS_ACTION_SOUNDEVENT_COUNT = 0x8,
+                SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES = 0x9
+            };
+            // Alignment: 4
+            // Member count: 3
+            enum class VMixSubgraphSwitchInterpolationType_t : uint32_t {
+                SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0,
+                SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1,
+                SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2
+            };
+            // Alignment: 4
+            // Member count: 2
+            enum class SosGroupType_t : uint32_t {
+                SOS_GROUPTYPE_DYNAMIC = 0x0,
+                SOS_GROUPTYPE_STATIC = 0x1
+            };
+            // Parent: CVoiceContainerBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerBlender {
+                constexpr std::ptrdiff_t m_firstSound = 0xC0; // CSoundContainerReference
+                constexpr std::ptrdiff_t m_secondSound = 0xD8; // CSoundContainerReference
+                constexpr std::ptrdiff_t m_flBlendFactor = 0xF0; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixFreeverbDesc_t {
+                constexpr std::ptrdiff_t m_flRoomSize = 0x0; // float32
+                constexpr std::ptrdiff_t m_flDamp = 0x4; // float32
+                constexpr std::ptrdiff_t m_flWidth = 0x8; // float32
+                constexpr std::ptrdiff_t m_flLateReflections = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVoiceContainerStaticAdditiveSynth__CHarmonic {
+                constexpr std::ptrdiff_t m_nWaveform = 0x0; // EWaveform
+                constexpr std::ptrdiff_t m_nFundamental = 0x1; // EMidiNote
+                constexpr std::ptrdiff_t m_nOctave = 0x4; // int32
+                constexpr std::ptrdiff_t m_flCents = 0x8; // float32
+                constexpr std::ptrdiff_t m_flPhase = 0xC; // float32
+                constexpr std::ptrdiff_t m_curve = 0x10; // CPiecewiseCurve
+                constexpr std::ptrdiff_t m_volumeScaling = 0x50; // CVoiceContainerStaticAdditiveSynth::CGainScalePerInstance
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVoiceContainerStaticAdditiveSynth__CTone {
+                constexpr std::ptrdiff_t m_harmonics = 0x0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CHarmonic>
+                constexpr std::ptrdiff_t m_curve = 0x18; // CPiecewiseCurve
+                constexpr std::ptrdiff_t m_bSyncInstances = 0x58; // bool
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerRandomSampler {
+                constexpr std::ptrdiff_t m_flAmplitude = 0xC0; // float32
+                constexpr std::ptrdiff_t m_flAmplitudeJitter = 0xC4; // float32
+                constexpr std::ptrdiff_t m_flTimeJitter = 0xC8; // float32
+                constexpr std::ptrdiff_t m_flMaxLength = 0xCC; // float32
+                constexpr std::ptrdiff_t m_nNumDelayVariations = 0xD0; // int32
+                constexpr std::ptrdiff_t m_grainResources = 0xD8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerDefault {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVSound {
+                constexpr std::ptrdiff_t m_nRate = 0x0; // int32
+                constexpr std::ptrdiff_t m_nFormat = 0x4; // CVSoundFormat_t
+                constexpr std::ptrdiff_t m_nChannels = 0x8; // uint32
+                constexpr std::ptrdiff_t m_nLoopStart = 0xC; // int32
+                constexpr std::ptrdiff_t m_nSampleCount = 0x10; // uint32
+                constexpr std::ptrdiff_t m_flDuration = 0x14; // float32
+                constexpr std::ptrdiff_t m_Sentences = 0x18; // CUtlVector<CAudioSentence>
+                constexpr std::ptrdiff_t m_nStreamingSize = 0x30; // uint32
+                constexpr std::ptrdiff_t m_nSeekTable = 0x38; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_nLoopEnd = 0x50; // int32
+                constexpr std::ptrdiff_t m_encodedHeader = 0x58; // CUtlBinaryBlock
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataNodeType
+            namespace CDSPPresetMixgroupModifierTable {
+                constexpr std::ptrdiff_t m_table = 0x0; // CUtlVector<CDspPresetModifierList>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionSoundeventClusterSchema {
+                constexpr std::ptrdiff_t m_nMinNearby = 0x18; // int32
+                constexpr std::ptrdiff_t m_flClusterEpsilon = 0x1C; // float32
+                constexpr std::ptrdiff_t m_shouldPlayOpvar = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_shouldPlayClusterChild = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_clusterSizeOpvar = 0x30; // CUtlString
+                constexpr std::ptrdiff_t m_groupBoundingBoxMinsOpvar = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_groupBoundingBoxMaxsOpvar = 0x40; // CUtlString
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionSetSoundeventParameterSchema {
+                constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32
+                constexpr std::ptrdiff_t m_flMinValue = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flMaxValue = 0x20; // float32
+                constexpr std::ptrdiff_t m_opvarName = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_nSortType = 0x30; // SosActionSortType_t
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CSoundContainerReference {
+                constexpr std::ptrdiff_t m_bUseReference = 0x0; // bool
+                constexpr std::ptrdiff_t m_sound = 0x8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+                constexpr std::ptrdiff_t m_pSound = 0x10; // CVoiceContainerBase*
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerNull {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixSubgraphSwitchDesc_t {
+                constexpr std::ptrdiff_t m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t
+                constexpr std::ptrdiff_t m_bOnlyTailsOnFadeOut = 0x4; // bool
+                constexpr std::ptrdiff_t m_flInterpolationTime = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataNodeType
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerAnalysisBase {
+                constexpr std::ptrdiff_t m_bRegenerateCurveOnCompile = 0x8; // bool
+                constexpr std::ptrdiff_t m_curve = 0x10; // CPiecewiseCurve
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionSoundeventMinMaxValuesSchema {
+                constexpr std::ptrdiff_t m_strQueryPublicFieldName = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_strDelayPublicFieldName = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_bExcludeStoppedSounds = 0x28; // bool
+                constexpr std::ptrdiff_t m_bExcludeDelayedSounds = 0x29; // bool
+                constexpr std::ptrdiff_t m_bExcludeSoundsBelowThreshold = 0x2A; // bool
+                constexpr std::ptrdiff_t m_flExcludeSoundsMinThresholdValue = 0x2C; // float32
+                constexpr std::ptrdiff_t m_bExcludSoundsAboveThreshold = 0x30; // bool
+                constexpr std::ptrdiff_t m_flExcludeSoundsMaxThresholdValue = 0x34; // float32
+                constexpr std::ptrdiff_t m_strMinValueName = 0x38; // CUtlString
+                constexpr std::ptrdiff_t m_strMaxValueName = 0x40; // CUtlString
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixPannerDesc_t {
+                constexpr std::ptrdiff_t m_type = 0x0; // VMixPannerType_t
+                constexpr std::ptrdiff_t m_flStrength = 0x4; // float32
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionSoundeventPrioritySchema {
+                constexpr std::ptrdiff_t m_priorityValue = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_priorityVolumeScalar = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_priorityContributeButDontRead = 0x28; // CUtlString
+                constexpr std::ptrdiff_t m_bPriorityReadButDontContribute = 0x30; // CUtlString
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerRealtimeFMSineWave {
+                constexpr std::ptrdiff_t m_flCarrierFrequency = 0xC0; // float32
+                constexpr std::ptrdiff_t m_flModulatorFrequency = 0xC4; // float32
+                constexpr std::ptrdiff_t m_flModulatorAmount = 0xC8; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SelectedEditItemInfo_t {
+                constexpr std::ptrdiff_t m_EditItems = 0x0; // CUtlVector<SosEditItemInfo_t>
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixModDelayDesc_t {
+                constexpr std::ptrdiff_t m_feedbackFilter = 0x0; // VMixFilterDesc_t
+                constexpr std::ptrdiff_t m_bPhaseInvert = 0x10; // bool
+                constexpr std::ptrdiff_t m_flGlideTime = 0x14; // float32
+                constexpr std::ptrdiff_t m_flDelay = 0x18; // float32
+                constexpr std::ptrdiff_t m_flOutputGain = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flFeedbackGain = 0x20; // float32
+                constexpr std::ptrdiff_t m_flModRate = 0x24; // float32
+                constexpr std::ptrdiff_t m_flModDepth = 0x28; // float32
+                constexpr std::ptrdiff_t m_bApplyAntialiasing = 0x2C; // bool
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixBoxverbDesc_t {
+                constexpr std::ptrdiff_t m_flSizeMax = 0x0; // float32
+                constexpr std::ptrdiff_t m_flSizeMin = 0x4; // float32
+                constexpr std::ptrdiff_t m_flComplexity = 0x8; // float32
+                constexpr std::ptrdiff_t m_flDiffusion = 0xC; // float32
+                constexpr std::ptrdiff_t m_flModDepth = 0x10; // float32
+                constexpr std::ptrdiff_t m_flModRate = 0x14; // float32
+                constexpr std::ptrdiff_t m_bParallel = 0x18; // bool
+                constexpr std::ptrdiff_t m_filterType = 0x1C; // VMixFilterDesc_t
+                constexpr std::ptrdiff_t m_flWidth = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0x30; // float32
+                constexpr std::ptrdiff_t m_flDepth = 0x34; // float32
+                constexpr std::ptrdiff_t m_flFeedbackScale = 0x38; // float32
+                constexpr std::ptrdiff_t m_flFeedbackWidth = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flFeedbackHeight = 0x40; // float32
+                constexpr std::ptrdiff_t m_flFeedbackDepth = 0x44; // float32
+                constexpr std::ptrdiff_t m_flOutputGain = 0x48; // float32
+                constexpr std::ptrdiff_t m_flTaps = 0x4C; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyElementNameFn
+            namespace CSosGroupActionSchema {
+                constexpr std::ptrdiff_t m_name = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_actionType = 0x10; // ActionType_t
+                constexpr std::ptrdiff_t m_actionInstanceType = 0x14; // ActionType_t
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyElementNameFn
+            namespace CSosSoundEventGroupSchema {
+                constexpr std::ptrdiff_t m_name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nType = 0x8; // SosGroupType_t
+                constexpr std::ptrdiff_t m_bIsBlocking = 0xC; // bool
+                constexpr std::ptrdiff_t m_nBlockMaxCount = 0x10; // int32
+                constexpr std::ptrdiff_t m_bInvertMatch = 0x14; // bool
+                constexpr std::ptrdiff_t m_matchPattern = 0x18; // CSosGroupMatchPattern
+                constexpr std::ptrdiff_t m_branchPattern = 0x48; // CSosGroupBranchPattern
+                constexpr std::ptrdiff_t m_flLifeSpanTime = 0x58; // float32
+                constexpr std::ptrdiff_t m_vActions = 0xC0; // CSosGroupActionSchema*[4]
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupBranchPattern {
+                constexpr std::ptrdiff_t m_bMatchEventName = 0x8; // bool
+                constexpr std::ptrdiff_t m_bMatchEventSubString = 0x9; // bool
+                constexpr std::ptrdiff_t m_bMatchEntIndex = 0xA; // bool
+                constexpr std::ptrdiff_t m_bMatchOpvar = 0xB; // bool
+                constexpr std::ptrdiff_t m_bMatchString = 0xC; // bool
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixDynamics3BandDesc_t {
+                constexpr std::ptrdiff_t m_fldbGainOutput = 0x0; // float32
+                constexpr std::ptrdiff_t m_flRMSTimeMS = 0x4; // float32
+                constexpr std::ptrdiff_t m_fldbKneeWidth = 0x8; // float32
+                constexpr std::ptrdiff_t m_flDepth = 0xC; // float32
+                constexpr std::ptrdiff_t m_flWetMix = 0x10; // float32
+                constexpr std::ptrdiff_t m_flTimeScale = 0x14; // float32
+                constexpr std::ptrdiff_t m_flLowCutoffFreq = 0x18; // float32
+                constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float32
+                constexpr std::ptrdiff_t m_bPeakMode = 0x20; // bool
+                constexpr std::ptrdiff_t m_bandDesc = 0x24; // VMixDynamicsBand_t[3]
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDSPMixgroupModifier {
+                constexpr std::ptrdiff_t m_mixgroup = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_flModifier = 0x8; // float32
+                constexpr std::ptrdiff_t m_flModifierMin = 0xC; // float32
+                constexpr std::ptrdiff_t m_flSourceModifier = 0x10; // float32
+                constexpr std::ptrdiff_t m_flSourceModifierMin = 0x14; // float32
+                constexpr std::ptrdiff_t m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAudioMorphData {
+                constexpr std::ptrdiff_t m_times = 0x0; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nameHashCodes = 0x18; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_nameStrings = 0x30; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_samples = 0x48; // CUtlVector<CUtlVector<float32>>
+                constexpr std::ptrdiff_t m_flEaseIn = 0x60; // float32
+                constexpr std::ptrdiff_t m_flEaseOut = 0x64; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerStaticAdditiveSynth {
+                constexpr std::ptrdiff_t m_tones = 0xC0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerShapedNoise {
+                constexpr std::ptrdiff_t m_bUseCurveForFrequency = 0xC0; // bool
+                constexpr std::ptrdiff_t m_flFrequency = 0xC4; // float32
+                constexpr std::ptrdiff_t m_frequencySweep = 0xC8; // CPiecewiseCurve
+                constexpr std::ptrdiff_t m_bUseCurveForResonance = 0x108; // bool
+                constexpr std::ptrdiff_t m_flResonance = 0x10C; // float32
+                constexpr std::ptrdiff_t m_resonanceSweep = 0x110; // CPiecewiseCurve
+                constexpr std::ptrdiff_t m_bUseCurveForAmplitude = 0x150; // bool
+                constexpr std::ptrdiff_t m_flGainInDecibels = 0x154; // float32
+                constexpr std::ptrdiff_t m_gainSweep = 0x158; // CPiecewiseCurve
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CDspPresetModifierList {
+                constexpr std::ptrdiff_t m_dspName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataNodeType
+            // MVDataFileExtension
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerBase {
+                constexpr std::ptrdiff_t m_vSound = 0x38; // CVSound
+                constexpr std::ptrdiff_t m_pEnvelopeAnalyzer = 0xB8; // CVoiceContainerAnalysisBase*
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            namespace CVoiceContainerGranulator {
+                constexpr std::ptrdiff_t m_flGrainLength = 0xC0; // float32
+                constexpr std::ptrdiff_t m_flGrainCrossfadeAmount = 0xC4; // float32
+                constexpr std::ptrdiff_t m_flStartJitter = 0xC8; // float32
+                constexpr std::ptrdiff_t m_flPlaybackJitter = 0xCC; // float32
+                constexpr std::ptrdiff_t m_sourceAudio = 0xD0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixDelayDesc_t {
+                constexpr std::ptrdiff_t m_feedbackFilter = 0x0; // VMixFilterDesc_t
+                constexpr std::ptrdiff_t m_bEnableFilter = 0x10; // bool
+                constexpr std::ptrdiff_t m_flDelay = 0x14; // float32
+                constexpr std::ptrdiff_t m_flDirectGain = 0x18; // float32
+                constexpr std::ptrdiff_t m_flDelayGain = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flFeedbackGain = 0x20; // float32
+                constexpr std::ptrdiff_t m_flWidth = 0x24; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixEQ8Desc_t {
+                constexpr std::ptrdiff_t m_stages = 0x0; // VMixFilterDesc_t[8]
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAudioPhonemeTag {
+                constexpr std::ptrdiff_t m_flStartTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_flEndTime = 0x4; // float32
+                constexpr std::ptrdiff_t m_nPhonemeCode = 0x8; // int32
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionSoundeventCountSchema {
+                constexpr std::ptrdiff_t m_bExcludeStoppedSounds = 0x18; // bool
+                constexpr std::ptrdiff_t m_strCountKeyName = 0x20; // CUtlString
+            }
+            // Parent: CVoiceContainerAnalysisBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerEnvelopeAnalyzer {
+                constexpr std::ptrdiff_t m_mode = 0x50; // EMode_t
+                constexpr std::ptrdiff_t m_nSamples = 0x54; // int32
+                constexpr std::ptrdiff_t m_flThreshold = 0x58; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSoundEventMetaData {
+                constexpr std::ptrdiff_t m_soundEventVMix = 0x0; // CStrongHandle<InfoForResourceTypeCVMixListResource>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixPitchShiftDesc_t {
+                constexpr std::ptrdiff_t m_nGrainSampleCount = 0x0; // int32
+                constexpr std::ptrdiff_t m_flPitchShift = 0x4; // float32
+                constexpr std::ptrdiff_t m_nQuality = 0x8; // int32
+                constexpr std::ptrdiff_t m_nProcType = 0xC; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAudioEmphasisSample {
+                constexpr std::ptrdiff_t m_flTime = 0x0; // float32
+                constexpr std::ptrdiff_t m_flValue = 0x4; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerSet {
+                constexpr std::ptrdiff_t m_soundsToPlay = 0xC0; // CUtlVector<CVoiceContainerSetElement>
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixConvolutionDesc_t {
+                constexpr std::ptrdiff_t m_fldbGain = 0x0; // float32
+                constexpr std::ptrdiff_t m_flPreDelayMS = 0x4; // float32
+                constexpr std::ptrdiff_t m_flWetMix = 0x8; // float32
+                constexpr std::ptrdiff_t m_fldbLow = 0xC; // float32
+                constexpr std::ptrdiff_t m_fldbMid = 0x10; // float32
+                constexpr std::ptrdiff_t m_fldbHigh = 0x14; // float32
+                constexpr std::ptrdiff_t m_flLowCutoffFreq = 0x18; // float32
+                constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVoiceContainerSetElement {
+                constexpr std::ptrdiff_t m_sound = 0x0; // CSoundContainerReference
+                constexpr std::ptrdiff_t m_flVolumeDB = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSoundInfoHeader {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosSoundEventGroupListSchema {
+                constexpr std::ptrdiff_t m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
+            }
+            // Parent: CSosGroupBranchPattern
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupMatchPattern {
+                constexpr std::ptrdiff_t m_matchSoundEventName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_matchSoundEventSubString = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_flEntIndex = 0x20; // float32
+                constexpr std::ptrdiff_t m_flOpvar = 0x24; // float32
+                constexpr std::ptrdiff_t m_opvarString = 0x28; // CUtlString
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SosEditItemInfo_t {
+                constexpr std::ptrdiff_t itemType = 0x0; // SosEditItemType_t
+                constexpr std::ptrdiff_t itemName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t itemTypeName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t itemKVString = 0x20; // CUtlString
+                constexpr std::ptrdiff_t itemPos = 0x28; // Vector2D
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixPlateverbDesc_t {
+                constexpr std::ptrdiff_t m_flPrefilter = 0x0; // float32
+                constexpr std::ptrdiff_t m_flInputDiffusion1 = 0x4; // float32
+                constexpr std::ptrdiff_t m_flInputDiffusion2 = 0x8; // float32
+                constexpr std::ptrdiff_t m_flDecay = 0xC; // float32
+                constexpr std::ptrdiff_t m_flDamp = 0x10; // float32
+                constexpr std::ptrdiff_t m_flFeedbackDiffusion1 = 0x14; // float32
+                constexpr std::ptrdiff_t m_flFeedbackDiffusion2 = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CSoundContainerReferenceArray {
+                constexpr std::ptrdiff_t m_bUseReference = 0x0; // bool
+                constexpr std::ptrdiff_t m_sounds = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
+                constexpr std::ptrdiff_t m_pSounds = 0x20; // CUtlVector<CVoiceContainerBase*>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixDiffusorDesc_t {
+                constexpr std::ptrdiff_t m_flSize = 0x0; // float32
+                constexpr std::ptrdiff_t m_flComplexity = 0x4; // float32
+                constexpr std::ptrdiff_t m_flFeedback = 0x8; // float32
+                constexpr std::ptrdiff_t m_flOutputGain = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixDynamicsCompressorDesc_t {
+                constexpr std::ptrdiff_t m_fldbOutputGain = 0x0; // float32
+                constexpr std::ptrdiff_t m_fldbCompressionThreshold = 0x4; // float32
+                constexpr std::ptrdiff_t m_fldbKneeWidth = 0x8; // float32
+                constexpr std::ptrdiff_t m_flCompressionRatio = 0xC; // float32
+                constexpr std::ptrdiff_t m_flAttackTimeMS = 0x10; // float32
+                constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x14; // float32
+                constexpr std::ptrdiff_t m_flRMSTimeMS = 0x18; // float32
+                constexpr std::ptrdiff_t m_flWetMix = 0x1C; // float32
+                constexpr std::ptrdiff_t m_bPeakMode = 0x20; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixShaperDesc_t {
+                constexpr std::ptrdiff_t m_nShape = 0x0; // int32
+                constexpr std::ptrdiff_t m_fldbDrive = 0x4; // float32
+                constexpr std::ptrdiff_t m_fldbOutputGain = 0x8; // float32
+                constexpr std::ptrdiff_t m_flWetMix = 0xC; // float32
+                constexpr std::ptrdiff_t m_nOversampleFactor = 0x10; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixEnvelopeDesc_t {
+                constexpr std::ptrdiff_t m_flAttackTimeMS = 0x0; // float32
+                constexpr std::ptrdiff_t m_flHoldTimeMS = 0x4; // float32
+                constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CAudioSentence {
+                constexpr std::ptrdiff_t m_bShouldVoiceDuck = 0x0; // bool
+                constexpr std::ptrdiff_t m_RunTimePhonemes = 0x8; // CUtlVector<CAudioPhonemeTag>
+                constexpr std::ptrdiff_t m_EmphasisSamples = 0x20; // CUtlVector<CAudioEmphasisSample>
+                constexpr std::ptrdiff_t m_morphData = 0x38; // CAudioMorphData
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionLimitSchema {
+                constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32
+                constexpr std::ptrdiff_t m_nStopType = 0x1C; // SosActionStopType_t
+                constexpr std::ptrdiff_t m_nSortType = 0x20; // SosActionSortType_t
+            }
+            // Parent: CVoiceContainerDecayingSineWave
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerAmpedDecayingSineWave {
+                constexpr std::ptrdiff_t m_flGainAmount = 0xC8; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerEnvelope {
+                constexpr std::ptrdiff_t m_sound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+                constexpr std::ptrdiff_t m_analysisContainer = 0xC8; // CVoiceContainerAnalysisBase*
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixAutoFilterDesc_t {
+                constexpr std::ptrdiff_t m_flEnvelopeAmount = 0x0; // float32
+                constexpr std::ptrdiff_t m_flAttackTimeMS = 0x4; // float32
+                constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x8; // float32
+                constexpr std::ptrdiff_t m_filter = 0xC; // VMixFilterDesc_t
+                constexpr std::ptrdiff_t m_flLFOAmount = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flLFORate = 0x20; // float32
+                constexpr std::ptrdiff_t m_flPhase = 0x24; // float32
+                constexpr std::ptrdiff_t m_nLFOShape = 0x28; // VMixLFOShape_t
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixDynamicsBand_t {
+                constexpr std::ptrdiff_t m_fldbGainInput = 0x0; // float32
+                constexpr std::ptrdiff_t m_fldbGainOutput = 0x4; // float32
+                constexpr std::ptrdiff_t m_fldbThresholdBelow = 0x8; // float32
+                constexpr std::ptrdiff_t m_fldbThresholdAbove = 0xC; // float32
+                constexpr std::ptrdiff_t m_flRatioBelow = 0x10; // float32
+                constexpr std::ptrdiff_t m_flRatioAbove = 0x14; // float32
+                constexpr std::ptrdiff_t m_flAttackTimeMS = 0x18; // float32
+                constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x1C; // float32
+                constexpr std::ptrdiff_t m_bEnable = 0x20; // bool
+                constexpr std::ptrdiff_t m_bSolo = 0x21; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixEffectChainDesc_t {
+                constexpr std::ptrdiff_t m_flCrossfadeTime = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance {
+                constexpr std::ptrdiff_t m_flMinVolume = 0x0; // float32
+                constexpr std::ptrdiff_t m_nInstancesAtMinVolume = 0x4; // int32
+                constexpr std::ptrdiff_t m_flMaxVolume = 0x8; // float32
+                constexpr std::ptrdiff_t m_nInstancesAtMaxVolume = 0xC; // int32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerSelector {
+                constexpr std::ptrdiff_t m_mode = 0xC0; // PlayBackMode_t
+                constexpr std::ptrdiff_t m_soundsToPlay = 0xC8; // CSoundContainerReferenceArray
+                constexpr std::ptrdiff_t m_fProbabilityWeights = 0x100; // CUtlVector<float32>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionTimeBlockLimitSchema {
+                constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32
+                constexpr std::ptrdiff_t m_flMaxDuration = 0x1C; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CTestBlendContainer {
+                constexpr std::ptrdiff_t m_firstSound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+                constexpr std::ptrdiff_t m_secondSound = 0xC8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionMemberCountEnvelopeSchema {
+                constexpr std::ptrdiff_t m_nBaseCount = 0x18; // int32
+                constexpr std::ptrdiff_t m_nTargetCount = 0x1C; // int32
+                constexpr std::ptrdiff_t m_flBaseValue = 0x20; // float32
+                constexpr std::ptrdiff_t m_flTargetValue = 0x24; // float32
+                constexpr std::ptrdiff_t m_flAttack = 0x28; // float32
+                constexpr std::ptrdiff_t m_flDecay = 0x2C; // float32
+                constexpr std::ptrdiff_t m_resultVarName = 0x30; // CUtlString
+                constexpr std::ptrdiff_t m_bSaveToGroup = 0x38; // bool
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerSwitch {
+                constexpr std::ptrdiff_t m_soundsToPlay = 0xC0; // CUtlVector<CSoundContainerReference>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CSosGroupActionTimeLimitSchema {
+                constexpr std::ptrdiff_t m_flMaxDuration = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixVocoderDesc_t {
+                constexpr std::ptrdiff_t m_nBandCount = 0x0; // int32
+                constexpr std::ptrdiff_t m_flBandwidth = 0x4; // float32
+                constexpr std::ptrdiff_t m_fldBModGain = 0x8; // float32
+                constexpr std::ptrdiff_t m_flFreqRangeStart = 0xC; // float32
+                constexpr std::ptrdiff_t m_flFreqRangeEnd = 0x10; // float32
+                constexpr std::ptrdiff_t m_fldBUnvoicedGain = 0x14; // float32
+                constexpr std::ptrdiff_t m_flAttackTimeMS = 0x18; // float32
+                constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x1C; // float32
+                constexpr std::ptrdiff_t m_nDebugBand = 0x20; // int32
+                constexpr std::ptrdiff_t m_bPeakMode = 0x24; // bool
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixUtilityDesc_t {
+                constexpr std::ptrdiff_t m_nOp = 0x0; // VMixChannelOperation_t
+                constexpr std::ptrdiff_t m_flInputPan = 0x4; // float32
+                constexpr std::ptrdiff_t m_flOutputBalance = 0x8; // float32
+                constexpr std::ptrdiff_t m_fldbOutputGain = 0xC; // float32
+                constexpr std::ptrdiff_t m_bBassMono = 0x10; // bool
+                constexpr std::ptrdiff_t m_flBassFreq = 0x14; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerLoopTrigger {
+                constexpr std::ptrdiff_t m_sound = 0xC0; // CSoundContainerReference
+                constexpr std::ptrdiff_t m_flRetriggerTimeMin = 0xD8; // float32
+                constexpr std::ptrdiff_t m_flRetriggerTimeMax = 0xDC; // float32
+                constexpr std::ptrdiff_t m_flFadeTime = 0xE0; // float32
+                constexpr std::ptrdiff_t m_bCrossFade = 0xE4; // bool
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            namespace CVoiceContainerDecayingSineWave {
+                constexpr std::ptrdiff_t m_flFrequency = 0xC0; // float32
+                constexpr std::ptrdiff_t m_flDecayTime = 0xC4; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixFilterDesc_t {
+                constexpr std::ptrdiff_t m_nFilterType = 0x0; // VMixFilterType_t
+                constexpr std::ptrdiff_t m_nFilterSlope = 0x2; // VMixFilterSlope_t
+                constexpr std::ptrdiff_t m_bEnabled = 0x3; // bool
+                constexpr std::ptrdiff_t m_fldbGain = 0x4; // float32
+                constexpr std::ptrdiff_t m_flCutoffFreq = 0x8; // float32
+                constexpr std::ptrdiff_t m_flQ = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixOscDesc_t {
+                constexpr std::ptrdiff_t oscType = 0x0; // VMixLFOShape_t
+                constexpr std::ptrdiff_t m_freq = 0x4; // float32
+                constexpr std::ptrdiff_t m_flPhase = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VMixDynamicsDesc_t {
+                constexpr std::ptrdiff_t m_fldbGain = 0x0; // float32
+                constexpr std::ptrdiff_t m_fldbNoiseGateThreshold = 0x4; // float32
+                constexpr std::ptrdiff_t m_fldbCompressionThreshold = 0x8; // float32
+                constexpr std::ptrdiff_t m_fldbLimiterThreshold = 0xC; // float32
+                constexpr std::ptrdiff_t m_fldbKneeWidth = 0x10; // float32
+                constexpr std::ptrdiff_t m_flRatio = 0x14; // float32
+                constexpr std::ptrdiff_t m_flLimiterRatio = 0x18; // float32
+                constexpr std::ptrdiff_t m_flAttackTimeMS = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x20; // float32
+                constexpr std::ptrdiff_t m_flRMSTimeMS = 0x24; // float32
+                constexpr std::ptrdiff_t m_flWetMix = 0x28; // float32
+                constexpr std::ptrdiff_t m_bPeakMode = 0x2C; // bool
+            }
+        }
+    }
+}
diff --git a/output/soundsystem_dll.json b/output/soundsystem_dll.json
new file mode 100644
index 0000000..fabad8c
--- /dev/null
+++ b/output/soundsystem_dll.json
@@ -0,0 +1,1591 @@
+{
+  "soundsystem.dll": {
+    "classes": {
+      "CAudioEmphasisSample": {
+        "fields": {
+          "m_flTime": 0,
+          "m_flValue": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAudioMorphData": {
+        "fields": {
+          "m_flEaseIn": 96,
+          "m_flEaseOut": 100,
+          "m_nameHashCodes": 24,
+          "m_nameStrings": 48,
+          "m_samples": 72,
+          "m_times": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAudioPhonemeTag": {
+        "fields": {
+          "m_flEndTime": 4,
+          "m_flStartTime": 0,
+          "m_nPhonemeCode": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CAudioSentence": {
+        "fields": {
+          "m_EmphasisSamples": 32,
+          "m_RunTimePhonemes": 8,
+          "m_bShouldVoiceDuck": 0,
+          "m_morphData": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CDSPMixgroupModifier": {
+        "fields": {
+          "m_flListenerReverbModifierWhenSourceReverbIsActive": 24,
+          "m_flModifier": 8,
+          "m_flModifierMin": 12,
+          "m_flSourceModifier": 16,
+          "m_flSourceModifierMin": 20,
+          "m_mixgroup": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CDSPPresetMixgroupModifierTable": {
+        "fields": {
+          "m_table": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MVDataNodeType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CDspPresetModifierList": {
+        "fields": {
+          "m_dspName": 0,
+          "m_modifiers": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSosGroupActionLimitSchema": {
+        "fields": {
+          "m_nMaxCount": 24,
+          "m_nSortType": 32,
+          "m_nStopType": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionMemberCountEnvelopeSchema": {
+        "fields": {
+          "m_bSaveToGroup": 56,
+          "m_flAttack": 40,
+          "m_flBaseValue": 32,
+          "m_flDecay": 44,
+          "m_flTargetValue": 36,
+          "m_nBaseCount": 24,
+          "m_nTargetCount": 28,
+          "m_resultVarName": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionSchema": {
+        "fields": {
+          "m_actionInstanceType": 20,
+          "m_actionType": 16,
+          "m_name": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyElementNameFn",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSosGroupActionSetSoundeventParameterSchema": {
+        "fields": {
+          "m_flMaxValue": 32,
+          "m_flMinValue": 28,
+          "m_nMaxCount": 24,
+          "m_nSortType": 48,
+          "m_opvarName": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionSoundeventClusterSchema": {
+        "fields": {
+          "m_clusterSizeOpvar": 48,
+          "m_flClusterEpsilon": 28,
+          "m_groupBoundingBoxMaxsOpvar": 64,
+          "m_groupBoundingBoxMinsOpvar": 56,
+          "m_nMinNearby": 24,
+          "m_shouldPlayClusterChild": 40,
+          "m_shouldPlayOpvar": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionSoundeventCountSchema": {
+        "fields": {
+          "m_bExcludeStoppedSounds": 24,
+          "m_strCountKeyName": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionSoundeventMinMaxValuesSchema": {
+        "fields": {
+          "m_bExcludSoundsAboveThreshold": 48,
+          "m_bExcludeDelayedSounds": 41,
+          "m_bExcludeSoundsBelowThreshold": 42,
+          "m_bExcludeStoppedSounds": 40,
+          "m_flExcludeSoundsMaxThresholdValue": 52,
+          "m_flExcludeSoundsMinThresholdValue": 44,
+          "m_strDelayPublicFieldName": 32,
+          "m_strMaxValueName": 64,
+          "m_strMinValueName": 56,
+          "m_strQueryPublicFieldName": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionSoundeventPrioritySchema": {
+        "fields": {
+          "m_bPriorityReadButDontContribute": 48,
+          "m_priorityContributeButDontRead": 40,
+          "m_priorityValue": 24,
+          "m_priorityVolumeScalar": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionTimeBlockLimitSchema": {
+        "fields": {
+          "m_flMaxDuration": 28,
+          "m_nMaxCount": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupActionTimeLimitSchema": {
+        "fields": {
+          "m_flMaxDuration": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupActionSchema"
+      },
+      "CSosGroupBranchPattern": {
+        "fields": {
+          "m_bMatchEntIndex": 10,
+          "m_bMatchEventName": 8,
+          "m_bMatchEventSubString": 9,
+          "m_bMatchOpvar": 11,
+          "m_bMatchString": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSosGroupMatchPattern": {
+        "fields": {
+          "m_flEntIndex": 32,
+          "m_flOpvar": 36,
+          "m_matchSoundEventName": 16,
+          "m_matchSoundEventSubString": 24,
+          "m_opvarString": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CSosGroupBranchPattern"
+      },
+      "CSosSoundEventGroupListSchema": {
+        "fields": {
+          "m_groupList": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSosSoundEventGroupSchema": {
+        "fields": {
+          "m_bInvertMatch": 20,
+          "m_bIsBlocking": 12,
+          "m_branchPattern": 72,
+          "m_flLifeSpanTime": 88,
+          "m_matchPattern": 24,
+          "m_nBlockMaxCount": 16,
+          "m_nType": 8,
+          "m_name": 0,
+          "m_vActions": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyElementNameFn",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSoundContainerReference": {
+        "fields": {
+          "m_bUseReference": 0,
+          "m_pSound": 16,
+          "m_sound": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSoundContainerReferenceArray": {
+        "fields": {
+          "m_bUseReference": 0,
+          "m_pSounds": 32,
+          "m_sounds": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSoundEventMetaData": {
+        "fields": {
+          "m_soundEventVMix": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CSoundInfoHeader": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CTestBlendContainer": {
+        "fields": {
+          "m_firstSound": 192,
+          "m_secondSound": 200
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVSound": {
+        "fields": {
+          "m_Sentences": 24,
+          "m_encodedHeader": 88,
+          "m_flDuration": 20,
+          "m_nChannels": 8,
+          "m_nFormat": 4,
+          "m_nLoopEnd": 80,
+          "m_nLoopStart": 12,
+          "m_nRate": 0,
+          "m_nSampleCount": 16,
+          "m_nSeekTable": 56,
+          "m_nStreamingSize": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerAmpedDecayingSineWave": {
+        "fields": {
+          "m_flGainAmount": 200
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerDecayingSineWave"
+      },
+      "CVoiceContainerAnalysisBase": {
+        "fields": {
+          "m_bRegenerateCurveOnCompile": 8,
+          "m_curve": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MVDataNodeType",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerBase": {
+        "fields": {
+          "m_pEnvelopeAnalyzer": 184,
+          "m_vSound": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MVDataNodeType",
+            "type": "Unknown"
+          },
+          {
+            "name": "MVDataFileExtension",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerBlender": {
+        "fields": {
+          "m_firstSound": 192,
+          "m_flBlendFactor": 240,
+          "m_secondSound": 216
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerDecayingSineWave": {
+        "fields": {
+          "m_flDecayTime": 196,
+          "m_flFrequency": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerDefault": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerEnvelope": {
+        "fields": {
+          "m_analysisContainer": 200,
+          "m_sound": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerEnvelopeAnalyzer": {
+        "fields": {
+          "m_flThreshold": 88,
+          "m_mode": 80,
+          "m_nSamples": 84
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerAnalysisBase"
+      },
+      "CVoiceContainerGranulator": {
+        "fields": {
+          "m_flGrainCrossfadeAmount": 196,
+          "m_flGrainLength": 192,
+          "m_flPlaybackJitter": 204,
+          "m_flStartJitter": 200,
+          "m_sourceAudio": 208
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerLoopTrigger": {
+        "fields": {
+          "m_bCrossFade": 228,
+          "m_flFadeTime": 224,
+          "m_flRetriggerTimeMax": 220,
+          "m_flRetriggerTimeMin": 216,
+          "m_sound": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerNull": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerRandomSampler": {
+        "fields": {
+          "m_flAmplitude": 192,
+          "m_flAmplitudeJitter": 196,
+          "m_flMaxLength": 204,
+          "m_flTimeJitter": 200,
+          "m_grainResources": 216,
+          "m_nNumDelayVariations": 208
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerRealtimeFMSineWave": {
+        "fields": {
+          "m_flCarrierFrequency": 192,
+          "m_flModulatorAmount": 200,
+          "m_flModulatorFrequency": 196
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerSelector": {
+        "fields": {
+          "m_fProbabilityWeights": 256,
+          "m_mode": 192,
+          "m_soundsToPlay": 200
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerSet": {
+        "fields": {
+          "m_soundsToPlay": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerSetElement": {
+        "fields": {
+          "m_flVolumeDB": 24,
+          "m_sound": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerShapedNoise": {
+        "fields": {
+          "m_bUseCurveForAmplitude": 336,
+          "m_bUseCurveForFrequency": 192,
+          "m_bUseCurveForResonance": 264,
+          "m_flFrequency": 196,
+          "m_flGainInDecibels": 340,
+          "m_flResonance": 268,
+          "m_frequencySweep": 200,
+          "m_gainSweep": 344,
+          "m_resonanceSweep": 272
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerStaticAdditiveSynth": {
+        "fields": {
+          "m_tones": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance": {
+        "fields": {
+          "m_flMaxVolume": 8,
+          "m_flMinVolume": 0,
+          "m_nInstancesAtMaxVolume": 12,
+          "m_nInstancesAtMinVolume": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerStaticAdditiveSynth__CHarmonic": {
+        "fields": {
+          "m_curve": 16,
+          "m_flCents": 8,
+          "m_flPhase": 12,
+          "m_nFundamental": 1,
+          "m_nOctave": 4,
+          "m_nWaveform": 0,
+          "m_volumeScaling": 80
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerStaticAdditiveSynth__CTone": {
+        "fields": {
+          "m_bSyncInstances": 88,
+          "m_curve": 24,
+          "m_harmonics": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoiceContainerSwitch": {
+        "fields": {
+          "m_soundsToPlay": 192
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyFriendlyName",
+            "type": "Unknown"
+          },
+          {
+            "name": "MPropertyDescription",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "CVoiceContainerBase"
+      },
+      "SelectedEditItemInfo_t": {
+        "fields": {
+          "m_EditItems": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SosEditItemInfo_t": {
+        "fields": {
+          "itemKVString": 32,
+          "itemName": 8,
+          "itemPos": 40,
+          "itemType": 0,
+          "itemTypeName": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixAutoFilterDesc_t": {
+        "fields": {
+          "m_filter": 12,
+          "m_flAttackTimeMS": 4,
+          "m_flEnvelopeAmount": 0,
+          "m_flLFOAmount": 28,
+          "m_flLFORate": 32,
+          "m_flPhase": 36,
+          "m_flReleaseTimeMS": 8,
+          "m_nLFOShape": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixBoxverbDesc_t": {
+        "fields": {
+          "m_bParallel": 24,
+          "m_filterType": 28,
+          "m_flComplexity": 8,
+          "m_flDepth": 52,
+          "m_flDiffusion": 12,
+          "m_flFeedbackDepth": 68,
+          "m_flFeedbackHeight": 64,
+          "m_flFeedbackScale": 56,
+          "m_flFeedbackWidth": 60,
+          "m_flHeight": 48,
+          "m_flModDepth": 16,
+          "m_flModRate": 20,
+          "m_flOutputGain": 72,
+          "m_flSizeMax": 0,
+          "m_flSizeMin": 4,
+          "m_flTaps": 76,
+          "m_flWidth": 44
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixConvolutionDesc_t": {
+        "fields": {
+          "m_flHighCutoffFreq": 28,
+          "m_flLowCutoffFreq": 24,
+          "m_flPreDelayMS": 4,
+          "m_flWetMix": 8,
+          "m_fldbGain": 0,
+          "m_fldbHigh": 20,
+          "m_fldbLow": 12,
+          "m_fldbMid": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixDelayDesc_t": {
+        "fields": {
+          "m_bEnableFilter": 16,
+          "m_feedbackFilter": 0,
+          "m_flDelay": 20,
+          "m_flDelayGain": 28,
+          "m_flDirectGain": 24,
+          "m_flFeedbackGain": 32,
+          "m_flWidth": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixDiffusorDesc_t": {
+        "fields": {
+          "m_flComplexity": 4,
+          "m_flFeedback": 8,
+          "m_flOutputGain": 12,
+          "m_flSize": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixDynamics3BandDesc_t": {
+        "fields": {
+          "m_bPeakMode": 32,
+          "m_bandDesc": 36,
+          "m_flDepth": 12,
+          "m_flHighCutoffFreq": 28,
+          "m_flLowCutoffFreq": 24,
+          "m_flRMSTimeMS": 4,
+          "m_flTimeScale": 20,
+          "m_flWetMix": 16,
+          "m_fldbGainOutput": 0,
+          "m_fldbKneeWidth": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixDynamicsBand_t": {
+        "fields": {
+          "m_bEnable": 32,
+          "m_bSolo": 33,
+          "m_flAttackTimeMS": 24,
+          "m_flRatioAbove": 20,
+          "m_flRatioBelow": 16,
+          "m_flReleaseTimeMS": 28,
+          "m_fldbGainInput": 0,
+          "m_fldbGainOutput": 4,
+          "m_fldbThresholdAbove": 12,
+          "m_fldbThresholdBelow": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixDynamicsCompressorDesc_t": {
+        "fields": {
+          "m_bPeakMode": 32,
+          "m_flAttackTimeMS": 16,
+          "m_flCompressionRatio": 12,
+          "m_flRMSTimeMS": 24,
+          "m_flReleaseTimeMS": 20,
+          "m_flWetMix": 28,
+          "m_fldbCompressionThreshold": 4,
+          "m_fldbKneeWidth": 8,
+          "m_fldbOutputGain": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixDynamicsDesc_t": {
+        "fields": {
+          "m_bPeakMode": 44,
+          "m_flAttackTimeMS": 28,
+          "m_flLimiterRatio": 24,
+          "m_flRMSTimeMS": 36,
+          "m_flRatio": 20,
+          "m_flReleaseTimeMS": 32,
+          "m_flWetMix": 40,
+          "m_fldbCompressionThreshold": 8,
+          "m_fldbGain": 0,
+          "m_fldbKneeWidth": 16,
+          "m_fldbLimiterThreshold": 12,
+          "m_fldbNoiseGateThreshold": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixEQ8Desc_t": {
+        "fields": {
+          "m_stages": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixEffectChainDesc_t": {
+        "fields": {
+          "m_flCrossfadeTime": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixEnvelopeDesc_t": {
+        "fields": {
+          "m_flAttackTimeMS": 0,
+          "m_flHoldTimeMS": 4,
+          "m_flReleaseTimeMS": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixFilterDesc_t": {
+        "fields": {
+          "m_bEnabled": 3,
+          "m_flCutoffFreq": 8,
+          "m_flQ": 12,
+          "m_fldbGain": 4,
+          "m_nFilterSlope": 2,
+          "m_nFilterType": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixFreeverbDesc_t": {
+        "fields": {
+          "m_flDamp": 4,
+          "m_flLateReflections": 12,
+          "m_flRoomSize": 0,
+          "m_flWidth": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixModDelayDesc_t": {
+        "fields": {
+          "m_bApplyAntialiasing": 44,
+          "m_bPhaseInvert": 16,
+          "m_feedbackFilter": 0,
+          "m_flDelay": 24,
+          "m_flFeedbackGain": 32,
+          "m_flGlideTime": 20,
+          "m_flModDepth": 40,
+          "m_flModRate": 36,
+          "m_flOutputGain": 28
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixOscDesc_t": {
+        "fields": {
+          "m_flPhase": 8,
+          "m_freq": 4,
+          "oscType": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixPannerDesc_t": {
+        "fields": {
+          "m_flStrength": 4,
+          "m_type": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixPitchShiftDesc_t": {
+        "fields": {
+          "m_flPitchShift": 4,
+          "m_nGrainSampleCount": 0,
+          "m_nProcType": 12,
+          "m_nQuality": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixPlateverbDesc_t": {
+        "fields": {
+          "m_flDamp": 16,
+          "m_flDecay": 12,
+          "m_flFeedbackDiffusion1": 20,
+          "m_flFeedbackDiffusion2": 24,
+          "m_flInputDiffusion1": 4,
+          "m_flInputDiffusion2": 8,
+          "m_flPrefilter": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixShaperDesc_t": {
+        "fields": {
+          "m_flWetMix": 12,
+          "m_fldbDrive": 4,
+          "m_fldbOutputGain": 8,
+          "m_nOversampleFactor": 16,
+          "m_nShape": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixSubgraphSwitchDesc_t": {
+        "fields": {
+          "m_bOnlyTailsOnFadeOut": 4,
+          "m_flInterpolationTime": 8,
+          "m_interpolationMode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixUtilityDesc_t": {
+        "fields": {
+          "m_bBassMono": 16,
+          "m_flBassFreq": 20,
+          "m_flInputPan": 4,
+          "m_flOutputBalance": 8,
+          "m_fldbOutputGain": 12,
+          "m_nOp": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMixVocoderDesc_t": {
+        "fields": {
+          "m_bPeakMode": 36,
+          "m_flAttackTimeMS": 24,
+          "m_flBandwidth": 4,
+          "m_flFreqRangeEnd": 16,
+          "m_flFreqRangeStart": 12,
+          "m_flReleaseTimeMS": 28,
+          "m_fldBModGain": 8,
+          "m_fldBUnvoicedGain": 20,
+          "m_nBandCount": 0,
+          "m_nDebugBand": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "ActionType_t": {
+        "alignment": 4,
+        "members": {
+          "SOS_ACTION_COUNT_ENVELOPE": 7,
+          "SOS_ACTION_LIMITER": 1,
+          "SOS_ACTION_NONE": 0,
+          "SOS_ACTION_SET_SOUNDEVENT_PARAM": 4,
+          "SOS_ACTION_SOUNDEVENT_CLUSTER": 5,
+          "SOS_ACTION_SOUNDEVENT_COUNT": 8,
+          "SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES": 9,
+          "SOS_ACTION_SOUNDEVENT_PRIORITY": 6,
+          "SOS_ACTION_TIME_BLOCK_LIMITER": 3,
+          "SOS_ACTION_TIME_LIMIT": 2
+        },
+        "type": "uint32"
+      },
+      "CVSoundFormat_t": {
+        "alignment": 1,
+        "members": {
+          "ADPCM": 3,
+          "MP3": 2,
+          "PCM16": 0,
+          "PCM8": 1
+        },
+        "type": "uint8"
+      },
+      "EMidiNote": {
+        "alignment": 1,
+        "members": {
+          "A": 9,
+          "A_Sharp": 10,
+          "B": 11,
+          "C": 0,
+          "C_Sharp": 1,
+          "Count": 12,
+          "D": 2,
+          "D_Sharp": 3,
+          "E": 4,
+          "F": 5,
+          "F_Sharp": 6,
+          "G": 7,
+          "G_Sharp": 8
+        },
+        "type": "uint8"
+      },
+      "EMode_t": {
+        "alignment": 4,
+        "members": {
+          "Peak": 0,
+          "RMS": 1
+        },
+        "type": "uint32"
+      },
+      "EWaveform": {
+        "alignment": 1,
+        "members": {
+          "Noise": 4,
+          "Saw": 2,
+          "Sine": 0,
+          "Square": 1,
+          "Triangle": 3
+        },
+        "type": "uint8"
+      },
+      "PlayBackMode_t": {
+        "alignment": 4,
+        "members": {
+          "Random": 0,
+          "RandomAvoidLast": 2,
+          "RandomNoRepeats": 1,
+          "RandomWeights": 4,
+          "Sequential": 3
+        },
+        "type": "uint32"
+      },
+      "SosActionSortType_t": {
+        "alignment": 4,
+        "members": {
+          "SOS_SORTTYPE_HIGHEST": 0,
+          "SOS_SORTTYPE_LOWEST": 1
+        },
+        "type": "uint32"
+      },
+      "SosActionStopType_t": {
+        "alignment": 4,
+        "members": {
+          "SOS_STOPTYPE_NONE": 0,
+          "SOS_STOPTYPE_OPVAR": 2,
+          "SOS_STOPTYPE_TIME": 1
+        },
+        "type": "uint32"
+      },
+      "SosEditItemType_t": {
+        "alignment": 4,
+        "members": {
+          "SOS_EDIT_ITEM_TYPE_FIELD": 5,
+          "SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS": 2,
+          "SOS_EDIT_ITEM_TYPE_OPERATOR": 4,
+          "SOS_EDIT_ITEM_TYPE_SOUNDEVENT": 1,
+          "SOS_EDIT_ITEM_TYPE_SOUNDEVENTS": 0,
+          "SOS_EDIT_ITEM_TYPE_STACK": 3
+        },
+        "type": "uint32"
+      },
+      "SosGroupType_t": {
+        "alignment": 4,
+        "members": {
+          "SOS_GROUPTYPE_DYNAMIC": 0,
+          "SOS_GROUPTYPE_STATIC": 1
+        },
+        "type": "uint32"
+      },
+      "VMixChannelOperation_t": {
+        "alignment": 4,
+        "members": {
+          "VMIX_CHAN_LEFT": 1,
+          "VMIX_CHAN_MID_SIDE": 5,
+          "VMIX_CHAN_MONO": 4,
+          "VMIX_CHAN_RIGHT": 2,
+          "VMIX_CHAN_STEREO": 0,
+          "VMIX_CHAN_SWAP": 3
+        },
+        "type": "uint32"
+      },
+      "VMixFilterSlope_t": {
+        "alignment": 1,
+        "members": {
+          "FILTER_SLOPE_12dB": 4,
+          "FILTER_SLOPE_1POLE_12dB": 1,
+          "FILTER_SLOPE_1POLE_18dB": 2,
+          "FILTER_SLOPE_1POLE_24dB": 3,
+          "FILTER_SLOPE_1POLE_6dB": 0,
+          "FILTER_SLOPE_24dB": 5,
+          "FILTER_SLOPE_36dB": 6,
+          "FILTER_SLOPE_48dB": 7,
+          "FILTER_SLOPE_MAX": 7
+        },
+        "type": "uint8"
+      },
+      "VMixFilterType_t": {
+        "alignment": 2,
+        "members": {
+          "FILTER_ALLPASS": 7,
+          "FILTER_BANDPASS": 2,
+          "FILTER_HIGHPASS": 1,
+          "FILTER_HIGH_SHELF": 6,
+          "FILTER_LOWPASS": 0,
+          "FILTER_LOW_SHELF": 5,
+          "FILTER_NOTCH": 3,
+          "FILTER_PASSTHROUGH": 8,
+          "FILTER_PEAKING_EQ": 4,
+          "FILTER_UNKNOWN": -1
+        },
+        "type": "uint16"
+      },
+      "VMixLFOShape_t": {
+        "alignment": 4,
+        "members": {
+          "LFO_SHAPE_NOISE": 4,
+          "LFO_SHAPE_SAW": 3,
+          "LFO_SHAPE_SINE": 0,
+          "LFO_SHAPE_SQUARE": 1,
+          "LFO_SHAPE_TRI": 2
+        },
+        "type": "uint32"
+      },
+      "VMixPannerType_t": {
+        "alignment": 4,
+        "members": {
+          "PANNER_TYPE_EQUAL_POWER": 1,
+          "PANNER_TYPE_LINEAR": 0
+        },
+        "type": "uint32"
+      },
+      "VMixProcessorType_t": {
+        "alignment": 2,
+        "members": {
+          "VPROCESSOR_AUTOFILTER": 23,
+          "VPROCESSOR_BOXVERB": 8,
+          "VPROCESSOR_CONVOLUTION": 17,
+          "VPROCESSOR_DELAY": 5,
+          "VPROCESSOR_DIFFUSOR": 7,
+          "VPROCESSOR_DYNAMICS": 3,
+          "VPROCESSOR_DYNAMICS_3BAND": 18,
+          "VPROCESSOR_DYNAMICS_COMPRESSOR": 19,
+          "VPROCESSOR_EFFECT_CHAIN": 26,
+          "VPROCESSOR_ENVELOPE": 15,
+          "VPROCESSOR_EQ8": 14,
+          "VPROCESSOR_FILTER": 12,
+          "VPROCESSOR_FREEVERB": 9,
+          "VPROCESSOR_FULLWAVE_INTEGRATOR": 11,
+          "VPROCESSOR_MOD_DELAY": 6,
+          "VPROCESSOR_OSC": 24,
+          "VPROCESSOR_PANNER": 21,
+          "VPROCESSOR_PLATEVERB": 10,
+          "VPROCESSOR_PRESETDSP": 4,
+          "VPROCESSOR_RT_PITCH": 1,
+          "VPROCESSOR_SHAPER": 20,
+          "VPROCESSOR_STEAMAUDIO_DIRECT": 28,
+          "VPROCESSOR_STEAMAUDIO_HRTF": 2,
+          "VPROCESSOR_STEAMAUDIO_HYBRIDREVERB": 29,
+          "VPROCESSOR_STEAMAUDIO_PATHING": 13,
+          "VPROCESSOR_STEREODELAY": 25,
+          "VPROCESSOR_SUBGRAPH_SWITCH": 27,
+          "VPROCESSOR_UNKNOWN": 0,
+          "VPROCESSOR_UTILITY": 22,
+          "VPROCESSOR_VOCODER": 16
+        },
+        "type": "uint16"
+      },
+      "VMixSubgraphSwitchInterpolationType_t": {
+        "alignment": 4,
+        "members": {
+          "SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING": 2,
+          "SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE": 0,
+          "SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT": 1
+        },
+        "type": "uint32"
+      },
+      "soundlevel_t": {
+        "alignment": 4,
+        "members": {
+          "SNDLVL_100dB": 100,
+          "SNDLVL_105dB": 105,
+          "SNDLVL_110dB": 110,
+          "SNDLVL_120dB": 120,
+          "SNDLVL_130dB": 130,
+          "SNDLVL_140dB": 140,
+          "SNDLVL_150dB": 150,
+          "SNDLVL_180dB": 180,
+          "SNDLVL_20dB": 20,
+          "SNDLVL_25dB": 25,
+          "SNDLVL_30dB": 30,
+          "SNDLVL_35dB": 35,
+          "SNDLVL_40dB": 40,
+          "SNDLVL_45dB": 45,
+          "SNDLVL_50dB": 50,
+          "SNDLVL_55dB": 55,
+          "SNDLVL_60dB": 60,
+          "SNDLVL_65dB": 65,
+          "SNDLVL_70dB": 70,
+          "SNDLVL_75dB": 75,
+          "SNDLVL_80dB": 80,
+          "SNDLVL_85dB": 85,
+          "SNDLVL_90dB": 90,
+          "SNDLVL_95dB": 95,
+          "SNDLVL_GUNFIRE": 140,
+          "SNDLVL_IDLE": 60,
+          "SNDLVL_NONE": 0,
+          "SNDLVL_NORM": 75,
+          "SNDLVL_STATIC": 66,
+          "SNDLVL_TALKING": 80
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/soundsystem_dll.rs b/output/soundsystem_dll.rs
new file mode 100644
index 0000000..734a0a1
--- /dev/null
+++ b/output/soundsystem_dll.rs
@@ -0,0 +1,1140 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: soundsystem.dll
+        // Class count: 74
+        // Enum count: 18
+        pub mod soundsystem_dll {
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum EMode_t {
+                Peak = 0x0,
+                RMS = 0x1
+            }
+            // Alignment: 1
+            // Member count: 5
+            #[repr(u8)]
+            pub enum EWaveform {
+                Sine = 0x0,
+                Square = 0x1,
+                Saw = 0x2,
+                Triangle = 0x3,
+                Noise = 0x4
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum VMixLFOShape_t {
+                LFO_SHAPE_SINE = 0x0,
+                LFO_SHAPE_SQUARE = 0x1,
+                LFO_SHAPE_TRI = 0x2,
+                LFO_SHAPE_SAW = 0x3,
+                LFO_SHAPE_NOISE = 0x4
+            }
+            // Alignment: 2
+            // Member count: 10
+            #[repr(u16)]
+            pub enum VMixFilterType_t {
+                FILTER_UNKNOWN = u16::MAX,
+                FILTER_LOWPASS = 0x0,
+                FILTER_HIGHPASS = 0x1,
+                FILTER_BANDPASS = 0x2,
+                FILTER_NOTCH = 0x3,
+                FILTER_PEAKING_EQ = 0x4,
+                FILTER_LOW_SHELF = 0x5,
+                FILTER_HIGH_SHELF = 0x6,
+                FILTER_ALLPASS = 0x7,
+                FILTER_PASSTHROUGH = 0x8
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum SosActionStopType_t {
+                SOS_STOPTYPE_NONE = 0x0,
+                SOS_STOPTYPE_TIME = 0x1,
+                SOS_STOPTYPE_OPVAR = 0x2
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum SosEditItemType_t {
+                SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0,
+                SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1,
+                SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2,
+                SOS_EDIT_ITEM_TYPE_STACK = 0x3,
+                SOS_EDIT_ITEM_TYPE_OPERATOR = 0x4,
+                SOS_EDIT_ITEM_TYPE_FIELD = 0x5
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum SosActionSortType_t {
+                SOS_SORTTYPE_HIGHEST = 0x0,
+                SOS_SORTTYPE_LOWEST = 0x1
+            }
+            // Alignment: 4
+            // Member count: 5
+            #[repr(u32)]
+            pub enum PlayBackMode_t {
+                Random = 0x0,
+                RandomNoRepeats = 0x1,
+                RandomAvoidLast = 0x2,
+                Sequential = 0x3,
+                RandomWeights = 0x4
+            }
+            // Alignment: 2
+            // Member count: 30
+            #[repr(u16)]
+            pub enum VMixProcessorType_t {
+                VPROCESSOR_UNKNOWN = 0x0,
+                VPROCESSOR_RT_PITCH = 0x1,
+                VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
+                VPROCESSOR_DYNAMICS = 0x3,
+                VPROCESSOR_PRESETDSP = 0x4,
+                VPROCESSOR_DELAY = 0x5,
+                VPROCESSOR_MOD_DELAY = 0x6,
+                VPROCESSOR_DIFFUSOR = 0x7,
+                VPROCESSOR_BOXVERB = 0x8,
+                VPROCESSOR_FREEVERB = 0x9,
+                VPROCESSOR_PLATEVERB = 0xA,
+                VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
+                VPROCESSOR_FILTER = 0xC,
+                VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
+                VPROCESSOR_EQ8 = 0xE,
+                VPROCESSOR_ENVELOPE = 0xF,
+                VPROCESSOR_VOCODER = 0x10,
+                VPROCESSOR_CONVOLUTION = 0x11,
+                VPROCESSOR_DYNAMICS_3BAND = 0x12,
+                VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
+                VPROCESSOR_SHAPER = 0x14,
+                VPROCESSOR_PANNER = 0x15,
+                VPROCESSOR_UTILITY = 0x16,
+                VPROCESSOR_AUTOFILTER = 0x17,
+                VPROCESSOR_OSC = 0x18,
+                VPROCESSOR_STEREODELAY = 0x19,
+                VPROCESSOR_EFFECT_CHAIN = 0x1A,
+                VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
+                VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
+                VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
+            }
+            // Alignment: 4
+            // Member count: 30
+            #[repr(u32)]
+            pub enum soundlevel_t {
+                SNDLVL_NONE = 0x0,
+                SNDLVL_20dB = 0x14,
+                SNDLVL_25dB = 0x19,
+                SNDLVL_30dB = 0x1E,
+                SNDLVL_35dB = 0x23,
+                SNDLVL_40dB = 0x28,
+                SNDLVL_45dB = 0x2D,
+                SNDLVL_50dB = 0x32,
+                SNDLVL_55dB = 0x37,
+                SNDLVL_IDLE = 0x3C,
+                SNDLVL_65dB = 0x41,
+                SNDLVL_STATIC = 0x42,
+                SNDLVL_70dB = 0x46,
+                SNDLVL_NORM = 0x4B,
+                SNDLVL_80dB = 0x50,
+                SNDLVL_85dB = 0x55,
+                SNDLVL_90dB = 0x5A,
+                SNDLVL_95dB = 0x5F,
+                SNDLVL_100dB = 0x64,
+                SNDLVL_105dB = 0x69,
+                SNDLVL_110dB = 0x6E,
+                SNDLVL_120dB = 0x78,
+                SNDLVL_130dB = 0x82,
+                SNDLVL_GUNFIRE = 0x8C,
+                SNDLVL_150dB = 0x96,
+                SNDLVL_180dB = 0xB4
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum VMixPannerType_t {
+                PANNER_TYPE_LINEAR = 0x0,
+                PANNER_TYPE_EQUAL_POWER = 0x1
+            }
+            // Alignment: 4
+            // Member count: 6
+            #[repr(u32)]
+            pub enum VMixChannelOperation_t {
+                VMIX_CHAN_STEREO = 0x0,
+                VMIX_CHAN_LEFT = 0x1,
+                VMIX_CHAN_RIGHT = 0x2,
+                VMIX_CHAN_SWAP = 0x3,
+                VMIX_CHAN_MONO = 0x4,
+                VMIX_CHAN_MID_SIDE = 0x5
+            }
+            // Alignment: 1
+            // Member count: 13
+            #[repr(u8)]
+            pub enum EMidiNote {
+                C = 0x0,
+                C_Sharp = 0x1,
+                D = 0x2,
+                D_Sharp = 0x3,
+                E = 0x4,
+                F = 0x5,
+                F_Sharp = 0x6,
+                G = 0x7,
+                G_Sharp = 0x8,
+                A = 0x9,
+                A_Sharp = 0xA,
+                B = 0xB,
+                Count = 0xC
+            }
+            // Alignment: 1
+            // Member count: 4
+            #[repr(u8)]
+            pub enum CVSoundFormat_t {
+                PCM16 = 0x0,
+                PCM8 = 0x1,
+                MP3 = 0x2,
+                ADPCM = 0x3
+            }
+            // Alignment: 1
+            // Member count: 9
+            #[repr(u8)]
+            pub enum VMixFilterSlope_t {
+                FILTER_SLOPE_1POLE_6dB = 0x0,
+                FILTER_SLOPE_1POLE_12dB = 0x1,
+                FILTER_SLOPE_1POLE_18dB = 0x2,
+                FILTER_SLOPE_1POLE_24dB = 0x3,
+                FILTER_SLOPE_12dB = 0x4,
+                FILTER_SLOPE_24dB = 0x5,
+                FILTER_SLOPE_36dB = 0x6,
+                FILTER_SLOPE_48dB = 0x7
+            }
+            // Alignment: 4
+            // Member count: 10
+            #[repr(u32)]
+            pub enum ActionType_t {
+                SOS_ACTION_NONE = 0x0,
+                SOS_ACTION_LIMITER = 0x1,
+                SOS_ACTION_TIME_LIMIT = 0x2,
+                SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
+                SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
+                SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
+                SOS_ACTION_SOUNDEVENT_PRIORITY = 0x6,
+                SOS_ACTION_COUNT_ENVELOPE = 0x7,
+                SOS_ACTION_SOUNDEVENT_COUNT = 0x8,
+                SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES = 0x9
+            }
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum VMixSubgraphSwitchInterpolationType_t {
+                SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0,
+                SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1,
+                SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2
+            }
+            // Alignment: 4
+            // Member count: 2
+            #[repr(u32)]
+            pub enum SosGroupType_t {
+                SOS_GROUPTYPE_DYNAMIC = 0x0,
+                SOS_GROUPTYPE_STATIC = 0x1
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerBlender {
+                pub const m_firstSound: usize = 0xC0; // CSoundContainerReference
+                pub const m_secondSound: usize = 0xD8; // CSoundContainerReference
+                pub const m_flBlendFactor: usize = 0xF0; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixFreeverbDesc_t {
+                pub const m_flRoomSize: usize = 0x0; // float32
+                pub const m_flDamp: usize = 0x4; // float32
+                pub const m_flWidth: usize = 0x8; // float32
+                pub const m_flLateReflections: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVoiceContainerStaticAdditiveSynth__CHarmonic {
+                pub const m_nWaveform: usize = 0x0; // EWaveform
+                pub const m_nFundamental: usize = 0x1; // EMidiNote
+                pub const m_nOctave: usize = 0x4; // int32
+                pub const m_flCents: usize = 0x8; // float32
+                pub const m_flPhase: usize = 0xC; // float32
+                pub const m_curve: usize = 0x10; // CPiecewiseCurve
+                pub const m_volumeScaling: usize = 0x50; // CVoiceContainerStaticAdditiveSynth::CGainScalePerInstance
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVoiceContainerStaticAdditiveSynth__CTone {
+                pub const m_harmonics: usize = 0x0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CHarmonic>
+                pub const m_curve: usize = 0x18; // CPiecewiseCurve
+                pub const m_bSyncInstances: usize = 0x58; // bool
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerRandomSampler {
+                pub const m_flAmplitude: usize = 0xC0; // float32
+                pub const m_flAmplitudeJitter: usize = 0xC4; // float32
+                pub const m_flTimeJitter: usize = 0xC8; // float32
+                pub const m_flMaxLength: usize = 0xCC; // float32
+                pub const m_nNumDelayVariations: usize = 0xD0; // int32
+                pub const m_grainResources: usize = 0xD8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerDefault {
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVSound {
+                pub const m_nRate: usize = 0x0; // int32
+                pub const m_nFormat: usize = 0x4; // CVSoundFormat_t
+                pub const m_nChannels: usize = 0x8; // uint32
+                pub const m_nLoopStart: usize = 0xC; // int32
+                pub const m_nSampleCount: usize = 0x10; // uint32
+                pub const m_flDuration: usize = 0x14; // float32
+                pub const m_Sentences: usize = 0x18; // CUtlVector<CAudioSentence>
+                pub const m_nStreamingSize: usize = 0x30; // uint32
+                pub const m_nSeekTable: usize = 0x38; // CUtlVector<int32>
+                pub const m_nLoopEnd: usize = 0x50; // int32
+                pub const m_encodedHeader: usize = 0x58; // CUtlBinaryBlock
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataNodeType
+            pub mod CDSPPresetMixgroupModifierTable {
+                pub const m_table: usize = 0x0; // CUtlVector<CDspPresetModifierList>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionSoundeventClusterSchema {
+                pub const m_nMinNearby: usize = 0x18; // int32
+                pub const m_flClusterEpsilon: usize = 0x1C; // float32
+                pub const m_shouldPlayOpvar: usize = 0x20; // CUtlString
+                pub const m_shouldPlayClusterChild: usize = 0x28; // CUtlString
+                pub const m_clusterSizeOpvar: usize = 0x30; // CUtlString
+                pub const m_groupBoundingBoxMinsOpvar: usize = 0x38; // CUtlString
+                pub const m_groupBoundingBoxMaxsOpvar: usize = 0x40; // CUtlString
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionSetSoundeventParameterSchema {
+                pub const m_nMaxCount: usize = 0x18; // int32
+                pub const m_flMinValue: usize = 0x1C; // float32
+                pub const m_flMaxValue: usize = 0x20; // float32
+                pub const m_opvarName: usize = 0x28; // CUtlString
+                pub const m_nSortType: usize = 0x30; // SosActionSortType_t
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CSoundContainerReference {
+                pub const m_bUseReference: usize = 0x0; // bool
+                pub const m_sound: usize = 0x8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+                pub const m_pSound: usize = 0x10; // CVoiceContainerBase*
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerNull {
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixSubgraphSwitchDesc_t {
+                pub const m_interpolationMode: usize = 0x0; // VMixSubgraphSwitchInterpolationType_t
+                pub const m_bOnlyTailsOnFadeOut: usize = 0x4; // bool
+                pub const m_flInterpolationTime: usize = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataNodeType
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerAnalysisBase {
+                pub const m_bRegenerateCurveOnCompile: usize = 0x8; // bool
+                pub const m_curve: usize = 0x10; // CPiecewiseCurve
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionSoundeventMinMaxValuesSchema {
+                pub const m_strQueryPublicFieldName: usize = 0x18; // CUtlString
+                pub const m_strDelayPublicFieldName: usize = 0x20; // CUtlString
+                pub const m_bExcludeStoppedSounds: usize = 0x28; // bool
+                pub const m_bExcludeDelayedSounds: usize = 0x29; // bool
+                pub const m_bExcludeSoundsBelowThreshold: usize = 0x2A; // bool
+                pub const m_flExcludeSoundsMinThresholdValue: usize = 0x2C; // float32
+                pub const m_bExcludSoundsAboveThreshold: usize = 0x30; // bool
+                pub const m_flExcludeSoundsMaxThresholdValue: usize = 0x34; // float32
+                pub const m_strMinValueName: usize = 0x38; // CUtlString
+                pub const m_strMaxValueName: usize = 0x40; // CUtlString
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixPannerDesc_t {
+                pub const m_type: usize = 0x0; // VMixPannerType_t
+                pub const m_flStrength: usize = 0x4; // float32
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionSoundeventPrioritySchema {
+                pub const m_priorityValue: usize = 0x18; // CUtlString
+                pub const m_priorityVolumeScalar: usize = 0x20; // CUtlString
+                pub const m_priorityContributeButDontRead: usize = 0x28; // CUtlString
+                pub const m_bPriorityReadButDontContribute: usize = 0x30; // CUtlString
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerRealtimeFMSineWave {
+                pub const m_flCarrierFrequency: usize = 0xC0; // float32
+                pub const m_flModulatorFrequency: usize = 0xC4; // float32
+                pub const m_flModulatorAmount: usize = 0xC8; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SelectedEditItemInfo_t {
+                pub const m_EditItems: usize = 0x0; // CUtlVector<SosEditItemInfo_t>
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixModDelayDesc_t {
+                pub const m_feedbackFilter: usize = 0x0; // VMixFilterDesc_t
+                pub const m_bPhaseInvert: usize = 0x10; // bool
+                pub const m_flGlideTime: usize = 0x14; // float32
+                pub const m_flDelay: usize = 0x18; // float32
+                pub const m_flOutputGain: usize = 0x1C; // float32
+                pub const m_flFeedbackGain: usize = 0x20; // float32
+                pub const m_flModRate: usize = 0x24; // float32
+                pub const m_flModDepth: usize = 0x28; // float32
+                pub const m_bApplyAntialiasing: usize = 0x2C; // bool
+            }
+            // Parent: None
+            // Field count: 17
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixBoxverbDesc_t {
+                pub const m_flSizeMax: usize = 0x0; // float32
+                pub const m_flSizeMin: usize = 0x4; // float32
+                pub const m_flComplexity: usize = 0x8; // float32
+                pub const m_flDiffusion: usize = 0xC; // float32
+                pub const m_flModDepth: usize = 0x10; // float32
+                pub const m_flModRate: usize = 0x14; // float32
+                pub const m_bParallel: usize = 0x18; // bool
+                pub const m_filterType: usize = 0x1C; // VMixFilterDesc_t
+                pub const m_flWidth: usize = 0x2C; // float32
+                pub const m_flHeight: usize = 0x30; // float32
+                pub const m_flDepth: usize = 0x34; // float32
+                pub const m_flFeedbackScale: usize = 0x38; // float32
+                pub const m_flFeedbackWidth: usize = 0x3C; // float32
+                pub const m_flFeedbackHeight: usize = 0x40; // float32
+                pub const m_flFeedbackDepth: usize = 0x44; // float32
+                pub const m_flOutputGain: usize = 0x48; // float32
+                pub const m_flTaps: usize = 0x4C; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyElementNameFn
+            pub mod CSosGroupActionSchema {
+                pub const m_name: usize = 0x8; // CUtlString
+                pub const m_actionType: usize = 0x10; // ActionType_t
+                pub const m_actionInstanceType: usize = 0x14; // ActionType_t
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyElementNameFn
+            pub mod CSosSoundEventGroupSchema {
+                pub const m_name: usize = 0x0; // CUtlString
+                pub const m_nType: usize = 0x8; // SosGroupType_t
+                pub const m_bIsBlocking: usize = 0xC; // bool
+                pub const m_nBlockMaxCount: usize = 0x10; // int32
+                pub const m_bInvertMatch: usize = 0x14; // bool
+                pub const m_matchPattern: usize = 0x18; // CSosGroupMatchPattern
+                pub const m_branchPattern: usize = 0x48; // CSosGroupBranchPattern
+                pub const m_flLifeSpanTime: usize = 0x58; // float32
+                pub const m_vActions: usize = 0xC0; // CSosGroupActionSchema*[4]
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupBranchPattern {
+                pub const m_bMatchEventName: usize = 0x8; // bool
+                pub const m_bMatchEventSubString: usize = 0x9; // bool
+                pub const m_bMatchEntIndex: usize = 0xA; // bool
+                pub const m_bMatchOpvar: usize = 0xB; // bool
+                pub const m_bMatchString: usize = 0xC; // bool
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixDynamics3BandDesc_t {
+                pub const m_fldbGainOutput: usize = 0x0; // float32
+                pub const m_flRMSTimeMS: usize = 0x4; // float32
+                pub const m_fldbKneeWidth: usize = 0x8; // float32
+                pub const m_flDepth: usize = 0xC; // float32
+                pub const m_flWetMix: usize = 0x10; // float32
+                pub const m_flTimeScale: usize = 0x14; // float32
+                pub const m_flLowCutoffFreq: usize = 0x18; // float32
+                pub const m_flHighCutoffFreq: usize = 0x1C; // float32
+                pub const m_bPeakMode: usize = 0x20; // bool
+                pub const m_bandDesc: usize = 0x24; // VMixDynamicsBand_t[3]
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDSPMixgroupModifier {
+                pub const m_mixgroup: usize = 0x0; // CUtlString
+                pub const m_flModifier: usize = 0x8; // float32
+                pub const m_flModifierMin: usize = 0xC; // float32
+                pub const m_flSourceModifier: usize = 0x10; // float32
+                pub const m_flSourceModifierMin: usize = 0x14; // float32
+                pub const m_flListenerReverbModifierWhenSourceReverbIsActive: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAudioMorphData {
+                pub const m_times: usize = 0x0; // CUtlVector<float32>
+                pub const m_nameHashCodes: usize = 0x18; // CUtlVector<uint32>
+                pub const m_nameStrings: usize = 0x30; // CUtlVector<CUtlString>
+                pub const m_samples: usize = 0x48; // CUtlVector<CUtlVector<float32>>
+                pub const m_flEaseIn: usize = 0x60; // float32
+                pub const m_flEaseOut: usize = 0x64; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerStaticAdditiveSynth {
+                pub const m_tones: usize = 0xC0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerShapedNoise {
+                pub const m_bUseCurveForFrequency: usize = 0xC0; // bool
+                pub const m_flFrequency: usize = 0xC4; // float32
+                pub const m_frequencySweep: usize = 0xC8; // CPiecewiseCurve
+                pub const m_bUseCurveForResonance: usize = 0x108; // bool
+                pub const m_flResonance: usize = 0x10C; // float32
+                pub const m_resonanceSweep: usize = 0x110; // CPiecewiseCurve
+                pub const m_bUseCurveForAmplitude: usize = 0x150; // bool
+                pub const m_flGainInDecibels: usize = 0x154; // float32
+                pub const m_gainSweep: usize = 0x158; // CPiecewiseCurve
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CDspPresetModifierList {
+                pub const m_dspName: usize = 0x0; // CUtlString
+                pub const m_modifiers: usize = 0x8; // CUtlVector<CDSPMixgroupModifier>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MVDataNodeType
+            // MVDataFileExtension
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerBase {
+                pub const m_vSound: usize = 0x38; // CVSound
+                pub const m_pEnvelopeAnalyzer: usize = 0xB8; // CVoiceContainerAnalysisBase*
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            pub mod CVoiceContainerGranulator {
+                pub const m_flGrainLength: usize = 0xC0; // float32
+                pub const m_flGrainCrossfadeAmount: usize = 0xC4; // float32
+                pub const m_flStartJitter: usize = 0xC8; // float32
+                pub const m_flPlaybackJitter: usize = 0xCC; // float32
+                pub const m_sourceAudio: usize = 0xD0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixDelayDesc_t {
+                pub const m_feedbackFilter: usize = 0x0; // VMixFilterDesc_t
+                pub const m_bEnableFilter: usize = 0x10; // bool
+                pub const m_flDelay: usize = 0x14; // float32
+                pub const m_flDirectGain: usize = 0x18; // float32
+                pub const m_flDelayGain: usize = 0x1C; // float32
+                pub const m_flFeedbackGain: usize = 0x20; // float32
+                pub const m_flWidth: usize = 0x24; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixEQ8Desc_t {
+                pub const m_stages: usize = 0x0; // VMixFilterDesc_t[8]
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAudioPhonemeTag {
+                pub const m_flStartTime: usize = 0x0; // float32
+                pub const m_flEndTime: usize = 0x4; // float32
+                pub const m_nPhonemeCode: usize = 0x8; // int32
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionSoundeventCountSchema {
+                pub const m_bExcludeStoppedSounds: usize = 0x18; // bool
+                pub const m_strCountKeyName: usize = 0x20; // CUtlString
+            }
+            // Parent: CVoiceContainerAnalysisBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerEnvelopeAnalyzer {
+                pub const m_mode: usize = 0x50; // EMode_t
+                pub const m_nSamples: usize = 0x54; // int32
+                pub const m_flThreshold: usize = 0x58; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSoundEventMetaData {
+                pub const m_soundEventVMix: usize = 0x0; // CStrongHandle<InfoForResourceTypeCVMixListResource>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixPitchShiftDesc_t {
+                pub const m_nGrainSampleCount: usize = 0x0; // int32
+                pub const m_flPitchShift: usize = 0x4; // float32
+                pub const m_nQuality: usize = 0x8; // int32
+                pub const m_nProcType: usize = 0xC; // int32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAudioEmphasisSample {
+                pub const m_flTime: usize = 0x0; // float32
+                pub const m_flValue: usize = 0x4; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerSet {
+                pub const m_soundsToPlay: usize = 0xC0; // CUtlVector<CVoiceContainerSetElement>
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixConvolutionDesc_t {
+                pub const m_fldbGain: usize = 0x0; // float32
+                pub const m_flPreDelayMS: usize = 0x4; // float32
+                pub const m_flWetMix: usize = 0x8; // float32
+                pub const m_fldbLow: usize = 0xC; // float32
+                pub const m_fldbMid: usize = 0x10; // float32
+                pub const m_fldbHigh: usize = 0x14; // float32
+                pub const m_flLowCutoffFreq: usize = 0x18; // float32
+                pub const m_flHighCutoffFreq: usize = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVoiceContainerSetElement {
+                pub const m_sound: usize = 0x0; // CSoundContainerReference
+                pub const m_flVolumeDB: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSoundInfoHeader {
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosSoundEventGroupListSchema {
+                pub const m_groupList: usize = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
+            }
+            // Parent: CSosGroupBranchPattern
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupMatchPattern {
+                pub const m_matchSoundEventName: usize = 0x10; // CUtlString
+                pub const m_matchSoundEventSubString: usize = 0x18; // CUtlString
+                pub const m_flEntIndex: usize = 0x20; // float32
+                pub const m_flOpvar: usize = 0x24; // float32
+                pub const m_opvarString: usize = 0x28; // CUtlString
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SosEditItemInfo_t {
+                pub const itemType: usize = 0x0; // SosEditItemType_t
+                pub const itemName: usize = 0x8; // CUtlString
+                pub const itemTypeName: usize = 0x10; // CUtlString
+                pub const itemKVString: usize = 0x20; // CUtlString
+                pub const itemPos: usize = 0x28; // Vector2D
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixPlateverbDesc_t {
+                pub const m_flPrefilter: usize = 0x0; // float32
+                pub const m_flInputDiffusion1: usize = 0x4; // float32
+                pub const m_flInputDiffusion2: usize = 0x8; // float32
+                pub const m_flDecay: usize = 0xC; // float32
+                pub const m_flDamp: usize = 0x10; // float32
+                pub const m_flFeedbackDiffusion1: usize = 0x14; // float32
+                pub const m_flFeedbackDiffusion2: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CSoundContainerReferenceArray {
+                pub const m_bUseReference: usize = 0x0; // bool
+                pub const m_sounds: usize = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
+                pub const m_pSounds: usize = 0x20; // CUtlVector<CVoiceContainerBase*>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixDiffusorDesc_t {
+                pub const m_flSize: usize = 0x0; // float32
+                pub const m_flComplexity: usize = 0x4; // float32
+                pub const m_flFeedback: usize = 0x8; // float32
+                pub const m_flOutputGain: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixDynamicsCompressorDesc_t {
+                pub const m_fldbOutputGain: usize = 0x0; // float32
+                pub const m_fldbCompressionThreshold: usize = 0x4; // float32
+                pub const m_fldbKneeWidth: usize = 0x8; // float32
+                pub const m_flCompressionRatio: usize = 0xC; // float32
+                pub const m_flAttackTimeMS: usize = 0x10; // float32
+                pub const m_flReleaseTimeMS: usize = 0x14; // float32
+                pub const m_flRMSTimeMS: usize = 0x18; // float32
+                pub const m_flWetMix: usize = 0x1C; // float32
+                pub const m_bPeakMode: usize = 0x20; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixShaperDesc_t {
+                pub const m_nShape: usize = 0x0; // int32
+                pub const m_fldbDrive: usize = 0x4; // float32
+                pub const m_fldbOutputGain: usize = 0x8; // float32
+                pub const m_flWetMix: usize = 0xC; // float32
+                pub const m_nOversampleFactor: usize = 0x10; // int32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixEnvelopeDesc_t {
+                pub const m_flAttackTimeMS: usize = 0x0; // float32
+                pub const m_flHoldTimeMS: usize = 0x4; // float32
+                pub const m_flReleaseTimeMS: usize = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CAudioSentence {
+                pub const m_bShouldVoiceDuck: usize = 0x0; // bool
+                pub const m_RunTimePhonemes: usize = 0x8; // CUtlVector<CAudioPhonemeTag>
+                pub const m_EmphasisSamples: usize = 0x20; // CUtlVector<CAudioEmphasisSample>
+                pub const m_morphData: usize = 0x38; // CAudioMorphData
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionLimitSchema {
+                pub const m_nMaxCount: usize = 0x18; // int32
+                pub const m_nStopType: usize = 0x1C; // SosActionStopType_t
+                pub const m_nSortType: usize = 0x20; // SosActionSortType_t
+            }
+            // Parent: CVoiceContainerDecayingSineWave
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerAmpedDecayingSineWave {
+                pub const m_flGainAmount: usize = 0xC8; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerEnvelope {
+                pub const m_sound: usize = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+                pub const m_analysisContainer: usize = 0xC8; // CVoiceContainerAnalysisBase*
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixAutoFilterDesc_t {
+                pub const m_flEnvelopeAmount: usize = 0x0; // float32
+                pub const m_flAttackTimeMS: usize = 0x4; // float32
+                pub const m_flReleaseTimeMS: usize = 0x8; // float32
+                pub const m_filter: usize = 0xC; // VMixFilterDesc_t
+                pub const m_flLFOAmount: usize = 0x1C; // float32
+                pub const m_flLFORate: usize = 0x20; // float32
+                pub const m_flPhase: usize = 0x24; // float32
+                pub const m_nLFOShape: usize = 0x28; // VMixLFOShape_t
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixDynamicsBand_t {
+                pub const m_fldbGainInput: usize = 0x0; // float32
+                pub const m_fldbGainOutput: usize = 0x4; // float32
+                pub const m_fldbThresholdBelow: usize = 0x8; // float32
+                pub const m_fldbThresholdAbove: usize = 0xC; // float32
+                pub const m_flRatioBelow: usize = 0x10; // float32
+                pub const m_flRatioAbove: usize = 0x14; // float32
+                pub const m_flAttackTimeMS: usize = 0x18; // float32
+                pub const m_flReleaseTimeMS: usize = 0x1C; // float32
+                pub const m_bEnable: usize = 0x20; // bool
+                pub const m_bSolo: usize = 0x21; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixEffectChainDesc_t {
+                pub const m_flCrossfadeTime: usize = 0x0; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance {
+                pub const m_flMinVolume: usize = 0x0; // float32
+                pub const m_nInstancesAtMinVolume: usize = 0x4; // int32
+                pub const m_flMaxVolume: usize = 0x8; // float32
+                pub const m_nInstancesAtMaxVolume: usize = 0xC; // int32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerSelector {
+                pub const m_mode: usize = 0xC0; // PlayBackMode_t
+                pub const m_soundsToPlay: usize = 0xC8; // CSoundContainerReferenceArray
+                pub const m_fProbabilityWeights: usize = 0x100; // CUtlVector<float32>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionTimeBlockLimitSchema {
+                pub const m_nMaxCount: usize = 0x18; // int32
+                pub const m_flMaxDuration: usize = 0x1C; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CTestBlendContainer {
+                pub const m_firstSound: usize = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+                pub const m_secondSound: usize = 0xC8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionMemberCountEnvelopeSchema {
+                pub const m_nBaseCount: usize = 0x18; // int32
+                pub const m_nTargetCount: usize = 0x1C; // int32
+                pub const m_flBaseValue: usize = 0x20; // float32
+                pub const m_flTargetValue: usize = 0x24; // float32
+                pub const m_flAttack: usize = 0x28; // float32
+                pub const m_flDecay: usize = 0x2C; // float32
+                pub const m_resultVarName: usize = 0x30; // CUtlString
+                pub const m_bSaveToGroup: usize = 0x38; // bool
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerSwitch {
+                pub const m_soundsToPlay: usize = 0xC0; // CUtlVector<CSoundContainerReference>
+            }
+            // Parent: CSosGroupActionSchema
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CSosGroupActionTimeLimitSchema {
+                pub const m_flMaxDuration: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixVocoderDesc_t {
+                pub const m_nBandCount: usize = 0x0; // int32
+                pub const m_flBandwidth: usize = 0x4; // float32
+                pub const m_fldBModGain: usize = 0x8; // float32
+                pub const m_flFreqRangeStart: usize = 0xC; // float32
+                pub const m_flFreqRangeEnd: usize = 0x10; // float32
+                pub const m_fldBUnvoicedGain: usize = 0x14; // float32
+                pub const m_flAttackTimeMS: usize = 0x18; // float32
+                pub const m_flReleaseTimeMS: usize = 0x1C; // float32
+                pub const m_nDebugBand: usize = 0x20; // int32
+                pub const m_bPeakMode: usize = 0x24; // bool
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixUtilityDesc_t {
+                pub const m_nOp: usize = 0x0; // VMixChannelOperation_t
+                pub const m_flInputPan: usize = 0x4; // float32
+                pub const m_flOutputBalance: usize = 0x8; // float32
+                pub const m_fldbOutputGain: usize = 0xC; // float32
+                pub const m_bBassMono: usize = 0x10; // bool
+                pub const m_flBassFreq: usize = 0x14; // float32
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerLoopTrigger {
+                pub const m_sound: usize = 0xC0; // CSoundContainerReference
+                pub const m_flRetriggerTimeMin: usize = 0xD8; // float32
+                pub const m_flRetriggerTimeMax: usize = 0xDC; // float32
+                pub const m_flFadeTime: usize = 0xE0; // float32
+                pub const m_bCrossFade: usize = 0xE4; // bool
+            }
+            // Parent: CVoiceContainerBase
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            // MPropertyFriendlyName
+            // MPropertyDescription
+            pub mod CVoiceContainerDecayingSineWave {
+                pub const m_flFrequency: usize = 0xC0; // float32
+                pub const m_flDecayTime: usize = 0xC4; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixFilterDesc_t {
+                pub const m_nFilterType: usize = 0x0; // VMixFilterType_t
+                pub const m_nFilterSlope: usize = 0x2; // VMixFilterSlope_t
+                pub const m_bEnabled: usize = 0x3; // bool
+                pub const m_fldbGain: usize = 0x4; // float32
+                pub const m_flCutoffFreq: usize = 0x8; // float32
+                pub const m_flQ: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixOscDesc_t {
+                pub const oscType: usize = 0x0; // VMixLFOShape_t
+                pub const m_freq: usize = 0x4; // float32
+                pub const m_flPhase: usize = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VMixDynamicsDesc_t {
+                pub const m_fldbGain: usize = 0x0; // float32
+                pub const m_fldbNoiseGateThreshold: usize = 0x4; // float32
+                pub const m_fldbCompressionThreshold: usize = 0x8; // float32
+                pub const m_fldbLimiterThreshold: usize = 0xC; // float32
+                pub const m_fldbKneeWidth: usize = 0x10; // float32
+                pub const m_flRatio: usize = 0x14; // float32
+                pub const m_flLimiterRatio: usize = 0x18; // float32
+                pub const m_flAttackTimeMS: usize = 0x1C; // float32
+                pub const m_flReleaseTimeMS: usize = 0x20; // float32
+                pub const m_flRMSTimeMS: usize = 0x24; // float32
+                pub const m_flWetMix: usize = 0x28; // float32
+                pub const m_bPeakMode: usize = 0x2C; // bool
+            }
+        }
+    }
+}
diff --git a/output/vphysics2_dll.cs b/output/vphysics2_dll.cs
new file mode 100644
index 0000000..c73f8d0
--- /dev/null
+++ b/output/vphysics2_dll.cs
@@ -0,0 +1,1200 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: vphysics2.dll
+    // Class count: 94
+    // Enum count: 2
+    public static class Vphysics2Dll {
+        // Alignment: 4
+        // Member count: 3
+        public enum JointMotion_t : uint {
+            JOINT_MOTION_FREE = 0x0,
+            JOINT_MOTION_LOCKED = 0x1,
+            JOINT_MOTION_COUNT = 0x2
+        }
+        // Alignment: 4
+        // Member count: 4
+        public enum JointAxis_t : uint {
+            JOINT_AXIS_X = 0x0,
+            JOINT_AXIS_Y = 0x1,
+            JOINT_AXIS_Z = 0x2,
+            JOINT_AXIS_COUNT = 0x3
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnSoftbodySpring_t {
+            public const nint m_nParticle = 0x0; // uint16[2]
+            public const nint m_flLength = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnSoftbodyParticle_t {
+            public const nint m_flMassInv = 0x0; // float32
+        }
+        // Parent: RnShapeDesc_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnHullDesc_t {
+            public const nint m_Hull = 0x18; // RnHull_t
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnSoftbodyCapsule_t {
+            public const nint m_vCenter = 0x0; // Vector[2]
+            public const nint m_flRadius = 0x18; // float32
+            public const nint m_nParticle = 0x1C; // uint16[2]
+        }
+        // Parent: RnShapeDesc_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnCapsuleDesc_t {
+            public const nint m_Capsule = 0x18; // RnCapsule_t
+        }
+        // Parent: RnShapeDesc_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnSphereDesc_t {
+            public const nint m_Sphere = 0x18; // SphereBase_t<float32>
+        }
+        // Parent: RnShapeDesc_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnMeshDesc_t {
+            public const nint m_Mesh = 0x18; // RnMesh_t
+        }
+        // Parent: None
+        // Field count: 106
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PhysFeModelDesc_t {
+            public const nint m_CtrlHash = 0x0; // CUtlVector<uint32>
+            public const nint m_CtrlName = 0x18; // CUtlVector<CUtlString>
+            public const nint m_nStaticNodeFlags = 0x30; // uint32
+            public const nint m_nDynamicNodeFlags = 0x34; // uint32
+            public const nint m_flLocalForce = 0x38; // float32
+            public const nint m_flLocalRotation = 0x3C; // float32
+            public const nint m_nNodeCount = 0x40; // uint16
+            public const nint m_nStaticNodes = 0x42; // uint16
+            public const nint m_nRotLockStaticNodes = 0x44; // uint16
+            public const nint m_nFirstPositionDrivenNode = 0x46; // uint16
+            public const nint m_nSimdTriCount1 = 0x48; // uint16
+            public const nint m_nSimdTriCount2 = 0x4A; // uint16
+            public const nint m_nSimdQuadCount1 = 0x4C; // uint16
+            public const nint m_nSimdQuadCount2 = 0x4E; // uint16
+            public const nint m_nQuadCount1 = 0x50; // uint16
+            public const nint m_nQuadCount2 = 0x52; // uint16
+            public const nint m_nTreeDepth = 0x54; // uint16
+            public const nint m_nNodeBaseJiggleboneDependsCount = 0x56; // uint16
+            public const nint m_nRopeCount = 0x58; // uint16
+            public const nint m_Ropes = 0x60; // CUtlVector<uint16>
+            public const nint m_NodeBases = 0x78; // CUtlVector<FeNodeBase_t>
+            public const nint m_SimdNodeBases = 0x90; // CUtlVector<FeSimdNodeBase_t>
+            public const nint m_Quads = 0xA8; // CUtlVector<FeQuad_t>
+            public const nint m_SimdQuads = 0xC0; // CUtlVector<FeSimdQuad_t>
+            public const nint m_SimdTris = 0xD8; // CUtlVector<FeSimdTri_t>
+            public const nint m_SimdRods = 0xF0; // CUtlVector<FeSimdRodConstraint_t>
+            public const nint m_SimdRodsAnim = 0x108; // CUtlVector<FeSimdRodConstraintAnim_t>
+            public const nint m_InitPose = 0x120; // CUtlVector<CTransform>
+            public const nint m_Rods = 0x138; // CUtlVector<FeRodConstraint_t>
+            public const nint m_Twists = 0x150; // CUtlVector<FeTwistConstraint_t>
+            public const nint m_HingeLimits = 0x168; // CUtlVector<FeHingeLimit_t>
+            public const nint m_AntiTunnelProbes = 0x180; // CUtlVector<FeAntiTunnelProbe_t>
+            public const nint m_AntiTunnelTargetNodes = 0x198; // CUtlVector<uint16>
+            public const nint m_AxialEdges = 0x1B0; // CUtlVector<FeAxialEdgeBend_t>
+            public const nint m_NodeInvMasses = 0x1C8; // CUtlVector<float32>
+            public const nint m_CtrlOffsets = 0x1E0; // CUtlVector<FeCtrlOffset_t>
+            public const nint m_CtrlOsOffsets = 0x1F8; // CUtlVector<FeCtrlOsOffset_t>
+            public const nint m_FollowNodes = 0x210; // CUtlVector<FeFollowNode_t>
+            public const nint m_CollisionPlanes = 0x228; // CUtlVector<FeCollisionPlane_t>
+            public const nint m_NodeIntegrator = 0x240; // CUtlVector<FeNodeIntegrator_t>
+            public const nint m_SpringIntegrator = 0x258; // CUtlVector<FeSpringIntegrator_t>
+            public const nint m_SimdSpringIntegrator = 0x270; // CUtlVector<FeSimdSpringIntegrator_t>
+            public const nint m_WorldCollisionParams = 0x288; // CUtlVector<FeWorldCollisionParams_t>
+            public const nint m_LegacyStretchForce = 0x2A0; // CUtlVector<float32>
+            public const nint m_NodeCollisionRadii = 0x2B8; // CUtlVector<float32>
+            public const nint m_DynNodeFriction = 0x2D0; // CUtlVector<float32>
+            public const nint m_LocalRotation = 0x2E8; // CUtlVector<float32>
+            public const nint m_LocalForce = 0x300; // CUtlVector<float32>
+            public const nint m_TaperedCapsuleStretches = 0x318; // CUtlVector<FeTaperedCapsuleStretch_t>
+            public const nint m_TaperedCapsuleRigids = 0x330; // CUtlVector<FeTaperedCapsuleRigid_t>
+            public const nint m_SphereRigids = 0x348; // CUtlVector<FeSphereRigid_t>
+            public const nint m_WorldCollisionNodes = 0x360; // CUtlVector<uint16>
+            public const nint m_TreeParents = 0x378; // CUtlVector<uint16>
+            public const nint m_TreeCollisionMasks = 0x390; // CUtlVector<uint16>
+            public const nint m_TreeChildren = 0x3A8; // CUtlVector<FeTreeChildren_t>
+            public const nint m_FreeNodes = 0x3C0; // CUtlVector<uint16>
+            public const nint m_FitMatrices = 0x3D8; // CUtlVector<FeFitMatrix_t>
+            public const nint m_FitWeights = 0x3F0; // CUtlVector<FeFitWeight_t>
+            public const nint m_ReverseOffsets = 0x408; // CUtlVector<FeNodeReverseOffset_t>
+            public const nint m_AnimStrayRadii = 0x420; // CUtlVector<FeAnimStrayRadius_t>
+            public const nint m_SimdAnimStrayRadii = 0x438; // CUtlVector<FeSimdAnimStrayRadius_t>
+            public const nint m_KelagerBends = 0x450; // CUtlVector<FeKelagerBend2_t>
+            public const nint m_CtrlSoftOffsets = 0x468; // CUtlVector<FeCtrlSoftOffset_t>
+            public const nint m_JiggleBones = 0x480; // CUtlVector<CFeIndexedJiggleBone>
+            public const nint m_SourceElems = 0x498; // CUtlVector<uint16>
+            public const nint m_GoalDampedSpringIntegrators = 0x4B0; // CUtlVector<uint32>
+            public const nint m_Tris = 0x4C8; // CUtlVector<FeTri_t>
+            public const nint m_nTriCount1 = 0x4E0; // uint16
+            public const nint m_nTriCount2 = 0x4E2; // uint16
+            public const nint m_nReservedUint8 = 0x4E4; // uint8
+            public const nint m_nExtraPressureIterations = 0x4E5; // uint8
+            public const nint m_nExtraGoalIterations = 0x4E6; // uint8
+            public const nint m_nExtraIterations = 0x4E7; // uint8
+            public const nint m_SDFRigids = 0x4E8; // CUtlVector<FeSDFRigid_t>
+            public const nint m_BoxRigids = 0x500; // CUtlVector<FeBoxRigid_t>
+            public const nint m_DynNodeVertexSet = 0x518; // CUtlVector<uint8>
+            public const nint m_VertexSetNames = 0x530; // CUtlVector<uint32>
+            public const nint m_RigidColliderPriorities = 0x548; // CUtlVector<FeRigidColliderIndices_t>
+            public const nint m_MorphLayers = 0x560; // CUtlVector<FeMorphLayerDepr_t>
+            public const nint m_MorphSetData = 0x578; // CUtlVector<uint8>
+            public const nint m_VertexMaps = 0x590; // CUtlVector<FeVertexMapDesc_t>
+            public const nint m_VertexMapValues = 0x5A8; // CUtlVector<uint8>
+            public const nint m_Effects = 0x5C0; // CUtlVector<FeEffectDesc_t>
+            public const nint m_LockToParent = 0x5D8; // CUtlVector<FeCtrlOffset_t>
+            public const nint m_LockToGoal = 0x5F0; // CUtlVector<uint16>
+            public const nint m_SkelParents = 0x608; // CUtlVector<int16>
+            public const nint m_DynNodeWindBases = 0x620; // CUtlVector<FeNodeWindBase_t>
+            public const nint m_flInternalPressure = 0x638; // float32
+            public const nint m_flDefaultTimeDilation = 0x63C; // float32
+            public const nint m_flWindage = 0x640; // float32
+            public const nint m_flWindDrag = 0x644; // float32
+            public const nint m_flDefaultSurfaceStretch = 0x648; // float32
+            public const nint m_flDefaultThreadStretch = 0x64C; // float32
+            public const nint m_flDefaultGravityScale = 0x650; // float32
+            public const nint m_flDefaultVelAirDrag = 0x654; // float32
+            public const nint m_flDefaultExpAirDrag = 0x658; // float32
+            public const nint m_flDefaultVelQuadAirDrag = 0x65C; // float32
+            public const nint m_flDefaultExpQuadAirDrag = 0x660; // float32
+            public const nint m_flRodVelocitySmoothRate = 0x664; // float32
+            public const nint m_flQuadVelocitySmoothRate = 0x668; // float32
+            public const nint m_flAddWorldCollisionRadius = 0x66C; // float32
+            public const nint m_flDefaultVolumetricSolveAmount = 0x670; // float32
+            public const nint m_flMotionSmoothCDT = 0x674; // float32
+            public const nint m_flLocalDrag1 = 0x678; // float32
+            public const nint m_nRodVelocitySmoothIterations = 0x67C; // uint16
+            public const nint m_nQuadVelocitySmoothIterations = 0x67E; // uint16
+        }
+        // Parent: RnBodyDesc_t
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class vphysics_save_cphysicsbody_t {
+            public const nint m_nOldPointer = 0xD0; // uint64
+        }
+        // Parent: FeBoxRigid_t
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeBuildBoxRigid_t {
+            public const nint m_nPriority = 0x40; // int32
+            public const nint m_nVertexMapHash = 0x44; // uint32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFeIndexedJiggleBone {
+            public const nint m_nNode = 0x0; // uint32
+            public const nint m_nJiggleParent = 0x4; // uint32
+            public const nint m_jiggleBone = 0x8; // CFeJiggleBone
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeBandBendLimit_t {
+            public const nint flDistMin = 0x0; // float32
+            public const nint flDistMax = 0x4; // float32
+            public const nint nNode = 0x8; // uint16[6]
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeTaperedCapsuleStretch_t {
+            public const nint nNode = 0x0; // uint16[2]
+            public const nint nCollisionMask = 0x4; // uint16
+            public const nint nDummy = 0x6; // uint16
+            public const nint flRadius = 0x8; // float32[2]
+        }
+        // Parent: None
+        // Field count: 4
+        public static class constraint_axislimit_t {
+            public const nint flMinRotation = 0x0; // float32
+            public const nint flMaxRotation = 0x4; // float32
+            public const nint flMotorTargetAngSpeed = 0x8; // float32
+            public const nint flMotorMaxTorque = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdRodConstraintAnim_t {
+            public const nint nNode = 0x0; // uint16[4][2]
+            public const nint f4Weight0 = 0x10; // fltx4
+            public const nint f4RelaxationFactor = 0x20; // fltx4
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdRodConstraint_t {
+            public const nint nNode = 0x0; // uint16[4][2]
+            public const nint f4MaxDist = 0x10; // fltx4
+            public const nint f4MinDist = 0x20; // fltx4
+            public const nint f4Weight0 = 0x30; // fltx4
+            public const nint f4RelaxationFactor = 0x40; // fltx4
+        }
+        // Parent: None
+        // Field count: 4
+        public static class constraint_hingeparams_t {
+            public const nint worldPosition = 0x0; // Vector
+            public const nint worldAxisDirection = 0xC; // Vector
+            public const nint hingeAxis = 0x18; // constraint_axislimit_t
+            public const nint constraint = 0x28; // constraint_breakableparams_t
+        }
+        // Parent: FeSphereRigid_t
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeBuildSphereRigid_t {
+            public const nint m_nPriority = 0x20; // int32
+            public const nint m_nVertexMapHash = 0x24; // uint32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdAnimStrayRadius_t {
+            public const nint nNode = 0x0; // uint16[4][2]
+            public const nint flMaxDist = 0x10; // fltx4
+            public const nint flRelaxationFactor = 0x20; // fltx4
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnTriangle_t {
+            public const nint m_nIndex = 0x0; // int32[3]
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeProxyVertexMap_t {
+            public const nint m_Name = 0x0; // CUtlString
+            public const nint m_flWeight = 0x8; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeNodeIntegrator_t {
+            public const nint flPointDamping = 0x0; // float32
+            public const nint flAnimationForceAttraction = 0x4; // float32
+            public const nint flAnimationVertexAttraction = 0x8; // float32
+            public const nint flGravity = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnCapsule_t {
+            public const nint m_vCenter = 0x0; // Vector[2]
+            public const nint m_flRadius = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFeNamedJiggleBone {
+            public const nint m_strParentBone = 0x0; // CUtlString
+            public const nint m_transform = 0x10; // CTransform
+            public const nint m_nJiggleParent = 0x30; // uint32
+            public const nint m_jiggleBone = 0x34; // CFeJiggleBone
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeAntiTunnelProbeBuild_t {
+            public const nint flWeight = 0x0; // float32
+            public const nint flActivationDistance = 0x4; // float32
+            public const nint flBias = 0x8; // float32
+            public const nint flCurvature = 0xC; // float32
+            public const nint nFlags = 0x10; // uint32
+            public const nint nProbeNode = 0x14; // uint16
+            public const nint targetNodes = 0x18; // CUtlVector<uint16>
+        }
+        // Parent: None
+        // Field count: 35
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnBodyDesc_t {
+            public const nint m_sDebugName = 0x0; // CUtlString
+            public const nint m_vPosition = 0x8; // Vector
+            public const nint m_qOrientation = 0x14; // QuaternionStorage
+            public const nint m_vLinearVelocity = 0x24; // Vector
+            public const nint m_vAngularVelocity = 0x30; // Vector
+            public const nint m_vLocalMassCenter = 0x3C; // Vector
+            public const nint m_LocalInertiaInv = 0x48; // Vector[3]
+            public const nint m_flMassInv = 0x6C; // float32
+            public const nint m_flGameMass = 0x70; // float32
+            public const nint m_flInertiaScaleInv = 0x74; // float32
+            public const nint m_flLinearDamping = 0x78; // float32
+            public const nint m_flAngularDamping = 0x7C; // float32
+            public const nint m_flLinearDrag = 0x80; // float32
+            public const nint m_flAngularDrag = 0x84; // float32
+            public const nint m_flLinearBuoyancyDrag = 0x88; // float32
+            public const nint m_flAngularBuoyancyDrag = 0x8C; // float32
+            public const nint m_vLastAwakeForceAccum = 0x90; // Vector
+            public const nint m_vLastAwakeTorqueAccum = 0x9C; // Vector
+            public const nint m_flBuoyancyFactor = 0xA8; // float32
+            public const nint m_flGravityScale = 0xAC; // float32
+            public const nint m_flTimeScale = 0xB0; // float32
+            public const nint m_nBodyType = 0xB4; // int32
+            public const nint m_nGameIndex = 0xB8; // uint32
+            public const nint m_nGameFlags = 0xBC; // uint32
+            public const nint m_nMinVelocityIterations = 0xC0; // int8
+            public const nint m_nMinPositionIterations = 0xC1; // int8
+            public const nint m_nMassPriority = 0xC2; // int8
+            public const nint m_bEnabled = 0xC3; // bool
+            public const nint m_bSleeping = 0xC4; // bool
+            public const nint m_bIsContinuousEnabled = 0xC5; // bool
+            public const nint m_bDragEnabled = 0xC6; // bool
+            public const nint m_bBuoyancyDragEnabled = 0xC7; // bool
+            public const nint m_bGravityDisabled = 0xC8; // bool
+            public const nint m_bSpeculativeEnabled = 0xC9; // bool
+            public const nint m_bHasShadowController = 0xCA; // bool
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class OldFeEdge_t {
+            public const nint m_flK = 0x0; // float32[3]
+            public const nint invA = 0xC; // float32
+            public const nint t = 0x10; // float32
+            public const nint flThetaRelaxed = 0x14; // float32
+            public const nint flThetaFactor = 0x18; // float32
+            public const nint c01 = 0x1C; // float32
+            public const nint c02 = 0x20; // float32
+            public const nint c03 = 0x24; // float32
+            public const nint c04 = 0x28; // float32
+            public const nint flAxialModelDist = 0x2C; // float32
+            public const nint flAxialModelWeights = 0x30; // float32[4]
+            public const nint m_nNode = 0x40; // uint16[4]
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeFollowNode_t {
+            public const nint nParentNode = 0x0; // uint16
+            public const nint nChildNode = 0x2; // uint16
+            public const nint flWeight = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnMesh_t {
+            public const nint m_vMin = 0x0; // Vector
+            public const nint m_vMax = 0xC; // Vector
+            public const nint m_Nodes = 0x18; // CUtlVector<RnNode_t>
+            public const nint m_Vertices = 0x30; // CUtlVectorSIMDPaddedVector
+            public const nint m_Triangles = 0x48; // CUtlVector<RnTriangle_t>
+            public const nint m_Wings = 0x60; // CUtlVector<RnWing_t>
+            public const nint m_Materials = 0x78; // CUtlVector<uint8>
+            public const nint m_vOrthographicAreas = 0x90; // Vector
+            public const nint m_nFlags = 0x9C; // uint32
+            public const nint m_nDebugFlags = 0xA0; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        public static class VertexPositionNormal_t {
+            public const nint m_vPosition = 0x0; // Vector
+            public const nint m_vNormal = 0xC; // Vector
+        }
+        // Parent: FeSDFRigid_t
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeBuildSDFRigid_t {
+            public const nint m_nPriority = 0x50; // int32
+            public const nint m_nVertexMapHash = 0x54; // uint32
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnBlendVertex_t {
+            public const nint m_nWeight0 = 0x0; // uint16
+            public const nint m_nIndex0 = 0x2; // uint16
+            public const nint m_nWeight1 = 0x4; // uint16
+            public const nint m_nIndex1 = 0x6; // uint16
+            public const nint m_nWeight2 = 0x8; // uint16
+            public const nint m_nIndex2 = 0xA; // uint16
+            public const nint m_nFlags = 0xC; // uint16
+            public const nint m_nTargetIndex = 0xE; // uint16
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFeMorphLayer {
+            public const nint m_Name = 0x0; // CUtlString
+            public const nint m_nNameHash = 0x8; // uint32
+            public const nint m_Nodes = 0x10; // CUtlVector<uint16>
+            public const nint m_InitPos = 0x28; // CUtlVector<Vector>
+            public const nint m_Gravity = 0x40; // CUtlVector<float32>
+            public const nint m_GoalStrength = 0x58; // CUtlVector<float32>
+            public const nint m_GoalDamping = 0x70; // CUtlVector<float32>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeCtrlSoftOffset_t {
+            public const nint nCtrlParent = 0x0; // uint16
+            public const nint nCtrlChild = 0x2; // uint16
+            public const nint vOffset = 0x4; // Vector
+            public const nint flAlpha = 0x10; // float32
+        }
+        // Parent: None
+        // Field count: 12
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeVertexMapDesc_t {
+            public const nint sName = 0x0; // CUtlString
+            public const nint nNameHash = 0x8; // uint32
+            public const nint nColor = 0xC; // uint32
+            public const nint nFlags = 0x10; // uint32
+            public const nint nVertexBase = 0x14; // uint16
+            public const nint nVertexCount = 0x16; // uint16
+            public const nint nMapOffset = 0x18; // uint32
+            public const nint nNodeListOffset = 0x1C; // uint32
+            public const nint vCenterOfMass = 0x20; // Vector
+            public const nint flVolumetricSolveStrength = 0x2C; // float32
+            public const nint nScaleSourceNode = 0x30; // int16
+            public const nint nNodeListCount = 0x32; // uint16
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeTaperedCapsuleRigid_t {
+            public const nint vSphere = 0x0; // fltx4[2]
+            public const nint nNode = 0x20; // uint16
+            public const nint nCollisionMask = 0x22; // uint16
+            public const nint nVertexMapIndex = 0x24; // uint16
+            public const nint nFlags = 0x26; // uint16
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeAnimStrayRadius_t {
+            public const nint nNode = 0x0; // uint16[2]
+            public const nint flMaxDist = 0x4; // float32
+            public const nint flRelaxationFactor = 0x8; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeEdgeDesc_t {
+            public const nint nEdge = 0x0; // uint16[2]
+            public const nint nSide = 0x4; // uint16[2][2]
+            public const nint nVirtElem = 0xC; // uint16[2]
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeNodeReverseOffset_t {
+            public const nint vOffset = 0x0; // Vector
+            public const nint nBoneCtrl = 0xC; // uint16
+            public const nint nTargetNode = 0xE; // uint16
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnPlane_t {
+            public const nint m_vNormal = 0x0; // Vector
+            public const nint m_flOffset = 0xC; // float32
+        }
+        // Parent: None
+        // Field count: 11
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSDFRigid_t {
+            public const nint vLocalMin = 0x0; // Vector
+            public const nint vLocalMax = 0xC; // Vector
+            public const nint flBounciness = 0x18; // float32
+            public const nint nNode = 0x1C; // uint16
+            public const nint nCollisionMask = 0x1E; // uint16
+            public const nint nVertexMapIndex = 0x20; // uint16
+            public const nint nFlags = 0x22; // uint16
+            public const nint m_Distances = 0x28; // CUtlVector<float32>
+            public const nint m_nWidth = 0x40; // int32
+            public const nint m_nHeight = 0x44; // int32
+            public const nint m_nDepth = 0x48; // int32
+        }
+        // Parent: None
+        // Field count: 35
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFeJiggleBone {
+            public const nint m_nFlags = 0x0; // uint32
+            public const nint m_flLength = 0x4; // float32
+            public const nint m_flTipMass = 0x8; // float32
+            public const nint m_flYawStiffness = 0xC; // float32
+            public const nint m_flYawDamping = 0x10; // float32
+            public const nint m_flPitchStiffness = 0x14; // float32
+            public const nint m_flPitchDamping = 0x18; // float32
+            public const nint m_flAlongStiffness = 0x1C; // float32
+            public const nint m_flAlongDamping = 0x20; // float32
+            public const nint m_flAngleLimit = 0x24; // float32
+            public const nint m_flMinYaw = 0x28; // float32
+            public const nint m_flMaxYaw = 0x2C; // float32
+            public const nint m_flYawFriction = 0x30; // float32
+            public const nint m_flYawBounce = 0x34; // float32
+            public const nint m_flMinPitch = 0x38; // float32
+            public const nint m_flMaxPitch = 0x3C; // float32
+            public const nint m_flPitchFriction = 0x40; // float32
+            public const nint m_flPitchBounce = 0x44; // float32
+            public const nint m_flBaseMass = 0x48; // float32
+            public const nint m_flBaseStiffness = 0x4C; // float32
+            public const nint m_flBaseDamping = 0x50; // float32
+            public const nint m_flBaseMinLeft = 0x54; // float32
+            public const nint m_flBaseMaxLeft = 0x58; // float32
+            public const nint m_flBaseLeftFriction = 0x5C; // float32
+            public const nint m_flBaseMinUp = 0x60; // float32
+            public const nint m_flBaseMaxUp = 0x64; // float32
+            public const nint m_flBaseUpFriction = 0x68; // float32
+            public const nint m_flBaseMinForward = 0x6C; // float32
+            public const nint m_flBaseMaxForward = 0x70; // float32
+            public const nint m_flBaseForwardFriction = 0x74; // float32
+            public const nint m_flRadius0 = 0x78; // float32
+            public const nint m_flRadius1 = 0x7C; // float32
+            public const nint m_vPoint0 = 0x80; // Vector
+            public const nint m_vPoint1 = 0x8C; // Vector
+            public const nint m_nCollisionMask = 0x98; // uint16
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CRegionSVM {
+            public const nint m_Planes = 0x0; // CUtlVector<RnPlane_t>
+            public const nint m_Nodes = 0x18; // CUtlVector<uint32>
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeWorldCollisionParams_t {
+            public const nint flWorldFriction = 0x0; // float32
+            public const nint flGroundFriction = 0x4; // float32
+            public const nint nListBegin = 0x8; // uint16
+            public const nint nListEnd = 0xA; // uint16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnNode_t {
+            public const nint m_vMin = 0x0; // Vector
+            public const nint m_nChildren = 0xC; // uint32
+            public const nint m_vMax = 0x10; // Vector
+            public const nint m_nTriangleOffset = 0x1C; // uint32
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeFitMatrix_t {
+            public const nint bone = 0x0; // CTransform
+            public const nint vCenter = 0x20; // Vector
+            public const nint nEnd = 0x2C; // uint16
+            public const nint nNode = 0x2E; // uint16
+            public const nint nBeginDynamic = 0x30; // uint16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdQuad_t {
+            public const nint nNode = 0x0; // uint16[4][4]
+            public const nint f4Slack = 0x20; // fltx4
+            public const nint vShape = 0x30; // FourVectors[4]
+            public const nint f4Weights = 0xF0; // fltx4[4]
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdSpringIntegrator_t {
+            public const nint nNode = 0x0; // uint16[4][2]
+            public const nint flSpringRestLength = 0x10; // fltx4
+            public const nint flSpringConstant = 0x20; // fltx4
+            public const nint flSpringDamping = 0x30; // fltx4
+            public const nint flNodeWeight0 = 0x40; // fltx4
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdNodeBase_t {
+            public const nint nNode = 0x0; // uint16[4]
+            public const nint nNodeX0 = 0x8; // uint16[4]
+            public const nint nNodeX1 = 0x10; // uint16[4]
+            public const nint nNodeY0 = 0x18; // uint16[4]
+            public const nint nNodeY1 = 0x20; // uint16[4]
+            public const nint nDummy = 0x28; // uint16[4]
+            public const nint qAdjust = 0x30; // FourQuaternions
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeQuad_t {
+            public const nint nNode = 0x0; // uint16[4]
+            public const nint flSlack = 0x8; // float32
+            public const nint vShape = 0xC; // Vector4D[4]
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeHingeLimit_t {
+            public const nint nNode = 0x0; // uint16[6]
+            public const nint nFlags = 0xC; // uint32
+            public const nint flWeight4 = 0x10; // float32
+            public const nint flWeight5 = 0x14; // float32
+            public const nint flAngleCenter = 0x18; // float32
+            public const nint flAngleExtents = 0x1C; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnWing_t {
+            public const nint m_nIndex = 0x0; // int32[3]
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeWeightedNode_t {
+            public const nint nNode = 0x0; // uint16
+            public const nint nWeight = 0x2; // uint16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeEffectDesc_t {
+            public const nint sName = 0x0; // CUtlString
+            public const nint nNameHash = 0x8; // uint32
+            public const nint nType = 0xC; // int32
+            public const nint m_Params = 0x10; // KeyValues3
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSpringIntegrator_t {
+            public const nint nNode = 0x0; // uint16[2]
+            public const nint flSpringRestLength = 0x4; // float32
+            public const nint flSpringConstant = 0x8; // float32
+            public const nint flSpringDamping = 0xC; // float32
+            public const nint flNodeWeight0 = 0x10; // float32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FourVectors2D {
+            public const nint x = 0x0; // fltx4
+            public const nint y = 0x10; // fltx4
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeKelagerBend2_t {
+            public const nint flWeight = 0x0; // float32[3]
+            public const nint flHeight0 = 0xC; // float32
+            public const nint nNode = 0x10; // uint16[3]
+            public const nint nReserved = 0x16; // uint16
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CastSphereSATParams_t {
+            public const nint m_vRayStart = 0x0; // Vector
+            public const nint m_vRayDelta = 0xC; // Vector
+            public const nint m_flRadius = 0x18; // float32
+            public const nint m_flMaxFraction = 0x1C; // float32
+            public const nint m_flScale = 0x20; // float32
+            public const nint m_pHull = 0x28; // RnHull_t*
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeRigidColliderIndices_t {
+            public const nint m_nTaperedCapsuleRigidIndex = 0x0; // uint16
+            public const nint m_nSphereRigidIndex = 0x2; // uint16
+            public const nint m_nBoxRigidIndex = 0x4; // uint16
+            public const nint m_nSDFRigidIndex = 0x6; // uint16
+            public const nint m_nCollisionPlaneIndex = 0x8; // uint16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeCollisionPlane_t {
+            public const nint nCtrlParent = 0x0; // uint16
+            public const nint nChildNode = 0x2; // uint16
+            public const nint m_Plane = 0x4; // RnPlane_t
+            public const nint flStrength = 0x14; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeStiffHingeBuild_t {
+            public const nint flMaxAngle = 0x0; // float32
+            public const nint flStrength = 0x4; // float32
+            public const nint flMotionBias = 0x8; // float32[3]
+            public const nint nNode = 0x14; // uint16[3]
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeBoxRigid_t {
+            public const nint tmFrame2 = 0x0; // CTransform
+            public const nint nNode = 0x20; // uint16
+            public const nint nCollisionMask = 0x22; // uint16
+            public const nint vSize = 0x24; // Vector
+            public const nint nVertexMapIndex = 0x30; // uint16
+            public const nint nFlags = 0x32; // uint16
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeMorphLayerDepr_t {
+            public const nint m_Name = 0x0; // CUtlString
+            public const nint m_nNameHash = 0x8; // uint32
+            public const nint m_Nodes = 0x10; // CUtlVector<uint16>
+            public const nint m_InitPos = 0x28; // CUtlVector<Vector>
+            public const nint m_Gravity = 0x40; // CUtlVector<float32>
+            public const nint m_GoalStrength = 0x58; // CUtlVector<float32>
+            public const nint m_GoalDamping = 0x70; // CUtlVector<float32>
+            public const nint m_nFlags = 0x88; // uint32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeCtrlOffset_t {
+            public const nint vOffset = 0x0; // Vector
+            public const nint nCtrlParent = 0xC; // uint16
+            public const nint nCtrlChild = 0xE; // uint16
+        }
+        // Parent: None
+        // Field count: 0
+        public static class IPhysicsPlayerController {
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeNodeBase_t {
+            public const nint nNode = 0x0; // uint16
+            public const nint nDummy = 0x2; // uint16[3]
+            public const nint nNodeX0 = 0x8; // uint16
+            public const nint nNodeX1 = 0xA; // uint16
+            public const nint nNodeY0 = 0xC; // uint16
+            public const nint nNodeY1 = 0xE; // uint16
+            public const nint qAdjust = 0x10; // QuaternionStorage
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeVertexMapBuild_t {
+            public const nint m_VertexMapName = 0x0; // CUtlString
+            public const nint m_nNameHash = 0x8; // uint32
+            public const nint m_Color = 0xC; // Color
+            public const nint m_flVolumetricSolveStrength = 0x10; // float32
+            public const nint m_nScaleSourceNode = 0x14; // int32
+            public const nint m_Weights = 0x18; // CUtlVector<float32>
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CFeVertexMapBuildArray {
+            public const nint m_Array = 0x0; // CUtlVector<FeVertexMapBuild_t*>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeTri_t {
+            public const nint nNode = 0x0; // uint16[3]
+            public const nint w1 = 0x8; // float32
+            public const nint w2 = 0xC; // float32
+            public const nint v1x = 0x10; // float32
+            public const nint v2 = 0x14; // Vector2D
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnHull_t {
+            public const nint m_vCentroid = 0x0; // Vector
+            public const nint m_flMaxAngularRadius = 0xC; // float32
+            public const nint m_Bounds = 0x10; // AABB_t
+            public const nint m_vOrthographicAreas = 0x28; // Vector
+            public const nint m_MassProperties = 0x34; // matrix3x4_t
+            public const nint m_flVolume = 0x64; // float32
+            public const nint m_flSurfaceArea = 0x68; // float32
+            public const nint m_Vertices = 0x70; // CUtlVector<RnVertex_t>
+            public const nint m_VertexPositions = 0x88; // CUtlVector<Vector>
+            public const nint m_Edges = 0xA0; // CUtlVector<RnHalfEdge_t>
+            public const nint m_Faces = 0xB8; // CUtlVector<RnFace_t>
+            public const nint m_FacePlanes = 0xD0; // CUtlVector<RnPlane_t>
+            public const nint m_nFlags = 0xE8; // uint32
+            public const nint m_pRegionSVM = 0xF0; // CRegionSVM*
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CovMatrix3 {
+            public const nint m_vDiag = 0x0; // Vector
+            public const nint m_flXY = 0xC; // float32
+            public const nint m_flXZ = 0x10; // float32
+            public const nint m_flYZ = 0x14; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnVertex_t {
+            public const nint m_nEdge = 0x0; // uint8
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class Dop26_t {
+            public const nint m_flSupport = 0x0; // float32[26]
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnFace_t {
+            public const nint m_nEdge = 0x0; // uint8
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeCtrlOsOffset_t {
+            public const nint nCtrlParent = 0x0; // uint16
+            public const nint nCtrlChild = 0x2; // uint16
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeAntiTunnelProbe_t {
+            public const nint flWeight = 0x0; // float32
+            public const nint nFlags = 0x4; // uint32
+            public const nint nProbeNode = 0x8; // uint16
+            public const nint nCount = 0xA; // uint16
+            public const nint nBegin = 0xC; // uint32
+            public const nint flActivationDistance = 0x10; // float32
+            public const nint flCurvatureRadius = 0x14; // float32
+            public const nint flBias = 0x18; // float32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSourceEdge_t {
+            public const nint nNode = 0x0; // uint16[2]
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeTwistConstraint_t {
+            public const nint nNodeOrient = 0x0; // uint16
+            public const nint nNodeEnd = 0x2; // uint16
+            public const nint flTwistRelax = 0x4; // float32
+            public const nint flSwingRelax = 0x8; // float32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeNodeWindBase_t {
+            public const nint nNodeX0 = 0x0; // uint16
+            public const nint nNodeX1 = 0x2; // uint16
+            public const nint nNodeY0 = 0x4; // uint16
+            public const nint nNodeY1 = 0x6; // uint16
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeAxialEdgeBend_t {
+            public const nint te = 0x0; // float32
+            public const nint tv = 0x4; // float32
+            public const nint flDist = 0x8; // float32
+            public const nint flWeight = 0xC; // float32[4]
+            public const nint nNode = 0x1C; // uint16[6]
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FourCovMatrices3 {
+            public const nint m_vDiag = 0x0; // FourVectors
+            public const nint m_flXY = 0x30; // fltx4
+            public const nint m_flXZ = 0x40; // fltx4
+            public const nint m_flYZ = 0x50; // fltx4
+        }
+        // Parent: None
+        // Field count: 5
+        public static class constraint_breakableparams_t {
+            public const nint strength = 0x0; // float32
+            public const nint forceLimit = 0x4; // float32
+            public const nint torqueLimit = 0x8; // float32
+            public const nint bodyMassScale = 0xC; // float32[2]
+            public const nint isActive = 0x14; // bool
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSphereRigid_t {
+            public const nint vSphere = 0x0; // fltx4
+            public const nint nNode = 0x10; // uint16
+            public const nint nCollisionMask = 0x12; // uint16
+            public const nint nVertexMapIndex = 0x14; // uint16
+            public const nint nFlags = 0x16; // uint16
+        }
+        // Parent: FeTaperedCapsuleRigid_t
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeBuildTaperedCapsuleRigid_t {
+            public const nint m_nPriority = 0x30; // int32
+            public const nint m_nVertexMapHash = 0x34; // uint32
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSoftParent_t {
+            public const nint nParent = 0x0; // int32
+            public const nint flAlpha = 0x4; // float32
+        }
+        // Parent: None
+        // Field count: 6
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnShapeDesc_t {
+            public const nint m_nCollisionAttributeIndex = 0x0; // uint32
+            public const nint m_nSurfacePropertyIndex = 0x4; // uint32
+            public const nint m_UserFriendlyName = 0x8; // CUtlString
+            public const nint m_bUserFriendlyNameSealed = 0x10; // bool
+            public const nint m_bUserFriendlyNameLong = 0x11; // bool
+            public const nint m_nToolMaterialHash = 0x14; // uint32
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeTreeChildren_t {
+            public const nint nChild = 0x0; // uint16[2]
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeRodConstraint_t {
+            public const nint nNode = 0x0; // uint16[2]
+            public const nint flMaxDist = 0x4; // float32
+            public const nint flMinDist = 0x8; // float32
+            public const nint flWeight0 = 0xC; // float32
+            public const nint flRelaxationFactor = 0x10; // float32
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeFitWeight_t {
+            public const nint flWeight = 0x0; // float32
+            public const nint nNode = 0x4; // uint16
+            public const nint nDummy = 0x6; // uint16
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class RnHalfEdge_t {
+            public const nint m_nNext = 0x0; // uint8
+            public const nint m_nTwin = 0x1; // uint8
+            public const nint m_nOrigin = 0x2; // uint8
+            public const nint m_nFace = 0x3; // uint8
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeSimdTri_t {
+            public const nint nNode = 0x0; // uint32[4][3]
+            public const nint w1 = 0x30; // fltx4
+            public const nint w2 = 0x40; // fltx4
+            public const nint v1x = 0x50; // fltx4
+            public const nint v2 = 0x60; // FourVectors2D
+        }
+        // Parent: None
+        // Field count: 1
+        public static class VertexPositionColor_t {
+            public const nint m_vPosition = 0x0; // Vector
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeFitInfluence_t {
+            public const nint nVertexNode = 0x0; // uint32
+            public const nint flWeight = 0x4; // float32
+            public const nint nMatrixNode = 0x8; // uint32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class FeHingeLimitBuild_t {
+            public const nint nNode = 0x0; // uint16[6]
+            public const nint nFlags = 0xC; // uint32
+            public const nint flLimitCW = 0x10; // float32
+            public const nint flLimitCCW = 0x14; // float32
+        }
+    }
+}
diff --git a/output/vphysics2_dll.hpp b/output/vphysics2_dll.hpp
new file mode 100644
index 0000000..85d6735
--- /dev/null
+++ b/output/vphysics2_dll.hpp
@@ -0,0 +1,1206 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: vphysics2.dll
+        // Class count: 94
+        // Enum count: 2
+        namespace vphysics2_dll {
+            // Alignment: 4
+            // Member count: 3
+            enum class JointMotion_t : uint32_t {
+                JOINT_MOTION_FREE = 0x0,
+                JOINT_MOTION_LOCKED = 0x1,
+                JOINT_MOTION_COUNT = 0x2
+            };
+            // Alignment: 4
+            // Member count: 4
+            enum class JointAxis_t : uint32_t {
+                JOINT_AXIS_X = 0x0,
+                JOINT_AXIS_Y = 0x1,
+                JOINT_AXIS_Z = 0x2,
+                JOINT_AXIS_COUNT = 0x3
+            };
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnSoftbodySpring_t {
+                constexpr std::ptrdiff_t m_nParticle = 0x0; // uint16[2]
+                constexpr std::ptrdiff_t m_flLength = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnSoftbodyParticle_t {
+                constexpr std::ptrdiff_t m_flMassInv = 0x0; // float32
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnHullDesc_t {
+                constexpr std::ptrdiff_t m_Hull = 0x18; // RnHull_t
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnSoftbodyCapsule_t {
+                constexpr std::ptrdiff_t m_vCenter = 0x0; // Vector[2]
+                constexpr std::ptrdiff_t m_flRadius = 0x18; // float32
+                constexpr std::ptrdiff_t m_nParticle = 0x1C; // uint16[2]
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnCapsuleDesc_t {
+                constexpr std::ptrdiff_t m_Capsule = 0x18; // RnCapsule_t
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnSphereDesc_t {
+                constexpr std::ptrdiff_t m_Sphere = 0x18; // SphereBase_t<float32>
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnMeshDesc_t {
+                constexpr std::ptrdiff_t m_Mesh = 0x18; // RnMesh_t
+            }
+            // Parent: None
+            // Field count: 106
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PhysFeModelDesc_t {
+                constexpr std::ptrdiff_t m_CtrlHash = 0x0; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_CtrlName = 0x18; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_nStaticNodeFlags = 0x30; // uint32
+                constexpr std::ptrdiff_t m_nDynamicNodeFlags = 0x34; // uint32
+                constexpr std::ptrdiff_t m_flLocalForce = 0x38; // float32
+                constexpr std::ptrdiff_t m_flLocalRotation = 0x3C; // float32
+                constexpr std::ptrdiff_t m_nNodeCount = 0x40; // uint16
+                constexpr std::ptrdiff_t m_nStaticNodes = 0x42; // uint16
+                constexpr std::ptrdiff_t m_nRotLockStaticNodes = 0x44; // uint16
+                constexpr std::ptrdiff_t m_nFirstPositionDrivenNode = 0x46; // uint16
+                constexpr std::ptrdiff_t m_nSimdTriCount1 = 0x48; // uint16
+                constexpr std::ptrdiff_t m_nSimdTriCount2 = 0x4A; // uint16
+                constexpr std::ptrdiff_t m_nSimdQuadCount1 = 0x4C; // uint16
+                constexpr std::ptrdiff_t m_nSimdQuadCount2 = 0x4E; // uint16
+                constexpr std::ptrdiff_t m_nQuadCount1 = 0x50; // uint16
+                constexpr std::ptrdiff_t m_nQuadCount2 = 0x52; // uint16
+                constexpr std::ptrdiff_t m_nTreeDepth = 0x54; // uint16
+                constexpr std::ptrdiff_t m_nNodeBaseJiggleboneDependsCount = 0x56; // uint16
+                constexpr std::ptrdiff_t m_nRopeCount = 0x58; // uint16
+                constexpr std::ptrdiff_t m_Ropes = 0x60; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_NodeBases = 0x78; // CUtlVector<FeNodeBase_t>
+                constexpr std::ptrdiff_t m_SimdNodeBases = 0x90; // CUtlVector<FeSimdNodeBase_t>
+                constexpr std::ptrdiff_t m_Quads = 0xA8; // CUtlVector<FeQuad_t>
+                constexpr std::ptrdiff_t m_SimdQuads = 0xC0; // CUtlVector<FeSimdQuad_t>
+                constexpr std::ptrdiff_t m_SimdTris = 0xD8; // CUtlVector<FeSimdTri_t>
+                constexpr std::ptrdiff_t m_SimdRods = 0xF0; // CUtlVector<FeSimdRodConstraint_t>
+                constexpr std::ptrdiff_t m_SimdRodsAnim = 0x108; // CUtlVector<FeSimdRodConstraintAnim_t>
+                constexpr std::ptrdiff_t m_InitPose = 0x120; // CUtlVector<CTransform>
+                constexpr std::ptrdiff_t m_Rods = 0x138; // CUtlVector<FeRodConstraint_t>
+                constexpr std::ptrdiff_t m_Twists = 0x150; // CUtlVector<FeTwistConstraint_t>
+                constexpr std::ptrdiff_t m_HingeLimits = 0x168; // CUtlVector<FeHingeLimit_t>
+                constexpr std::ptrdiff_t m_AntiTunnelProbes = 0x180; // CUtlVector<FeAntiTunnelProbe_t>
+                constexpr std::ptrdiff_t m_AntiTunnelTargetNodes = 0x198; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_AxialEdges = 0x1B0; // CUtlVector<FeAxialEdgeBend_t>
+                constexpr std::ptrdiff_t m_NodeInvMasses = 0x1C8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_CtrlOffsets = 0x1E0; // CUtlVector<FeCtrlOffset_t>
+                constexpr std::ptrdiff_t m_CtrlOsOffsets = 0x1F8; // CUtlVector<FeCtrlOsOffset_t>
+                constexpr std::ptrdiff_t m_FollowNodes = 0x210; // CUtlVector<FeFollowNode_t>
+                constexpr std::ptrdiff_t m_CollisionPlanes = 0x228; // CUtlVector<FeCollisionPlane_t>
+                constexpr std::ptrdiff_t m_NodeIntegrator = 0x240; // CUtlVector<FeNodeIntegrator_t>
+                constexpr std::ptrdiff_t m_SpringIntegrator = 0x258; // CUtlVector<FeSpringIntegrator_t>
+                constexpr std::ptrdiff_t m_SimdSpringIntegrator = 0x270; // CUtlVector<FeSimdSpringIntegrator_t>
+                constexpr std::ptrdiff_t m_WorldCollisionParams = 0x288; // CUtlVector<FeWorldCollisionParams_t>
+                constexpr std::ptrdiff_t m_LegacyStretchForce = 0x2A0; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_NodeCollisionRadii = 0x2B8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_DynNodeFriction = 0x2D0; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_LocalRotation = 0x2E8; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_LocalForce = 0x300; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_TaperedCapsuleStretches = 0x318; // CUtlVector<FeTaperedCapsuleStretch_t>
+                constexpr std::ptrdiff_t m_TaperedCapsuleRigids = 0x330; // CUtlVector<FeTaperedCapsuleRigid_t>
+                constexpr std::ptrdiff_t m_SphereRigids = 0x348; // CUtlVector<FeSphereRigid_t>
+                constexpr std::ptrdiff_t m_WorldCollisionNodes = 0x360; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_TreeParents = 0x378; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_TreeCollisionMasks = 0x390; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_TreeChildren = 0x3A8; // CUtlVector<FeTreeChildren_t>
+                constexpr std::ptrdiff_t m_FreeNodes = 0x3C0; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_FitMatrices = 0x3D8; // CUtlVector<FeFitMatrix_t>
+                constexpr std::ptrdiff_t m_FitWeights = 0x3F0; // CUtlVector<FeFitWeight_t>
+                constexpr std::ptrdiff_t m_ReverseOffsets = 0x408; // CUtlVector<FeNodeReverseOffset_t>
+                constexpr std::ptrdiff_t m_AnimStrayRadii = 0x420; // CUtlVector<FeAnimStrayRadius_t>
+                constexpr std::ptrdiff_t m_SimdAnimStrayRadii = 0x438; // CUtlVector<FeSimdAnimStrayRadius_t>
+                constexpr std::ptrdiff_t m_KelagerBends = 0x450; // CUtlVector<FeKelagerBend2_t>
+                constexpr std::ptrdiff_t m_CtrlSoftOffsets = 0x468; // CUtlVector<FeCtrlSoftOffset_t>
+                constexpr std::ptrdiff_t m_JiggleBones = 0x480; // CUtlVector<CFeIndexedJiggleBone>
+                constexpr std::ptrdiff_t m_SourceElems = 0x498; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_GoalDampedSpringIntegrators = 0x4B0; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_Tris = 0x4C8; // CUtlVector<FeTri_t>
+                constexpr std::ptrdiff_t m_nTriCount1 = 0x4E0; // uint16
+                constexpr std::ptrdiff_t m_nTriCount2 = 0x4E2; // uint16
+                constexpr std::ptrdiff_t m_nReservedUint8 = 0x4E4; // uint8
+                constexpr std::ptrdiff_t m_nExtraPressureIterations = 0x4E5; // uint8
+                constexpr std::ptrdiff_t m_nExtraGoalIterations = 0x4E6; // uint8
+                constexpr std::ptrdiff_t m_nExtraIterations = 0x4E7; // uint8
+                constexpr std::ptrdiff_t m_SDFRigids = 0x4E8; // CUtlVector<FeSDFRigid_t>
+                constexpr std::ptrdiff_t m_BoxRigids = 0x500; // CUtlVector<FeBoxRigid_t>
+                constexpr std::ptrdiff_t m_DynNodeVertexSet = 0x518; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_VertexSetNames = 0x530; // CUtlVector<uint32>
+                constexpr std::ptrdiff_t m_RigidColliderPriorities = 0x548; // CUtlVector<FeRigidColliderIndices_t>
+                constexpr std::ptrdiff_t m_MorphLayers = 0x560; // CUtlVector<FeMorphLayerDepr_t>
+                constexpr std::ptrdiff_t m_MorphSetData = 0x578; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_VertexMaps = 0x590; // CUtlVector<FeVertexMapDesc_t>
+                constexpr std::ptrdiff_t m_VertexMapValues = 0x5A8; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_Effects = 0x5C0; // CUtlVector<FeEffectDesc_t>
+                constexpr std::ptrdiff_t m_LockToParent = 0x5D8; // CUtlVector<FeCtrlOffset_t>
+                constexpr std::ptrdiff_t m_LockToGoal = 0x5F0; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_SkelParents = 0x608; // CUtlVector<int16>
+                constexpr std::ptrdiff_t m_DynNodeWindBases = 0x620; // CUtlVector<FeNodeWindBase_t>
+                constexpr std::ptrdiff_t m_flInternalPressure = 0x638; // float32
+                constexpr std::ptrdiff_t m_flDefaultTimeDilation = 0x63C; // float32
+                constexpr std::ptrdiff_t m_flWindage = 0x640; // float32
+                constexpr std::ptrdiff_t m_flWindDrag = 0x644; // float32
+                constexpr std::ptrdiff_t m_flDefaultSurfaceStretch = 0x648; // float32
+                constexpr std::ptrdiff_t m_flDefaultThreadStretch = 0x64C; // float32
+                constexpr std::ptrdiff_t m_flDefaultGravityScale = 0x650; // float32
+                constexpr std::ptrdiff_t m_flDefaultVelAirDrag = 0x654; // float32
+                constexpr std::ptrdiff_t m_flDefaultExpAirDrag = 0x658; // float32
+                constexpr std::ptrdiff_t m_flDefaultVelQuadAirDrag = 0x65C; // float32
+                constexpr std::ptrdiff_t m_flDefaultExpQuadAirDrag = 0x660; // float32
+                constexpr std::ptrdiff_t m_flRodVelocitySmoothRate = 0x664; // float32
+                constexpr std::ptrdiff_t m_flQuadVelocitySmoothRate = 0x668; // float32
+                constexpr std::ptrdiff_t m_flAddWorldCollisionRadius = 0x66C; // float32
+                constexpr std::ptrdiff_t m_flDefaultVolumetricSolveAmount = 0x670; // float32
+                constexpr std::ptrdiff_t m_flMotionSmoothCDT = 0x674; // float32
+                constexpr std::ptrdiff_t m_flLocalDrag1 = 0x678; // float32
+                constexpr std::ptrdiff_t m_nRodVelocitySmoothIterations = 0x67C; // uint16
+                constexpr std::ptrdiff_t m_nQuadVelocitySmoothIterations = 0x67E; // uint16
+            }
+            // Parent: RnBodyDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace vphysics_save_cphysicsbody_t {
+                constexpr std::ptrdiff_t m_nOldPointer = 0xD0; // uint64
+            }
+            // Parent: FeBoxRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeBuildBoxRigid_t {
+                constexpr std::ptrdiff_t m_nPriority = 0x40; // int32
+                constexpr std::ptrdiff_t m_nVertexMapHash = 0x44; // uint32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFeIndexedJiggleBone {
+                constexpr std::ptrdiff_t m_nNode = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nJiggleParent = 0x4; // uint32
+                constexpr std::ptrdiff_t m_jiggleBone = 0x8; // CFeJiggleBone
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeBandBendLimit_t {
+                constexpr std::ptrdiff_t flDistMin = 0x0; // float32
+                constexpr std::ptrdiff_t flDistMax = 0x4; // float32
+                constexpr std::ptrdiff_t nNode = 0x8; // uint16[6]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeTaperedCapsuleStretch_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[2]
+                constexpr std::ptrdiff_t nCollisionMask = 0x4; // uint16
+                constexpr std::ptrdiff_t nDummy = 0x6; // uint16
+                constexpr std::ptrdiff_t flRadius = 0x8; // float32[2]
+            }
+            // Parent: None
+            // Field count: 4
+            namespace constraint_axislimit_t {
+                constexpr std::ptrdiff_t flMinRotation = 0x0; // float32
+                constexpr std::ptrdiff_t flMaxRotation = 0x4; // float32
+                constexpr std::ptrdiff_t flMotorTargetAngSpeed = 0x8; // float32
+                constexpr std::ptrdiff_t flMotorMaxTorque = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdRodConstraintAnim_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4][2]
+                constexpr std::ptrdiff_t f4Weight0 = 0x10; // fltx4
+                constexpr std::ptrdiff_t f4RelaxationFactor = 0x20; // fltx4
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdRodConstraint_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4][2]
+                constexpr std::ptrdiff_t f4MaxDist = 0x10; // fltx4
+                constexpr std::ptrdiff_t f4MinDist = 0x20; // fltx4
+                constexpr std::ptrdiff_t f4Weight0 = 0x30; // fltx4
+                constexpr std::ptrdiff_t f4RelaxationFactor = 0x40; // fltx4
+            }
+            // Parent: None
+            // Field count: 4
+            namespace constraint_hingeparams_t {
+                constexpr std::ptrdiff_t worldPosition = 0x0; // Vector
+                constexpr std::ptrdiff_t worldAxisDirection = 0xC; // Vector
+                constexpr std::ptrdiff_t hingeAxis = 0x18; // constraint_axislimit_t
+                constexpr std::ptrdiff_t constraint = 0x28; // constraint_breakableparams_t
+            }
+            // Parent: FeSphereRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeBuildSphereRigid_t {
+                constexpr std::ptrdiff_t m_nPriority = 0x20; // int32
+                constexpr std::ptrdiff_t m_nVertexMapHash = 0x24; // uint32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdAnimStrayRadius_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4][2]
+                constexpr std::ptrdiff_t flMaxDist = 0x10; // fltx4
+                constexpr std::ptrdiff_t flRelaxationFactor = 0x20; // fltx4
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnTriangle_t {
+                constexpr std::ptrdiff_t m_nIndex = 0x0; // int32[3]
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeProxyVertexMap_t {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_flWeight = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeNodeIntegrator_t {
+                constexpr std::ptrdiff_t flPointDamping = 0x0; // float32
+                constexpr std::ptrdiff_t flAnimationForceAttraction = 0x4; // float32
+                constexpr std::ptrdiff_t flAnimationVertexAttraction = 0x8; // float32
+                constexpr std::ptrdiff_t flGravity = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnCapsule_t {
+                constexpr std::ptrdiff_t m_vCenter = 0x0; // Vector[2]
+                constexpr std::ptrdiff_t m_flRadius = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFeNamedJiggleBone {
+                constexpr std::ptrdiff_t m_strParentBone = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_transform = 0x10; // CTransform
+                constexpr std::ptrdiff_t m_nJiggleParent = 0x30; // uint32
+                constexpr std::ptrdiff_t m_jiggleBone = 0x34; // CFeJiggleBone
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeAntiTunnelProbeBuild_t {
+                constexpr std::ptrdiff_t flWeight = 0x0; // float32
+                constexpr std::ptrdiff_t flActivationDistance = 0x4; // float32
+                constexpr std::ptrdiff_t flBias = 0x8; // float32
+                constexpr std::ptrdiff_t flCurvature = 0xC; // float32
+                constexpr std::ptrdiff_t nFlags = 0x10; // uint32
+                constexpr std::ptrdiff_t nProbeNode = 0x14; // uint16
+                constexpr std::ptrdiff_t targetNodes = 0x18; // CUtlVector<uint16>
+            }
+            // Parent: None
+            // Field count: 35
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnBodyDesc_t {
+                constexpr std::ptrdiff_t m_sDebugName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_vPosition = 0x8; // Vector
+                constexpr std::ptrdiff_t m_qOrientation = 0x14; // QuaternionStorage
+                constexpr std::ptrdiff_t m_vLinearVelocity = 0x24; // Vector
+                constexpr std::ptrdiff_t m_vAngularVelocity = 0x30; // Vector
+                constexpr std::ptrdiff_t m_vLocalMassCenter = 0x3C; // Vector
+                constexpr std::ptrdiff_t m_LocalInertiaInv = 0x48; // Vector[3]
+                constexpr std::ptrdiff_t m_flMassInv = 0x6C; // float32
+                constexpr std::ptrdiff_t m_flGameMass = 0x70; // float32
+                constexpr std::ptrdiff_t m_flInertiaScaleInv = 0x74; // float32
+                constexpr std::ptrdiff_t m_flLinearDamping = 0x78; // float32
+                constexpr std::ptrdiff_t m_flAngularDamping = 0x7C; // float32
+                constexpr std::ptrdiff_t m_flLinearDrag = 0x80; // float32
+                constexpr std::ptrdiff_t m_flAngularDrag = 0x84; // float32
+                constexpr std::ptrdiff_t m_flLinearBuoyancyDrag = 0x88; // float32
+                constexpr std::ptrdiff_t m_flAngularBuoyancyDrag = 0x8C; // float32
+                constexpr std::ptrdiff_t m_vLastAwakeForceAccum = 0x90; // Vector
+                constexpr std::ptrdiff_t m_vLastAwakeTorqueAccum = 0x9C; // Vector
+                constexpr std::ptrdiff_t m_flBuoyancyFactor = 0xA8; // float32
+                constexpr std::ptrdiff_t m_flGravityScale = 0xAC; // float32
+                constexpr std::ptrdiff_t m_flTimeScale = 0xB0; // float32
+                constexpr std::ptrdiff_t m_nBodyType = 0xB4; // int32
+                constexpr std::ptrdiff_t m_nGameIndex = 0xB8; // uint32
+                constexpr std::ptrdiff_t m_nGameFlags = 0xBC; // uint32
+                constexpr std::ptrdiff_t m_nMinVelocityIterations = 0xC0; // int8
+                constexpr std::ptrdiff_t m_nMinPositionIterations = 0xC1; // int8
+                constexpr std::ptrdiff_t m_nMassPriority = 0xC2; // int8
+                constexpr std::ptrdiff_t m_bEnabled = 0xC3; // bool
+                constexpr std::ptrdiff_t m_bSleeping = 0xC4; // bool
+                constexpr std::ptrdiff_t m_bIsContinuousEnabled = 0xC5; // bool
+                constexpr std::ptrdiff_t m_bDragEnabled = 0xC6; // bool
+                constexpr std::ptrdiff_t m_bBuoyancyDragEnabled = 0xC7; // bool
+                constexpr std::ptrdiff_t m_bGravityDisabled = 0xC8; // bool
+                constexpr std::ptrdiff_t m_bSpeculativeEnabled = 0xC9; // bool
+                constexpr std::ptrdiff_t m_bHasShadowController = 0xCA; // bool
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace OldFeEdge_t {
+                constexpr std::ptrdiff_t m_flK = 0x0; // float32[3]
+                constexpr std::ptrdiff_t invA = 0xC; // float32
+                constexpr std::ptrdiff_t t = 0x10; // float32
+                constexpr std::ptrdiff_t flThetaRelaxed = 0x14; // float32
+                constexpr std::ptrdiff_t flThetaFactor = 0x18; // float32
+                constexpr std::ptrdiff_t c01 = 0x1C; // float32
+                constexpr std::ptrdiff_t c02 = 0x20; // float32
+                constexpr std::ptrdiff_t c03 = 0x24; // float32
+                constexpr std::ptrdiff_t c04 = 0x28; // float32
+                constexpr std::ptrdiff_t flAxialModelDist = 0x2C; // float32
+                constexpr std::ptrdiff_t flAxialModelWeights = 0x30; // float32[4]
+                constexpr std::ptrdiff_t m_nNode = 0x40; // uint16[4]
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeFollowNode_t {
+                constexpr std::ptrdiff_t nParentNode = 0x0; // uint16
+                constexpr std::ptrdiff_t nChildNode = 0x2; // uint16
+                constexpr std::ptrdiff_t flWeight = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnMesh_t {
+                constexpr std::ptrdiff_t m_vMin = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vMax = 0xC; // Vector
+                constexpr std::ptrdiff_t m_Nodes = 0x18; // CUtlVector<RnNode_t>
+                constexpr std::ptrdiff_t m_Vertices = 0x30; // CUtlVectorSIMDPaddedVector
+                constexpr std::ptrdiff_t m_Triangles = 0x48; // CUtlVector<RnTriangle_t>
+                constexpr std::ptrdiff_t m_Wings = 0x60; // CUtlVector<RnWing_t>
+                constexpr std::ptrdiff_t m_Materials = 0x78; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_vOrthographicAreas = 0x90; // Vector
+                constexpr std::ptrdiff_t m_nFlags = 0x9C; // uint32
+                constexpr std::ptrdiff_t m_nDebugFlags = 0xA0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            namespace VertexPositionNormal_t {
+                constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vNormal = 0xC; // Vector
+            }
+            // Parent: FeSDFRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeBuildSDFRigid_t {
+                constexpr std::ptrdiff_t m_nPriority = 0x50; // int32
+                constexpr std::ptrdiff_t m_nVertexMapHash = 0x54; // uint32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnBlendVertex_t {
+                constexpr std::ptrdiff_t m_nWeight0 = 0x0; // uint16
+                constexpr std::ptrdiff_t m_nIndex0 = 0x2; // uint16
+                constexpr std::ptrdiff_t m_nWeight1 = 0x4; // uint16
+                constexpr std::ptrdiff_t m_nIndex1 = 0x6; // uint16
+                constexpr std::ptrdiff_t m_nWeight2 = 0x8; // uint16
+                constexpr std::ptrdiff_t m_nIndex2 = 0xA; // uint16
+                constexpr std::ptrdiff_t m_nFlags = 0xC; // uint16
+                constexpr std::ptrdiff_t m_nTargetIndex = 0xE; // uint16
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFeMorphLayer {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t m_Nodes = 0x10; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_InitPos = 0x28; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_Gravity = 0x40; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_GoalStrength = 0x58; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_GoalDamping = 0x70; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeCtrlSoftOffset_t {
+                constexpr std::ptrdiff_t nCtrlParent = 0x0; // uint16
+                constexpr std::ptrdiff_t nCtrlChild = 0x2; // uint16
+                constexpr std::ptrdiff_t vOffset = 0x4; // Vector
+                constexpr std::ptrdiff_t flAlpha = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeVertexMapDesc_t {
+                constexpr std::ptrdiff_t sName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t nNameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t nColor = 0xC; // uint32
+                constexpr std::ptrdiff_t nFlags = 0x10; // uint32
+                constexpr std::ptrdiff_t nVertexBase = 0x14; // uint16
+                constexpr std::ptrdiff_t nVertexCount = 0x16; // uint16
+                constexpr std::ptrdiff_t nMapOffset = 0x18; // uint32
+                constexpr std::ptrdiff_t nNodeListOffset = 0x1C; // uint32
+                constexpr std::ptrdiff_t vCenterOfMass = 0x20; // Vector
+                constexpr std::ptrdiff_t flVolumetricSolveStrength = 0x2C; // float32
+                constexpr std::ptrdiff_t nScaleSourceNode = 0x30; // int16
+                constexpr std::ptrdiff_t nNodeListCount = 0x32; // uint16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeTaperedCapsuleRigid_t {
+                constexpr std::ptrdiff_t vSphere = 0x0; // fltx4[2]
+                constexpr std::ptrdiff_t nNode = 0x20; // uint16
+                constexpr std::ptrdiff_t nCollisionMask = 0x22; // uint16
+                constexpr std::ptrdiff_t nVertexMapIndex = 0x24; // uint16
+                constexpr std::ptrdiff_t nFlags = 0x26; // uint16
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeAnimStrayRadius_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[2]
+                constexpr std::ptrdiff_t flMaxDist = 0x4; // float32
+                constexpr std::ptrdiff_t flRelaxationFactor = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeEdgeDesc_t {
+                constexpr std::ptrdiff_t nEdge = 0x0; // uint16[2]
+                constexpr std::ptrdiff_t nSide = 0x4; // uint16[2][2]
+                constexpr std::ptrdiff_t nVirtElem = 0xC; // uint16[2]
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeNodeReverseOffset_t {
+                constexpr std::ptrdiff_t vOffset = 0x0; // Vector
+                constexpr std::ptrdiff_t nBoneCtrl = 0xC; // uint16
+                constexpr std::ptrdiff_t nTargetNode = 0xE; // uint16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnPlane_t {
+                constexpr std::ptrdiff_t m_vNormal = 0x0; // Vector
+                constexpr std::ptrdiff_t m_flOffset = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSDFRigid_t {
+                constexpr std::ptrdiff_t vLocalMin = 0x0; // Vector
+                constexpr std::ptrdiff_t vLocalMax = 0xC; // Vector
+                constexpr std::ptrdiff_t flBounciness = 0x18; // float32
+                constexpr std::ptrdiff_t nNode = 0x1C; // uint16
+                constexpr std::ptrdiff_t nCollisionMask = 0x1E; // uint16
+                constexpr std::ptrdiff_t nVertexMapIndex = 0x20; // uint16
+                constexpr std::ptrdiff_t nFlags = 0x22; // uint16
+                constexpr std::ptrdiff_t m_Distances = 0x28; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nWidth = 0x40; // int32
+                constexpr std::ptrdiff_t m_nHeight = 0x44; // int32
+                constexpr std::ptrdiff_t m_nDepth = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 35
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFeJiggleBone {
+                constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32
+                constexpr std::ptrdiff_t m_flLength = 0x4; // float32
+                constexpr std::ptrdiff_t m_flTipMass = 0x8; // float32
+                constexpr std::ptrdiff_t m_flYawStiffness = 0xC; // float32
+                constexpr std::ptrdiff_t m_flYawDamping = 0x10; // float32
+                constexpr std::ptrdiff_t m_flPitchStiffness = 0x14; // float32
+                constexpr std::ptrdiff_t m_flPitchDamping = 0x18; // float32
+                constexpr std::ptrdiff_t m_flAlongStiffness = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flAlongDamping = 0x20; // float32
+                constexpr std::ptrdiff_t m_flAngleLimit = 0x24; // float32
+                constexpr std::ptrdiff_t m_flMinYaw = 0x28; // float32
+                constexpr std::ptrdiff_t m_flMaxYaw = 0x2C; // float32
+                constexpr std::ptrdiff_t m_flYawFriction = 0x30; // float32
+                constexpr std::ptrdiff_t m_flYawBounce = 0x34; // float32
+                constexpr std::ptrdiff_t m_flMinPitch = 0x38; // float32
+                constexpr std::ptrdiff_t m_flMaxPitch = 0x3C; // float32
+                constexpr std::ptrdiff_t m_flPitchFriction = 0x40; // float32
+                constexpr std::ptrdiff_t m_flPitchBounce = 0x44; // float32
+                constexpr std::ptrdiff_t m_flBaseMass = 0x48; // float32
+                constexpr std::ptrdiff_t m_flBaseStiffness = 0x4C; // float32
+                constexpr std::ptrdiff_t m_flBaseDamping = 0x50; // float32
+                constexpr std::ptrdiff_t m_flBaseMinLeft = 0x54; // float32
+                constexpr std::ptrdiff_t m_flBaseMaxLeft = 0x58; // float32
+                constexpr std::ptrdiff_t m_flBaseLeftFriction = 0x5C; // float32
+                constexpr std::ptrdiff_t m_flBaseMinUp = 0x60; // float32
+                constexpr std::ptrdiff_t m_flBaseMaxUp = 0x64; // float32
+                constexpr std::ptrdiff_t m_flBaseUpFriction = 0x68; // float32
+                constexpr std::ptrdiff_t m_flBaseMinForward = 0x6C; // float32
+                constexpr std::ptrdiff_t m_flBaseMaxForward = 0x70; // float32
+                constexpr std::ptrdiff_t m_flBaseForwardFriction = 0x74; // float32
+                constexpr std::ptrdiff_t m_flRadius0 = 0x78; // float32
+                constexpr std::ptrdiff_t m_flRadius1 = 0x7C; // float32
+                constexpr std::ptrdiff_t m_vPoint0 = 0x80; // Vector
+                constexpr std::ptrdiff_t m_vPoint1 = 0x8C; // Vector
+                constexpr std::ptrdiff_t m_nCollisionMask = 0x98; // uint16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CRegionSVM {
+                constexpr std::ptrdiff_t m_Planes = 0x0; // CUtlVector<RnPlane_t>
+                constexpr std::ptrdiff_t m_Nodes = 0x18; // CUtlVector<uint32>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeWorldCollisionParams_t {
+                constexpr std::ptrdiff_t flWorldFriction = 0x0; // float32
+                constexpr std::ptrdiff_t flGroundFriction = 0x4; // float32
+                constexpr std::ptrdiff_t nListBegin = 0x8; // uint16
+                constexpr std::ptrdiff_t nListEnd = 0xA; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnNode_t {
+                constexpr std::ptrdiff_t m_vMin = 0x0; // Vector
+                constexpr std::ptrdiff_t m_nChildren = 0xC; // uint32
+                constexpr std::ptrdiff_t m_vMax = 0x10; // Vector
+                constexpr std::ptrdiff_t m_nTriangleOffset = 0x1C; // uint32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeFitMatrix_t {
+                constexpr std::ptrdiff_t bone = 0x0; // CTransform
+                constexpr std::ptrdiff_t vCenter = 0x20; // Vector
+                constexpr std::ptrdiff_t nEnd = 0x2C; // uint16
+                constexpr std::ptrdiff_t nNode = 0x2E; // uint16
+                constexpr std::ptrdiff_t nBeginDynamic = 0x30; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdQuad_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4][4]
+                constexpr std::ptrdiff_t f4Slack = 0x20; // fltx4
+                constexpr std::ptrdiff_t vShape = 0x30; // FourVectors[4]
+                constexpr std::ptrdiff_t f4Weights = 0xF0; // fltx4[4]
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdSpringIntegrator_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4][2]
+                constexpr std::ptrdiff_t flSpringRestLength = 0x10; // fltx4
+                constexpr std::ptrdiff_t flSpringConstant = 0x20; // fltx4
+                constexpr std::ptrdiff_t flSpringDamping = 0x30; // fltx4
+                constexpr std::ptrdiff_t flNodeWeight0 = 0x40; // fltx4
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdNodeBase_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4]
+                constexpr std::ptrdiff_t nNodeX0 = 0x8; // uint16[4]
+                constexpr std::ptrdiff_t nNodeX1 = 0x10; // uint16[4]
+                constexpr std::ptrdiff_t nNodeY0 = 0x18; // uint16[4]
+                constexpr std::ptrdiff_t nNodeY1 = 0x20; // uint16[4]
+                constexpr std::ptrdiff_t nDummy = 0x28; // uint16[4]
+                constexpr std::ptrdiff_t qAdjust = 0x30; // FourQuaternions
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeQuad_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[4]
+                constexpr std::ptrdiff_t flSlack = 0x8; // float32
+                constexpr std::ptrdiff_t vShape = 0xC; // Vector4D[4]
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeHingeLimit_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[6]
+                constexpr std::ptrdiff_t nFlags = 0xC; // uint32
+                constexpr std::ptrdiff_t flWeight4 = 0x10; // float32
+                constexpr std::ptrdiff_t flWeight5 = 0x14; // float32
+                constexpr std::ptrdiff_t flAngleCenter = 0x18; // float32
+                constexpr std::ptrdiff_t flAngleExtents = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnWing_t {
+                constexpr std::ptrdiff_t m_nIndex = 0x0; // int32[3]
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeWeightedNode_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16
+                constexpr std::ptrdiff_t nWeight = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeEffectDesc_t {
+                constexpr std::ptrdiff_t sName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t nNameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t nType = 0xC; // int32
+                constexpr std::ptrdiff_t m_Params = 0x10; // KeyValues3
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSpringIntegrator_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[2]
+                constexpr std::ptrdiff_t flSpringRestLength = 0x4; // float32
+                constexpr std::ptrdiff_t flSpringConstant = 0x8; // float32
+                constexpr std::ptrdiff_t flSpringDamping = 0xC; // float32
+                constexpr std::ptrdiff_t flNodeWeight0 = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FourVectors2D {
+                constexpr std::ptrdiff_t x = 0x0; // fltx4
+                constexpr std::ptrdiff_t y = 0x10; // fltx4
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeKelagerBend2_t {
+                constexpr std::ptrdiff_t flWeight = 0x0; // float32[3]
+                constexpr std::ptrdiff_t flHeight0 = 0xC; // float32
+                constexpr std::ptrdiff_t nNode = 0x10; // uint16[3]
+                constexpr std::ptrdiff_t nReserved = 0x16; // uint16
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CastSphereSATParams_t {
+                constexpr std::ptrdiff_t m_vRayStart = 0x0; // Vector
+                constexpr std::ptrdiff_t m_vRayDelta = 0xC; // Vector
+                constexpr std::ptrdiff_t m_flRadius = 0x18; // float32
+                constexpr std::ptrdiff_t m_flMaxFraction = 0x1C; // float32
+                constexpr std::ptrdiff_t m_flScale = 0x20; // float32
+                constexpr std::ptrdiff_t m_pHull = 0x28; // RnHull_t*
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeRigidColliderIndices_t {
+                constexpr std::ptrdiff_t m_nTaperedCapsuleRigidIndex = 0x0; // uint16
+                constexpr std::ptrdiff_t m_nSphereRigidIndex = 0x2; // uint16
+                constexpr std::ptrdiff_t m_nBoxRigidIndex = 0x4; // uint16
+                constexpr std::ptrdiff_t m_nSDFRigidIndex = 0x6; // uint16
+                constexpr std::ptrdiff_t m_nCollisionPlaneIndex = 0x8; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeCollisionPlane_t {
+                constexpr std::ptrdiff_t nCtrlParent = 0x0; // uint16
+                constexpr std::ptrdiff_t nChildNode = 0x2; // uint16
+                constexpr std::ptrdiff_t m_Plane = 0x4; // RnPlane_t
+                constexpr std::ptrdiff_t flStrength = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeStiffHingeBuild_t {
+                constexpr std::ptrdiff_t flMaxAngle = 0x0; // float32
+                constexpr std::ptrdiff_t flStrength = 0x4; // float32
+                constexpr std::ptrdiff_t flMotionBias = 0x8; // float32[3]
+                constexpr std::ptrdiff_t nNode = 0x14; // uint16[3]
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeBoxRigid_t {
+                constexpr std::ptrdiff_t tmFrame2 = 0x0; // CTransform
+                constexpr std::ptrdiff_t nNode = 0x20; // uint16
+                constexpr std::ptrdiff_t nCollisionMask = 0x22; // uint16
+                constexpr std::ptrdiff_t vSize = 0x24; // Vector
+                constexpr std::ptrdiff_t nVertexMapIndex = 0x30; // uint16
+                constexpr std::ptrdiff_t nFlags = 0x32; // uint16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeMorphLayerDepr_t {
+                constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t m_Nodes = 0x10; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_InitPos = 0x28; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_Gravity = 0x40; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_GoalStrength = 0x58; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_GoalDamping = 0x70; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_nFlags = 0x88; // uint32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeCtrlOffset_t {
+                constexpr std::ptrdiff_t vOffset = 0x0; // Vector
+                constexpr std::ptrdiff_t nCtrlParent = 0xC; // uint16
+                constexpr std::ptrdiff_t nCtrlChild = 0xE; // uint16
+            }
+            // Parent: None
+            // Field count: 0
+            namespace IPhysicsPlayerController {
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeNodeBase_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16
+                constexpr std::ptrdiff_t nDummy = 0x2; // uint16[3]
+                constexpr std::ptrdiff_t nNodeX0 = 0x8; // uint16
+                constexpr std::ptrdiff_t nNodeX1 = 0xA; // uint16
+                constexpr std::ptrdiff_t nNodeY0 = 0xC; // uint16
+                constexpr std::ptrdiff_t nNodeY1 = 0xE; // uint16
+                constexpr std::ptrdiff_t qAdjust = 0x10; // QuaternionStorage
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeVertexMapBuild_t {
+                constexpr std::ptrdiff_t m_VertexMapName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32
+                constexpr std::ptrdiff_t m_Color = 0xC; // Color
+                constexpr std::ptrdiff_t m_flVolumetricSolveStrength = 0x10; // float32
+                constexpr std::ptrdiff_t m_nScaleSourceNode = 0x14; // int32
+                constexpr std::ptrdiff_t m_Weights = 0x18; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CFeVertexMapBuildArray {
+                constexpr std::ptrdiff_t m_Array = 0x0; // CUtlVector<FeVertexMapBuild_t*>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeTri_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[3]
+                constexpr std::ptrdiff_t w1 = 0x8; // float32
+                constexpr std::ptrdiff_t w2 = 0xC; // float32
+                constexpr std::ptrdiff_t v1x = 0x10; // float32
+                constexpr std::ptrdiff_t v2 = 0x14; // Vector2D
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnHull_t {
+                constexpr std::ptrdiff_t m_vCentroid = 0x0; // Vector
+                constexpr std::ptrdiff_t m_flMaxAngularRadius = 0xC; // float32
+                constexpr std::ptrdiff_t m_Bounds = 0x10; // AABB_t
+                constexpr std::ptrdiff_t m_vOrthographicAreas = 0x28; // Vector
+                constexpr std::ptrdiff_t m_MassProperties = 0x34; // matrix3x4_t
+                constexpr std::ptrdiff_t m_flVolume = 0x64; // float32
+                constexpr std::ptrdiff_t m_flSurfaceArea = 0x68; // float32
+                constexpr std::ptrdiff_t m_Vertices = 0x70; // CUtlVector<RnVertex_t>
+                constexpr std::ptrdiff_t m_VertexPositions = 0x88; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_Edges = 0xA0; // CUtlVector<RnHalfEdge_t>
+                constexpr std::ptrdiff_t m_Faces = 0xB8; // CUtlVector<RnFace_t>
+                constexpr std::ptrdiff_t m_FacePlanes = 0xD0; // CUtlVector<RnPlane_t>
+                constexpr std::ptrdiff_t m_nFlags = 0xE8; // uint32
+                constexpr std::ptrdiff_t m_pRegionSVM = 0xF0; // CRegionSVM*
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CovMatrix3 {
+                constexpr std::ptrdiff_t m_vDiag = 0x0; // Vector
+                constexpr std::ptrdiff_t m_flXY = 0xC; // float32
+                constexpr std::ptrdiff_t m_flXZ = 0x10; // float32
+                constexpr std::ptrdiff_t m_flYZ = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnVertex_t {
+                constexpr std::ptrdiff_t m_nEdge = 0x0; // uint8
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace Dop26_t {
+                constexpr std::ptrdiff_t m_flSupport = 0x0; // float32[26]
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnFace_t {
+                constexpr std::ptrdiff_t m_nEdge = 0x0; // uint8
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeCtrlOsOffset_t {
+                constexpr std::ptrdiff_t nCtrlParent = 0x0; // uint16
+                constexpr std::ptrdiff_t nCtrlChild = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeAntiTunnelProbe_t {
+                constexpr std::ptrdiff_t flWeight = 0x0; // float32
+                constexpr std::ptrdiff_t nFlags = 0x4; // uint32
+                constexpr std::ptrdiff_t nProbeNode = 0x8; // uint16
+                constexpr std::ptrdiff_t nCount = 0xA; // uint16
+                constexpr std::ptrdiff_t nBegin = 0xC; // uint32
+                constexpr std::ptrdiff_t flActivationDistance = 0x10; // float32
+                constexpr std::ptrdiff_t flCurvatureRadius = 0x14; // float32
+                constexpr std::ptrdiff_t flBias = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSourceEdge_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[2]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeTwistConstraint_t {
+                constexpr std::ptrdiff_t nNodeOrient = 0x0; // uint16
+                constexpr std::ptrdiff_t nNodeEnd = 0x2; // uint16
+                constexpr std::ptrdiff_t flTwistRelax = 0x4; // float32
+                constexpr std::ptrdiff_t flSwingRelax = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeNodeWindBase_t {
+                constexpr std::ptrdiff_t nNodeX0 = 0x0; // uint16
+                constexpr std::ptrdiff_t nNodeX1 = 0x2; // uint16
+                constexpr std::ptrdiff_t nNodeY0 = 0x4; // uint16
+                constexpr std::ptrdiff_t nNodeY1 = 0x6; // uint16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeAxialEdgeBend_t {
+                constexpr std::ptrdiff_t te = 0x0; // float32
+                constexpr std::ptrdiff_t tv = 0x4; // float32
+                constexpr std::ptrdiff_t flDist = 0x8; // float32
+                constexpr std::ptrdiff_t flWeight = 0xC; // float32[4]
+                constexpr std::ptrdiff_t nNode = 0x1C; // uint16[6]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FourCovMatrices3 {
+                constexpr std::ptrdiff_t m_vDiag = 0x0; // FourVectors
+                constexpr std::ptrdiff_t m_flXY = 0x30; // fltx4
+                constexpr std::ptrdiff_t m_flXZ = 0x40; // fltx4
+                constexpr std::ptrdiff_t m_flYZ = 0x50; // fltx4
+            }
+            // Parent: None
+            // Field count: 5
+            namespace constraint_breakableparams_t {
+                constexpr std::ptrdiff_t strength = 0x0; // float32
+                constexpr std::ptrdiff_t forceLimit = 0x4; // float32
+                constexpr std::ptrdiff_t torqueLimit = 0x8; // float32
+                constexpr std::ptrdiff_t bodyMassScale = 0xC; // float32[2]
+                constexpr std::ptrdiff_t isActive = 0x14; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSphereRigid_t {
+                constexpr std::ptrdiff_t vSphere = 0x0; // fltx4
+                constexpr std::ptrdiff_t nNode = 0x10; // uint16
+                constexpr std::ptrdiff_t nCollisionMask = 0x12; // uint16
+                constexpr std::ptrdiff_t nVertexMapIndex = 0x14; // uint16
+                constexpr std::ptrdiff_t nFlags = 0x16; // uint16
+            }
+            // Parent: FeTaperedCapsuleRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeBuildTaperedCapsuleRigid_t {
+                constexpr std::ptrdiff_t m_nPriority = 0x30; // int32
+                constexpr std::ptrdiff_t m_nVertexMapHash = 0x34; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSoftParent_t {
+                constexpr std::ptrdiff_t nParent = 0x0; // int32
+                constexpr std::ptrdiff_t flAlpha = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnShapeDesc_t {
+                constexpr std::ptrdiff_t m_nCollisionAttributeIndex = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nSurfacePropertyIndex = 0x4; // uint32
+                constexpr std::ptrdiff_t m_UserFriendlyName = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_bUserFriendlyNameSealed = 0x10; // bool
+                constexpr std::ptrdiff_t m_bUserFriendlyNameLong = 0x11; // bool
+                constexpr std::ptrdiff_t m_nToolMaterialHash = 0x14; // uint32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeTreeChildren_t {
+                constexpr std::ptrdiff_t nChild = 0x0; // uint16[2]
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeRodConstraint_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[2]
+                constexpr std::ptrdiff_t flMaxDist = 0x4; // float32
+                constexpr std::ptrdiff_t flMinDist = 0x8; // float32
+                constexpr std::ptrdiff_t flWeight0 = 0xC; // float32
+                constexpr std::ptrdiff_t flRelaxationFactor = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeFitWeight_t {
+                constexpr std::ptrdiff_t flWeight = 0x0; // float32
+                constexpr std::ptrdiff_t nNode = 0x4; // uint16
+                constexpr std::ptrdiff_t nDummy = 0x6; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace RnHalfEdge_t {
+                constexpr std::ptrdiff_t m_nNext = 0x0; // uint8
+                constexpr std::ptrdiff_t m_nTwin = 0x1; // uint8
+                constexpr std::ptrdiff_t m_nOrigin = 0x2; // uint8
+                constexpr std::ptrdiff_t m_nFace = 0x3; // uint8
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeSimdTri_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint32[4][3]
+                constexpr std::ptrdiff_t w1 = 0x30; // fltx4
+                constexpr std::ptrdiff_t w2 = 0x40; // fltx4
+                constexpr std::ptrdiff_t v1x = 0x50; // fltx4
+                constexpr std::ptrdiff_t v2 = 0x60; // FourVectors2D
+            }
+            // Parent: None
+            // Field count: 1
+            namespace VertexPositionColor_t {
+                constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeFitInfluence_t {
+                constexpr std::ptrdiff_t nVertexNode = 0x0; // uint32
+                constexpr std::ptrdiff_t flWeight = 0x4; // float32
+                constexpr std::ptrdiff_t nMatrixNode = 0x8; // uint32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace FeHingeLimitBuild_t {
+                constexpr std::ptrdiff_t nNode = 0x0; // uint16[6]
+                constexpr std::ptrdiff_t nFlags = 0xC; // uint32
+                constexpr std::ptrdiff_t flLimitCW = 0x10; // float32
+                constexpr std::ptrdiff_t flLimitCCW = 0x14; // float32
+            }
+        }
+    }
+}
diff --git a/output/vphysics2_dll.json b/output/vphysics2_dll.json
new file mode 100644
index 0000000..d551599
--- /dev/null
+++ b/output/vphysics2_dll.json
@@ -0,0 +1,1565 @@
+{
+  "vphysics2.dll": {
+    "classes": {
+      "CFeIndexedJiggleBone": {
+        "fields": {
+          "m_jiggleBone": 8,
+          "m_nJiggleParent": 4,
+          "m_nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFeJiggleBone": {
+        "fields": {
+          "m_flAlongDamping": 32,
+          "m_flAlongStiffness": 28,
+          "m_flAngleLimit": 36,
+          "m_flBaseDamping": 80,
+          "m_flBaseForwardFriction": 116,
+          "m_flBaseLeftFriction": 92,
+          "m_flBaseMass": 72,
+          "m_flBaseMaxForward": 112,
+          "m_flBaseMaxLeft": 88,
+          "m_flBaseMaxUp": 100,
+          "m_flBaseMinForward": 108,
+          "m_flBaseMinLeft": 84,
+          "m_flBaseMinUp": 96,
+          "m_flBaseStiffness": 76,
+          "m_flBaseUpFriction": 104,
+          "m_flLength": 4,
+          "m_flMaxPitch": 60,
+          "m_flMaxYaw": 44,
+          "m_flMinPitch": 56,
+          "m_flMinYaw": 40,
+          "m_flPitchBounce": 68,
+          "m_flPitchDamping": 24,
+          "m_flPitchFriction": 64,
+          "m_flPitchStiffness": 20,
+          "m_flRadius0": 120,
+          "m_flRadius1": 124,
+          "m_flTipMass": 8,
+          "m_flYawBounce": 52,
+          "m_flYawDamping": 16,
+          "m_flYawFriction": 48,
+          "m_flYawStiffness": 12,
+          "m_nCollisionMask": 152,
+          "m_nFlags": 0,
+          "m_vPoint0": 128,
+          "m_vPoint1": 140
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFeMorphLayer": {
+        "fields": {
+          "m_GoalDamping": 112,
+          "m_GoalStrength": 88,
+          "m_Gravity": 64,
+          "m_InitPos": 40,
+          "m_Name": 0,
+          "m_Nodes": 16,
+          "m_nNameHash": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFeNamedJiggleBone": {
+        "fields": {
+          "m_jiggleBone": 52,
+          "m_nJiggleParent": 48,
+          "m_strParentBone": 0,
+          "m_transform": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CFeVertexMapBuildArray": {
+        "fields": {
+          "m_Array": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CRegionSVM": {
+        "fields": {
+          "m_Nodes": 24,
+          "m_Planes": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CastSphereSATParams_t": {
+        "fields": {
+          "m_flMaxFraction": 28,
+          "m_flRadius": 24,
+          "m_flScale": 32,
+          "m_pHull": 40,
+          "m_vRayDelta": 12,
+          "m_vRayStart": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CovMatrix3": {
+        "fields": {
+          "m_flXY": 12,
+          "m_flXZ": 16,
+          "m_flYZ": 20,
+          "m_vDiag": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "Dop26_t": {
+        "fields": {
+          "m_flSupport": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeAnimStrayRadius_t": {
+        "fields": {
+          "flMaxDist": 4,
+          "flRelaxationFactor": 8,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeAntiTunnelProbeBuild_t": {
+        "fields": {
+          "flActivationDistance": 4,
+          "flBias": 8,
+          "flCurvature": 12,
+          "flWeight": 0,
+          "nFlags": 16,
+          "nProbeNode": 20,
+          "targetNodes": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeAntiTunnelProbe_t": {
+        "fields": {
+          "flActivationDistance": 16,
+          "flBias": 24,
+          "flCurvatureRadius": 20,
+          "flWeight": 0,
+          "nBegin": 12,
+          "nCount": 10,
+          "nFlags": 4,
+          "nProbeNode": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeAxialEdgeBend_t": {
+        "fields": {
+          "flDist": 8,
+          "flWeight": 12,
+          "nNode": 28,
+          "te": 0,
+          "tv": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeBandBendLimit_t": {
+        "fields": {
+          "flDistMax": 4,
+          "flDistMin": 0,
+          "nNode": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeBoxRigid_t": {
+        "fields": {
+          "nCollisionMask": 34,
+          "nFlags": 50,
+          "nNode": 32,
+          "nVertexMapIndex": 48,
+          "tmFrame2": 0,
+          "vSize": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeBuildBoxRigid_t": {
+        "fields": {
+          "m_nPriority": 64,
+          "m_nVertexMapHash": 68
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "FeBoxRigid_t"
+      },
+      "FeBuildSDFRigid_t": {
+        "fields": {
+          "m_nPriority": 80,
+          "m_nVertexMapHash": 84
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "FeSDFRigid_t"
+      },
+      "FeBuildSphereRigid_t": {
+        "fields": {
+          "m_nPriority": 32,
+          "m_nVertexMapHash": 36
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "FeSphereRigid_t"
+      },
+      "FeBuildTaperedCapsuleRigid_t": {
+        "fields": {
+          "m_nPriority": 48,
+          "m_nVertexMapHash": 52
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "FeTaperedCapsuleRigid_t"
+      },
+      "FeCollisionPlane_t": {
+        "fields": {
+          "flStrength": 20,
+          "m_Plane": 4,
+          "nChildNode": 2,
+          "nCtrlParent": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeCtrlOffset_t": {
+        "fields": {
+          "nCtrlChild": 14,
+          "nCtrlParent": 12,
+          "vOffset": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeCtrlOsOffset_t": {
+        "fields": {
+          "nCtrlChild": 2,
+          "nCtrlParent": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeCtrlSoftOffset_t": {
+        "fields": {
+          "flAlpha": 16,
+          "nCtrlChild": 2,
+          "nCtrlParent": 0,
+          "vOffset": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeEdgeDesc_t": {
+        "fields": {
+          "nEdge": 0,
+          "nSide": 4,
+          "nVirtElem": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeEffectDesc_t": {
+        "fields": {
+          "m_Params": 16,
+          "nNameHash": 8,
+          "nType": 12,
+          "sName": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeFitInfluence_t": {
+        "fields": {
+          "flWeight": 4,
+          "nMatrixNode": 8,
+          "nVertexNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeFitMatrix_t": {
+        "fields": {
+          "bone": 0,
+          "nBeginDynamic": 48,
+          "nEnd": 44,
+          "nNode": 46,
+          "vCenter": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeFitWeight_t": {
+        "fields": {
+          "flWeight": 0,
+          "nDummy": 6,
+          "nNode": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeFollowNode_t": {
+        "fields": {
+          "flWeight": 4,
+          "nChildNode": 2,
+          "nParentNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeHingeLimitBuild_t": {
+        "fields": {
+          "flLimitCCW": 20,
+          "flLimitCW": 16,
+          "nFlags": 12,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeHingeLimit_t": {
+        "fields": {
+          "flAngleCenter": 24,
+          "flAngleExtents": 28,
+          "flWeight4": 16,
+          "flWeight5": 20,
+          "nFlags": 12,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeKelagerBend2_t": {
+        "fields": {
+          "flHeight0": 12,
+          "flWeight": 0,
+          "nNode": 16,
+          "nReserved": 22
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeMorphLayerDepr_t": {
+        "fields": {
+          "m_GoalDamping": 112,
+          "m_GoalStrength": 88,
+          "m_Gravity": 64,
+          "m_InitPos": 40,
+          "m_Name": 0,
+          "m_Nodes": 16,
+          "m_nFlags": 136,
+          "m_nNameHash": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeNodeBase_t": {
+        "fields": {
+          "nDummy": 2,
+          "nNode": 0,
+          "nNodeX0": 8,
+          "nNodeX1": 10,
+          "nNodeY0": 12,
+          "nNodeY1": 14,
+          "qAdjust": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeNodeIntegrator_t": {
+        "fields": {
+          "flAnimationForceAttraction": 4,
+          "flAnimationVertexAttraction": 8,
+          "flGravity": 12,
+          "flPointDamping": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeNodeReverseOffset_t": {
+        "fields": {
+          "nBoneCtrl": 12,
+          "nTargetNode": 14,
+          "vOffset": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeNodeWindBase_t": {
+        "fields": {
+          "nNodeX0": 0,
+          "nNodeX1": 2,
+          "nNodeY0": 4,
+          "nNodeY1": 6
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeProxyVertexMap_t": {
+        "fields": {
+          "m_Name": 0,
+          "m_flWeight": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeQuad_t": {
+        "fields": {
+          "flSlack": 8,
+          "nNode": 0,
+          "vShape": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeRigidColliderIndices_t": {
+        "fields": {
+          "m_nBoxRigidIndex": 4,
+          "m_nCollisionPlaneIndex": 8,
+          "m_nSDFRigidIndex": 6,
+          "m_nSphereRigidIndex": 2,
+          "m_nTaperedCapsuleRigidIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeRodConstraint_t": {
+        "fields": {
+          "flMaxDist": 4,
+          "flMinDist": 8,
+          "flRelaxationFactor": 16,
+          "flWeight0": 12,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSDFRigid_t": {
+        "fields": {
+          "flBounciness": 24,
+          "m_Distances": 40,
+          "m_nDepth": 72,
+          "m_nHeight": 68,
+          "m_nWidth": 64,
+          "nCollisionMask": 30,
+          "nFlags": 34,
+          "nNode": 28,
+          "nVertexMapIndex": 32,
+          "vLocalMax": 12,
+          "vLocalMin": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdAnimStrayRadius_t": {
+        "fields": {
+          "flMaxDist": 16,
+          "flRelaxationFactor": 32,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdNodeBase_t": {
+        "fields": {
+          "nDummy": 40,
+          "nNode": 0,
+          "nNodeX0": 8,
+          "nNodeX1": 16,
+          "nNodeY0": 24,
+          "nNodeY1": 32,
+          "qAdjust": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdQuad_t": {
+        "fields": {
+          "f4Slack": 32,
+          "f4Weights": 240,
+          "nNode": 0,
+          "vShape": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdRodConstraintAnim_t": {
+        "fields": {
+          "f4RelaxationFactor": 32,
+          "f4Weight0": 16,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdRodConstraint_t": {
+        "fields": {
+          "f4MaxDist": 16,
+          "f4MinDist": 32,
+          "f4RelaxationFactor": 64,
+          "f4Weight0": 48,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdSpringIntegrator_t": {
+        "fields": {
+          "flNodeWeight0": 64,
+          "flSpringConstant": 32,
+          "flSpringDamping": 48,
+          "flSpringRestLength": 16,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSimdTri_t": {
+        "fields": {
+          "nNode": 0,
+          "v1x": 80,
+          "v2": 96,
+          "w1": 48,
+          "w2": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSoftParent_t": {
+        "fields": {
+          "flAlpha": 4,
+          "nParent": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSourceEdge_t": {
+        "fields": {
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSphereRigid_t": {
+        "fields": {
+          "nCollisionMask": 18,
+          "nFlags": 22,
+          "nNode": 16,
+          "nVertexMapIndex": 20,
+          "vSphere": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeSpringIntegrator_t": {
+        "fields": {
+          "flNodeWeight0": 16,
+          "flSpringConstant": 8,
+          "flSpringDamping": 12,
+          "flSpringRestLength": 4,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeStiffHingeBuild_t": {
+        "fields": {
+          "flMaxAngle": 0,
+          "flMotionBias": 8,
+          "flStrength": 4,
+          "nNode": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeTaperedCapsuleRigid_t": {
+        "fields": {
+          "nCollisionMask": 34,
+          "nFlags": 38,
+          "nNode": 32,
+          "nVertexMapIndex": 36,
+          "vSphere": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeTaperedCapsuleStretch_t": {
+        "fields": {
+          "flRadius": 8,
+          "nCollisionMask": 4,
+          "nDummy": 6,
+          "nNode": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeTreeChildren_t": {
+        "fields": {
+          "nChild": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeTri_t": {
+        "fields": {
+          "nNode": 0,
+          "v1x": 16,
+          "v2": 20,
+          "w1": 8,
+          "w2": 12
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeTwistConstraint_t": {
+        "fields": {
+          "flSwingRelax": 8,
+          "flTwistRelax": 4,
+          "nNodeEnd": 2,
+          "nNodeOrient": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeVertexMapBuild_t": {
+        "fields": {
+          "m_Color": 12,
+          "m_VertexMapName": 0,
+          "m_Weights": 24,
+          "m_flVolumetricSolveStrength": 16,
+          "m_nNameHash": 8,
+          "m_nScaleSourceNode": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeVertexMapDesc_t": {
+        "fields": {
+          "flVolumetricSolveStrength": 44,
+          "nColor": 12,
+          "nFlags": 16,
+          "nMapOffset": 24,
+          "nNameHash": 8,
+          "nNodeListCount": 50,
+          "nNodeListOffset": 28,
+          "nScaleSourceNode": 48,
+          "nVertexBase": 20,
+          "nVertexCount": 22,
+          "sName": 0,
+          "vCenterOfMass": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeWeightedNode_t": {
+        "fields": {
+          "nNode": 0,
+          "nWeight": 2
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FeWorldCollisionParams_t": {
+        "fields": {
+          "flGroundFriction": 4,
+          "flWorldFriction": 0,
+          "nListBegin": 8,
+          "nListEnd": 10
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FourCovMatrices3": {
+        "fields": {
+          "m_flXY": 48,
+          "m_flXZ": 64,
+          "m_flYZ": 80,
+          "m_vDiag": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "FourVectors2D": {
+        "fields": {
+          "x": 0,
+          "y": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "IPhysicsPlayerController": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "OldFeEdge_t": {
+        "fields": {
+          "c01": 28,
+          "c02": 32,
+          "c03": 36,
+          "c04": 40,
+          "flAxialModelDist": 44,
+          "flAxialModelWeights": 48,
+          "flThetaFactor": 24,
+          "flThetaRelaxed": 20,
+          "invA": 12,
+          "m_flK": 0,
+          "m_nNode": 64,
+          "t": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PhysFeModelDesc_t": {
+        "fields": {
+          "m_AnimStrayRadii": 1056,
+          "m_AntiTunnelProbes": 384,
+          "m_AntiTunnelTargetNodes": 408,
+          "m_AxialEdges": 432,
+          "m_BoxRigids": 1280,
+          "m_CollisionPlanes": 552,
+          "m_CtrlHash": 0,
+          "m_CtrlName": 24,
+          "m_CtrlOffsets": 480,
+          "m_CtrlOsOffsets": 504,
+          "m_CtrlSoftOffsets": 1128,
+          "m_DynNodeFriction": 720,
+          "m_DynNodeVertexSet": 1304,
+          "m_DynNodeWindBases": 1568,
+          "m_Effects": 1472,
+          "m_FitMatrices": 984,
+          "m_FitWeights": 1008,
+          "m_FollowNodes": 528,
+          "m_FreeNodes": 960,
+          "m_GoalDampedSpringIntegrators": 1200,
+          "m_HingeLimits": 360,
+          "m_InitPose": 288,
+          "m_JiggleBones": 1152,
+          "m_KelagerBends": 1104,
+          "m_LegacyStretchForce": 672,
+          "m_LocalForce": 768,
+          "m_LocalRotation": 744,
+          "m_LockToGoal": 1520,
+          "m_LockToParent": 1496,
+          "m_MorphLayers": 1376,
+          "m_MorphSetData": 1400,
+          "m_NodeBases": 120,
+          "m_NodeCollisionRadii": 696,
+          "m_NodeIntegrator": 576,
+          "m_NodeInvMasses": 456,
+          "m_Quads": 168,
+          "m_ReverseOffsets": 1032,
+          "m_RigidColliderPriorities": 1352,
+          "m_Rods": 312,
+          "m_Ropes": 96,
+          "m_SDFRigids": 1256,
+          "m_SimdAnimStrayRadii": 1080,
+          "m_SimdNodeBases": 144,
+          "m_SimdQuads": 192,
+          "m_SimdRods": 240,
+          "m_SimdRodsAnim": 264,
+          "m_SimdSpringIntegrator": 624,
+          "m_SimdTris": 216,
+          "m_SkelParents": 1544,
+          "m_SourceElems": 1176,
+          "m_SphereRigids": 840,
+          "m_SpringIntegrator": 600,
+          "m_TaperedCapsuleRigids": 816,
+          "m_TaperedCapsuleStretches": 792,
+          "m_TreeChildren": 936,
+          "m_TreeCollisionMasks": 912,
+          "m_TreeParents": 888,
+          "m_Tris": 1224,
+          "m_Twists": 336,
+          "m_VertexMapValues": 1448,
+          "m_VertexMaps": 1424,
+          "m_VertexSetNames": 1328,
+          "m_WorldCollisionNodes": 864,
+          "m_WorldCollisionParams": 648,
+          "m_flAddWorldCollisionRadius": 1644,
+          "m_flDefaultExpAirDrag": 1624,
+          "m_flDefaultExpQuadAirDrag": 1632,
+          "m_flDefaultGravityScale": 1616,
+          "m_flDefaultSurfaceStretch": 1608,
+          "m_flDefaultThreadStretch": 1612,
+          "m_flDefaultTimeDilation": 1596,
+          "m_flDefaultVelAirDrag": 1620,
+          "m_flDefaultVelQuadAirDrag": 1628,
+          "m_flDefaultVolumetricSolveAmount": 1648,
+          "m_flInternalPressure": 1592,
+          "m_flLocalDrag1": 1656,
+          "m_flLocalForce": 56,
+          "m_flLocalRotation": 60,
+          "m_flMotionSmoothCDT": 1652,
+          "m_flQuadVelocitySmoothRate": 1640,
+          "m_flRodVelocitySmoothRate": 1636,
+          "m_flWindDrag": 1604,
+          "m_flWindage": 1600,
+          "m_nDynamicNodeFlags": 52,
+          "m_nExtraGoalIterations": 1254,
+          "m_nExtraIterations": 1255,
+          "m_nExtraPressureIterations": 1253,
+          "m_nFirstPositionDrivenNode": 70,
+          "m_nNodeBaseJiggleboneDependsCount": 86,
+          "m_nNodeCount": 64,
+          "m_nQuadCount1": 80,
+          "m_nQuadCount2": 82,
+          "m_nQuadVelocitySmoothIterations": 1662,
+          "m_nReservedUint8": 1252,
+          "m_nRodVelocitySmoothIterations": 1660,
+          "m_nRopeCount": 88,
+          "m_nRotLockStaticNodes": 68,
+          "m_nSimdQuadCount1": 76,
+          "m_nSimdQuadCount2": 78,
+          "m_nSimdTriCount1": 72,
+          "m_nSimdTriCount2": 74,
+          "m_nStaticNodeFlags": 48,
+          "m_nStaticNodes": 66,
+          "m_nTreeDepth": 84,
+          "m_nTriCount1": 1248,
+          "m_nTriCount2": 1250
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnBlendVertex_t": {
+        "fields": {
+          "m_nFlags": 12,
+          "m_nIndex0": 2,
+          "m_nIndex1": 6,
+          "m_nIndex2": 10,
+          "m_nTargetIndex": 14,
+          "m_nWeight0": 0,
+          "m_nWeight1": 4,
+          "m_nWeight2": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnBodyDesc_t": {
+        "fields": {
+          "m_LocalInertiaInv": 72,
+          "m_bBuoyancyDragEnabled": 199,
+          "m_bDragEnabled": 198,
+          "m_bEnabled": 195,
+          "m_bGravityDisabled": 200,
+          "m_bHasShadowController": 202,
+          "m_bIsContinuousEnabled": 197,
+          "m_bSleeping": 196,
+          "m_bSpeculativeEnabled": 201,
+          "m_flAngularBuoyancyDrag": 140,
+          "m_flAngularDamping": 124,
+          "m_flAngularDrag": 132,
+          "m_flBuoyancyFactor": 168,
+          "m_flGameMass": 112,
+          "m_flGravityScale": 172,
+          "m_flInertiaScaleInv": 116,
+          "m_flLinearBuoyancyDrag": 136,
+          "m_flLinearDamping": 120,
+          "m_flLinearDrag": 128,
+          "m_flMassInv": 108,
+          "m_flTimeScale": 176,
+          "m_nBodyType": 180,
+          "m_nGameFlags": 188,
+          "m_nGameIndex": 184,
+          "m_nMassPriority": 194,
+          "m_nMinPositionIterations": 193,
+          "m_nMinVelocityIterations": 192,
+          "m_qOrientation": 20,
+          "m_sDebugName": 0,
+          "m_vAngularVelocity": 48,
+          "m_vLastAwakeForceAccum": 144,
+          "m_vLastAwakeTorqueAccum": 156,
+          "m_vLinearVelocity": 36,
+          "m_vLocalMassCenter": 60,
+          "m_vPosition": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnCapsuleDesc_t": {
+        "fields": {
+          "m_Capsule": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "RnShapeDesc_t"
+      },
+      "RnCapsule_t": {
+        "fields": {
+          "m_flRadius": 24,
+          "m_vCenter": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnFace_t": {
+        "fields": {
+          "m_nEdge": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnHalfEdge_t": {
+        "fields": {
+          "m_nFace": 3,
+          "m_nNext": 0,
+          "m_nOrigin": 2,
+          "m_nTwin": 1
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnHullDesc_t": {
+        "fields": {
+          "m_Hull": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "RnShapeDesc_t"
+      },
+      "RnHull_t": {
+        "fields": {
+          "m_Bounds": 16,
+          "m_Edges": 160,
+          "m_FacePlanes": 208,
+          "m_Faces": 184,
+          "m_MassProperties": 52,
+          "m_VertexPositions": 136,
+          "m_Vertices": 112,
+          "m_flMaxAngularRadius": 12,
+          "m_flSurfaceArea": 104,
+          "m_flVolume": 100,
+          "m_nFlags": 232,
+          "m_pRegionSVM": 240,
+          "m_vCentroid": 0,
+          "m_vOrthographicAreas": 40
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnMeshDesc_t": {
+        "fields": {
+          "m_Mesh": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "RnShapeDesc_t"
+      },
+      "RnMesh_t": {
+        "fields": {
+          "m_Materials": 120,
+          "m_Nodes": 24,
+          "m_Triangles": 72,
+          "m_Vertices": 48,
+          "m_Wings": 96,
+          "m_nDebugFlags": 160,
+          "m_nFlags": 156,
+          "m_vMax": 12,
+          "m_vMin": 0,
+          "m_vOrthographicAreas": 144
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnNode_t": {
+        "fields": {
+          "m_nChildren": 12,
+          "m_nTriangleOffset": 28,
+          "m_vMax": 16,
+          "m_vMin": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnPlane_t": {
+        "fields": {
+          "m_flOffset": 12,
+          "m_vNormal": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnShapeDesc_t": {
+        "fields": {
+          "m_UserFriendlyName": 8,
+          "m_bUserFriendlyNameLong": 17,
+          "m_bUserFriendlyNameSealed": 16,
+          "m_nCollisionAttributeIndex": 0,
+          "m_nSurfacePropertyIndex": 4,
+          "m_nToolMaterialHash": 20
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnSoftbodyCapsule_t": {
+        "fields": {
+          "m_flRadius": 24,
+          "m_nParticle": 28,
+          "m_vCenter": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnSoftbodyParticle_t": {
+        "fields": {
+          "m_flMassInv": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnSoftbodySpring_t": {
+        "fields": {
+          "m_flLength": 4,
+          "m_nParticle": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnSphereDesc_t": {
+        "fields": {
+          "m_Sphere": 24
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "RnShapeDesc_t"
+      },
+      "RnTriangle_t": {
+        "fields": {
+          "m_nIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnVertex_t": {
+        "fields": {
+          "m_nEdge": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "RnWing_t": {
+        "fields": {
+          "m_nIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VertexPositionColor_t": {
+        "fields": {
+          "m_vPosition": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "VertexPositionNormal_t": {
+        "fields": {
+          "m_vNormal": 12,
+          "m_vPosition": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "constraint_axislimit_t": {
+        "fields": {
+          "flMaxRotation": 4,
+          "flMinRotation": 0,
+          "flMotorMaxTorque": 12,
+          "flMotorTargetAngSpeed": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "constraint_breakableparams_t": {
+        "fields": {
+          "bodyMassScale": 12,
+          "forceLimit": 4,
+          "isActive": 20,
+          "strength": 0,
+          "torqueLimit": 8
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "constraint_hingeparams_t": {
+        "fields": {
+          "constraint": 40,
+          "hingeAxis": 24,
+          "worldAxisDirection": 12,
+          "worldPosition": 0
+        },
+        "metadata": [],
+        "parent": null
+      },
+      "vphysics_save_cphysicsbody_t": {
+        "fields": {
+          "m_nOldPointer": 208
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "RnBodyDesc_t"
+      }
+    },
+    "enums": {
+      "JointAxis_t": {
+        "alignment": 4,
+        "members": {
+          "JOINT_AXIS_COUNT": 3,
+          "JOINT_AXIS_X": 0,
+          "JOINT_AXIS_Y": 1,
+          "JOINT_AXIS_Z": 2
+        },
+        "type": "uint32"
+      },
+      "JointMotion_t": {
+        "alignment": 4,
+        "members": {
+          "JOINT_MOTION_COUNT": 2,
+          "JOINT_MOTION_FREE": 0,
+          "JOINT_MOTION_LOCKED": 1
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/vphysics2_dll.rs b/output/vphysics2_dll.rs
new file mode 100644
index 0000000..761edd7
--- /dev/null
+++ b/output/vphysics2_dll.rs
@@ -0,0 +1,1206 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: vphysics2.dll
+        // Class count: 94
+        // Enum count: 2
+        pub mod vphysics2_dll {
+            // Alignment: 4
+            // Member count: 3
+            #[repr(u32)]
+            pub enum JointMotion_t {
+                JOINT_MOTION_FREE = 0x0,
+                JOINT_MOTION_LOCKED = 0x1,
+                JOINT_MOTION_COUNT = 0x2
+            }
+            // Alignment: 4
+            // Member count: 4
+            #[repr(u32)]
+            pub enum JointAxis_t {
+                JOINT_AXIS_X = 0x0,
+                JOINT_AXIS_Y = 0x1,
+                JOINT_AXIS_Z = 0x2,
+                JOINT_AXIS_COUNT = 0x3
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnSoftbodySpring_t {
+                pub const m_nParticle: usize = 0x0; // uint16[2]
+                pub const m_flLength: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnSoftbodyParticle_t {
+                pub const m_flMassInv: usize = 0x0; // float32
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnHullDesc_t {
+                pub const m_Hull: usize = 0x18; // RnHull_t
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnSoftbodyCapsule_t {
+                pub const m_vCenter: usize = 0x0; // Vector[2]
+                pub const m_flRadius: usize = 0x18; // float32
+                pub const m_nParticle: usize = 0x1C; // uint16[2]
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnCapsuleDesc_t {
+                pub const m_Capsule: usize = 0x18; // RnCapsule_t
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnSphereDesc_t {
+                pub const m_Sphere: usize = 0x18; // SphereBase_t<float32>
+            }
+            // Parent: RnShapeDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnMeshDesc_t {
+                pub const m_Mesh: usize = 0x18; // RnMesh_t
+            }
+            // Parent: None
+            // Field count: 106
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PhysFeModelDesc_t {
+                pub const m_CtrlHash: usize = 0x0; // CUtlVector<uint32>
+                pub const m_CtrlName: usize = 0x18; // CUtlVector<CUtlString>
+                pub const m_nStaticNodeFlags: usize = 0x30; // uint32
+                pub const m_nDynamicNodeFlags: usize = 0x34; // uint32
+                pub const m_flLocalForce: usize = 0x38; // float32
+                pub const m_flLocalRotation: usize = 0x3C; // float32
+                pub const m_nNodeCount: usize = 0x40; // uint16
+                pub const m_nStaticNodes: usize = 0x42; // uint16
+                pub const m_nRotLockStaticNodes: usize = 0x44; // uint16
+                pub const m_nFirstPositionDrivenNode: usize = 0x46; // uint16
+                pub const m_nSimdTriCount1: usize = 0x48; // uint16
+                pub const m_nSimdTriCount2: usize = 0x4A; // uint16
+                pub const m_nSimdQuadCount1: usize = 0x4C; // uint16
+                pub const m_nSimdQuadCount2: usize = 0x4E; // uint16
+                pub const m_nQuadCount1: usize = 0x50; // uint16
+                pub const m_nQuadCount2: usize = 0x52; // uint16
+                pub const m_nTreeDepth: usize = 0x54; // uint16
+                pub const m_nNodeBaseJiggleboneDependsCount: usize = 0x56; // uint16
+                pub const m_nRopeCount: usize = 0x58; // uint16
+                pub const m_Ropes: usize = 0x60; // CUtlVector<uint16>
+                pub const m_NodeBases: usize = 0x78; // CUtlVector<FeNodeBase_t>
+                pub const m_SimdNodeBases: usize = 0x90; // CUtlVector<FeSimdNodeBase_t>
+                pub const m_Quads: usize = 0xA8; // CUtlVector<FeQuad_t>
+                pub const m_SimdQuads: usize = 0xC0; // CUtlVector<FeSimdQuad_t>
+                pub const m_SimdTris: usize = 0xD8; // CUtlVector<FeSimdTri_t>
+                pub const m_SimdRods: usize = 0xF0; // CUtlVector<FeSimdRodConstraint_t>
+                pub const m_SimdRodsAnim: usize = 0x108; // CUtlVector<FeSimdRodConstraintAnim_t>
+                pub const m_InitPose: usize = 0x120; // CUtlVector<CTransform>
+                pub const m_Rods: usize = 0x138; // CUtlVector<FeRodConstraint_t>
+                pub const m_Twists: usize = 0x150; // CUtlVector<FeTwistConstraint_t>
+                pub const m_HingeLimits: usize = 0x168; // CUtlVector<FeHingeLimit_t>
+                pub const m_AntiTunnelProbes: usize = 0x180; // CUtlVector<FeAntiTunnelProbe_t>
+                pub const m_AntiTunnelTargetNodes: usize = 0x198; // CUtlVector<uint16>
+                pub const m_AxialEdges: usize = 0x1B0; // CUtlVector<FeAxialEdgeBend_t>
+                pub const m_NodeInvMasses: usize = 0x1C8; // CUtlVector<float32>
+                pub const m_CtrlOffsets: usize = 0x1E0; // CUtlVector<FeCtrlOffset_t>
+                pub const m_CtrlOsOffsets: usize = 0x1F8; // CUtlVector<FeCtrlOsOffset_t>
+                pub const m_FollowNodes: usize = 0x210; // CUtlVector<FeFollowNode_t>
+                pub const m_CollisionPlanes: usize = 0x228; // CUtlVector<FeCollisionPlane_t>
+                pub const m_NodeIntegrator: usize = 0x240; // CUtlVector<FeNodeIntegrator_t>
+                pub const m_SpringIntegrator: usize = 0x258; // CUtlVector<FeSpringIntegrator_t>
+                pub const m_SimdSpringIntegrator: usize = 0x270; // CUtlVector<FeSimdSpringIntegrator_t>
+                pub const m_WorldCollisionParams: usize = 0x288; // CUtlVector<FeWorldCollisionParams_t>
+                pub const m_LegacyStretchForce: usize = 0x2A0; // CUtlVector<float32>
+                pub const m_NodeCollisionRadii: usize = 0x2B8; // CUtlVector<float32>
+                pub const m_DynNodeFriction: usize = 0x2D0; // CUtlVector<float32>
+                pub const m_LocalRotation: usize = 0x2E8; // CUtlVector<float32>
+                pub const m_LocalForce: usize = 0x300; // CUtlVector<float32>
+                pub const m_TaperedCapsuleStretches: usize = 0x318; // CUtlVector<FeTaperedCapsuleStretch_t>
+                pub const m_TaperedCapsuleRigids: usize = 0x330; // CUtlVector<FeTaperedCapsuleRigid_t>
+                pub const m_SphereRigids: usize = 0x348; // CUtlVector<FeSphereRigid_t>
+                pub const m_WorldCollisionNodes: usize = 0x360; // CUtlVector<uint16>
+                pub const m_TreeParents: usize = 0x378; // CUtlVector<uint16>
+                pub const m_TreeCollisionMasks: usize = 0x390; // CUtlVector<uint16>
+                pub const m_TreeChildren: usize = 0x3A8; // CUtlVector<FeTreeChildren_t>
+                pub const m_FreeNodes: usize = 0x3C0; // CUtlVector<uint16>
+                pub const m_FitMatrices: usize = 0x3D8; // CUtlVector<FeFitMatrix_t>
+                pub const m_FitWeights: usize = 0x3F0; // CUtlVector<FeFitWeight_t>
+                pub const m_ReverseOffsets: usize = 0x408; // CUtlVector<FeNodeReverseOffset_t>
+                pub const m_AnimStrayRadii: usize = 0x420; // CUtlVector<FeAnimStrayRadius_t>
+                pub const m_SimdAnimStrayRadii: usize = 0x438; // CUtlVector<FeSimdAnimStrayRadius_t>
+                pub const m_KelagerBends: usize = 0x450; // CUtlVector<FeKelagerBend2_t>
+                pub const m_CtrlSoftOffsets: usize = 0x468; // CUtlVector<FeCtrlSoftOffset_t>
+                pub const m_JiggleBones: usize = 0x480; // CUtlVector<CFeIndexedJiggleBone>
+                pub const m_SourceElems: usize = 0x498; // CUtlVector<uint16>
+                pub const m_GoalDampedSpringIntegrators: usize = 0x4B0; // CUtlVector<uint32>
+                pub const m_Tris: usize = 0x4C8; // CUtlVector<FeTri_t>
+                pub const m_nTriCount1: usize = 0x4E0; // uint16
+                pub const m_nTriCount2: usize = 0x4E2; // uint16
+                pub const m_nReservedUint8: usize = 0x4E4; // uint8
+                pub const m_nExtraPressureIterations: usize = 0x4E5; // uint8
+                pub const m_nExtraGoalIterations: usize = 0x4E6; // uint8
+                pub const m_nExtraIterations: usize = 0x4E7; // uint8
+                pub const m_SDFRigids: usize = 0x4E8; // CUtlVector<FeSDFRigid_t>
+                pub const m_BoxRigids: usize = 0x500; // CUtlVector<FeBoxRigid_t>
+                pub const m_DynNodeVertexSet: usize = 0x518; // CUtlVector<uint8>
+                pub const m_VertexSetNames: usize = 0x530; // CUtlVector<uint32>
+                pub const m_RigidColliderPriorities: usize = 0x548; // CUtlVector<FeRigidColliderIndices_t>
+                pub const m_MorphLayers: usize = 0x560; // CUtlVector<FeMorphLayerDepr_t>
+                pub const m_MorphSetData: usize = 0x578; // CUtlVector<uint8>
+                pub const m_VertexMaps: usize = 0x590; // CUtlVector<FeVertexMapDesc_t>
+                pub const m_VertexMapValues: usize = 0x5A8; // CUtlVector<uint8>
+                pub const m_Effects: usize = 0x5C0; // CUtlVector<FeEffectDesc_t>
+                pub const m_LockToParent: usize = 0x5D8; // CUtlVector<FeCtrlOffset_t>
+                pub const m_LockToGoal: usize = 0x5F0; // CUtlVector<uint16>
+                pub const m_SkelParents: usize = 0x608; // CUtlVector<int16>
+                pub const m_DynNodeWindBases: usize = 0x620; // CUtlVector<FeNodeWindBase_t>
+                pub const m_flInternalPressure: usize = 0x638; // float32
+                pub const m_flDefaultTimeDilation: usize = 0x63C; // float32
+                pub const m_flWindage: usize = 0x640; // float32
+                pub const m_flWindDrag: usize = 0x644; // float32
+                pub const m_flDefaultSurfaceStretch: usize = 0x648; // float32
+                pub const m_flDefaultThreadStretch: usize = 0x64C; // float32
+                pub const m_flDefaultGravityScale: usize = 0x650; // float32
+                pub const m_flDefaultVelAirDrag: usize = 0x654; // float32
+                pub const m_flDefaultExpAirDrag: usize = 0x658; // float32
+                pub const m_flDefaultVelQuadAirDrag: usize = 0x65C; // float32
+                pub const m_flDefaultExpQuadAirDrag: usize = 0x660; // float32
+                pub const m_flRodVelocitySmoothRate: usize = 0x664; // float32
+                pub const m_flQuadVelocitySmoothRate: usize = 0x668; // float32
+                pub const m_flAddWorldCollisionRadius: usize = 0x66C; // float32
+                pub const m_flDefaultVolumetricSolveAmount: usize = 0x670; // float32
+                pub const m_flMotionSmoothCDT: usize = 0x674; // float32
+                pub const m_flLocalDrag1: usize = 0x678; // float32
+                pub const m_nRodVelocitySmoothIterations: usize = 0x67C; // uint16
+                pub const m_nQuadVelocitySmoothIterations: usize = 0x67E; // uint16
+            }
+            // Parent: RnBodyDesc_t
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod vphysics_save_cphysicsbody_t {
+                pub const m_nOldPointer: usize = 0xD0; // uint64
+            }
+            // Parent: FeBoxRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeBuildBoxRigid_t {
+                pub const m_nPriority: usize = 0x40; // int32
+                pub const m_nVertexMapHash: usize = 0x44; // uint32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFeIndexedJiggleBone {
+                pub const m_nNode: usize = 0x0; // uint32
+                pub const m_nJiggleParent: usize = 0x4; // uint32
+                pub const m_jiggleBone: usize = 0x8; // CFeJiggleBone
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeBandBendLimit_t {
+                pub const flDistMin: usize = 0x0; // float32
+                pub const flDistMax: usize = 0x4; // float32
+                pub const nNode: usize = 0x8; // uint16[6]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeTaperedCapsuleStretch_t {
+                pub const nNode: usize = 0x0; // uint16[2]
+                pub const nCollisionMask: usize = 0x4; // uint16
+                pub const nDummy: usize = 0x6; // uint16
+                pub const flRadius: usize = 0x8; // float32[2]
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod constraint_axislimit_t {
+                pub const flMinRotation: usize = 0x0; // float32
+                pub const flMaxRotation: usize = 0x4; // float32
+                pub const flMotorTargetAngSpeed: usize = 0x8; // float32
+                pub const flMotorMaxTorque: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdRodConstraintAnim_t {
+                pub const nNode: usize = 0x0; // uint16[4][2]
+                pub const f4Weight0: usize = 0x10; // fltx4
+                pub const f4RelaxationFactor: usize = 0x20; // fltx4
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdRodConstraint_t {
+                pub const nNode: usize = 0x0; // uint16[4][2]
+                pub const f4MaxDist: usize = 0x10; // fltx4
+                pub const f4MinDist: usize = 0x20; // fltx4
+                pub const f4Weight0: usize = 0x30; // fltx4
+                pub const f4RelaxationFactor: usize = 0x40; // fltx4
+            }
+            // Parent: None
+            // Field count: 4
+            pub mod constraint_hingeparams_t {
+                pub const worldPosition: usize = 0x0; // Vector
+                pub const worldAxisDirection: usize = 0xC; // Vector
+                pub const hingeAxis: usize = 0x18; // constraint_axislimit_t
+                pub const constraint: usize = 0x28; // constraint_breakableparams_t
+            }
+            // Parent: FeSphereRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeBuildSphereRigid_t {
+                pub const m_nPriority: usize = 0x20; // int32
+                pub const m_nVertexMapHash: usize = 0x24; // uint32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdAnimStrayRadius_t {
+                pub const nNode: usize = 0x0; // uint16[4][2]
+                pub const flMaxDist: usize = 0x10; // fltx4
+                pub const flRelaxationFactor: usize = 0x20; // fltx4
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnTriangle_t {
+                pub const m_nIndex: usize = 0x0; // int32[3]
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeProxyVertexMap_t {
+                pub const m_Name: usize = 0x0; // CUtlString
+                pub const m_flWeight: usize = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeNodeIntegrator_t {
+                pub const flPointDamping: usize = 0x0; // float32
+                pub const flAnimationForceAttraction: usize = 0x4; // float32
+                pub const flAnimationVertexAttraction: usize = 0x8; // float32
+                pub const flGravity: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnCapsule_t {
+                pub const m_vCenter: usize = 0x0; // Vector[2]
+                pub const m_flRadius: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFeNamedJiggleBone {
+                pub const m_strParentBone: usize = 0x0; // CUtlString
+                pub const m_transform: usize = 0x10; // CTransform
+                pub const m_nJiggleParent: usize = 0x30; // uint32
+                pub const m_jiggleBone: usize = 0x34; // CFeJiggleBone
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeAntiTunnelProbeBuild_t {
+                pub const flWeight: usize = 0x0; // float32
+                pub const flActivationDistance: usize = 0x4; // float32
+                pub const flBias: usize = 0x8; // float32
+                pub const flCurvature: usize = 0xC; // float32
+                pub const nFlags: usize = 0x10; // uint32
+                pub const nProbeNode: usize = 0x14; // uint16
+                pub const targetNodes: usize = 0x18; // CUtlVector<uint16>
+            }
+            // Parent: None
+            // Field count: 35
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnBodyDesc_t {
+                pub const m_sDebugName: usize = 0x0; // CUtlString
+                pub const m_vPosition: usize = 0x8; // Vector
+                pub const m_qOrientation: usize = 0x14; // QuaternionStorage
+                pub const m_vLinearVelocity: usize = 0x24; // Vector
+                pub const m_vAngularVelocity: usize = 0x30; // Vector
+                pub const m_vLocalMassCenter: usize = 0x3C; // Vector
+                pub const m_LocalInertiaInv: usize = 0x48; // Vector[3]
+                pub const m_flMassInv: usize = 0x6C; // float32
+                pub const m_flGameMass: usize = 0x70; // float32
+                pub const m_flInertiaScaleInv: usize = 0x74; // float32
+                pub const m_flLinearDamping: usize = 0x78; // float32
+                pub const m_flAngularDamping: usize = 0x7C; // float32
+                pub const m_flLinearDrag: usize = 0x80; // float32
+                pub const m_flAngularDrag: usize = 0x84; // float32
+                pub const m_flLinearBuoyancyDrag: usize = 0x88; // float32
+                pub const m_flAngularBuoyancyDrag: usize = 0x8C; // float32
+                pub const m_vLastAwakeForceAccum: usize = 0x90; // Vector
+                pub const m_vLastAwakeTorqueAccum: usize = 0x9C; // Vector
+                pub const m_flBuoyancyFactor: usize = 0xA8; // float32
+                pub const m_flGravityScale: usize = 0xAC; // float32
+                pub const m_flTimeScale: usize = 0xB0; // float32
+                pub const m_nBodyType: usize = 0xB4; // int32
+                pub const m_nGameIndex: usize = 0xB8; // uint32
+                pub const m_nGameFlags: usize = 0xBC; // uint32
+                pub const m_nMinVelocityIterations: usize = 0xC0; // int8
+                pub const m_nMinPositionIterations: usize = 0xC1; // int8
+                pub const m_nMassPriority: usize = 0xC2; // int8
+                pub const m_bEnabled: usize = 0xC3; // bool
+                pub const m_bSleeping: usize = 0xC4; // bool
+                pub const m_bIsContinuousEnabled: usize = 0xC5; // bool
+                pub const m_bDragEnabled: usize = 0xC6; // bool
+                pub const m_bBuoyancyDragEnabled: usize = 0xC7; // bool
+                pub const m_bGravityDisabled: usize = 0xC8; // bool
+                pub const m_bSpeculativeEnabled: usize = 0xC9; // bool
+                pub const m_bHasShadowController: usize = 0xCA; // bool
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod OldFeEdge_t {
+                pub const m_flK: usize = 0x0; // float32[3]
+                pub const invA: usize = 0xC; // float32
+                pub const t: usize = 0x10; // float32
+                pub const flThetaRelaxed: usize = 0x14; // float32
+                pub const flThetaFactor: usize = 0x18; // float32
+                pub const c01: usize = 0x1C; // float32
+                pub const c02: usize = 0x20; // float32
+                pub const c03: usize = 0x24; // float32
+                pub const c04: usize = 0x28; // float32
+                pub const flAxialModelDist: usize = 0x2C; // float32
+                pub const flAxialModelWeights: usize = 0x30; // float32[4]
+                pub const m_nNode: usize = 0x40; // uint16[4]
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeFollowNode_t {
+                pub const nParentNode: usize = 0x0; // uint16
+                pub const nChildNode: usize = 0x2; // uint16
+                pub const flWeight: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnMesh_t {
+                pub const m_vMin: usize = 0x0; // Vector
+                pub const m_vMax: usize = 0xC; // Vector
+                pub const m_Nodes: usize = 0x18; // CUtlVector<RnNode_t>
+                pub const m_Vertices: usize = 0x30; // CUtlVectorSIMDPaddedVector
+                pub const m_Triangles: usize = 0x48; // CUtlVector<RnTriangle_t>
+                pub const m_Wings: usize = 0x60; // CUtlVector<RnWing_t>
+                pub const m_Materials: usize = 0x78; // CUtlVector<uint8>
+                pub const m_vOrthographicAreas: usize = 0x90; // Vector
+                pub const m_nFlags: usize = 0x9C; // uint32
+                pub const m_nDebugFlags: usize = 0xA0; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            pub mod VertexPositionNormal_t {
+                pub const m_vPosition: usize = 0x0; // Vector
+                pub const m_vNormal: usize = 0xC; // Vector
+            }
+            // Parent: FeSDFRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeBuildSDFRigid_t {
+                pub const m_nPriority: usize = 0x50; // int32
+                pub const m_nVertexMapHash: usize = 0x54; // uint32
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnBlendVertex_t {
+                pub const m_nWeight0: usize = 0x0; // uint16
+                pub const m_nIndex0: usize = 0x2; // uint16
+                pub const m_nWeight1: usize = 0x4; // uint16
+                pub const m_nIndex1: usize = 0x6; // uint16
+                pub const m_nWeight2: usize = 0x8; // uint16
+                pub const m_nIndex2: usize = 0xA; // uint16
+                pub const m_nFlags: usize = 0xC; // uint16
+                pub const m_nTargetIndex: usize = 0xE; // uint16
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFeMorphLayer {
+                pub const m_Name: usize = 0x0; // CUtlString
+                pub const m_nNameHash: usize = 0x8; // uint32
+                pub const m_Nodes: usize = 0x10; // CUtlVector<uint16>
+                pub const m_InitPos: usize = 0x28; // CUtlVector<Vector>
+                pub const m_Gravity: usize = 0x40; // CUtlVector<float32>
+                pub const m_GoalStrength: usize = 0x58; // CUtlVector<float32>
+                pub const m_GoalDamping: usize = 0x70; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeCtrlSoftOffset_t {
+                pub const nCtrlParent: usize = 0x0; // uint16
+                pub const nCtrlChild: usize = 0x2; // uint16
+                pub const vOffset: usize = 0x4; // Vector
+                pub const flAlpha: usize = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 12
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeVertexMapDesc_t {
+                pub const sName: usize = 0x0; // CUtlString
+                pub const nNameHash: usize = 0x8; // uint32
+                pub const nColor: usize = 0xC; // uint32
+                pub const nFlags: usize = 0x10; // uint32
+                pub const nVertexBase: usize = 0x14; // uint16
+                pub const nVertexCount: usize = 0x16; // uint16
+                pub const nMapOffset: usize = 0x18; // uint32
+                pub const nNodeListOffset: usize = 0x1C; // uint32
+                pub const vCenterOfMass: usize = 0x20; // Vector
+                pub const flVolumetricSolveStrength: usize = 0x2C; // float32
+                pub const nScaleSourceNode: usize = 0x30; // int16
+                pub const nNodeListCount: usize = 0x32; // uint16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeTaperedCapsuleRigid_t {
+                pub const vSphere: usize = 0x0; // fltx4[2]
+                pub const nNode: usize = 0x20; // uint16
+                pub const nCollisionMask: usize = 0x22; // uint16
+                pub const nVertexMapIndex: usize = 0x24; // uint16
+                pub const nFlags: usize = 0x26; // uint16
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeAnimStrayRadius_t {
+                pub const nNode: usize = 0x0; // uint16[2]
+                pub const flMaxDist: usize = 0x4; // float32
+                pub const flRelaxationFactor: usize = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeEdgeDesc_t {
+                pub const nEdge: usize = 0x0; // uint16[2]
+                pub const nSide: usize = 0x4; // uint16[2][2]
+                pub const nVirtElem: usize = 0xC; // uint16[2]
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeNodeReverseOffset_t {
+                pub const vOffset: usize = 0x0; // Vector
+                pub const nBoneCtrl: usize = 0xC; // uint16
+                pub const nTargetNode: usize = 0xE; // uint16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnPlane_t {
+                pub const m_vNormal: usize = 0x0; // Vector
+                pub const m_flOffset: usize = 0xC; // float32
+            }
+            // Parent: None
+            // Field count: 11
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSDFRigid_t {
+                pub const vLocalMin: usize = 0x0; // Vector
+                pub const vLocalMax: usize = 0xC; // Vector
+                pub const flBounciness: usize = 0x18; // float32
+                pub const nNode: usize = 0x1C; // uint16
+                pub const nCollisionMask: usize = 0x1E; // uint16
+                pub const nVertexMapIndex: usize = 0x20; // uint16
+                pub const nFlags: usize = 0x22; // uint16
+                pub const m_Distances: usize = 0x28; // CUtlVector<float32>
+                pub const m_nWidth: usize = 0x40; // int32
+                pub const m_nHeight: usize = 0x44; // int32
+                pub const m_nDepth: usize = 0x48; // int32
+            }
+            // Parent: None
+            // Field count: 35
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFeJiggleBone {
+                pub const m_nFlags: usize = 0x0; // uint32
+                pub const m_flLength: usize = 0x4; // float32
+                pub const m_flTipMass: usize = 0x8; // float32
+                pub const m_flYawStiffness: usize = 0xC; // float32
+                pub const m_flYawDamping: usize = 0x10; // float32
+                pub const m_flPitchStiffness: usize = 0x14; // float32
+                pub const m_flPitchDamping: usize = 0x18; // float32
+                pub const m_flAlongStiffness: usize = 0x1C; // float32
+                pub const m_flAlongDamping: usize = 0x20; // float32
+                pub const m_flAngleLimit: usize = 0x24; // float32
+                pub const m_flMinYaw: usize = 0x28; // float32
+                pub const m_flMaxYaw: usize = 0x2C; // float32
+                pub const m_flYawFriction: usize = 0x30; // float32
+                pub const m_flYawBounce: usize = 0x34; // float32
+                pub const m_flMinPitch: usize = 0x38; // float32
+                pub const m_flMaxPitch: usize = 0x3C; // float32
+                pub const m_flPitchFriction: usize = 0x40; // float32
+                pub const m_flPitchBounce: usize = 0x44; // float32
+                pub const m_flBaseMass: usize = 0x48; // float32
+                pub const m_flBaseStiffness: usize = 0x4C; // float32
+                pub const m_flBaseDamping: usize = 0x50; // float32
+                pub const m_flBaseMinLeft: usize = 0x54; // float32
+                pub const m_flBaseMaxLeft: usize = 0x58; // float32
+                pub const m_flBaseLeftFriction: usize = 0x5C; // float32
+                pub const m_flBaseMinUp: usize = 0x60; // float32
+                pub const m_flBaseMaxUp: usize = 0x64; // float32
+                pub const m_flBaseUpFriction: usize = 0x68; // float32
+                pub const m_flBaseMinForward: usize = 0x6C; // float32
+                pub const m_flBaseMaxForward: usize = 0x70; // float32
+                pub const m_flBaseForwardFriction: usize = 0x74; // float32
+                pub const m_flRadius0: usize = 0x78; // float32
+                pub const m_flRadius1: usize = 0x7C; // float32
+                pub const m_vPoint0: usize = 0x80; // Vector
+                pub const m_vPoint1: usize = 0x8C; // Vector
+                pub const m_nCollisionMask: usize = 0x98; // uint16
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CRegionSVM {
+                pub const m_Planes: usize = 0x0; // CUtlVector<RnPlane_t>
+                pub const m_Nodes: usize = 0x18; // CUtlVector<uint32>
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeWorldCollisionParams_t {
+                pub const flWorldFriction: usize = 0x0; // float32
+                pub const flGroundFriction: usize = 0x4; // float32
+                pub const nListBegin: usize = 0x8; // uint16
+                pub const nListEnd: usize = 0xA; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnNode_t {
+                pub const m_vMin: usize = 0x0; // Vector
+                pub const m_nChildren: usize = 0xC; // uint32
+                pub const m_vMax: usize = 0x10; // Vector
+                pub const m_nTriangleOffset: usize = 0x1C; // uint32
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeFitMatrix_t {
+                pub const bone: usize = 0x0; // CTransform
+                pub const vCenter: usize = 0x20; // Vector
+                pub const nEnd: usize = 0x2C; // uint16
+                pub const nNode: usize = 0x2E; // uint16
+                pub const nBeginDynamic: usize = 0x30; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdQuad_t {
+                pub const nNode: usize = 0x0; // uint16[4][4]
+                pub const f4Slack: usize = 0x20; // fltx4
+                pub const vShape: usize = 0x30; // FourVectors[4]
+                pub const f4Weights: usize = 0xF0; // fltx4[4]
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdSpringIntegrator_t {
+                pub const nNode: usize = 0x0; // uint16[4][2]
+                pub const flSpringRestLength: usize = 0x10; // fltx4
+                pub const flSpringConstant: usize = 0x20; // fltx4
+                pub const flSpringDamping: usize = 0x30; // fltx4
+                pub const flNodeWeight0: usize = 0x40; // fltx4
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdNodeBase_t {
+                pub const nNode: usize = 0x0; // uint16[4]
+                pub const nNodeX0: usize = 0x8; // uint16[4]
+                pub const nNodeX1: usize = 0x10; // uint16[4]
+                pub const nNodeY0: usize = 0x18; // uint16[4]
+                pub const nNodeY1: usize = 0x20; // uint16[4]
+                pub const nDummy: usize = 0x28; // uint16[4]
+                pub const qAdjust: usize = 0x30; // FourQuaternions
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeQuad_t {
+                pub const nNode: usize = 0x0; // uint16[4]
+                pub const flSlack: usize = 0x8; // float32
+                pub const vShape: usize = 0xC; // Vector4D[4]
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeHingeLimit_t {
+                pub const nNode: usize = 0x0; // uint16[6]
+                pub const nFlags: usize = 0xC; // uint32
+                pub const flWeight4: usize = 0x10; // float32
+                pub const flWeight5: usize = 0x14; // float32
+                pub const flAngleCenter: usize = 0x18; // float32
+                pub const flAngleExtents: usize = 0x1C; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnWing_t {
+                pub const m_nIndex: usize = 0x0; // int32[3]
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeWeightedNode_t {
+                pub const nNode: usize = 0x0; // uint16
+                pub const nWeight: usize = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeEffectDesc_t {
+                pub const sName: usize = 0x0; // CUtlString
+                pub const nNameHash: usize = 0x8; // uint32
+                pub const nType: usize = 0xC; // int32
+                pub const m_Params: usize = 0x10; // KeyValues3
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSpringIntegrator_t {
+                pub const nNode: usize = 0x0; // uint16[2]
+                pub const flSpringRestLength: usize = 0x4; // float32
+                pub const flSpringConstant: usize = 0x8; // float32
+                pub const flSpringDamping: usize = 0xC; // float32
+                pub const flNodeWeight0: usize = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FourVectors2D {
+                pub const x: usize = 0x0; // fltx4
+                pub const y: usize = 0x10; // fltx4
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeKelagerBend2_t {
+                pub const flWeight: usize = 0x0; // float32[3]
+                pub const flHeight0: usize = 0xC; // float32
+                pub const nNode: usize = 0x10; // uint16[3]
+                pub const nReserved: usize = 0x16; // uint16
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CastSphereSATParams_t {
+                pub const m_vRayStart: usize = 0x0; // Vector
+                pub const m_vRayDelta: usize = 0xC; // Vector
+                pub const m_flRadius: usize = 0x18; // float32
+                pub const m_flMaxFraction: usize = 0x1C; // float32
+                pub const m_flScale: usize = 0x20; // float32
+                pub const m_pHull: usize = 0x28; // RnHull_t*
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeRigidColliderIndices_t {
+                pub const m_nTaperedCapsuleRigidIndex: usize = 0x0; // uint16
+                pub const m_nSphereRigidIndex: usize = 0x2; // uint16
+                pub const m_nBoxRigidIndex: usize = 0x4; // uint16
+                pub const m_nSDFRigidIndex: usize = 0x6; // uint16
+                pub const m_nCollisionPlaneIndex: usize = 0x8; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeCollisionPlane_t {
+                pub const nCtrlParent: usize = 0x0; // uint16
+                pub const nChildNode: usize = 0x2; // uint16
+                pub const m_Plane: usize = 0x4; // RnPlane_t
+                pub const flStrength: usize = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeStiffHingeBuild_t {
+                pub const flMaxAngle: usize = 0x0; // float32
+                pub const flStrength: usize = 0x4; // float32
+                pub const flMotionBias: usize = 0x8; // float32[3]
+                pub const nNode: usize = 0x14; // uint16[3]
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeBoxRigid_t {
+                pub const tmFrame2: usize = 0x0; // CTransform
+                pub const nNode: usize = 0x20; // uint16
+                pub const nCollisionMask: usize = 0x22; // uint16
+                pub const vSize: usize = 0x24; // Vector
+                pub const nVertexMapIndex: usize = 0x30; // uint16
+                pub const nFlags: usize = 0x32; // uint16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeMorphLayerDepr_t {
+                pub const m_Name: usize = 0x0; // CUtlString
+                pub const m_nNameHash: usize = 0x8; // uint32
+                pub const m_Nodes: usize = 0x10; // CUtlVector<uint16>
+                pub const m_InitPos: usize = 0x28; // CUtlVector<Vector>
+                pub const m_Gravity: usize = 0x40; // CUtlVector<float32>
+                pub const m_GoalStrength: usize = 0x58; // CUtlVector<float32>
+                pub const m_GoalDamping: usize = 0x70; // CUtlVector<float32>
+                pub const m_nFlags: usize = 0x88; // uint32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeCtrlOffset_t {
+                pub const vOffset: usize = 0x0; // Vector
+                pub const nCtrlParent: usize = 0xC; // uint16
+                pub const nCtrlChild: usize = 0xE; // uint16
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod IPhysicsPlayerController {
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeNodeBase_t {
+                pub const nNode: usize = 0x0; // uint16
+                pub const nDummy: usize = 0x2; // uint16[3]
+                pub const nNodeX0: usize = 0x8; // uint16
+                pub const nNodeX1: usize = 0xA; // uint16
+                pub const nNodeY0: usize = 0xC; // uint16
+                pub const nNodeY1: usize = 0xE; // uint16
+                pub const qAdjust: usize = 0x10; // QuaternionStorage
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeVertexMapBuild_t {
+                pub const m_VertexMapName: usize = 0x0; // CUtlString
+                pub const m_nNameHash: usize = 0x8; // uint32
+                pub const m_Color: usize = 0xC; // Color
+                pub const m_flVolumetricSolveStrength: usize = 0x10; // float32
+                pub const m_nScaleSourceNode: usize = 0x14; // int32
+                pub const m_Weights: usize = 0x18; // CUtlVector<float32>
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CFeVertexMapBuildArray {
+                pub const m_Array: usize = 0x0; // CUtlVector<FeVertexMapBuild_t*>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeTri_t {
+                pub const nNode: usize = 0x0; // uint16[3]
+                pub const w1: usize = 0x8; // float32
+                pub const w2: usize = 0xC; // float32
+                pub const v1x: usize = 0x10; // float32
+                pub const v2: usize = 0x14; // Vector2D
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnHull_t {
+                pub const m_vCentroid: usize = 0x0; // Vector
+                pub const m_flMaxAngularRadius: usize = 0xC; // float32
+                pub const m_Bounds: usize = 0x10; // AABB_t
+                pub const m_vOrthographicAreas: usize = 0x28; // Vector
+                pub const m_MassProperties: usize = 0x34; // matrix3x4_t
+                pub const m_flVolume: usize = 0x64; // float32
+                pub const m_flSurfaceArea: usize = 0x68; // float32
+                pub const m_Vertices: usize = 0x70; // CUtlVector<RnVertex_t>
+                pub const m_VertexPositions: usize = 0x88; // CUtlVector<Vector>
+                pub const m_Edges: usize = 0xA0; // CUtlVector<RnHalfEdge_t>
+                pub const m_Faces: usize = 0xB8; // CUtlVector<RnFace_t>
+                pub const m_FacePlanes: usize = 0xD0; // CUtlVector<RnPlane_t>
+                pub const m_nFlags: usize = 0xE8; // uint32
+                pub const m_pRegionSVM: usize = 0xF0; // CRegionSVM*
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CovMatrix3 {
+                pub const m_vDiag: usize = 0x0; // Vector
+                pub const m_flXY: usize = 0xC; // float32
+                pub const m_flXZ: usize = 0x10; // float32
+                pub const m_flYZ: usize = 0x14; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnVertex_t {
+                pub const m_nEdge: usize = 0x0; // uint8
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod Dop26_t {
+                pub const m_flSupport: usize = 0x0; // float32[26]
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnFace_t {
+                pub const m_nEdge: usize = 0x0; // uint8
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeCtrlOsOffset_t {
+                pub const nCtrlParent: usize = 0x0; // uint16
+                pub const nCtrlChild: usize = 0x2; // uint16
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeAntiTunnelProbe_t {
+                pub const flWeight: usize = 0x0; // float32
+                pub const nFlags: usize = 0x4; // uint32
+                pub const nProbeNode: usize = 0x8; // uint16
+                pub const nCount: usize = 0xA; // uint16
+                pub const nBegin: usize = 0xC; // uint32
+                pub const flActivationDistance: usize = 0x10; // float32
+                pub const flCurvatureRadius: usize = 0x14; // float32
+                pub const flBias: usize = 0x18; // float32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSourceEdge_t {
+                pub const nNode: usize = 0x0; // uint16[2]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeTwistConstraint_t {
+                pub const nNodeOrient: usize = 0x0; // uint16
+                pub const nNodeEnd: usize = 0x2; // uint16
+                pub const flTwistRelax: usize = 0x4; // float32
+                pub const flSwingRelax: usize = 0x8; // float32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeNodeWindBase_t {
+                pub const nNodeX0: usize = 0x0; // uint16
+                pub const nNodeX1: usize = 0x2; // uint16
+                pub const nNodeY0: usize = 0x4; // uint16
+                pub const nNodeY1: usize = 0x6; // uint16
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeAxialEdgeBend_t {
+                pub const te: usize = 0x0; // float32
+                pub const tv: usize = 0x4; // float32
+                pub const flDist: usize = 0x8; // float32
+                pub const flWeight: usize = 0xC; // float32[4]
+                pub const nNode: usize = 0x1C; // uint16[6]
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FourCovMatrices3 {
+                pub const m_vDiag: usize = 0x0; // FourVectors
+                pub const m_flXY: usize = 0x30; // fltx4
+                pub const m_flXZ: usize = 0x40; // fltx4
+                pub const m_flYZ: usize = 0x50; // fltx4
+            }
+            // Parent: None
+            // Field count: 5
+            pub mod constraint_breakableparams_t {
+                pub const strength: usize = 0x0; // float32
+                pub const forceLimit: usize = 0x4; // float32
+                pub const torqueLimit: usize = 0x8; // float32
+                pub const bodyMassScale: usize = 0xC; // float32[2]
+                pub const isActive: usize = 0x14; // bool
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSphereRigid_t {
+                pub const vSphere: usize = 0x0; // fltx4
+                pub const nNode: usize = 0x10; // uint16
+                pub const nCollisionMask: usize = 0x12; // uint16
+                pub const nVertexMapIndex: usize = 0x14; // uint16
+                pub const nFlags: usize = 0x16; // uint16
+            }
+            // Parent: FeTaperedCapsuleRigid_t
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeBuildTaperedCapsuleRigid_t {
+                pub const m_nPriority: usize = 0x30; // int32
+                pub const m_nVertexMapHash: usize = 0x34; // uint32
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSoftParent_t {
+                pub const nParent: usize = 0x0; // int32
+                pub const flAlpha: usize = 0x4; // float32
+            }
+            // Parent: None
+            // Field count: 6
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnShapeDesc_t {
+                pub const m_nCollisionAttributeIndex: usize = 0x0; // uint32
+                pub const m_nSurfacePropertyIndex: usize = 0x4; // uint32
+                pub const m_UserFriendlyName: usize = 0x8; // CUtlString
+                pub const m_bUserFriendlyNameSealed: usize = 0x10; // bool
+                pub const m_bUserFriendlyNameLong: usize = 0x11; // bool
+                pub const m_nToolMaterialHash: usize = 0x14; // uint32
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeTreeChildren_t {
+                pub const nChild: usize = 0x0; // uint16[2]
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeRodConstraint_t {
+                pub const nNode: usize = 0x0; // uint16[2]
+                pub const flMaxDist: usize = 0x4; // float32
+                pub const flMinDist: usize = 0x8; // float32
+                pub const flWeight0: usize = 0xC; // float32
+                pub const flRelaxationFactor: usize = 0x10; // float32
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeFitWeight_t {
+                pub const flWeight: usize = 0x0; // float32
+                pub const nNode: usize = 0x4; // uint16
+                pub const nDummy: usize = 0x6; // uint16
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod RnHalfEdge_t {
+                pub const m_nNext: usize = 0x0; // uint8
+                pub const m_nTwin: usize = 0x1; // uint8
+                pub const m_nOrigin: usize = 0x2; // uint8
+                pub const m_nFace: usize = 0x3; // uint8
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeSimdTri_t {
+                pub const nNode: usize = 0x0; // uint32[4][3]
+                pub const w1: usize = 0x30; // fltx4
+                pub const w2: usize = 0x40; // fltx4
+                pub const v1x: usize = 0x50; // fltx4
+                pub const v2: usize = 0x60; // FourVectors2D
+            }
+            // Parent: None
+            // Field count: 1
+            pub mod VertexPositionColor_t {
+                pub const m_vPosition: usize = 0x0; // Vector
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeFitInfluence_t {
+                pub const nVertexNode: usize = 0x0; // uint32
+                pub const flWeight: usize = 0x4; // float32
+                pub const nMatrixNode: usize = 0x8; // uint32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod FeHingeLimitBuild_t {
+                pub const nNode: usize = 0x0; // uint16[6]
+                pub const nFlags: usize = 0xC; // uint32
+                pub const flLimitCW: usize = 0x10; // float32
+                pub const flLimitCCW: usize = 0x14; // float32
+            }
+        }
+    }
+}
diff --git a/output/worldrenderer_dll.cs b/output/worldrenderer_dll.cs
new file mode 100644
index 0000000..b5cbf4e
--- /dev/null
+++ b/output/worldrenderer_dll.cs
@@ -0,0 +1,320 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+namespace CS2Dumper.Schemas {
+    // Module: worldrenderer.dll
+    // Class count: 23
+    // Enum count: 1
+    public static class WorldrendererDll {
+        // Alignment: 4
+        // Member count: 15
+        public enum ObjectTypeFlags_t : uint {
+            OBJECT_TYPE_NONE = 0x0,
+            OBJECT_TYPE_MODEL = 0x8,
+            OBJECT_TYPE_BLOCK_LIGHT = 0x10,
+            OBJECT_TYPE_NO_SHADOWS = 0x20,
+            OBJECT_TYPE_WORLDSPACE_TEXURE_BLEND = 0x40,
+            OBJECT_TYPE_DISABLED_IN_LOW_QUALITY = 0x80,
+            OBJECT_TYPE_NO_SUN_SHADOWS = 0x100,
+            OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200,
+            OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400,
+            OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
+            OBJECT_TYPE_OVERLAY = 0x2000,
+            OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
+            OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
+            OBJECT_TYPE_DISABLE_VIS_CULLING = 0x10000,
+            OBJECT_TYPE_BAKED_GEOMETRY = 0x20000
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class SceneObject_t {
+            public const nint m_nObjectID = 0x0; // uint32
+            public const nint m_vTransform = 0x4; // Vector4D[3]
+            public const nint m_flFadeStartDistance = 0x34; // float32
+            public const nint m_flFadeEndDistance = 0x38; // float32
+            public const nint m_vTintColor = 0x3C; // Vector4D
+            public const nint m_skin = 0x50; // CUtlString
+            public const nint m_nObjectTypeFlags = 0x58; // ObjectTypeFlags_t
+            public const nint m_vLightingOrigin = 0x5C; // Vector
+            public const nint m_nOverlayRenderOrder = 0x68; // int16
+            public const nint m_nLODOverride = 0x6A; // int16
+            public const nint m_nCubeMapPrecomputedHandshake = 0x6C; // int32
+            public const nint m_nLightProbeVolumePrecomputedHandshake = 0x70; // int32
+            public const nint m_renderableModel = 0x78; // CStrongHandle<InfoForResourceTypeCModel>
+            public const nint m_renderable = 0x80; // CStrongHandle<InfoForResourceTypeCRenderMesh>
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AggregateLODSetup_t {
+            public const nint m_vLODOrigin = 0x0; // Vector
+            public const nint m_fMaxObjectScale = 0xC; // float32
+            public const nint m_fSwitchDistances = 0x10; // CUtlVector<float32>
+        }
+        // Parent: BaseSceneObjectOverride_t
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ExtraVertexStreamOverride_t {
+            public const nint m_nSubSceneObject = 0x4; // uint32
+            public const nint m_nDrawCallIndex = 0x8; // uint32
+            public const nint m_nAdditionalMeshDrawPrimitiveFlags = 0xC; // MeshDrawPrimitiveFlags_t
+            public const nint m_extraBufferBinding = 0x10; // CRenderBufferBinding
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ClutterTile_t {
+            public const nint m_nFirstInstance = 0x0; // uint32
+            public const nint m_nLastInstance = 0x4; // uint32
+            public const nint m_BoundsWs = 0x8; // AABB_t
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AggregateSceneObject_t {
+            public const nint m_allFlags = 0x0; // ObjectTypeFlags_t
+            public const nint m_anyFlags = 0x4; // ObjectTypeFlags_t
+            public const nint m_nLayer = 0x8; // int16
+            public const nint m_aggregateMeshes = 0x10; // CUtlVector<AggregateMeshInfo_t>
+            public const nint m_lodSetups = 0x28; // CUtlVector<AggregateLODSetup_t>
+            public const nint m_visClusterMembership = 0x40; // CUtlVector<uint16>
+            public const nint m_fragmentTransforms = 0x58; // CUtlVector<matrix3x4_t>
+            public const nint m_renderableModel = 0x70; // CStrongHandle<InfoForResourceTypeCModel>
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class NodeData_t {
+            public const nint m_nParent = 0x0; // int32
+            public const nint m_vOrigin = 0x4; // Vector
+            public const nint m_vMinBounds = 0x10; // Vector
+            public const nint m_vMaxBounds = 0x1C; // Vector
+            public const nint m_flMinimumDistance = 0x28; // float32
+            public const nint m_ChildNodeIndices = 0x30; // CUtlVector<int32>
+            public const nint m_worldNodePrefix = 0x48; // CUtlString
+        }
+        // Parent: None
+        // Field count: 0
+        public static class VMapResourceData_t {
+        }
+        // Parent: None
+        // Field count: 8
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class ClutterSceneObject_t {
+            public const nint m_Bounds = 0x0; // AABB_t
+            public const nint m_flags = 0x18; // ObjectTypeFlags_t
+            public const nint m_nLayer = 0x1C; // int16
+            public const nint m_instancePositions = 0x20; // CUtlVector<Vector>
+            public const nint m_instanceScales = 0x50; // CUtlVector<float32>
+            public const nint m_instanceTintSrgb = 0x68; // CUtlVector<Color>
+            public const nint m_tiles = 0x80; // CUtlVector<ClutterTile_t>
+            public const nint m_renderableModel = 0x98; // CStrongHandle<InfoForResourceTypeCModel>
+        }
+        // Parent: None
+        // Field count: 5
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class WorldBuilderParams_t {
+            public const nint m_flMinDrawVolumeSize = 0x0; // float32
+            public const nint m_bBuildBakedLighting = 0x4; // bool
+            public const nint m_bakedLightingInfo = 0x8; // BakedLightingInfo_t
+            public const nint m_nCompileTimestamp = 0x38; // uint64
+            public const nint m_nCompileFingerprint = 0x40; // uint64
+        }
+        // Parent: None
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class PermEntityLumpData_t {
+            public const nint m_name = 0x8; // CUtlString
+            public const nint m_childLumps = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
+            public const nint m_entityKeyValues = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
+        }
+        // Parent: None
+        // Field count: 14
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class WorldNode_t {
+            public const nint m_sceneObjects = 0x0; // CUtlVector<SceneObject_t>
+            public const nint m_infoOverlays = 0x18; // CUtlVector<InfoOverlayData_t>
+            public const nint m_visClusterMembership = 0x30; // CUtlVector<uint16>
+            public const nint m_aggregateSceneObjects = 0x48; // CUtlVector<AggregateSceneObject_t>
+            public const nint m_clutterSceneObjects = 0x60; // CUtlVector<ClutterSceneObject_t>
+            public const nint m_extraVertexStreamOverrides = 0x78; // CUtlVector<ExtraVertexStreamOverride_t>
+            public const nint m_materialOverrides = 0x90; // CUtlVector<MaterialOverride_t>
+            public const nint m_extraVertexStreams = 0xA8; // CUtlVector<WorldNodeOnDiskBufferData_t>
+            public const nint m_layerNames = 0xC0; // CUtlVector<CUtlString>
+            public const nint m_sceneObjectLayerIndices = 0xD8; // CUtlVector<uint8>
+            public const nint m_overlayLayerIndices = 0xF0; // CUtlVector<uint8>
+            public const nint m_grassFileName = 0x108; // CUtlString
+            public const nint m_nodeLightingInfo = 0x110; // BakedLightingInfo_t
+            public const nint m_bHasBakedGeometryFlag = 0x140; // bool
+        }
+        // Parent: None
+        // Field count: 1
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class BaseSceneObjectOverride_t {
+            public const nint m_nSceneObjectIndex = 0x0; // uint32
+        }
+        // Parent: None
+        // Field count: 7
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class EntityIOConnectionData_t {
+            public const nint m_outputName = 0x0; // CUtlString
+            public const nint m_targetType = 0x8; // uint32
+            public const nint m_targetName = 0x10; // CUtlString
+            public const nint m_inputName = 0x18; // CUtlString
+            public const nint m_overrideParam = 0x20; // CUtlString
+            public const nint m_flDelay = 0x28; // float32
+            public const nint m_nTimesToFire = 0x2C; // int32
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class BakedLightingInfo_t {
+            public const nint m_nLightmapVersionNumber = 0x0; // uint32
+            public const nint m_nLightmapGameVersionNumber = 0x4; // uint32
+            public const nint m_vLightmapUvScale = 0x8; // Vector2D
+            public const nint m_bHasLightmaps = 0x10; // bool
+            public const nint m_bBakedShadowsGamma20 = 0x11; // bool
+            public const nint m_bCompressionEnabled = 0x12; // bool
+            public const nint m_nChartPackIterations = 0x13; // uint8
+            public const nint m_nVradQuality = 0x14; // uint8
+            public const nint m_lightMaps = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class VoxelVisBlockOffset_t {
+            public const nint m_nOffset = 0x0; // uint32
+            public const nint m_nElementCount = 0x4; // uint32
+        }
+        // Parent: None
+        // Field count: 0
+        //
+        // Metadata:
+        // MResourceTypeForInfoType
+        public static class InfoForResourceTypeVMapResourceData_t {
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class WorldNodeOnDiskBufferData_t {
+            public const nint m_nElementCount = 0x0; // int32
+            public const nint m_nElementSizeInBytes = 0x4; // int32
+            public const nint m_inputLayoutFields = 0x8; // CUtlVector<RenderInputLayoutField_t>
+            public const nint m_pData = 0x20; // CUtlVector<uint8>
+        }
+        // Parent: None
+        // Field count: 9
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class AggregateMeshInfo_t {
+            public const nint m_nVisClusterMemberOffset = 0x0; // uint32
+            public const nint m_nVisClusterMemberCount = 0x4; // uint8
+            public const nint m_bHasTransform = 0x5; // bool
+            public const nint m_nDrawCallIndex = 0x6; // int16
+            public const nint m_nLODSetupIndex = 0x8; // int16
+            public const nint m_nLODGroupMask = 0xA; // uint8
+            public const nint m_vTintColor = 0xB; // Color
+            public const nint m_objectFlags = 0x10; // ObjectTypeFlags_t
+            public const nint m_nLightProbeVolumePrecomputedHandshake = 0x14; // int32
+        }
+        // Parent: None
+        // Field count: 4
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class World_t {
+            public const nint m_builderParams = 0x0; // WorldBuilderParams_t
+            public const nint m_worldNodes = 0x48; // CUtlVector<NodeData_t>
+            public const nint m_worldLightingInfo = 0x60; // BakedLightingInfo_t
+            public const nint m_entityLumps = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
+        }
+        // Parent: None
+        // Field count: 10
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class InfoOverlayData_t {
+            public const nint m_transform = 0x0; // matrix3x4_t
+            public const nint m_flWidth = 0x30; // float32
+            public const nint m_flHeight = 0x34; // float32
+            public const nint m_flDepth = 0x38; // float32
+            public const nint m_vUVStart = 0x3C; // Vector2D
+            public const nint m_vUVEnd = 0x44; // Vector2D
+            public const nint m_pMaterial = 0x50; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            public const nint m_nRenderOrder = 0x58; // int32
+            public const nint m_vTintColor = 0x5C; // Vector4D
+            public const nint m_nSequenceOverride = 0x6C; // int32
+        }
+        // Parent: BaseSceneObjectOverride_t
+        // Field count: 3
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class MaterialOverride_t {
+            public const nint m_nSubSceneObject = 0x4; // uint32
+            public const nint m_nDrawCallIndex = 0x8; // uint32
+            public const nint m_pMaterial = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+        }
+        // Parent: None
+        // Field count: 2
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class EntityKeyValueData_t {
+            public const nint m_connections = 0x8; // CUtlVector<EntityIOConnectionData_t>
+            public const nint m_keyValuesData = 0x20; // CUtlBinaryBlock
+        }
+        // Parent: None
+        // Field count: 13
+        //
+        // Metadata:
+        // MGetKV3ClassDefaults
+        public static class CVoxelVisibility {
+            public const nint m_nBaseClusterCount = 0x40; // uint32
+            public const nint m_nPVSBytesPerCluster = 0x44; // uint32
+            public const nint m_vMinBounds = 0x48; // Vector
+            public const nint m_vMaxBounds = 0x54; // Vector
+            public const nint m_flGridSize = 0x60; // float32
+            public const nint m_nSkyVisibilityCluster = 0x64; // uint32
+            public const nint m_nSunVisibilityCluster = 0x68; // uint32
+            public const nint m_NodeBlock = 0x6C; // VoxelVisBlockOffset_t
+            public const nint m_RegionBlock = 0x74; // VoxelVisBlockOffset_t
+            public const nint m_EnclosedClusterListBlock = 0x7C; // VoxelVisBlockOffset_t
+            public const nint m_EnclosedClustersBlock = 0x84; // VoxelVisBlockOffset_t
+            public const nint m_MasksBlock = 0x8C; // VoxelVisBlockOffset_t
+            public const nint m_nVisBlocks = 0x94; // VoxelVisBlockOffset_t
+        }
+    }
+}
diff --git a/output/worldrenderer_dll.hpp b/output/worldrenderer_dll.hpp
new file mode 100644
index 0000000..28867c2
--- /dev/null
+++ b/output/worldrenderer_dll.hpp
@@ -0,0 +1,326 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#pragma once
+
+#include <cstddef>
+
+namespace cs2_dumper {
+    namespace schemas {
+        // Module: worldrenderer.dll
+        // Class count: 23
+        // Enum count: 1
+        namespace worldrenderer_dll {
+            // Alignment: 4
+            // Member count: 15
+            enum class ObjectTypeFlags_t : uint32_t {
+                OBJECT_TYPE_NONE = 0x0,
+                OBJECT_TYPE_MODEL = 0x8,
+                OBJECT_TYPE_BLOCK_LIGHT = 0x10,
+                OBJECT_TYPE_NO_SHADOWS = 0x20,
+                OBJECT_TYPE_WORLDSPACE_TEXURE_BLEND = 0x40,
+                OBJECT_TYPE_DISABLED_IN_LOW_QUALITY = 0x80,
+                OBJECT_TYPE_NO_SUN_SHADOWS = 0x100,
+                OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200,
+                OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400,
+                OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
+                OBJECT_TYPE_OVERLAY = 0x2000,
+                OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
+                OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
+                OBJECT_TYPE_DISABLE_VIS_CULLING = 0x10000,
+                OBJECT_TYPE_BAKED_GEOMETRY = 0x20000
+            };
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace SceneObject_t {
+                constexpr std::ptrdiff_t m_nObjectID = 0x0; // uint32
+                constexpr std::ptrdiff_t m_vTransform = 0x4; // Vector4D[3]
+                constexpr std::ptrdiff_t m_flFadeStartDistance = 0x34; // float32
+                constexpr std::ptrdiff_t m_flFadeEndDistance = 0x38; // float32
+                constexpr std::ptrdiff_t m_vTintColor = 0x3C; // Vector4D
+                constexpr std::ptrdiff_t m_skin = 0x50; // CUtlString
+                constexpr std::ptrdiff_t m_nObjectTypeFlags = 0x58; // ObjectTypeFlags_t
+                constexpr std::ptrdiff_t m_vLightingOrigin = 0x5C; // Vector
+                constexpr std::ptrdiff_t m_nOverlayRenderOrder = 0x68; // int16
+                constexpr std::ptrdiff_t m_nLODOverride = 0x6A; // int16
+                constexpr std::ptrdiff_t m_nCubeMapPrecomputedHandshake = 0x6C; // int32
+                constexpr std::ptrdiff_t m_nLightProbeVolumePrecomputedHandshake = 0x70; // int32
+                constexpr std::ptrdiff_t m_renderableModel = 0x78; // CStrongHandle<InfoForResourceTypeCModel>
+                constexpr std::ptrdiff_t m_renderable = 0x80; // CStrongHandle<InfoForResourceTypeCRenderMesh>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AggregateLODSetup_t {
+                constexpr std::ptrdiff_t m_vLODOrigin = 0x0; // Vector
+                constexpr std::ptrdiff_t m_fMaxObjectScale = 0xC; // float32
+                constexpr std::ptrdiff_t m_fSwitchDistances = 0x10; // CUtlVector<float32>
+            }
+            // Parent: BaseSceneObjectOverride_t
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ExtraVertexStreamOverride_t {
+                constexpr std::ptrdiff_t m_nSubSceneObject = 0x4; // uint32
+                constexpr std::ptrdiff_t m_nDrawCallIndex = 0x8; // uint32
+                constexpr std::ptrdiff_t m_nAdditionalMeshDrawPrimitiveFlags = 0xC; // MeshDrawPrimitiveFlags_t
+                constexpr std::ptrdiff_t m_extraBufferBinding = 0x10; // CRenderBufferBinding
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ClutterTile_t {
+                constexpr std::ptrdiff_t m_nFirstInstance = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nLastInstance = 0x4; // uint32
+                constexpr std::ptrdiff_t m_BoundsWs = 0x8; // AABB_t
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AggregateSceneObject_t {
+                constexpr std::ptrdiff_t m_allFlags = 0x0; // ObjectTypeFlags_t
+                constexpr std::ptrdiff_t m_anyFlags = 0x4; // ObjectTypeFlags_t
+                constexpr std::ptrdiff_t m_nLayer = 0x8; // int16
+                constexpr std::ptrdiff_t m_aggregateMeshes = 0x10; // CUtlVector<AggregateMeshInfo_t>
+                constexpr std::ptrdiff_t m_lodSetups = 0x28; // CUtlVector<AggregateLODSetup_t>
+                constexpr std::ptrdiff_t m_visClusterMembership = 0x40; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_fragmentTransforms = 0x58; // CUtlVector<matrix3x4_t>
+                constexpr std::ptrdiff_t m_renderableModel = 0x70; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace NodeData_t {
+                constexpr std::ptrdiff_t m_nParent = 0x0; // int32
+                constexpr std::ptrdiff_t m_vOrigin = 0x4; // Vector
+                constexpr std::ptrdiff_t m_vMinBounds = 0x10; // Vector
+                constexpr std::ptrdiff_t m_vMaxBounds = 0x1C; // Vector
+                constexpr std::ptrdiff_t m_flMinimumDistance = 0x28; // float32
+                constexpr std::ptrdiff_t m_ChildNodeIndices = 0x30; // CUtlVector<int32>
+                constexpr std::ptrdiff_t m_worldNodePrefix = 0x48; // CUtlString
+            }
+            // Parent: None
+            // Field count: 0
+            namespace VMapResourceData_t {
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace ClutterSceneObject_t {
+                constexpr std::ptrdiff_t m_Bounds = 0x0; // AABB_t
+                constexpr std::ptrdiff_t m_flags = 0x18; // ObjectTypeFlags_t
+                constexpr std::ptrdiff_t m_nLayer = 0x1C; // int16
+                constexpr std::ptrdiff_t m_instancePositions = 0x20; // CUtlVector<Vector>
+                constexpr std::ptrdiff_t m_instanceScales = 0x50; // CUtlVector<float32>
+                constexpr std::ptrdiff_t m_instanceTintSrgb = 0x68; // CUtlVector<Color>
+                constexpr std::ptrdiff_t m_tiles = 0x80; // CUtlVector<ClutterTile_t>
+                constexpr std::ptrdiff_t m_renderableModel = 0x98; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace WorldBuilderParams_t {
+                constexpr std::ptrdiff_t m_flMinDrawVolumeSize = 0x0; // float32
+                constexpr std::ptrdiff_t m_bBuildBakedLighting = 0x4; // bool
+                constexpr std::ptrdiff_t m_bakedLightingInfo = 0x8; // BakedLightingInfo_t
+                constexpr std::ptrdiff_t m_nCompileTimestamp = 0x38; // uint64
+                constexpr std::ptrdiff_t m_nCompileFingerprint = 0x40; // uint64
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace PermEntityLumpData_t {
+                constexpr std::ptrdiff_t m_name = 0x8; // CUtlString
+                constexpr std::ptrdiff_t m_childLumps = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
+                constexpr std::ptrdiff_t m_entityKeyValues = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace WorldNode_t {
+                constexpr std::ptrdiff_t m_sceneObjects = 0x0; // CUtlVector<SceneObject_t>
+                constexpr std::ptrdiff_t m_infoOverlays = 0x18; // CUtlVector<InfoOverlayData_t>
+                constexpr std::ptrdiff_t m_visClusterMembership = 0x30; // CUtlVector<uint16>
+                constexpr std::ptrdiff_t m_aggregateSceneObjects = 0x48; // CUtlVector<AggregateSceneObject_t>
+                constexpr std::ptrdiff_t m_clutterSceneObjects = 0x60; // CUtlVector<ClutterSceneObject_t>
+                constexpr std::ptrdiff_t m_extraVertexStreamOverrides = 0x78; // CUtlVector<ExtraVertexStreamOverride_t>
+                constexpr std::ptrdiff_t m_materialOverrides = 0x90; // CUtlVector<MaterialOverride_t>
+                constexpr std::ptrdiff_t m_extraVertexStreams = 0xA8; // CUtlVector<WorldNodeOnDiskBufferData_t>
+                constexpr std::ptrdiff_t m_layerNames = 0xC0; // CUtlVector<CUtlString>
+                constexpr std::ptrdiff_t m_sceneObjectLayerIndices = 0xD8; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_overlayLayerIndices = 0xF0; // CUtlVector<uint8>
+                constexpr std::ptrdiff_t m_grassFileName = 0x108; // CUtlString
+                constexpr std::ptrdiff_t m_nodeLightingInfo = 0x110; // BakedLightingInfo_t
+                constexpr std::ptrdiff_t m_bHasBakedGeometryFlag = 0x140; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace BaseSceneObjectOverride_t {
+                constexpr std::ptrdiff_t m_nSceneObjectIndex = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace EntityIOConnectionData_t {
+                constexpr std::ptrdiff_t m_outputName = 0x0; // CUtlString
+                constexpr std::ptrdiff_t m_targetType = 0x8; // uint32
+                constexpr std::ptrdiff_t m_targetName = 0x10; // CUtlString
+                constexpr std::ptrdiff_t m_inputName = 0x18; // CUtlString
+                constexpr std::ptrdiff_t m_overrideParam = 0x20; // CUtlString
+                constexpr std::ptrdiff_t m_flDelay = 0x28; // float32
+                constexpr std::ptrdiff_t m_nTimesToFire = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace BakedLightingInfo_t {
+                constexpr std::ptrdiff_t m_nLightmapVersionNumber = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nLightmapGameVersionNumber = 0x4; // uint32
+                constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D
+                constexpr std::ptrdiff_t m_bHasLightmaps = 0x10; // bool
+                constexpr std::ptrdiff_t m_bBakedShadowsGamma20 = 0x11; // bool
+                constexpr std::ptrdiff_t m_bCompressionEnabled = 0x12; // bool
+                constexpr std::ptrdiff_t m_nChartPackIterations = 0x13; // uint8
+                constexpr std::ptrdiff_t m_nVradQuality = 0x14; // uint8
+                constexpr std::ptrdiff_t m_lightMaps = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace VoxelVisBlockOffset_t {
+                constexpr std::ptrdiff_t m_nOffset = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nElementCount = 0x4; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            namespace InfoForResourceTypeVMapResourceData_t {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace WorldNodeOnDiskBufferData_t {
+                constexpr std::ptrdiff_t m_nElementCount = 0x0; // int32
+                constexpr std::ptrdiff_t m_nElementSizeInBytes = 0x4; // int32
+                constexpr std::ptrdiff_t m_inputLayoutFields = 0x8; // CUtlVector<RenderInputLayoutField_t>
+                constexpr std::ptrdiff_t m_pData = 0x20; // CUtlVector<uint8>
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace AggregateMeshInfo_t {
+                constexpr std::ptrdiff_t m_nVisClusterMemberOffset = 0x0; // uint32
+                constexpr std::ptrdiff_t m_nVisClusterMemberCount = 0x4; // uint8
+                constexpr std::ptrdiff_t m_bHasTransform = 0x5; // bool
+                constexpr std::ptrdiff_t m_nDrawCallIndex = 0x6; // int16
+                constexpr std::ptrdiff_t m_nLODSetupIndex = 0x8; // int16
+                constexpr std::ptrdiff_t m_nLODGroupMask = 0xA; // uint8
+                constexpr std::ptrdiff_t m_vTintColor = 0xB; // Color
+                constexpr std::ptrdiff_t m_objectFlags = 0x10; // ObjectTypeFlags_t
+                constexpr std::ptrdiff_t m_nLightProbeVolumePrecomputedHandshake = 0x14; // int32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace World_t {
+                constexpr std::ptrdiff_t m_builderParams = 0x0; // WorldBuilderParams_t
+                constexpr std::ptrdiff_t m_worldNodes = 0x48; // CUtlVector<NodeData_t>
+                constexpr std::ptrdiff_t m_worldLightingInfo = 0x60; // BakedLightingInfo_t
+                constexpr std::ptrdiff_t m_entityLumps = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace InfoOverlayData_t {
+                constexpr std::ptrdiff_t m_transform = 0x0; // matrix3x4_t
+                constexpr std::ptrdiff_t m_flWidth = 0x30; // float32
+                constexpr std::ptrdiff_t m_flHeight = 0x34; // float32
+                constexpr std::ptrdiff_t m_flDepth = 0x38; // float32
+                constexpr std::ptrdiff_t m_vUVStart = 0x3C; // Vector2D
+                constexpr std::ptrdiff_t m_vUVEnd = 0x44; // Vector2D
+                constexpr std::ptrdiff_t m_pMaterial = 0x50; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                constexpr std::ptrdiff_t m_nRenderOrder = 0x58; // int32
+                constexpr std::ptrdiff_t m_vTintColor = 0x5C; // Vector4D
+                constexpr std::ptrdiff_t m_nSequenceOverride = 0x6C; // int32
+            }
+            // Parent: BaseSceneObjectOverride_t
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace MaterialOverride_t {
+                constexpr std::ptrdiff_t m_nSubSceneObject = 0x4; // uint32
+                constexpr std::ptrdiff_t m_nDrawCallIndex = 0x8; // uint32
+                constexpr std::ptrdiff_t m_pMaterial = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace EntityKeyValueData_t {
+                constexpr std::ptrdiff_t m_connections = 0x8; // CUtlVector<EntityIOConnectionData_t>
+                constexpr std::ptrdiff_t m_keyValuesData = 0x20; // CUtlBinaryBlock
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            namespace CVoxelVisibility {
+                constexpr std::ptrdiff_t m_nBaseClusterCount = 0x40; // uint32
+                constexpr std::ptrdiff_t m_nPVSBytesPerCluster = 0x44; // uint32
+                constexpr std::ptrdiff_t m_vMinBounds = 0x48; // Vector
+                constexpr std::ptrdiff_t m_vMaxBounds = 0x54; // Vector
+                constexpr std::ptrdiff_t m_flGridSize = 0x60; // float32
+                constexpr std::ptrdiff_t m_nSkyVisibilityCluster = 0x64; // uint32
+                constexpr std::ptrdiff_t m_nSunVisibilityCluster = 0x68; // uint32
+                constexpr std::ptrdiff_t m_NodeBlock = 0x6C; // VoxelVisBlockOffset_t
+                constexpr std::ptrdiff_t m_RegionBlock = 0x74; // VoxelVisBlockOffset_t
+                constexpr std::ptrdiff_t m_EnclosedClusterListBlock = 0x7C; // VoxelVisBlockOffset_t
+                constexpr std::ptrdiff_t m_EnclosedClustersBlock = 0x84; // VoxelVisBlockOffset_t
+                constexpr std::ptrdiff_t m_MasksBlock = 0x8C; // VoxelVisBlockOffset_t
+                constexpr std::ptrdiff_t m_nVisBlocks = 0x94; // VoxelVisBlockOffset_t
+            }
+        }
+    }
+}
diff --git a/output/worldrenderer_dll.json b/output/worldrenderer_dll.json
new file mode 100644
index 0000000..ab89aaa
--- /dev/null
+++ b/output/worldrenderer_dll.json
@@ -0,0 +1,408 @@
+{
+  "worldrenderer.dll": {
+    "classes": {
+      "AggregateLODSetup_t": {
+        "fields": {
+          "m_fMaxObjectScale": 12,
+          "m_fSwitchDistances": 16,
+          "m_vLODOrigin": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AggregateMeshInfo_t": {
+        "fields": {
+          "m_bHasTransform": 5,
+          "m_nDrawCallIndex": 6,
+          "m_nLODGroupMask": 10,
+          "m_nLODSetupIndex": 8,
+          "m_nLightProbeVolumePrecomputedHandshake": 20,
+          "m_nVisClusterMemberCount": 4,
+          "m_nVisClusterMemberOffset": 0,
+          "m_objectFlags": 16,
+          "m_vTintColor": 11
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "AggregateSceneObject_t": {
+        "fields": {
+          "m_aggregateMeshes": 16,
+          "m_allFlags": 0,
+          "m_anyFlags": 4,
+          "m_fragmentTransforms": 88,
+          "m_lodSetups": 40,
+          "m_nLayer": 8,
+          "m_renderableModel": 112,
+          "m_visClusterMembership": 64
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "BakedLightingInfo_t": {
+        "fields": {
+          "m_bBakedShadowsGamma20": 17,
+          "m_bCompressionEnabled": 18,
+          "m_bHasLightmaps": 16,
+          "m_lightMaps": 24,
+          "m_nChartPackIterations": 19,
+          "m_nLightmapGameVersionNumber": 4,
+          "m_nLightmapVersionNumber": 0,
+          "m_nVradQuality": 20,
+          "m_vLightmapUvScale": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "BaseSceneObjectOverride_t": {
+        "fields": {
+          "m_nSceneObjectIndex": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "CVoxelVisibility": {
+        "fields": {
+          "m_EnclosedClusterListBlock": 124,
+          "m_EnclosedClustersBlock": 132,
+          "m_MasksBlock": 140,
+          "m_NodeBlock": 108,
+          "m_RegionBlock": 116,
+          "m_flGridSize": 96,
+          "m_nBaseClusterCount": 64,
+          "m_nPVSBytesPerCluster": 68,
+          "m_nSkyVisibilityCluster": 100,
+          "m_nSunVisibilityCluster": 104,
+          "m_nVisBlocks": 148,
+          "m_vMaxBounds": 84,
+          "m_vMinBounds": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ClutterSceneObject_t": {
+        "fields": {
+          "m_Bounds": 0,
+          "m_flags": 24,
+          "m_instancePositions": 32,
+          "m_instanceScales": 80,
+          "m_instanceTintSrgb": 104,
+          "m_nLayer": 28,
+          "m_renderableModel": 152,
+          "m_tiles": 128
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ClutterTile_t": {
+        "fields": {
+          "m_BoundsWs": 8,
+          "m_nFirstInstance": 0,
+          "m_nLastInstance": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "EntityIOConnectionData_t": {
+        "fields": {
+          "m_flDelay": 40,
+          "m_inputName": 24,
+          "m_nTimesToFire": 44,
+          "m_outputName": 0,
+          "m_overrideParam": 32,
+          "m_targetName": 16,
+          "m_targetType": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "EntityKeyValueData_t": {
+        "fields": {
+          "m_connections": 8,
+          "m_keyValuesData": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "ExtraVertexStreamOverride_t": {
+        "fields": {
+          "m_extraBufferBinding": 16,
+          "m_nAdditionalMeshDrawPrimitiveFlags": 12,
+          "m_nDrawCallIndex": 8,
+          "m_nSubSceneObject": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "BaseSceneObjectOverride_t"
+      },
+      "InfoForResourceTypeVMapResourceData_t": {
+        "fields": {},
+        "metadata": [
+          {
+            "name": "MResourceTypeForInfoType",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "InfoOverlayData_t": {
+        "fields": {
+          "m_flDepth": 56,
+          "m_flHeight": 52,
+          "m_flWidth": 48,
+          "m_nRenderOrder": 88,
+          "m_nSequenceOverride": 108,
+          "m_pMaterial": 80,
+          "m_transform": 0,
+          "m_vTintColor": 92,
+          "m_vUVEnd": 68,
+          "m_vUVStart": 60
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "MaterialOverride_t": {
+        "fields": {
+          "m_nDrawCallIndex": 8,
+          "m_nSubSceneObject": 4,
+          "m_pMaterial": 16
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": "BaseSceneObjectOverride_t"
+      },
+      "NodeData_t": {
+        "fields": {
+          "m_ChildNodeIndices": 48,
+          "m_flMinimumDistance": 40,
+          "m_nParent": 0,
+          "m_vMaxBounds": 28,
+          "m_vMinBounds": 16,
+          "m_vOrigin": 4,
+          "m_worldNodePrefix": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "PermEntityLumpData_t": {
+        "fields": {
+          "m_childLumps": 16,
+          "m_entityKeyValues": 40,
+          "m_name": 8
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "SceneObject_t": {
+        "fields": {
+          "m_flFadeEndDistance": 56,
+          "m_flFadeStartDistance": 52,
+          "m_nCubeMapPrecomputedHandshake": 108,
+          "m_nLODOverride": 106,
+          "m_nLightProbeVolumePrecomputedHandshake": 112,
+          "m_nObjectID": 0,
+          "m_nObjectTypeFlags": 88,
+          "m_nOverlayRenderOrder": 104,
+          "m_renderable": 128,
+          "m_renderableModel": 120,
+          "m_skin": 80,
+          "m_vLightingOrigin": 92,
+          "m_vTintColor": 60,
+          "m_vTransform": 4
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "VMapResourceData_t": {
+        "fields": {},
+        "metadata": [],
+        "parent": null
+      },
+      "VoxelVisBlockOffset_t": {
+        "fields": {
+          "m_nElementCount": 4,
+          "m_nOffset": 0
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "WorldBuilderParams_t": {
+        "fields": {
+          "m_bBuildBakedLighting": 4,
+          "m_bakedLightingInfo": 8,
+          "m_flMinDrawVolumeSize": 0,
+          "m_nCompileFingerprint": 64,
+          "m_nCompileTimestamp": 56
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "WorldNodeOnDiskBufferData_t": {
+        "fields": {
+          "m_inputLayoutFields": 8,
+          "m_nElementCount": 0,
+          "m_nElementSizeInBytes": 4,
+          "m_pData": 32
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "WorldNode_t": {
+        "fields": {
+          "m_aggregateSceneObjects": 72,
+          "m_bHasBakedGeometryFlag": 320,
+          "m_clutterSceneObjects": 96,
+          "m_extraVertexStreamOverrides": 120,
+          "m_extraVertexStreams": 168,
+          "m_grassFileName": 264,
+          "m_infoOverlays": 24,
+          "m_layerNames": 192,
+          "m_materialOverrides": 144,
+          "m_nodeLightingInfo": 272,
+          "m_overlayLayerIndices": 240,
+          "m_sceneObjectLayerIndices": 216,
+          "m_sceneObjects": 0,
+          "m_visClusterMembership": 48
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      },
+      "World_t": {
+        "fields": {
+          "m_builderParams": 0,
+          "m_entityLumps": 144,
+          "m_worldLightingInfo": 96,
+          "m_worldNodes": 72
+        },
+        "metadata": [
+          {
+            "name": "MGetKV3ClassDefaults",
+            "type": "Unknown"
+          }
+        ],
+        "parent": null
+      }
+    },
+    "enums": {
+      "ObjectTypeFlags_t": {
+        "alignment": 4,
+        "members": {
+          "OBJECT_TYPE_BAKED_GEOMETRY": 131072,
+          "OBJECT_TYPE_BLOCK_LIGHT": 16,
+          "OBJECT_TYPE_DISABLED_IN_LOW_QUALITY": 128,
+          "OBJECT_TYPE_DISABLE_VIS_CULLING": 65536,
+          "OBJECT_TYPE_MODEL": 8,
+          "OBJECT_TYPE_MODEL_HAS_LODS": 2048,
+          "OBJECT_TYPE_NONE": 0,
+          "OBJECT_TYPE_NO_SHADOWS": 32,
+          "OBJECT_TYPE_NO_SUN_SHADOWS": 256,
+          "OBJECT_TYPE_OVERLAY": 8192,
+          "OBJECT_TYPE_PRECOMPUTED_VISMEMBERS": 16384,
+          "OBJECT_TYPE_RENDER_TO_CUBEMAPS": 1024,
+          "OBJECT_TYPE_RENDER_WITH_DYNAMIC": 512,
+          "OBJECT_TYPE_STATIC_CUBE_MAP": 32768,
+          "OBJECT_TYPE_WORLDSPACE_TEXURE_BLEND": 64
+        },
+        "type": "uint32"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/output/worldrenderer_dll.rs b/output/worldrenderer_dll.rs
new file mode 100644
index 0000000..f1b4789
--- /dev/null
+++ b/output/worldrenderer_dll.rs
@@ -0,0 +1,325 @@
+// Generated using https://github.com/a2x/cs2-dumper
+// 2025-04-02 01:38:06.172164600 UTC
+
+#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
+
+pub mod cs2_dumper {
+    pub mod schemas {
+        // Module: worldrenderer.dll
+        // Class count: 23
+        // Enum count: 1
+        pub mod worldrenderer_dll {
+            // Alignment: 4
+            // Member count: 15
+            #[repr(u32)]
+            pub enum ObjectTypeFlags_t {
+                OBJECT_TYPE_NONE = 0x0,
+                OBJECT_TYPE_MODEL = 0x8,
+                OBJECT_TYPE_BLOCK_LIGHT = 0x10,
+                OBJECT_TYPE_NO_SHADOWS = 0x20,
+                OBJECT_TYPE_WORLDSPACE_TEXURE_BLEND = 0x40,
+                OBJECT_TYPE_DISABLED_IN_LOW_QUALITY = 0x80,
+                OBJECT_TYPE_NO_SUN_SHADOWS = 0x100,
+                OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200,
+                OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400,
+                OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
+                OBJECT_TYPE_OVERLAY = 0x2000,
+                OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
+                OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
+                OBJECT_TYPE_DISABLE_VIS_CULLING = 0x10000,
+                OBJECT_TYPE_BAKED_GEOMETRY = 0x20000
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod SceneObject_t {
+                pub const m_nObjectID: usize = 0x0; // uint32
+                pub const m_vTransform: usize = 0x4; // Vector4D[3]
+                pub const m_flFadeStartDistance: usize = 0x34; // float32
+                pub const m_flFadeEndDistance: usize = 0x38; // float32
+                pub const m_vTintColor: usize = 0x3C; // Vector4D
+                pub const m_skin: usize = 0x50; // CUtlString
+                pub const m_nObjectTypeFlags: usize = 0x58; // ObjectTypeFlags_t
+                pub const m_vLightingOrigin: usize = 0x5C; // Vector
+                pub const m_nOverlayRenderOrder: usize = 0x68; // int16
+                pub const m_nLODOverride: usize = 0x6A; // int16
+                pub const m_nCubeMapPrecomputedHandshake: usize = 0x6C; // int32
+                pub const m_nLightProbeVolumePrecomputedHandshake: usize = 0x70; // int32
+                pub const m_renderableModel: usize = 0x78; // CStrongHandle<InfoForResourceTypeCModel>
+                pub const m_renderable: usize = 0x80; // CStrongHandle<InfoForResourceTypeCRenderMesh>
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AggregateLODSetup_t {
+                pub const m_vLODOrigin: usize = 0x0; // Vector
+                pub const m_fMaxObjectScale: usize = 0xC; // float32
+                pub const m_fSwitchDistances: usize = 0x10; // CUtlVector<float32>
+            }
+            // Parent: BaseSceneObjectOverride_t
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ExtraVertexStreamOverride_t {
+                pub const m_nSubSceneObject: usize = 0x4; // uint32
+                pub const m_nDrawCallIndex: usize = 0x8; // uint32
+                pub const m_nAdditionalMeshDrawPrimitiveFlags: usize = 0xC; // MeshDrawPrimitiveFlags_t
+                pub const m_extraBufferBinding: usize = 0x10; // CRenderBufferBinding
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ClutterTile_t {
+                pub const m_nFirstInstance: usize = 0x0; // uint32
+                pub const m_nLastInstance: usize = 0x4; // uint32
+                pub const m_BoundsWs: usize = 0x8; // AABB_t
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AggregateSceneObject_t {
+                pub const m_allFlags: usize = 0x0; // ObjectTypeFlags_t
+                pub const m_anyFlags: usize = 0x4; // ObjectTypeFlags_t
+                pub const m_nLayer: usize = 0x8; // int16
+                pub const m_aggregateMeshes: usize = 0x10; // CUtlVector<AggregateMeshInfo_t>
+                pub const m_lodSetups: usize = 0x28; // CUtlVector<AggregateLODSetup_t>
+                pub const m_visClusterMembership: usize = 0x40; // CUtlVector<uint16>
+                pub const m_fragmentTransforms: usize = 0x58; // CUtlVector<matrix3x4_t>
+                pub const m_renderableModel: usize = 0x70; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod NodeData_t {
+                pub const m_nParent: usize = 0x0; // int32
+                pub const m_vOrigin: usize = 0x4; // Vector
+                pub const m_vMinBounds: usize = 0x10; // Vector
+                pub const m_vMaxBounds: usize = 0x1C; // Vector
+                pub const m_flMinimumDistance: usize = 0x28; // float32
+                pub const m_ChildNodeIndices: usize = 0x30; // CUtlVector<int32>
+                pub const m_worldNodePrefix: usize = 0x48; // CUtlString
+            }
+            // Parent: None
+            // Field count: 0
+            pub mod VMapResourceData_t {
+            }
+            // Parent: None
+            // Field count: 8
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod ClutterSceneObject_t {
+                pub const m_Bounds: usize = 0x0; // AABB_t
+                pub const m_flags: usize = 0x18; // ObjectTypeFlags_t
+                pub const m_nLayer: usize = 0x1C; // int16
+                pub const m_instancePositions: usize = 0x20; // CUtlVector<Vector>
+                pub const m_instanceScales: usize = 0x50; // CUtlVector<float32>
+                pub const m_instanceTintSrgb: usize = 0x68; // CUtlVector<Color>
+                pub const m_tiles: usize = 0x80; // CUtlVector<ClutterTile_t>
+                pub const m_renderableModel: usize = 0x98; // CStrongHandle<InfoForResourceTypeCModel>
+            }
+            // Parent: None
+            // Field count: 5
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod WorldBuilderParams_t {
+                pub const m_flMinDrawVolumeSize: usize = 0x0; // float32
+                pub const m_bBuildBakedLighting: usize = 0x4; // bool
+                pub const m_bakedLightingInfo: usize = 0x8; // BakedLightingInfo_t
+                pub const m_nCompileTimestamp: usize = 0x38; // uint64
+                pub const m_nCompileFingerprint: usize = 0x40; // uint64
+            }
+            // Parent: None
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod PermEntityLumpData_t {
+                pub const m_name: usize = 0x8; // CUtlString
+                pub const m_childLumps: usize = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
+                pub const m_entityKeyValues: usize = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
+            }
+            // Parent: None
+            // Field count: 14
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod WorldNode_t {
+                pub const m_sceneObjects: usize = 0x0; // CUtlVector<SceneObject_t>
+                pub const m_infoOverlays: usize = 0x18; // CUtlVector<InfoOverlayData_t>
+                pub const m_visClusterMembership: usize = 0x30; // CUtlVector<uint16>
+                pub const m_aggregateSceneObjects: usize = 0x48; // CUtlVector<AggregateSceneObject_t>
+                pub const m_clutterSceneObjects: usize = 0x60; // CUtlVector<ClutterSceneObject_t>
+                pub const m_extraVertexStreamOverrides: usize = 0x78; // CUtlVector<ExtraVertexStreamOverride_t>
+                pub const m_materialOverrides: usize = 0x90; // CUtlVector<MaterialOverride_t>
+                pub const m_extraVertexStreams: usize = 0xA8; // CUtlVector<WorldNodeOnDiskBufferData_t>
+                pub const m_layerNames: usize = 0xC0; // CUtlVector<CUtlString>
+                pub const m_sceneObjectLayerIndices: usize = 0xD8; // CUtlVector<uint8>
+                pub const m_overlayLayerIndices: usize = 0xF0; // CUtlVector<uint8>
+                pub const m_grassFileName: usize = 0x108; // CUtlString
+                pub const m_nodeLightingInfo: usize = 0x110; // BakedLightingInfo_t
+                pub const m_bHasBakedGeometryFlag: usize = 0x140; // bool
+            }
+            // Parent: None
+            // Field count: 1
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod BaseSceneObjectOverride_t {
+                pub const m_nSceneObjectIndex: usize = 0x0; // uint32
+            }
+            // Parent: None
+            // Field count: 7
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod EntityIOConnectionData_t {
+                pub const m_outputName: usize = 0x0; // CUtlString
+                pub const m_targetType: usize = 0x8; // uint32
+                pub const m_targetName: usize = 0x10; // CUtlString
+                pub const m_inputName: usize = 0x18; // CUtlString
+                pub const m_overrideParam: usize = 0x20; // CUtlString
+                pub const m_flDelay: usize = 0x28; // float32
+                pub const m_nTimesToFire: usize = 0x2C; // int32
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod BakedLightingInfo_t {
+                pub const m_nLightmapVersionNumber: usize = 0x0; // uint32
+                pub const m_nLightmapGameVersionNumber: usize = 0x4; // uint32
+                pub const m_vLightmapUvScale: usize = 0x8; // Vector2D
+                pub const m_bHasLightmaps: usize = 0x10; // bool
+                pub const m_bBakedShadowsGamma20: usize = 0x11; // bool
+                pub const m_bCompressionEnabled: usize = 0x12; // bool
+                pub const m_nChartPackIterations: usize = 0x13; // uint8
+                pub const m_nVradQuality: usize = 0x14; // uint8
+                pub const m_lightMaps: usize = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod VoxelVisBlockOffset_t {
+                pub const m_nOffset: usize = 0x0; // uint32
+                pub const m_nElementCount: usize = 0x4; // uint32
+            }
+            // Parent: None
+            // Field count: 0
+            //
+            // Metadata:
+            // MResourceTypeForInfoType
+            pub mod InfoForResourceTypeVMapResourceData_t {
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod WorldNodeOnDiskBufferData_t {
+                pub const m_nElementCount: usize = 0x0; // int32
+                pub const m_nElementSizeInBytes: usize = 0x4; // int32
+                pub const m_inputLayoutFields: usize = 0x8; // CUtlVector<RenderInputLayoutField_t>
+                pub const m_pData: usize = 0x20; // CUtlVector<uint8>
+            }
+            // Parent: None
+            // Field count: 9
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod AggregateMeshInfo_t {
+                pub const m_nVisClusterMemberOffset: usize = 0x0; // uint32
+                pub const m_nVisClusterMemberCount: usize = 0x4; // uint8
+                pub const m_bHasTransform: usize = 0x5; // bool
+                pub const m_nDrawCallIndex: usize = 0x6; // int16
+                pub const m_nLODSetupIndex: usize = 0x8; // int16
+                pub const m_nLODGroupMask: usize = 0xA; // uint8
+                pub const m_vTintColor: usize = 0xB; // Color
+                pub const m_objectFlags: usize = 0x10; // ObjectTypeFlags_t
+                pub const m_nLightProbeVolumePrecomputedHandshake: usize = 0x14; // int32
+            }
+            // Parent: None
+            // Field count: 4
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod World_t {
+                pub const m_builderParams: usize = 0x0; // WorldBuilderParams_t
+                pub const m_worldNodes: usize = 0x48; // CUtlVector<NodeData_t>
+                pub const m_worldLightingInfo: usize = 0x60; // BakedLightingInfo_t
+                pub const m_entityLumps: usize = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
+            }
+            // Parent: None
+            // Field count: 10
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod InfoOverlayData_t {
+                pub const m_transform: usize = 0x0; // matrix3x4_t
+                pub const m_flWidth: usize = 0x30; // float32
+                pub const m_flHeight: usize = 0x34; // float32
+                pub const m_flDepth: usize = 0x38; // float32
+                pub const m_vUVStart: usize = 0x3C; // Vector2D
+                pub const m_vUVEnd: usize = 0x44; // Vector2D
+                pub const m_pMaterial: usize = 0x50; // CStrongHandle<InfoForResourceTypeIMaterial2>
+                pub const m_nRenderOrder: usize = 0x58; // int32
+                pub const m_vTintColor: usize = 0x5C; // Vector4D
+                pub const m_nSequenceOverride: usize = 0x6C; // int32
+            }
+            // Parent: BaseSceneObjectOverride_t
+            // Field count: 3
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod MaterialOverride_t {
+                pub const m_nSubSceneObject: usize = 0x4; // uint32
+                pub const m_nDrawCallIndex: usize = 0x8; // uint32
+                pub const m_pMaterial: usize = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
+            }
+            // Parent: None
+            // Field count: 2
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod EntityKeyValueData_t {
+                pub const m_connections: usize = 0x8; // CUtlVector<EntityIOConnectionData_t>
+                pub const m_keyValuesData: usize = 0x20; // CUtlBinaryBlock
+            }
+            // Parent: None
+            // Field count: 13
+            //
+            // Metadata:
+            // MGetKV3ClassDefaults
+            pub mod CVoxelVisibility {
+                pub const m_nBaseClusterCount: usize = 0x40; // uint32
+                pub const m_nPVSBytesPerCluster: usize = 0x44; // uint32
+                pub const m_vMinBounds: usize = 0x48; // Vector
+                pub const m_vMaxBounds: usize = 0x54; // Vector
+                pub const m_flGridSize: usize = 0x60; // float32
+                pub const m_nSkyVisibilityCluster: usize = 0x64; // uint32
+                pub const m_nSunVisibilityCluster: usize = 0x68; // uint32
+                pub const m_NodeBlock: usize = 0x6C; // VoxelVisBlockOffset_t
+                pub const m_RegionBlock: usize = 0x74; // VoxelVisBlockOffset_t
+                pub const m_EnclosedClusterListBlock: usize = 0x7C; // VoxelVisBlockOffset_t
+                pub const m_EnclosedClustersBlock: usize = 0x84; // VoxelVisBlockOffset_t
+                pub const m_MasksBlock: usize = 0x8C; // VoxelVisBlockOffset_t
+                pub const m_nVisBlocks: usize = 0x94; // VoxelVisBlockOffset_t
+            }
+        }
+    }
+}