Decompiled source of FantasiaSquadSuitsPart2 v1.0.1

FantasiaSquadPT2/bin/Debug/netstandard2.1/2.08.24.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("2.08.24")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("2.08.24")]
[assembly: AssemblyTitle("2.08.24")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace ModelReplacement
{
	public class MRTSUKASA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Tsukasa";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRRUI : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Rui";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRAKITO : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Akito";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRMIZUKI : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Mizuki";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTOYA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Toya";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	[BepInPlugin("com.animekaei.FantasiaSquad2", "FantasiaSquadPart2", "0.1.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Expected O, but got Unknown
			Assets.PopulateAssets();
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteTsukasa", typeof(MRTSUKASA));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteRui", typeof(MRRUI));
			ModelReplacementAPI.RegisterSuitModelReplacement("StudyMizuki", typeof(MRMIZUKI));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteAkito", typeof(MRAKITO));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteToya", typeof(MRTOYA));
			Harmony val = new Harmony("com.animekaei.FantasiaSquad2");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.animekaei.FantasiaSquad2 is loaded!");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "FantasiaSquadPart2";

		public static AssetBundle MainAssetBundle = null;

		private static string GetAssemblyName()
		{
			return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_");
		}

		public static void PopulateAssets()
		{
			if ((Object)(object)MainAssetBundle == (Object)null)
			{
				Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName);
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName);
				MainAssetBundle = AssetBundle.LoadFromStream(stream);
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}

FantasiaSquadPT2/bin/Debug/netstandard2.1/ModelReplacementAPI.dll

Decompiled a month ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using GameNetcodeStuff;
using HarmonyLib;
using LCThirdPerson;
using Microsoft.CodeAnalysis;
using ModelReplacement;
using ModelReplacement.AvatarBodyUpdater;
using ModelReplacement.Monobehaviors;
using ModelReplacement.Monobehaviors.Enemies;
using ModelReplacement.Scripts;
using ModelReplacement.Scripts.Enemies;
using ModelReplacement.Scripts.Player;
using MoreCompany.Cosmetics;
using Steamworks.Data;
using TooManyEmotes;
using TooManyEmotes.Patches;
using Unity.Collections;
using UnityEngine;
using UnityEngine.LowLevel;
using UnityEngine.PlayerLoop;
using UnityEngine.Pool;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
using UnityEngine.Serialization;
using _3rdPerson.Helper;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ModelReplacementAPI")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("https://github.com/BunyaPineTree/LethalCompany_ModelReplacementAPI")]
[assembly: AssemblyProduct("meow.ModelReplacementAPI")]
[assembly: AssemblyCopyright("Copyright © meow 2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("6390E70C-AB5E-42ED-BA29-F173942DC3A9")]
[assembly: AssemblyFileVersion("2.4.0")]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("2.4.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
[HarmonyPatch(typeof(StartOfRound))]
public class RepairBrokenBodyReplacementsPatch
{
	[HarmonyPatch("ReviveDeadPlayers")]
	[HarmonyPostfix]
	public static void ReviveDeadPlayersPatch(ref StartOfRound __instance)
	{
		PlayerControllerB[] allPlayerScripts = __instance.allPlayerScripts;
		foreach (PlayerControllerB val in allPlayerScripts)
		{
			if (val.isPlayerDead)
			{
				ModelReplacementAPI.ResetPlayerModelReplacement(val);
			}
		}
	}
}
namespace JigglePhysics
{
	public static class CachedSphereCollider
	{
		private class DestroyListener : MonoBehaviour
		{
			private void OnDestroy()
			{
				_hasSphere = false;
			}
		}

		private static bool _hasSphere;

		private static SphereCollider _sphereCollider;

		public static void StartPass()
		{
			if (TryGet(out var collider))
			{
				((Collider)collider).enabled = true;
			}
		}

		public static void FinishedPass()
		{
			if (TryGet(out var collider))
			{
				((Collider)collider).enabled = false;
			}
		}

		public static bool TryGet(out SphereCollider collider)
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			if (_hasSphere)
			{
				collider = _sphereCollider;
				return true;
			}
			try
			{
				GameObject val = new GameObject("JiggleBoneSphereCollider", new Type[2]
				{
					typeof(SphereCollider),
					typeof(DestroyListener)
				})
				{
					hideFlags = (HideFlags)61
				};
				if (Application.isPlaying)
				{
					Object.DontDestroyOnLoad((Object)(object)val);
				}
				_sphereCollider = val.GetComponent<SphereCollider>();
				collider = _sphereCollider;
				((Collider)collider).enabled = false;
				_hasSphere = true;
				return true;
			}
			catch
			{
				if ((Object)(object)_sphereCollider != (Object)null)
				{
					if (Application.isPlaying)
					{
						Object.Destroy((Object)(object)((Component)_sphereCollider).gameObject);
					}
					else
					{
						Object.DestroyImmediate((Object)(object)((Component)_sphereCollider).gameObject);
					}
				}
				_hasSphere = false;
				collider = null;
				throw;
			}
		}
	}
	public class JiggleBone
	{
		private readonly bool hasTransform;

		private readonly PositionSignal targetAnimatedBoneSignal;

		private Vector3 currentFixedAnimatedBonePosition;

		public readonly JiggleBone parent;

		private JiggleBone child;

		private Quaternion boneRotationChangeCheck;

		private Vector3 bonePositionChangeCheck;

		private Quaternion lastValidPoseBoneRotation;

		private float projectionAmount;

		private Vector3 lastValidPoseBoneLocalPosition;

		private float normalizedIndex;

		public readonly Transform transform;

		private readonly PositionSignal particleSignal;

		private Vector3 workingPosition;

		private Vector3? preTeleportPosition;

		private Vector3 extrapolatedPosition;

		private float GetLengthToParent()
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			if (parent == null)
			{
				return 0.1f;
			}
			return Vector3.Distance(currentFixedAnimatedBonePosition, parent.currentFixedAnimatedBonePosition);
		}

		public JiggleBone(Transform transform, JiggleBone parent, float projectionAmount = 1f)
		{
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			this.transform = transform;
			this.parent = parent;
			this.projectionAmount = projectionAmount;
			Vector3 startPosition;
			if ((Object)(object)transform != (Object)null)
			{
				lastValidPoseBoneRotation = transform.localRotation;
				lastValidPoseBoneLocalPosition = transform.localPosition;
				startPosition = transform.position;
			}
			else
			{
				startPosition = GetProjectedPosition();
			}
			targetAnimatedBoneSignal = new PositionSignal(startPosition, Time.timeAsDouble);
			particleSignal = new PositionSignal(startPosition, Time.timeAsDouble);
			hasTransform = (Object)(object)transform != (Object)null;
			if (parent != null)
			{
				this.parent.child = this;
			}
		}

		public void CalculateNormalizedIndex()
		{
			int num = 0;
			JiggleBone jiggleBone = this;
			while (jiggleBone.parent != null)
			{
				jiggleBone = jiggleBone.parent;
				num++;
			}
			int num2 = 0;
			jiggleBone = this;
			while (jiggleBone.child != null)
			{
				jiggleBone = jiggleBone.child;
				num2++;
			}
			int num3 = num + num2;
			float num4 = (float)num / (float)num3;
			normalizedIndex = num4;
		}

		public void VerletPass(JiggleSettingsData jiggleSettings, Vector3 wind, double time)
		{
			//IL_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			currentFixedAnimatedBonePosition = targetAnimatedBoneSignal.SamplePosition(time);
			if (parent == null)
			{
				workingPosition = currentFixedAnimatedBonePosition;
				particleSignal.SetPosition(workingPosition, time);
			}
			else
			{
				Vector3 localSpaceVelocity = particleSignal.GetCurrent() - particleSignal.GetPrevious() - (parent.particleSignal.GetCurrent() - parent.particleSignal.GetPrevious());
				workingPosition = NextPhysicsPosition(particleSignal.GetCurrent(), particleSignal.GetPrevious(), localSpaceVelocity, Time.fixedDeltaTime, jiggleSettings.gravityMultiplier, jiggleSettings.friction, jiggleSettings.airDrag);
				workingPosition += wind * (Time.fixedDeltaTime * jiggleSettings.airDrag);
			}
		}

		public void CollisionPreparePass(JiggleSettingsData jiggleSettings)
		{
			//IL_0004: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			workingPosition = ConstrainLengthBackwards(workingPosition, jiggleSettings.lengthElasticity * jiggleSettings.lengthElasticity * 0.5f);
		}

		public void ConstraintPass(JiggleSettingsData jiggleSettings)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			if (parent != null)
			{
				workingPosition = ConstrainAngle(workingPosition, jiggleSettings.angleElasticity * jiggleSettings.angleElasticity, jiggleSettings.elasticitySoften);
				workingPosition = ConstrainLength(workingPosition, jiggleSettings.lengthElasticity * jiggleSettings.lengthElasticity);
			}
		}

		public void CollisionPass(JiggleSettingsBase jiggleSettings, List<Collider> colliders)
		{
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			if (colliders.Count == 0 || !CachedSphereCollider.TryGet(out var collider))
			{
				return;
			}
			Vector3 val = default(Vector3);
			float num = default(float);
			foreach (Collider collider2 in colliders)
			{
				collider.radius = jiggleSettings.GetRadius(normalizedIndex);
				if (!(collider.radius <= 0f) && Physics.ComputePenetration((Collider)(object)collider, workingPosition, Quaternion.identity, collider2, ((Component)collider2).transform.position, ((Component)collider2).transform.rotation, ref val, ref num))
				{
					workingPosition += val * num;
				}
			}
		}

		public void SignalWritePosition(double time)
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			particleSignal.SetPosition(workingPosition, time);
		}

		private Vector3 GetProjectedPosition()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			Vector3 position = parent.transform.position;
			return parent.transform.TransformPoint(parent.GetParentTransform().InverseTransformPoint(position) * projectionAmount);
		}

		private Vector3 GetTransformPosition()
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			if (!hasTransform)
			{
				return GetProjectedPosition();
			}
			return transform.position;
		}

		private Transform GetParentTransform()
		{
			if (parent != null)
			{
				return parent.transform;
			}
			return transform.parent;
		}

		private void CacheAnimationPosition()
		{
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			if (!hasTransform)
			{
				targetAnimatedBoneSignal.SetPosition(GetProjectedPosition(), Time.timeAsDouble);
				return;
			}
			targetAnimatedBoneSignal.SetPosition(transform.position, Time.timeAsDouble);
			lastValidPoseBoneRotation = transform.localRotation;
			lastValidPoseBoneLocalPosition = transform.localPosition;
		}

		private Vector3 ConstrainLengthBackwards(Vector3 newPosition, float elasticity)
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			if (child == null)
			{
				return newPosition;
			}
			Vector3 val = newPosition - child.workingPosition;
			Vector3 normalized = ((Vector3)(ref val)).normalized;
			return Vector3.Lerp(newPosition, child.workingPosition + normalized * child.GetLengthToParent(), elasticity);
		}

		private Vector3 ConstrainLength(Vector3 newPosition, float elasticity)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			Vector3 val = newPosition - parent.workingPosition;
			Vector3 normalized = ((Vector3)(ref val)).normalized;
			return Vector3.Lerp(newPosition, parent.workingPosition + normalized * GetLengthToParent(), elasticity);
		}

		public void MatchAnimationInstantly()
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			double timeAsDouble = Time.timeAsDouble;
			Vector3 transformPosition = GetTransformPosition();
			targetAnimatedBoneSignal.FlattenSignal(timeAsDouble, transformPosition);
			particleSignal.FlattenSignal(timeAsDouble, transformPosition);
		}

		public void PrepareTeleport()
		{
			//IL_0003: Unknown result type (might be due to invalid IL or missing references)
			preTeleportPosition = GetTransformPosition();
		}

		public void FinishTeleport()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			if (!preTeleportPosition.HasValue)
			{
				MatchAnimationInstantly();
				return;
			}
			Vector3 transformPosition = GetTransformPosition();
			Vector3 val = transformPosition - preTeleportPosition.Value;
			targetAnimatedBoneSignal.FlattenSignal(Time.timeAsDouble, transformPosition);
			particleSignal.OffsetSignal(val);
			workingPosition += val;
		}

		private Vector3 ConstrainAngleBackward(Vector3 newPosition, float elasticity, float elasticitySoften)
		{
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			if (child == null || child.child == null)
			{
				return newPosition;
			}
			Vector3 val = child.child.currentFixedAnimatedBonePosition - child.currentFixedAnimatedBonePosition;
			Vector3 val2 = child.child.workingPosition - child.workingPosition;
			Quaternion val3 = Quaternion.FromToRotation(val, val2);
			Vector3 val4 = newPosition - child.workingPosition;
			Vector3 val5 = val3 * val4;
			Debug.DrawLine(newPosition, child.workingPosition + val5, Color.cyan);
			float num = Vector3.Distance(newPosition, child.workingPosition + val5);
			num /= child.GetLengthToParent();
			num = Mathf.Clamp01(num);
			num = Mathf.Pow(num, elasticitySoften * 2f);
			return Vector3.Lerp(newPosition, child.workingPosition + val5, elasticity * num);
		}

		private Vector3 ConstrainAngle(Vector3 newPosition, float elasticity, float elasticitySoften)
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_011d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_0108: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			if (!hasTransform && projectionAmount == 0f)
			{
				return newPosition;
			}
			Vector3 val;
			Vector3 val2;
			if (parent.parent == null)
			{
				val = parent.currentFixedAnimatedBonePosition + (parent.currentFixedAnimatedBonePosition - currentFixedAnimatedBonePosition);
				val2 = val;
			}
			else
			{
				val2 = parent.parent.workingPosition;
				val = parent.parent.currentFixedAnimatedBonePosition;
			}
			Vector3 val3 = parent.currentFixedAnimatedBonePosition - val;
			Vector3 val4 = parent.workingPosition - val2;
			Quaternion val5 = Quaternion.FromToRotation(val3, val4);
			Vector3 val6 = currentFixedAnimatedBonePosition - val;
			Vector3 val7 = val5 * val6;
			float num = Vector3.Distance(newPosition, val2 + val7);
			num /= GetLengthToParent();
			num = Mathf.Clamp01(num);
			num = Mathf.Pow(num, elasticitySoften * 2f);
			return Vector3.Lerp(newPosition, val2 + val7, elasticity * num);
		}

		public static Vector3 NextPhysicsPosition(Vector3 newPosition, Vector3 previousPosition, Vector3 localSpaceVelocity, float deltaTime, float gravityMultiplier, float friction, float airFriction)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			float num = deltaTime * deltaTime;
			Vector3 val = newPosition - previousPosition - localSpaceVelocity;
			return newPosition + val * (1f - airFriction) + localSpaceVelocity * (1f - friction) + Physics.gravity * (gravityMultiplier * num);
		}

		public void DebugDraw(Color simulateColor, Color targetColor, bool interpolated)
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			if (parent != null)
			{
				if (interpolated)
				{
					Debug.DrawLine(extrapolatedPosition, parent.extrapolatedPosition, simulateColor, 0f, false);
				}
				else
				{
					Debug.DrawLine(workingPosition, parent.workingPosition, simulateColor, 0f, false);
				}
				Debug.DrawLine(currentFixedAnimatedBonePosition, parent.currentFixedAnimatedBonePosition, targetColor, 0f, false);
			}
		}

		public Vector3 DeriveFinalSolvePosition(Vector3 offset)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			extrapolatedPosition = offset + particleSignal.SamplePosition(Time.timeAsDouble);
			return extrapolatedPosition;
		}

		public Vector3 GetCachedSolvePosition()
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			return extrapolatedPosition;
		}

		public void PrepareBone()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			if (hasTransform)
			{
				if (boneRotationChangeCheck == transform.localRotation)
				{
					transform.localRotation = lastValidPoseBoneRotation;
				}
				if (bonePositionChangeCheck == transform.localPosition)
				{
					transform.localPosition = lastValidPoseBoneLocalPosition;
				}
			}
			CacheAnimationPosition();
		}

		public void OnDrawGizmos(JiggleSettingsBase jiggleSettings)
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)transform != (Object)null && child != null && (Object)(object)child.transform != (Object)null)
			{
				Gizmos.DrawLine(transform.position, child.transform.position);
			}
			if ((Object)(object)transform != (Object)null && child != null && (Object)(object)child.transform == (Object)null)
			{
				Gizmos.DrawLine(transform.position, child.GetProjectedPosition());
			}
			if ((Object)(object)transform != (Object)null && (Object)(object)jiggleSettings != (Object)null)
			{
				Gizmos.DrawWireSphere(transform.position, jiggleSettings.GetRadius(normalizedIndex));
			}
			if ((Object)(object)transform == (Object)null && (Object)(object)jiggleSettings != (Object)null)
			{
				Gizmos.DrawWireSphere(GetProjectedPosition(), jiggleSettings.GetRadius(normalizedIndex));
			}
		}

		public void PoseBone(float blend)
		{
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			if (child != null)
			{
				Vector3 val = Vector3.Lerp(targetAnimatedBoneSignal.SamplePosition(Time.timeAsDouble), extrapolatedPosition, blend);
				Vector3 val2 = Vector3.Lerp(child.targetAnimatedBoneSignal.SamplePosition(Time.timeAsDouble), child.extrapolatedPosition, blend);
				if (parent != null)
				{
					transform.position = val;
				}
				Vector3 transformPosition = child.GetTransformPosition();
				Vector3 val3 = transformPosition - transform.position;
				Vector3 val4 = val2 - val;
				Quaternion val5 = Quaternion.FromToRotation(val3, val4);
				transform.rotation = val5 * transform.rotation;
			}
			if (hasTransform)
			{
				boneRotationChangeCheck = transform.localRotation;
				bonePositionChangeCheck = transform.localPosition;
			}
		}
	}
	[DefaultExecutionOrder(200)]
	public class JiggleRigBuilder : MonoBehaviour
	{
		[SerializeField]
		[Tooltip("The root bone from which an individual JiggleRig will be constructed. The JiggleRig encompasses all children of the specified root.")]
		[FormerlySerializedAs("target")]
		private Transform rootTransform;

		[Tooltip("The settings that the rig should update with, create them using the Create->JigglePhysics->Settings menu option.")]
		public JiggleSettingsBase jiggleSettings;

		[SerializeField]
		[Tooltip("The list of transforms to ignore during the jiggle. Each bone listed will also ignore all the children of the specified bone.")]
		private List<Transform> ignoredTransforms;

		public List<Collider> colliders;

		[Tooltip("An air force that is applied to the entire rig, this is useful to plug in some wind volumes from external sources.")]
		public Vector3 wind;

		[Tooltip("Level of detail manager. This system will control how the jiggle rig saves performance cost.")]
		public JiggleRigLOD levelOfDetail;

		[Tooltip("Draws some simple lines to show what the simulation is doing. Generally this should be disabled.")]
		[SerializeField]
		private bool debugDraw;

		private JiggleSettingsData data;

		private bool initialized;

		[HideInInspector]
		protected List<JiggleBone> simulatedPoints;

		private double accumulation;

		private bool dirtyFromEnable = false;

		private bool wasLODActive = true;

		public static float maxCatchupTime => Time.fixedDeltaTime * 4f;

		private bool NeedsCollisions => colliders.Count != 0;

		public Transform GetRootTransform()
		{
			return rootTransform;
		}

		public void PrepareBone(Vector3 position, JiggleRigLOD jiggleRigLOD)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			if (!initialized)
			{
				throw new UnityException("JiggleRig was never initialized. Please call JiggleRig.Initialize() if you're going to manually timestep.");
			}
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.PrepareBone();
			}
			data = jiggleSettings.GetData();
			data = (((Object)(object)jiggleRigLOD != (Object)null) ? jiggleRigLOD.AdjustJiggleSettingsData(position, data) : data);
		}

		public void MatchAnimationInstantly()
		{
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.MatchAnimationInstantly();
			}
		}

		public void UpdateJiggle(Vector3 wind, double time)
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.VerletPass(data, wind, time);
			}
			if (NeedsCollisions)
			{
				for (int num = simulatedPoints.Count - 1; num >= 0; num--)
				{
					simulatedPoints[num].CollisionPreparePass(data);
				}
			}
			foreach (JiggleBone simulatedPoint2 in simulatedPoints)
			{
				simulatedPoint2.ConstraintPass(data);
			}
			if (NeedsCollisions)
			{
				foreach (JiggleBone simulatedPoint3 in simulatedPoints)
				{
					simulatedPoint3.CollisionPass(jiggleSettings, colliders);
				}
			}
			foreach (JiggleBone simulatedPoint4 in simulatedPoints)
			{
				simulatedPoint4.SignalWritePosition(time);
			}
		}

		public void DeriveFinalSolve()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			Vector3 val = simulatedPoints[0].DeriveFinalSolvePosition(Vector3.zero);
			Vector3 offset = simulatedPoints[0].transform.position - val;
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.DeriveFinalSolvePosition(offset);
			}
		}

		public void Pose(bool debugDraw)
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			DeriveFinalSolve();
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.PoseBone(data.blend);
				if (debugDraw)
				{
					simulatedPoint.DebugDraw(Color.red, Color.blue, interpolated: true);
				}
			}
		}

		public void PrepareTeleport()
		{
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.PrepareTeleport();
			}
		}

		public void FinishTeleport()
		{
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.FinishTeleport();
			}
		}

		protected virtual void CreateSimulatedPoints(ICollection<JiggleBone> outputPoints, ICollection<Transform> ignoredTransforms, Transform currentTransform, JiggleBone parentJiggleBone)
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			JiggleBone jiggleBone = new JiggleBone(currentTransform, parentJiggleBone);
			outputPoints.Add(jiggleBone);
			if (currentTransform.childCount == 0)
			{
				if (jiggleBone.parent == null)
				{
					if ((Object)(object)jiggleBone.transform.parent == (Object)null)
					{
						throw new UnityException("Can't have a singular jiggle bone with no parents. That doesn't even make sense!");
					}
					outputPoints.Add(new JiggleBone(null, jiggleBone));
				}
				else
				{
					outputPoints.Add(new JiggleBone(null, jiggleBone));
				}
				return;
			}
			for (int i = 0; i < currentTransform.childCount; i++)
			{
				if (!ignoredTransforms.Contains(currentTransform.GetChild(i)))
				{
					CreateSimulatedPoints(outputPoints, ignoredTransforms, currentTransform.GetChild(i), jiggleBone);
				}
			}
		}

		private void Awake()
		{
			Initialize();
		}

		private void OnEnable()
		{
			JiggleRigHandler.AddBuilder(this);
			dirtyFromEnable = true;
		}

		private void OnDisable()
		{
			JiggleRigHandler.RemoveBuilder(this);
			PrepareTeleport();
		}

		public void Initialize()
		{
			accumulation = 0.0;
			simulatedPoints = new List<JiggleBone>();
			if ((Object)(object)rootTransform == (Object)null)
			{
				return;
			}
			CreateSimulatedPoints(simulatedPoints, ignoredTransforms, rootTransform, null);
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.CalculateNormalizedIndex();
			}
			initialized = true;
		}

		public virtual void Advance(float deltaTime)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)levelOfDetail != (Object)null && !levelOfDetail.CheckActive(((Component)this).transform.position))
			{
				if (wasLODActive)
				{
					PrepareTeleport();
				}
				wasLODActive = false;
				return;
			}
			if (!wasLODActive)
			{
				FinishTeleport();
			}
			PrepareBone(((Component)this).transform.position, levelOfDetail);
			if (dirtyFromEnable)
			{
				FinishTeleport();
				dirtyFromEnable = false;
			}
			accumulation = Math.Min(accumulation + (double)deltaTime, maxCatchupTime);
			while (accumulation > (double)Time.fixedDeltaTime)
			{
				accumulation -= Time.fixedDeltaTime;
				double time = Time.timeAsDouble - accumulation;
				UpdateJiggle(wind, time);
			}
			Pose(debugDraw);
			wasLODActive = true;
		}

		private void OnDrawGizmos()
		{
			if (!initialized || simulatedPoints == null)
			{
				Initialize();
			}
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.OnDrawGizmos(jiggleSettings);
			}
		}

		private void OnValidate()
		{
			if ((Object)(object)rootTransform == (Object)null)
			{
				rootTransform = ((Component)this).transform;
			}
			if (!Application.isPlaying)
			{
				Initialize();
			}
		}
	}
	public static class JiggleRigHandler
	{
		[CompilerGenerated]
		private static class <>O
		{
			public static UpdateFunction <0>__UpdateJiggleRigs;
		}

		private static bool initialized = false;

		private static HashSet<JiggleRigBuilder> builders = new HashSet<JiggleRigBuilder>();

		private static void Initialize()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Expected O, but got Unknown
			if (!initialized)
			{
				PlayerLoopSystem currentPlayerLoop = PlayerLoop.GetCurrentPlayerLoop();
				PlayerLoopSystem self = currentPlayerLoop;
				PlayerLoopSystem systemToInject = default(PlayerLoopSystem);
				object obj = <>O.<0>__UpdateJiggleRigs;
				if (obj == null)
				{
					UpdateFunction val = UpdateJiggleRigs;
					<>O.<0>__UpdateJiggleRigs = val;
					obj = (object)val;
				}
				systemToInject.updateDelegate = (UpdateFunction)obj;
				systemToInject.type = typeof(JiggleRigHandler);
				currentPlayerLoop = self.InjectAt<PostLateUpdate>(systemToInject);
				PlayerLoop.SetPlayerLoop(currentPlayerLoop);
				initialized = true;
			}
		}

		private static void UpdateJiggleRigs()
		{
			CachedSphereCollider.StartPass();
			foreach (JiggleRigBuilder builder in builders)
			{
				builder.Advance(Time.deltaTime);
			}
			CachedSphereCollider.FinishedPass();
		}

		public static void AddBuilder(JiggleRigBuilder builder)
		{
			builders.Add(builder);
			Initialize();
		}

		public static void RemoveBuilder(JiggleRigBuilder builder)
		{
			builders.Remove(builder);
		}

		private static PlayerLoopSystem InjectAt<T>(this PlayerLoopSystem self, PlayerLoopSystem systemToInject)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			int num = FindIndexOfSubsystem<T>(self.subSystemList);
			if (num == -1)
			{
				throw new UnityException($"Failed to find PlayerLoopSystem with type{typeof(T)}");
			}
			List<PlayerLoopSystem> list = new List<PlayerLoopSystem>(self.subSystemList[num].subSystemList);
			foreach (PlayerLoopSystem item2 in list)
			{
				if (item2.type != typeof(JiggleRigBuilder))
				{
					continue;
				}
				Debug.LogWarning((object)$"Tried to inject a PlayerLoopSystem ({systemToInject.type}) more than once! Ignoring the second injection.");
				return self;
			}
			PlayerLoopSystem item = default(PlayerLoopSystem);
			object obj = <>O.<0>__UpdateJiggleRigs;
			if (obj == null)
			{
				UpdateFunction val = UpdateJiggleRigs;
				<>O.<0>__UpdateJiggleRigs = val;
				obj = (object)val;
			}
			item.updateDelegate = (UpdateFunction)obj;
			item.type = typeof(JiggleRigHandler);
			list.Insert(0, item);
			self.subSystemList[num].subSystemList = list.ToArray();
			return self;
		}

		private static int FindIndexOfSubsystem<T>(PlayerLoopSystem[] list, int index = -1)
		{
			if (list == null)
			{
				return -1;
			}
			for (int i = 0; i < list.Length; i++)
			{
				if (list[i].type == typeof(T))
				{
					return i;
				}
			}
			return -1;
		}
	}
	public abstract class JiggleRigLOD : ScriptableObject
	{
		public abstract bool CheckActive(Vector3 position);

		public abstract JiggleSettingsData AdjustJiggleSettingsData(Vector3 position, JiggleSettingsData data);
	}
	[CreateAssetMenu(fileName = "JiggleRigSimpleLOD", menuName = "JigglePhysics/JiggleRigSimpleLOD", order = 1)]
	public class JiggleRigSimpleLOD : JiggleRigLOD
	{
		[Tooltip("Distance to disable the jiggle rig")]
		[SerializeField]
		private float distance;

		[Tooltip("Level of detail manager. This system will control how the jiggle rig saves performance cost.")]
		[SerializeField]
		private float blend;

		[NonSerialized]
		private Camera currentCamera;

		[NonSerialized]
		private Transform cameraTransform;

		private bool TryGetCamera(out Camera camera)
		{
			if ((Object)(object)currentCamera == (Object)null || !((Component)currentCamera).CompareTag("MainCamera"))
			{
				currentCamera = Camera.main;
			}
			camera = currentCamera;
			return (Object)(object)currentCamera != (Object)null;
		}

		public override bool CheckActive(Vector3 position)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			if (!TryGetCamera(out var camera))
			{
				return false;
			}
			return Vector3.Distance(((Component)camera).transform.position, position) < distance;
		}

		public override JiggleSettingsData AdjustJiggleSettingsData(Vector3 position, JiggleSettingsData data)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			if (!TryGetCamera(out var camera))
			{
				return data;
			}
			float num = (Vector3.Distance(((Component)camera).transform.position, position) - distance + blend) / blend;
			num = Mathf.Clamp01(1f - num);
			data.blend = num;
			return data;
		}
	}
	public struct JiggleSettingsData
	{
		public float gravityMultiplier;

		public float friction;

		public float angleElasticity;

		public float blend;

		public float airDrag;

		public float lengthElasticity;

		public float elasticitySoften;

		public float radiusMultiplier;

		public static JiggleSettingsData Lerp(JiggleSettingsData a, JiggleSettingsData b, float t)
		{
			JiggleSettingsData result = default(JiggleSettingsData);
			result.gravityMultiplier = Mathf.Lerp(a.gravityMultiplier, b.gravityMultiplier, t);
			result.friction = Mathf.Lerp(a.friction, b.friction, t);
			result.angleElasticity = Mathf.Lerp(a.angleElasticity, b.angleElasticity, t);
			result.blend = Mathf.Lerp(a.blend, b.blend, t);
			result.airDrag = Mathf.Lerp(a.airDrag, b.airDrag, t);
			result.lengthElasticity = Mathf.Lerp(a.lengthElasticity, b.lengthElasticity, t);
			result.elasticitySoften = Mathf.Lerp(a.elasticitySoften, b.elasticitySoften, t);
			result.radiusMultiplier = Mathf.Lerp(a.radiusMultiplier, b.radiusMultiplier, t);
			return result;
		}
	}
	[CreateAssetMenu(fileName = "JiggleSettings", menuName = "JigglePhysics/Settings", order = 1)]
	public class JiggleSettings : JiggleSettingsBase
	{
		[SerializeField]
		[Range(0f, 2f)]
		[Tooltip("How much gravity to apply to the simulation, it is a multiplier of the Physics.gravity setting.")]
		private float gravityMultiplier = 1f;

		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much mechanical friction to apply, this is specifically how quickly oscillations come to rest.")]
		private float friction = 0.4f;

		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much angular force is applied to bring it to the target shape.")]
		private float angleElasticity = 0.4f;

		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much of the simulation should be expressed. A value of 0 would make the jiggle have zero effect. A value of 1 gives the full movement as intended. 0.5 would ")]
		private float blend = 1f;

		[FormerlySerializedAs("airFriction")]
		[HideInInspector]
		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much jiggled objects should get dragged behind by moving through the air. Or how \"thick\" the air is.")]
		private float airDrag = 0.1f;

		[HideInInspector]
		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How rigidly the rig holds its length. Low values cause lots of squash and stretch!")]
		private float lengthElasticity = 0.8f;

		[HideInInspector]
		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much to allow free bone motion before engaging elasticity.")]
		private float elasticitySoften = 0f;

		[HideInInspector]
		[SerializeField]
		[Tooltip("How much radius points have, only used for collisions. Set to 0 to disable collisions")]
		private float radiusMultiplier = 0f;

		[HideInInspector]
		[SerializeField]
		[Tooltip("How the radius is expressed as a curve along the bone chain from root to child.")]
		private AnimationCurve radiusCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[2]
		{
			new Keyframe(0f, 1f),
			new Keyframe(1f, 0f)
		});

		public override JiggleSettingsData GetData()
		{
			JiggleSettingsData result = default(JiggleSettingsData);
			result.gravityMultiplier = gravityMultiplier;
			result.friction = friction;
			result.airDrag = airDrag;
			result.blend = blend;
			result.angleElasticity = angleElasticity;
			result.elasticitySoften = elasticitySoften;
			result.lengthElasticity = lengthElasticity;
			result.radiusMultiplier = radiusMultiplier;
			return result;
		}

		public void SetData(JiggleSettingsData data)
		{
			gravityMultiplier = data.gravityMultiplier;
			friction = data.friction;
			angleElasticity = data.angleElasticity;
			blend = data.blend;
			airDrag = data.airDrag;
			lengthElasticity = data.lengthElasticity;
			elasticitySoften = data.elasticitySoften;
			radiusMultiplier = data.radiusMultiplier;
		}

		public override float GetRadius(float normalizedIndex)
		{
			return radiusMultiplier * radiusCurve.Evaluate(normalizedIndex);
		}

		public void SetRadiusCurve(AnimationCurve curve)
		{
			radiusCurve = curve;
		}
	}
	public class JiggleSettingsBase : ScriptableObject
	{
		public virtual JiggleSettingsData GetData()
		{
			return default(JiggleSettingsData);
		}

		public virtual float GetRadius(float normalizedIndex)
		{
			return 0f;
		}
	}
	[CreateAssetMenu(fileName = "JiggleSettingsBlend", menuName = "JigglePhysics/Blend Settings", order = 1)]
	public class JiggleSettingsBlend : JiggleSettingsBase
	{
		[Tooltip("The list of jiggle settings to blend between.")]
		public List<JiggleSettings> blendSettings;

		[Range(0f, 1f)]
		[Tooltip("A value from 0 to 1 that linearly blends between all of the blendSettings.")]
		public float normalizedBlend;

		public override JiggleSettingsData GetData()
		{
			int num = blendSettings.Count - 1;
			float num2 = Mathf.Clamp01(normalizedBlend);
			int num3 = Mathf.Clamp(Mathf.FloorToInt(num2 * (float)num), 0, num);
			int index = Mathf.Clamp(Mathf.FloorToInt(num2 * (float)num) + 1, 0, num);
			return JiggleSettingsData.Lerp(blendSettings[num3].GetData(), blendSettings[index].GetData(), Mathf.Clamp01(num2 * (float)num - (float)num3));
		}

		public override float GetRadius(float normalizedIndex)
		{
			float num = Mathf.Clamp01(normalizedBlend);
			int num2 = Mathf.FloorToInt(num * (float)blendSettings.Count);
			int num3 = Mathf.FloorToInt(num * (float)blendSettings.Count) + 1;
			return Mathf.Lerp(blendSettings[Mathf.Clamp(num2, 0, blendSettings.Count - 1)].GetRadius(normalizedIndex), blendSettings[Mathf.Clamp(num3, 0, blendSettings.Count - 1)].GetRadius(normalizedIndex), Mathf.Clamp01(num * (float)blendSettings.Count - (float)num2));
		}
	}
	public class PositionSignal
	{
		private struct Frame
		{
			public Vector3 position;

			public double time;
		}

		private Frame previousFrame;

		private Frame currentFrame;

		public PositionSignal(Vector3 startPosition, double time)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			currentFrame = (previousFrame = new Frame
			{
				position = startPosition,
				time = time
			});
		}

		public void SetPosition(Vector3 position, double time)
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			previousFrame = currentFrame;
			currentFrame = new Frame
			{
				position = position,
				time = time
			};
		}

		public void OffsetSignal(Vector3 offset)
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			previousFrame = new Frame
			{
				position = previousFrame.position + offset,
				time = previousFrame.time
			};
			currentFrame = new Frame
			{
				position = currentFrame.position + offset,
				time = previousFrame.time
			};
		}

		public void FlattenSignal(double time, Vector3 position)
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			previousFrame = new Frame
			{
				position = position,
				time = time - (double)(JiggleRigBuilder.maxCatchupTime * 2f)
			};
			currentFrame = new Frame
			{
				position = position,
				time = time - (double)JiggleRigBuilder.maxCatchupTime
			};
		}

		public Vector3 GetCurrent()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			return currentFrame.position;
		}

		public Vector3 GetPrevious()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			return previousFrame.position;
		}

		public Vector3 SamplePosition(double time)
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			double num = currentFrame.time - previousFrame.time;
			if (num == 0.0)
			{
				return previousFrame.position;
			}
			double num2 = (time - previousFrame.time) / num;
			return Vector3.Lerp(previousFrame.position, currentFrame.position, (float)num2);
		}
	}
}
namespace ModelReplacement
{
	public static class PluginInfo
	{
		public const string GUID = "meow.ModelReplacementAPI";

		public const string NAME = "ModelReplacementAPI";

		public const string VERSION = "2.4.0";

		public const string WEBSITE = "https://github.com/BunyaPineTree/LethalCompany_ModelReplacementAPI";
	}
	[BepInPlugin("meow.ModelReplacementAPI", "ModelReplacementAPI", "2.4.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class ModelReplacementAPI : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(PlayerControllerB))]
		public class PlayerControllerBPatch
		{
			[HarmonyPatch("Update")]
			[HarmonyPostfix]
			public static void ManageRegistryBodyReplacements(ref PlayerControllerB __instance)
			{
				try
				{
					ManageBodyReplacements(__instance);
				}
				catch (Exception arg)
				{
					Instance.Logger.LogError((object)$"Exception in ManageRegistryBodyReplacements: {arg}");
				}
			}

			private static void ManageBodyReplacements(PlayerControllerB player)
			{
				BodyReplacementBase component = ((Component)player.thisPlayerBody).gameObject.GetComponent<BodyReplacementBase>();
				if ((Object)(object)component != (Object)null && RegisteredModelReplacementExceptions.Contains(((object)component).GetType()))
				{
					return;
				}
				if (RegisteredModelReplacementOverride != null)
				{
					SetPlayerModelReplacement(player, RegisteredModelReplacementOverride);
					return;
				}
				int num = player.currentSuitID;
				List<UnlockableItem> unlockables = StartOfRound.Instance.unlockablesList.unlockables;
				if (num > unlockables.Count)
				{
					throw new Exception($"Suit ID {num} is out of range of the suit list, which has {unlockables.Count} elements.");
				}
				if (num >= unlockables.Count)
				{
					num = 0;
				}
				string key = unlockables[num].unlockableName.ToLower().Replace(" ", "");
				if (RegisteredModelReplacements.ContainsKey(key))
				{
					SetPlayerModelReplacement(player, RegisteredModelReplacements[key]);
				}
				else if (RegisteredModelReplacementDefault != null)
				{
					SetPlayerModelReplacement(player, RegisteredModelReplacementDefault);
				}
				else
				{
					RemovePlayerModelReplacement(player);
				}
			}
		}

		public static ConfigFile config;

		public static bool moreCompanyPresent;

		public static bool thirdPersonPresent;

		public static bool LCthirdPersonPresent;

		public static bool mirrorDecorPresent;

		public static bool tooManyEmotesPresent;

		public static bool recordingCameraPresent;

		public static bool MRAPI_NetworkingPresent;

		public static ModelReplacementAPI Instance = null;

		public ManualLogSource Logger;

		private static List<Type> RegisteredModelReplacementExceptions = new List<Type>();

		private static Dictionary<string, Type> RegisteredModelReplacements = new Dictionary<string, Type>();

		private static Type RegisteredModelReplacementOverride = null;

		private static Type RegisteredModelReplacementDefault = null;

		private static HashSet<ulong> blackListedSteamIDs = new HashSet<ulong>();

		public static ConfigEntry<bool> EnforceViewModelGeneration { get; private set; }

		private static int steamLobbyID
		{
			get
			{
				//IL_0024: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				int result;
				if (!GameNetworkManager.Instance.currentLobby.HasValue)
				{
					result = -1;
				}
				else
				{
					Lobby value = GameNetworkManager.Instance.currentLobby.Value;
					result = (int)((Lobby)(ref value)).Id.Value;
				}
				return result;
			}
		}

		public static bool IsLan => steamLobbyID == -1;

		private static void InitConfig()
		{
			EnforceViewModelGeneration = config.Bind<bool>("Debug Settings", "Generate Viewmodels by default", false, "Enable to generate a viewmodel for all model replacements, regardless of the individual model's settings.");
		}

		private void Awake()
		{
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Expected O, but got Unknown
			config = ((BaseUnityPlugin)this).Config;
			InitConfig();
			Logger = Logger.CreateLogSource("meow.ModelReplacementAPI");
			if ((Object)(object)Instance == (Object)null)
			{
				Instance = this;
			}
			moreCompanyPresent = IsPluginPresent("me.swipez.melonloader.morecompany");
			thirdPersonPresent = IsPluginPresent("verity.3rdperson");
			LCthirdPersonPresent = IsPluginPresent("LCThirdPerson");
			mirrorDecorPresent = IsPluginPresent("quackandcheese.mirrordecor");
			tooManyEmotesPresent = IsPluginPresent("FlipMods.TooManyEmotes");
			recordingCameraPresent = IsPluginPresent("com.graze.gorillatag.placeablecamera");
			MRAPI_NetworkingPresent = IsPluginPresent("meow.ModelReplacementAPI.Networking");
			Harmony val = new Harmony("meow.ModelReplacementAPI");
			val.PatchAll();
			Logger.LogInfo((object)"Plugin meow.ModelReplacementAPI is loaded!");
		}

		private static bool IsPluginPresent(string pluginName)
		{
			return Chainloader.PluginInfos.ContainsKey(pluginName);
		}

		public static void RegisterModelReplacementDefault(Type type)
		{
			RegisterModelReplacement(type, ref RegisteredModelReplacementDefault, "default");
		}

		public static void RegisterModelReplacementOverride(Type type)
		{
			RegisterModelReplacement(type, ref RegisteredModelReplacementOverride, "override");
		}

		public static void RegisterModelReplacementException(Type type)
		{
			RegisterModelReplacement(type, RegisteredModelReplacementExceptions, "exception");
		}

		public static void RegisterSuitModelReplacement(string suitNameToReplace, Type type)
		{
			suitNameToReplace = suitNameToReplace.ToLower().Replace(" ", "");
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement type {type}, must inherit from BodyReplacementBase");
				return;
			}
			if (RegisteredModelReplacements.ContainsKey(suitNameToReplace))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement type {type}, suit name to replace {suitNameToReplace} is already registered.");
				return;
			}
			Instance.Logger.LogInfo((object)$"Registering body replacement type {type} to suit name {suitNameToReplace}.");
			RegisteredModelReplacements.Add(suitNameToReplace, type);
		}

		private static void RegisterModelReplacement(Type type, ref Type registeredType, string logType)
		{
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement {logType} type {type}, must inherit from BodyReplacementBase");
				return;
			}
			if (registeredType != null)
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement {logType}, already registered to {registeredType}.");
				return;
			}
			Instance.Logger.LogInfo((object)$"Registering body replacement {logType} type {type}.");
			registeredType = type;
		}

		private static void RegisterModelReplacement(Type type, List<Type> registeredList, string logType)
		{
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement {logType} type {type}, must inherit from BodyReplacementBase");
				return;
			}
			Instance.Logger.LogInfo((object)$"Registering body replacement {logType} type {type}.");
			if (!registeredList.Contains(type))
			{
				registeredList.Add(type);
			}
		}

		public static void RegisterPlayerBlackList(ulong steamID, bool blackListed)
		{
			if (blackListed)
			{
				blackListedSteamIDs.Add(steamID);
			}
			else if (blackListedSteamIDs.Contains(steamID))
			{
				blackListedSteamIDs.Remove(steamID);
			}
		}

		public static void RegisterPlayerBlackList(PlayerControllerB player, bool blackListed)
		{
			RegisterPlayerBlackList(player.playerSteamId, blackListed);
			RemovePlayerModelReplacement(player);
		}

		public static void ResetPlayerModelReplacement(PlayerControllerB player)
		{
			BodyReplacementBase component = ((Component)player).gameObject.GetComponent<BodyReplacementBase>();
			if (!((Object)(object)component == (Object)null))
			{
				Instance.Logger.LogInfo((object)("Reinstantiating model replacement for " + player.playerUsername));
				Type type = ((object)component).GetType();
				component.IsActive = false;
				Object.Destroy((Object)(object)component);
				((Component)player).gameObject.AddComponent(type);
			}
		}

		public static void SetPlayerModelReplacement(PlayerControllerB player, Type type)
		{
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)("Cannot set body replacement of type " + type.Name + ", must inherit from BodyReplacementBase"));
			}
			else
			{
				if ((!IsLan && player.playerSteamId == 0) || blackListedSteamIDs.Contains(player.playerSteamId))
				{
					return;
				}
				BodyReplacementBase bodyReplacementBase = default(BodyReplacementBase);
				bool flag = ((Component)player).gameObject.TryGetComponent<BodyReplacementBase>(ref bodyReplacementBase);
				int currentSuitID = player.currentSuitID;
				string unlockableName = StartOfRound.Instance.unlockablesList.unlockables[currentSuitID].unlockableName;
				if (flag)
				{
					if (((object)bodyReplacementBase).GetType() == type && bodyReplacementBase.suitName == unlockableName)
					{
						return;
					}
					Instance.Logger.LogInfo((object)$"Model Replacement Change detected {((object)bodyReplacementBase).GetType()} => {type}, changing model.");
					bodyReplacementBase.IsActive = false;
					Object.Destroy((Object)(object)bodyReplacementBase);
				}
				Instance.Logger.LogInfo((object)$"Suit Change detected {bodyReplacementBase?.suitName} => {unlockableName}, Replacing {type}.");
				BodyReplacementBase bodyReplacementBase2 = ((Component)player).gameObject.AddComponent(type) as BodyReplacementBase;
				bodyReplacementBase2.suitName = unlockableName;
			}
		}

		public static bool GetPlayerModelReplacement(PlayerControllerB player, out BodyReplacementBase modelReplacement)
		{
			try
			{
				modelReplacement = ((Component)player).gameObject.GetComponent<BodyReplacementBase>();
				return (Object)(object)modelReplacement != (Object)null;
			}
			catch (Exception arg)
			{
				Instance.Logger.LogError((object)$"Error in GetPlayerModelReplacement, returning false {arg}");
				modelReplacement = null;
				return false;
			}
		}

		public static bool GetPlayerModelReplacement(PlayerControllerB player)
		{
			try
			{
				return (Object)(object)((Component)player).gameObject.GetComponent<BodyReplacementBase>() != (Object)null;
			}
			catch (Exception arg)
			{
				Instance.Logger.LogError((object)$"Error in GetPlayerModelReplacement, returning false {arg}");
				return false;
			}
		}

		public static void RemovePlayerModelReplacement(PlayerControllerB player)
		{
			BodyReplacementBase component = ((Component)player).gameObject.GetComponent<BodyReplacementBase>();
			if (Object.op_Implicit((Object)(object)component))
			{
				component.IsActive = false;
				Object.Destroy((Object)(object)component);
			}
		}
	}
	public abstract class BodyReplacementBase : MonoBehaviour
	{
		public class RaycastTarget : MonoBehaviour
		{
			public PlayerControllerB controller = null;

			public BodyReplacementBase bodyReplacement = null;

			public GameObject modelObj = null;

			private void Update()
			{
				if ((Object)(object)bodyReplacement == (Object)null && !((Object)(object)modelObj != (Object)null))
				{
				}
			}
		}

		public ViewStateManager viewState = null;

		public MoreCompanyCosmeticManager cosmeticManager = null;

		public GameObject replacementModel;

		public GameObject replacementViewModel;

		public BoxCollider nameTagCollider = null;

		public GrabbableObject heldItem = null;

		protected GameObject deadBody = null;

		protected GameObject replacementDeadBody = null;

		private MaterialHelper matHelper = null;

		private int danceNumber = 0;

		private int previousDanceNumber = 0;

		public AvatarUpdater cosmeticAvatar = null;

		public bool IsActive = true;

		public bool UseNoPostProcessing = false;

		public bool DontConvertUnsupportedShaders = false;

		public bool GenerateViewModel = false;

		public bool RemoveHelmet = false;

		public bool DebugRenderPlayer = false;

		public bool DebugRenderModel = false;

		private bool emoteOngoing = false;

		public AvatarUpdater avatar { get; private set; }

		public ViewModelUpdater viewModelAvatar { get; private set; }

		public PlayerControllerB controller { get; private set; }

		public AvatarUpdater ragdollAvatar { get; private set; }

		public string suitName { get; set; } = "";


		public bool CanPositionItemOnCustomViewModel => (Object)(object)replacementViewModel != (Object)null && (Object)(object)viewModelAvatar.ItemHolderViewModel != (Object)null;

		protected abstract GameObject LoadAssetsAndReturnModel();

		protected virtual GameObject LoadAssetsAndReturnViewModel()
		{
			return null;
		}

		protected virtual GameObject LoadAssetsAndReturnRagdoll(CauseOfDeath causeOfDeath)
		{
			return null;
		}

		protected virtual AvatarUpdater GetAvatarUpdater()
		{
			return new AvatarUpdater();
		}

		protected virtual ViewModelUpdater GetViewModelUpdater()
		{
			return new ViewModelUpdater();
		}

		protected virtual void AddModelScripts()
		{
		}

		protected internal virtual void OnHitEnemy(bool dead)
		{
			Console.WriteLine("PLAYER HIT ENEMY " + controller.playerUsername);
		}

		protected internal virtual void OnHitAlly(PlayerControllerB ally, bool dead)
		{
			Console.WriteLine("PLAYER HIT ALLY " + controller.playerUsername);
		}

		protected internal virtual void OnDamageTaken(bool dead)
		{
			Console.WriteLine("PLAYER TAKE DAMAGE  " + controller.playerUsername);
		}

		protected internal virtual void OnDamageTakenByAlly(PlayerControllerB ally, bool dead)
		{
			Console.WriteLine("PLAYER TAKE DAMAGE BY ALLY " + controller.playerUsername);
		}

		protected internal virtual void OnDeath()
		{
			Console.WriteLine("PLAYER DEATH " + controller.playerUsername + " ");
		}

		protected internal virtual void OnEmoteStart(int emoteId)
		{
			Console.WriteLine($"PLAYER EMOTE START {controller.playerUsername} ID {emoteId}");
		}

		protected internal virtual void OnEmoteEnd()
		{
			Console.WriteLine("PLAYER EMOTE END " + controller.playerUsername);
		}

		private GameObject LoadModelReplacement()
		{
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Expected O, but got Unknown
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_01be: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0248: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = LoadAssetsAndReturnModel();
			if ((Object)(object)val == (Object)null)
			{
				ModelReplacementAPI.Instance.Logger.LogFatal((object)"LoadAssetsAndReturnModel() returned null. Verify that your assetbundle works and your asset name is correct. ");
			}
			Animator componentInChildren = val.GetComponentInChildren<Animator>();
			OffsetBuilder component = ((Component)componentInChildren).gameObject.GetComponent<OffsetBuilder>();
			UseNoPostProcessing = component.UseNoPostProcessing;
			GenerateViewModel = component.GenerateViewModel;
			RemoveHelmet = component.RemoveHelmet;
			Vector3 rootScale = component.rootScale;
			Material sharedMaterial = ((Renderer)((Component)controller.thisPlayerModel).GetComponent<SkinnedMeshRenderer>()).sharedMaterial;
			sharedMaterial = new Material(sharedMaterial);
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>();
			SkinnedMeshRenderer[] componentsInChildren2 = val.GetComponentsInChildren<SkinnedMeshRenderer>();
			Dictionary<Material, Material> dictionary = new Dictionary<Material, Material>();
			List<Material> list = CollectionPool<List<Material>, Material>.Get();
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				val2.GetSharedMaterials(list);
				for (int j = 0; j < list.Count; j++)
				{
					Material val3 = list[j];
					if (!dictionary.TryGetValue(val3, out var value))
					{
						value = (dictionary[val3] = matHelper.GetReplacementMaterial(sharedMaterial, val3));
					}
					list[j] = value;
				}
				val2.SetMaterials(list);
			}
			CollectionPool<List<Material>, Material>.Release(list);
			SkinnedMeshRenderer[] array2 = componentsInChildren2;
			foreach (SkinnedMeshRenderer val4 in array2)
			{
				val4.updateWhenOffscreen = true;
			}
			Camera[] componentsInChildren3 = val.GetComponentsInChildren<Camera>();
			foreach (Camera val5 in componentsInChildren3)
			{
				((Behaviour)val5).enabled = false;
			}
			float num = 1.465f;
			Bounds bounds = GetBounds(val);
			float num2 = num / ((Bounds)(ref bounds)).extents.y;
			Transform transform = val.transform;
			transform.localScale *= num2;
			Vector3 localScale = val.transform.localScale;
			val.transform.localScale = Vector3.Scale(localScale, rootScale);
			val = Object.Instantiate<GameObject>(val);
			GameObject obj = val;
			((Object)obj).name = ((Object)obj).name + "(" + controller.playerUsername + ")";
			val.transform.localPosition = new Vector3(0f, 0f, 0f);
			val.SetActive(true);
			return val;
		}

		private GameObject LoadViewModelreplacement()
		{
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Expected O, but got Unknown
			//IL_020e: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = null;
			if (GenerateViewModel || ModelReplacementAPI.EnforceViewModelGeneration.Value)
			{
				val = Object.Instantiate<GameObject>(replacementModel);
				GameObject obj = val;
				((Object)obj).name = ((Object)obj).name + "(ViewModel)";
				val.transform.localPosition = new Vector3(0f, 0f, 0f);
				val.SetActive(false);
				return MeshHelper.ConvertModelToViewModel(val);
			}
			val = LoadAssetsAndReturnViewModel();
			if ((Object)(object)val == (Object)null)
			{
				return null;
			}
			Material sharedMaterial = ((Renderer)((Component)controller.thisPlayerModel).GetComponent<SkinnedMeshRenderer>()).sharedMaterial;
			sharedMaterial = new Material(sharedMaterial);
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>();
			SkinnedMeshRenderer[] componentsInChildren2 = val.GetComponentsInChildren<SkinnedMeshRenderer>();
			Dictionary<Material, Material> dictionary = new Dictionary<Material, Material>();
			List<Material> list = CollectionPool<List<Material>, Material>.Get();
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				val2.GetSharedMaterials(list);
				for (int j = 0; j < list.Count; j++)
				{
					Material val3 = list[j];
					if (!dictionary.TryGetValue(val3, out var value))
					{
						value = (dictionary[val3] = matHelper.GetReplacementMaterial(sharedMaterial, val3));
					}
					list[j] = value;
				}
				val2.SetMaterials(list);
			}
			CollectionPool<List<Material>, Material>.Release(list);
			SkinnedMeshRenderer[] array2 = componentsInChildren2;
			foreach (SkinnedMeshRenderer val4 in array2)
			{
				val4.updateWhenOffscreen = true;
			}
			Camera[] componentsInChildren3 = val.GetComponentsInChildren<Camera>();
			foreach (Camera val5 in componentsInChildren3)
			{
				((Behaviour)val5).enabled = false;
			}
			val = Object.Instantiate<GameObject>(val);
			GameObject obj2 = val;
			((Object)obj2).name = ((Object)obj2).name + "(" + controller.playerUsername + ")(ViewModel)";
			val.transform.localPosition = new Vector3(0f, 0f, 0f);
			val.SetActive(false);
			return val;
		}

		private GameObject LoadRagdollReplacement(CauseOfDeath causeOfDeath)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Expected O, but got Unknown
			//IL_01c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0202: Unknown result type (might be due to invalid IL or missing references)
			//IL_020a: Unknown result type (might be due to invalid IL or missing references)
			//IL_020c: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Unknown result type (might be due to invalid IL or missing references)
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = LoadAssetsAndReturnRagdoll(causeOfDeath);
			if ((Object)(object)val == (Object)null)
			{
				val = Object.Instantiate<GameObject>(replacementModel);
				GameObject obj = val;
				((Object)obj).name = ((Object)obj).name + "(Ragdoll)";
				return val;
			}
			Animator componentInChildren = val.GetComponentInChildren<Animator>();
			OffsetBuilder component = ((Component)componentInChildren).gameObject.GetComponent<OffsetBuilder>();
			Vector3 rootScale = component.rootScale;
			Material sharedMaterial = ((Renderer)((Component)controller.thisPlayerModel).GetComponent<SkinnedMeshRenderer>()).sharedMaterial;
			sharedMaterial = new Material(sharedMaterial);
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>();
			SkinnedMeshRenderer[] componentsInChildren2 = val.GetComponentsInChildren<SkinnedMeshRenderer>();
			Dictionary<Material, Material> dictionary = new Dictionary<Material, Material>();
			List<Material> list = CollectionPool<List<Material>, Material>.Get();
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				val2.GetSharedMaterials(list);
				for (int j = 0; j < list.Count; j++)
				{
					Material val3 = list[j];
					if (!dictionary.TryGetValue(val3, out var value))
					{
						value = (dictionary[val3] = matHelper.GetReplacementMaterial(sharedMaterial, val3));
					}
					list[j] = value;
				}
				val2.SetMaterials(list);
				val2.shadowCastingMode = (ShadowCastingMode)1;
				((Component)val2).gameObject.layer = viewState.VisibleLayer;
			}
			CollectionPool<List<Material>, Material>.Release(list);
			SkinnedMeshRenderer[] array2 = componentsInChildren2;
			foreach (SkinnedMeshRenderer val4 in array2)
			{
				val4.updateWhenOffscreen = true;
			}
			Camera[] componentsInChildren3 = val.GetComponentsInChildren<Camera>();
			foreach (Camera val5 in componentsInChildren3)
			{
				((Behaviour)val5).enabled = false;
			}
			float num = 1.465f;
			Bounds bounds = GetBounds(val);
			float num2 = num / ((Bounds)(ref bounds)).extents.y;
			Transform transform = val.transform;
			transform.localScale *= num2;
			Vector3 localScale = val.transform.localScale;
			val.transform.localScale = Vector3.Scale(localScale, rootScale);
			val = Object.Instantiate<GameObject>(val);
			GameObject obj2 = val;
			((Object)obj2).name = ((Object)obj2).name + "(" + controller.playerUsername + ")(Ragdoll)";
			val.transform.localPosition = new Vector3(0f, 0f, 0f);
			val.SetActive(true);
			return val;
		}

		protected virtual void Awake()
		{
			//IL_0132: Unknown result type (might be due to invalid IL or missing references)
			//IL_0138: Expected O, but got Unknown
			controller = ((Component)this).GetComponent<PlayerControllerB>();
			ModelReplacementAPI.Instance.Logger.LogInfo((object)$"Awake {controller.playerUsername} {this}");
			viewState = ((Component)this).GetComponent<ViewStateManager>();
			cosmeticManager = ((Component)this).GetComponent<MoreCompanyCosmeticManager>();
			matHelper = new MaterialHelper();
			replacementModel = LoadModelReplacement();
			try
			{
				AddModelScripts();
			}
			catch (Exception ex)
			{
				ModelReplacementAPI.Instance.Logger.LogError((object)("Could not set all model scripts.\n Error: " + ex.Message));
			}
			replacementViewModel = LoadViewModelreplacement();
			avatar = GetAvatarUpdater();
			viewModelAvatar = GetViewModelUpdater();
			ragdollAvatar = new AvatarUpdater();
			cosmeticAvatar = avatar;
			avatar.AssignModelReplacement(((Component)controller).gameObject, replacementModel);
			viewModelAvatar.AssignViewModelReplacement(((Component)controller).gameObject, replacementViewModel);
			SetAvatarRenderers(enabled: true);
			viewState.ReportBodyReplacementAddition(this);
			cosmeticManager.ReportBodyReplacementAddition(this);
			GameObject val = new GameObject("MRAPINameCollider");
			val.layer = 23;
			val.transform.SetParent(replacementModel.transform);
			nameTagCollider = val.AddComponent<BoxCollider>();
			((Collider)nameTagCollider).isTrigger = true;
			RaycastTarget raycastTarget = val.AddComponent<RaycastTarget>();
			raycastTarget.controller = controller;
			raycastTarget.bodyReplacement = this;
			raycastTarget.modelObj = replacementModel;
			ModelReplacementAPI.Instance.Logger.LogInfo((object)("AwakeEnd " + controller.playerUsername));
		}

		protected virtual void Start()
		{
		}

		public virtual void LateUpdate()
		{
			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = null;
			try
			{
				val = ((Component)controller.deadBody).gameObject;
			}
			catch
			{
			}
			if (Object.op_Implicit((Object)(object)val) && (Object)(object)replacementDeadBody == (Object)null)
			{
				cosmeticAvatar = ragdollAvatar;
				CreateAndParentRagdoll(controller.deadBody);
				OnDeath();
			}
			if (Object.op_Implicit((Object)(object)replacementDeadBody) && (Object)(object)val == (Object)null)
			{
				cosmeticAvatar = avatar;
				Object.Destroy((Object)(object)replacementDeadBody);
				replacementDeadBody = null;
			}
			if (Object.op_Implicit((Object)(object)val) && !val.activeInHierarchy)
			{
				replacementDeadBody.SetActive(false);
			}
			avatar.Update();
			ragdollAvatar.Update();
			viewModelAvatar.Update();
			UpdateItemTransform();
			Bounds bounds = GetBounds(replacementModel);
			nameTagCollider.center = ((Bounds)(ref bounds)).center;
			nameTagCollider.size = ((Bounds)(ref bounds)).size;
			previousDanceNumber = danceNumber;
			AnimatorStateInfo currentAnimatorStateInfo = controller.playerBodyAnimator.GetCurrentAnimatorStateInfo(1);
			int fullPathHash = ((AnimatorStateInfo)(ref currentAnimatorStateInfo)).fullPathHash;
			if (controller.performingEmote)
			{
				switch (fullPathHash)
				{
				case -462656950:
					danceNumber = 1;
					break;
				case 2103786480:
					danceNumber = 2;
					break;
				default:
					danceNumber = 3;
					break;
				}
			}
			else
			{
				danceNumber = 0;
			}
			if (ModelReplacementAPI.tooManyEmotesPresent)
			{
				danceNumber = SafeGetEmoteID(danceNumber);
			}
			if (danceNumber != previousDanceNumber)
			{
				if (previousDanceNumber == 0)
				{
					((MonoBehaviour)this).StartCoroutine(WaitForDanceNumberChange());
				}
				else if (danceNumber == 0)
				{
					OnEmoteEnd();
				}
				else if (!emoteOngoing)
				{
					OnEmoteStart(danceNumber);
				}
			}
		}

		protected virtual void OnDestroy()
		{
			ModelReplacementAPI.Instance.Logger.LogInfo((object)("Destroy body component for " + controller.playerUsername));
			Object.Destroy((Object)(object)replacementModel);
			Object.Destroy((Object)(object)replacementViewModel);
			Object.Destroy((Object)(object)replacementDeadBody);
		}

		public void UpdateItemTransform()
		{
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_011c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0121: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Unknown result type (might be due to invalid IL or missing references)
			//IL_0136: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_017f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0201: Unknown result type (might be due to invalid IL or missing references)
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_0222: Unknown result type (might be due to invalid IL or missing references)
			if (!Object.op_Implicit((Object)(object)heldItem) || (Object)(object)heldItem.parentObject == (Object)null || (Object)(object)heldItem.playerHeldBy == (Object)null)
			{
				return;
			}
			if ((Object)(object)heldItem.playerHeldBy != (Object)(object)controller)
			{
				heldItem = null;
				return;
			}
			if (viewState.GetViewState() == ViewState.ThirdPerson)
			{
				Transform itemHolder = avatar.ItemHolder;
				itemHolder.localPosition = avatar.ItemHolderPositionOffset;
				((Component)heldItem).transform.rotation = heldItem.parentObject.rotation;
				((Component)heldItem).transform.Rotate(heldItem.itemProperties.rotationOffset);
				((Component)heldItem).transform.position = itemHolder.position;
				Vector3 positionOffset = heldItem.itemProperties.positionOffset;
				positionOffset = heldItem.parentObject.rotation * positionOffset;
				Transform transform = ((Component)heldItem).transform;
				transform.position += positionOffset;
			}
			if (viewState.GetViewState() == ViewState.FirstPerson && CanPositionItemOnCustomViewModel)
			{
				Transform itemHolderViewModel = viewModelAvatar.ItemHolderViewModel;
				itemHolderViewModel.localPosition = avatar.ItemHolderPositionOffset;
				((Component)heldItem).transform.rotation = heldItem.parentObject.rotation;
				((Component)heldItem).transform.Rotate(heldItem.itemProperties.rotationOffset);
				((Component)heldItem).transform.position = itemHolderViewModel.position;
				Vector3 positionOffset2 = heldItem.itemProperties.positionOffset;
				positionOffset2 = heldItem.parentObject.rotation * positionOffset2;
				Transform transform2 = ((Component)heldItem).transform;
				transform2.position += positionOffset2;
			}
		}

		private void CreateAndParentRagdoll(DeadBodyInfo bodyinfo)
		{
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			deadBody = ((Component)bodyinfo).gameObject;
			SkinnedMeshRenderer componentInChildren = deadBody.GetComponentInChildren<SkinnedMeshRenderer>();
			replacementDeadBody = LoadRagdollReplacement(bodyinfo.causeOfDeath);
			ragdollAvatar.AssignModelReplacement(deadBody, replacementDeadBody);
			Renderer[] componentsInChildren = replacementDeadBody.GetComponentsInChildren<Renderer>();
			foreach (Renderer val in componentsInChildren)
			{
				val.enabled = true;
				val.shadowCastingMode = (ShadowCastingMode)1;
				((Component)val).gameObject.layer = viewState.VisibleLayer;
			}
			((Renderer)componentInChildren).enabled = false;
			Console.WriteLine("Ragdoll Creation.");
			GameObject[] bodyBloodDecals = bodyinfo.bodyBloodDecals;
			foreach (GameObject val2 in bodyBloodDecals)
			{
				Transform parent = val2.transform.parent;
				Transform avatarTransformFromBoneName = ragdollAvatar.GetAvatarTransformFromBoneName(((Object)parent).name);
				if (Object.op_Implicit((Object)(object)avatarTransformFromBoneName))
				{
					Object.Instantiate<GameObject>(val2, avatarTransformFromBoneName);
				}
			}
		}

		public void SetAvatarRenderers(bool enabled)
		{
			Renderer[] componentsInChildren = replacementModel.GetComponentsInChildren<Renderer>();
			foreach (Renderer val in componentsInChildren)
			{
				val.enabled = enabled;
			}
			if ((Object)(object)replacementViewModel != (Object)null)
			{
				Renderer[] componentsInChildren2 = replacementViewModel.GetComponentsInChildren<Renderer>();
				foreach (Renderer val2 in componentsInChildren2)
				{
					val2.enabled = enabled;
				}
			}
		}

		private Bounds GetBounds(GameObject model)
		{
			//IL_0003: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_013f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Unknown result type (might be due to invalid IL or missing references)
			//IL_0179: Unknown result type (might be due to invalid IL or missing references)
			//IL_017e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0182: Unknown result type (might be due to invalid IL or missing references)
			//IL_0196: Unknown resu

FantasiaSquadPT2/bin/Debug/netstandard2.1/Unity.InputSystem.dll

Decompiled a month ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Text.RegularExpressions;
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
using Unity.XR.GoogleVr;
using Unity.XR.Oculus.Input;
using Unity.XR.OpenVR;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.Experimental.Rendering;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Composites;
using UnityEngine.InputSystem.Controls;
using UnityEngine.InputSystem.DualShock;
using UnityEngine.InputSystem.DualShock.LowLevel;
using UnityEngine.InputSystem.HID;
using UnityEngine.InputSystem.Haptics;
using UnityEngine.InputSystem.Interactions;
using UnityEngine.InputSystem.Layouts;
using UnityEngine.InputSystem.LowLevel;
using UnityEngine.InputSystem.Processors;
using UnityEngine.InputSystem.Switch;
using UnityEngine.InputSystem.Switch.LowLevel;
using UnityEngine.InputSystem.UI;
using UnityEngine.InputSystem.Users;
using UnityEngine.InputSystem.Utilities;
using UnityEngine.InputSystem.XInput;
using UnityEngine.InputSystem.XInput.LowLevel;
using UnityEngine.InputSystem.XR;
using UnityEngine.InputSystem.XR.Haptics;
using UnityEngine.Networking.PlayerConnection;
using UnityEngine.Pool;
using UnityEngine.Scripting;
using UnityEngine.Serialization;
using UnityEngine.UI;
using UnityEngine.UIElements;
using UnityEngine.XR;
using UnityEngine.XR.WindowsMR.Input;
using UnityEngineInternal.Input;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: InternalsVisibleTo("Unity.InputSystem.TestFramework")]
[assembly: InternalsVisibleTo("Unity.InputSystem.Tests.Editor")]
[assembly: InternalsVisibleTo("Unity.InputSystem.Tests")]
[assembly: InternalsVisibleTo("Unity.InputSystem.IntegrationTests")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.7.0.0")]
[module: UnverifiableCode]
internal static class UISupport
{
	public static void Initialize()
	{
		InputSystem.RegisterLayout("\n            {\n                \"name\" : \"VirtualMouse\",\n                \"extend\" : \"Mouse\"\n            }\n        ");
	}
}
[CompilerGenerated]
[EditorBrowsable(EditorBrowsableState.Never)]
[GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)]
internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1
{
	private struct MonoScriptData
	{
		public byte[] FilePathsData;

		public byte[] TypesData;

		public int TotalTypes;

		public int TotalFiles;

		public bool IsEditorOnly;
	}

	[MethodImpl(MethodImplOptions.AggressiveInlining)]
	private static MonoScriptData Get()
	{
		MonoScriptData result = default(MonoScriptData);
		result.FilePathsData = new byte[24040]
		{
			0, 0, 0, 1, 0, 0, 0, 97, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			65, 99, 116, 105, 111, 110, 115, 92, 67, 111,
			109, 112, 111, 115, 105, 116, 101, 115, 92, 65,
			120, 105, 115, 67, 111, 109, 112, 111, 115, 105,
			116, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 105, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 65, 99, 116, 105, 111,
			110, 115, 92, 67, 111, 109, 112, 111, 115, 105,
			116, 101, 115, 92, 66, 117, 116, 116, 111, 110,
			87, 105, 116, 104, 79, 110, 101, 77, 111, 100,
			105, 102, 105, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 106, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 65, 99,
			116, 105, 111, 110, 115, 92, 67, 111, 109, 112,
			111, 115, 105, 116, 101, 115, 92, 66, 117, 116,
			116, 111, 110, 87, 105, 116, 104, 84, 119, 111,
			77, 111, 100, 105, 102, 105, 101, 114, 115, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 104,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 65, 99, 116, 105, 111, 110, 115, 92,
			67, 111, 109, 112, 111, 115, 105, 116, 101, 115,
			92, 79, 110, 101, 77, 111, 100, 105, 102, 105,
			101, 114, 67, 111, 109, 112, 111, 115, 105, 116,
			101, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 105, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 65, 99, 116, 105, 111, 110,
			115, 92, 67, 111, 109, 112, 111, 115, 105, 116,
			101, 115, 92, 84, 119, 111, 77, 111, 100, 105,
			102, 105, 101, 114, 115, 67, 111, 109, 112, 111,
			115, 105, 116, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 100, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 65, 99, 116,
			105, 111, 110, 115, 92, 67, 111, 109, 112, 111,
			115, 105, 116, 101, 115, 92, 86, 101, 99, 116,
			111, 114, 50, 67, 111, 109, 112, 111, 115, 105,
			116, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 100, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 65, 99, 116, 105, 111,
			110, 115, 92, 67, 111, 109, 112, 111, 115, 105,
			116, 101, 115, 92, 86, 101, 99, 116, 111, 114,
			51, 67, 111, 109, 112, 111, 115, 105, 116, 101,
			46, 99, 115, 0, 0, 0, 2, 0, 0, 0,
			95, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 65, 99, 116, 105, 111, 110, 115,
			92, 73, 73, 110, 112, 117, 116, 65, 99, 116,
			105, 111, 110, 67, 111, 108, 108, 101, 99, 116,
			105, 111, 110, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 90, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 65, 99, 116, 105,
			111, 110, 115, 92, 73, 73, 110, 112, 117, 116,
			73, 110, 116, 101, 114, 97, 99, 116, 105, 111,
			110, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 84, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 65, 99, 116, 105, 111, 110,
			115, 92, 73, 110, 112, 117, 116, 65, 99, 116,
			105, 111, 110, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 89, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 65, 99, 116, 105,
			111, 110, 115, 92, 73, 110, 112, 117, 116, 65,
			99, 116, 105, 111, 110, 65, 115, 115, 101, 116,
			46, 99, 115, 0, 0, 0, 11, 0, 0, 0,
			87, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 65, 99, 116, 105, 111, 110, 115,
			92, 73, 110, 112, 117, 116, 65, 99, 116, 105,
			111, 110, 77, 97, 112, 46, 99, 115, 0, 0,
			0, 5, 0, 0, 0, 94, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 65, 99,
			116, 105, 111, 110, 115, 92, 73, 110, 112, 117,
			116, 65, 99, 116, 105, 111, 110, 80, 97, 114,
			97, 109, 101, 116, 101, 114, 115, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 92, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			65, 99, 116, 105, 111, 110, 115, 92, 73, 110,
			112, 117, 116, 65, 99, 116, 105, 111, 110, 80,
			114, 111, 112, 101, 114, 116, 121, 46, 99, 115,
			0, 0, 0, 3, 0, 0, 0, 103, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			65, 99, 116, 105, 111, 110, 115, 92, 73, 110,
			112, 117, 116, 65, 99, 116, 105, 111, 110, 82,
			101, 98, 105, 110, 100, 105, 110, 103, 69, 120,
			116, 101, 110, 115, 105, 111, 110, 115, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 93, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 65, 99, 116, 105, 111, 110, 115, 92, 73,
			110, 112, 117, 116, 65, 99, 116, 105, 111, 110,
			82, 101, 102, 101, 114, 101, 110, 99, 101, 46,
			99, 115, 0, 0, 0, 4, 0, 0, 0, 99,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 65, 99, 116, 105, 111, 110, 115, 92,
			73, 110, 112, 117, 116, 65, 99, 116, 105, 111,
			110, 83, 101, 116, 117, 112, 69, 120, 116, 101,
			110, 115, 105, 111, 110, 115, 46, 99, 115, 0,
			0, 0, 7, 0, 0, 0, 89, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 65,
			99, 116, 105, 111, 110, 115, 92, 73, 110, 112,
			117, 116, 65, 99, 116, 105, 111, 110, 83, 116,
			97, 116, 101, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 89, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 65, 99, 116, 105,
			111, 110, 115, 92, 73, 110, 112, 117, 116, 65,
			99, 116, 105, 111, 110, 84, 114, 97, 99, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			85, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 65, 99, 116, 105, 111, 110, 115,
			92, 73, 110, 112, 117, 116, 66, 105, 110, 100,
			105, 110, 103, 46, 99, 115, 0, 0, 0, 2,
			0, 0, 0, 94, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 65, 99, 116, 105,
			111, 110, 115, 92, 73, 110, 112, 117, 116, 66,
			105, 110, 100, 105, 110, 103, 67, 111, 109, 112,
			111, 115, 105, 116, 101, 46, 99, 115, 0, 0,
			0, 3, 0, 0, 0, 101, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 65, 99,
			116, 105, 111, 110, 115, 92, 73, 110, 112, 117,
			116, 66, 105, 110, 100, 105, 110, 103, 67, 111,
			109, 112, 111, 115, 105, 116, 101, 67, 111, 110,
			116, 101, 120, 116, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 93, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 65, 99, 116,
			105, 111, 110, 115, 92, 73, 110, 112, 117, 116,
			66, 105, 110, 100, 105, 110, 103, 82, 101, 115,
			111, 108, 118, 101, 114, 46, 99, 115, 0, 0,
			0, 7, 0, 0, 0, 91, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 65, 99,
			116, 105, 111, 110, 115, 92, 73, 110, 112, 117,
			116, 67, 111, 110, 116, 114, 111, 108, 83, 99,
			104, 101, 109, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 96, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 65, 99, 116,
			105, 111, 110, 115, 92, 73, 110, 112, 117, 116,
			73, 110, 116, 101, 114, 97, 99, 116, 105, 111,
			110, 67, 111, 110, 116, 101, 120, 116, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 101, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 65, 99, 116, 105, 111, 110, 115, 92, 73,
			110, 116, 101, 114, 97, 99, 116, 105, 111, 110,
			115, 92, 72, 111, 108, 100, 73, 110, 116, 101,
			114, 97, 99, 116, 105, 111, 110, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 105, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			65, 99, 116, 105, 111, 110, 115, 92, 73, 110,
			116, 101, 114, 97, 99, 116, 105, 111, 110, 115,
			92, 77, 117, 108, 116, 105, 84, 97, 112, 73,
			110, 116, 101, 114, 97, 99, 116, 105, 111, 110,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			102, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 65, 99, 116, 105, 111, 110, 115,
			92, 73, 110, 116, 101, 114, 97, 99, 116, 105,
			111, 110, 115, 92, 80, 114, 101, 115, 115, 73,
			110, 116, 101, 114, 97, 99, 116, 105, 111, 110,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			104, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 65, 99, 116, 105, 111, 110, 115,
			92, 73, 110, 116, 101, 114, 97, 99, 116, 105,
			111, 110, 115, 92, 83, 108, 111, 119, 84, 97,
			112, 73, 110, 116, 101, 114, 97, 99, 116, 105,
			111, 110, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 100, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 65, 99, 116, 105, 111,
			110, 115, 92, 73, 110, 116, 101, 114, 97, 99,
			116, 105, 111, 110, 115, 92, 84, 97, 112, 73,
			110, 116, 101, 114, 97, 99, 116, 105, 111, 110,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			77, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 65, 115, 115, 101, 109, 98, 108,
			121, 73, 110, 102, 111, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 87, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 67, 111,
			110, 116, 114, 111, 108, 115, 92, 65, 110, 121,
			75, 101, 121, 67, 111, 110, 116, 114, 111, 108,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			85, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 67, 111, 110, 116, 114, 111, 108,
			115, 92, 65, 120, 105, 115, 67, 111, 110, 116,
			114, 111, 108, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 87, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 67, 111, 110, 116,
			114, 111, 108, 115, 92, 66, 117, 116, 116, 111,
			110, 67, 111, 110, 116, 114, 111, 108, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 86, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 67, 111, 110, 116, 114, 111, 108, 115, 92,
			67, 111, 109, 109, 111, 110, 85, 115, 97, 103,
			101, 115, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 86, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 67, 111, 110, 116, 114,
			111, 108, 115, 92, 68, 101, 108, 116, 97, 67,
			111, 110, 116, 114, 111, 108, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 95, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 67,
			111, 110, 116, 114, 111, 108, 115, 92, 68, 105,
			115, 99, 114, 101, 116, 101, 66, 117, 116, 116,
			111, 110, 67, 111, 110, 116, 114, 111, 108, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 87,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 68, 111, 117, 98, 108, 101, 67, 111, 110,
			116, 114, 111, 108, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 85, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 67, 111, 110,
			116, 114, 111, 108, 115, 92, 68, 112, 97, 100,
			67, 111, 110, 116, 114, 111, 108, 46, 99, 115,
			0, 0, 0, 2, 0, 0, 0, 86, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			67, 111, 110, 116, 114, 111, 108, 115, 92, 73,
			110, 112, 117, 116, 67, 111, 110, 116, 114, 111,
			108, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 95, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 67, 111, 110, 116, 114, 111,
			108, 115, 92, 73, 110, 112, 117, 116, 67, 111,
			110, 116, 114, 111, 108, 65, 116, 116, 114, 105,
			98, 117, 116, 101, 46, 99, 115, 0, 0, 0,
			5, 0, 0, 0, 96, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 67, 111, 110,
			116, 114, 111, 108, 115, 92, 73, 110, 112, 117,
			116, 67, 111, 110, 116, 114, 111, 108, 69, 120,
			116, 101, 110, 115, 105, 111, 110, 115, 46, 99,
			115, 0, 0, 0, 13, 0, 0, 0, 92, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 67, 111, 110, 116, 114, 111, 108, 115, 92,
			73, 110, 112, 117, 116, 67, 111, 110, 116, 114,
			111, 108, 76, 97, 121, 111, 117, 116, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 101, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 67, 111, 110, 116, 114, 111, 108, 115, 92,
			73, 110, 112, 117, 116, 67, 111, 110, 116, 114,
			111, 108, 76, 97, 121, 111, 117, 116, 65, 116,
			116, 114, 105, 98, 117, 116, 101, 46, 99, 115,
			0, 0, 0, 2, 0, 0, 0, 90, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			67, 111, 110, 116, 114, 111, 108, 115, 92, 73,
			110, 112, 117, 116, 67, 111, 110, 116, 114, 111,
			108, 76, 105, 115, 116, 46, 99, 115, 0, 0,
			0, 3, 0, 0, 0, 90, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 67, 111,
			110, 116, 114, 111, 108, 115, 92, 73, 110, 112,
			117, 116, 67, 111, 110, 116, 114, 111, 108, 80,
			97, 116, 104, 46, 99, 115, 0, 0, 0, 2,
			0, 0, 0, 88, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 67, 111, 110, 116,
			114, 111, 108, 115, 92, 73, 110, 112, 117, 116,
			80, 114, 111, 99, 101, 115, 115, 111, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 88,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 73, 110, 116, 101, 103, 101, 114, 67, 111,
			110, 116, 114, 111, 108, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 84, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 67, 111,
			110, 116, 114, 111, 108, 115, 92, 75, 101, 121,
			67, 111, 110, 116, 114, 111, 108, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 106, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			67, 111, 110, 116, 114, 111, 108, 115, 92, 80,
			114, 111, 99, 101, 115, 115, 111, 114, 115, 92,
			65, 120, 105, 115, 68, 101, 97, 100, 122, 111,
			110, 101, 80, 114, 111, 99, 101, 115, 115, 111,
			114, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 99, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 67, 111, 110, 116, 114, 111,
			108, 115, 92, 80, 114, 111, 99, 101, 115, 115,
			111, 114, 115, 92, 67, 108, 97, 109, 112, 80,
			114, 111, 99, 101, 115, 115, 111, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 113, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 67, 111, 110, 116, 114, 111, 108, 115, 92,
			80, 114, 111, 99, 101, 115, 115, 111, 114, 115,
			92, 67, 111, 109, 112, 101, 110, 115, 97, 116,
			101, 68, 105, 114, 101, 99, 116, 105, 111, 110,
			80, 114, 111, 99, 101, 115, 115, 111, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 112,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 80, 114, 111, 99, 101, 115, 115, 111, 114,
			115, 92, 67, 111, 109, 112, 101, 110, 115, 97,
			116, 101, 82, 111, 116, 97, 116, 105, 111, 110,
			80, 114, 111, 99, 101, 115, 115, 111, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 100,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 80, 114, 111, 99, 101, 115, 115, 111, 114,
			115, 92, 73, 110, 118, 101, 114, 116, 80, 114,
			111, 99, 101, 115, 115, 111, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 107, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			67, 111, 110, 116, 114, 111, 108, 115, 92, 80,
			114, 111, 99, 101, 115, 115, 111, 114, 115, 92,
			73, 110, 118, 101, 114, 116, 86, 101, 99, 116,
			111, 114, 50, 80, 114, 111, 99, 101, 115, 115,
			111, 114, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 107, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 67, 111, 110, 116, 114,
			111, 108, 115, 92, 80, 114, 111, 99, 101, 115,
			115, 111, 114, 115, 92, 73, 110, 118, 101, 114,
			116, 86, 101, 99, 116, 111, 114, 51, 80, 114,
			111, 99, 101, 115, 115, 111, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 103, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			67, 111, 110, 116, 114, 111, 108, 115, 92, 80,
			114, 111, 99, 101, 115, 115, 111, 114, 115, 92,
			78, 111, 114, 109, 97, 108, 105, 122, 101, 80,
			114, 111, 99, 101, 115, 115, 111, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 110, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 67, 111, 110, 116, 114, 111, 108, 115, 92,
			80, 114, 111, 99, 101, 115, 115, 111, 114, 115,
			92, 78, 111, 114, 109, 97, 108, 105, 122, 101,
			86, 101, 99, 116, 111, 114, 50, 80, 114, 111,
			99, 101, 115, 115, 111, 114, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 110, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 67,
			111, 110, 116, 114, 111, 108, 115, 92, 80, 114,
			111, 99, 101, 115, 115, 111, 114, 115, 92, 78,
			111, 114, 109, 97, 108, 105, 122, 101, 86, 101,
			99, 116, 111, 114, 51, 80, 114, 111, 99, 101,
			115, 115, 111, 114, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 99, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 67, 111, 110,
			116, 114, 111, 108, 115, 92, 80, 114, 111, 99,
			101, 115, 115, 111, 114, 115, 92, 83, 99, 97,
			108, 101, 80, 114, 111, 99, 101, 115, 115, 111,
			114, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 106, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 67, 111, 110, 116, 114, 111,
			108, 115, 92, 80, 114, 111, 99, 101, 115, 115,
			111, 114, 115, 92, 83, 99, 97, 108, 101, 86,
			101, 99, 116, 111, 114, 50, 80, 114, 111, 99,
			101, 115, 115, 111, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 106, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 67, 111,
			110, 116, 114, 111, 108, 115, 92, 80, 114, 111,
			99, 101, 115, 115, 111, 114, 115, 92, 83, 99,
			97, 108, 101, 86, 101, 99, 116, 111, 114, 51,
			80, 114, 111, 99, 101, 115, 115, 111, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 107,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 80, 114, 111, 99, 101, 115, 115, 111, 114,
			115, 92, 83, 116, 105, 99, 107, 68, 101, 97,
			100, 122, 111, 110, 101, 80, 114, 111, 99, 101,
			115, 115, 111, 114, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 91, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 67, 111, 110,
			116, 114, 111, 108, 115, 92, 81, 117, 97, 116,
			101, 114, 110, 105, 111, 110, 67, 111, 110, 116,
			114, 111, 108, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 86, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 67, 111, 110, 116,
			114, 111, 108, 115, 92, 83, 116, 105, 99, 107,
			67, 111, 110, 116, 114, 111, 108, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 86, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			67, 111, 110, 116, 114, 111, 108, 115, 92, 84,
			111, 117, 99, 104, 67, 111, 110, 116, 114, 111,
			108, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 91, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 67, 111, 110, 116, 114, 111,
			108, 115, 92, 84, 111, 117, 99, 104, 80, 104,
			97, 115, 101, 67, 111, 110, 116, 114, 111, 108,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			91, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 67, 111, 110, 116, 114, 111, 108,
			115, 92, 84, 111, 117, 99, 104, 80, 114, 101,
			115, 115, 67, 111, 110, 116, 114, 111, 108, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 88,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 86, 101, 99, 116, 111, 114, 50, 67, 111,
			110, 116, 114, 111, 108, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 88, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 67, 111,
			110, 116, 114, 111, 108, 115, 92, 86, 101, 99,
			116, 111, 114, 51, 67, 111, 110, 116, 114, 111,
			108, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 102, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 67, 111, 109, 109, 97, 110, 100, 115,
			92, 68, 105, 115, 97, 98, 108, 101, 68, 101,
			118, 105, 99, 101, 67, 111, 109, 109, 97, 110,
			100, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 101, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 67, 111, 109, 109, 97, 110, 100, 115,
			92, 69, 110, 97, 98, 108, 101, 68, 101, 118,
			105, 99, 101, 67, 111, 109, 109, 97, 110, 100,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			109, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 67, 111, 109, 109, 97, 110, 100, 115, 92,
			69, 110, 97, 98, 108, 101, 73, 77, 69, 67,
			111, 109, 112, 111, 115, 105, 116, 105, 111, 110,
			67, 111, 109, 109, 97, 110, 100, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 105, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			68, 101, 118, 105, 99, 101, 115, 92, 67, 111,
			109, 109, 97, 110, 100, 115, 92, 73, 73, 110,
			112, 117, 116, 68, 101, 118, 105, 99, 101, 67,
			111, 109, 109, 97, 110, 100, 73, 110, 102, 111,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			115, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 67, 111, 109, 109, 97, 110, 100, 115, 92,
			73, 110, 105, 116, 105, 97, 116, 101, 85, 115,
			101, 114, 65, 99, 99, 111, 117, 110, 116, 80,
			97, 105, 114, 105, 110, 103, 67, 111, 109, 109,
			97, 110, 100, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 100, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 68, 101, 118, 105,
			99, 101, 115, 92, 67, 111, 109, 109, 97, 110,
			100, 115, 92, 73, 110, 112, 117, 116, 68, 101,
			118, 105, 99, 101, 67, 111, 109, 109, 97, 110,
			100, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 105, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 67, 111, 109, 109, 97, 110, 100, 115,
			92, 81, 117, 101, 114, 121, 67, 97, 110, 82,
			117, 110, 73, 110, 66, 97, 99, 107, 103, 114,
			111, 117, 110, 100, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 104, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 68, 101, 118,
			105, 99, 101, 115, 92, 67, 111, 109, 109, 97,
			110, 100, 115, 92, 81, 117, 101, 114, 121, 68,
			105, 109, 101, 110, 115, 105, 111, 110, 115, 67,
			111, 109, 109, 97, 110, 100, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 106, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 68,
			101, 118, 105, 99, 101, 115, 92, 67, 111, 109,
			109, 97, 110, 100, 115, 92, 81, 117, 101, 114,
			121, 69, 110, 97, 98, 108, 101, 100, 83, 116,
			97, 116, 101, 67, 111, 109, 109, 97, 110, 100,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			108, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 67, 111, 109, 109, 97, 110, 100, 115, 92,
			81, 117, 101, 114, 121, 75, 101, 121, 98, 111,
			97, 114, 100, 76, 97, 121, 111, 117, 116, 67,
			111, 109, 109, 97, 110, 100, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 101, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 68,
			101, 118, 105, 99, 101, 115, 92, 67, 111, 109,
			109, 97, 110, 100, 115, 92, 81, 117, 101, 114,
			121, 75, 101, 121, 78, 97, 109, 101, 67, 111,
			109, 109, 97, 110, 100, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 111, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 68, 101,
			118, 105, 99, 101, 115, 92, 67, 111, 109, 109,
			97, 110, 100, 115, 92, 81, 117, 101, 114, 121,
			80, 97, 105, 114, 101, 100, 85, 115, 101, 114,
			65, 99, 99, 111, 117, 110, 116, 67, 111, 109,
			109, 97, 110, 100, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 111, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 68, 101, 118,
			105, 99, 101, 115, 92, 67, 111, 109, 109, 97,
			110, 100, 115, 92, 81, 117, 101, 114, 121, 83,
			97, 109, 112, 108, 105, 110, 103, 70, 114, 101,
			113, 117, 101, 110, 99, 121, 67, 111, 109, 109,
			97, 110, 100, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 100, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 68, 101, 118, 105,
			99, 101, 115, 92, 67, 111, 109, 109, 97, 110,
			100, 115, 92, 81, 117, 101, 114, 121, 85, 115,
			101, 114, 73, 100, 67, 111, 109, 109, 97, 110,
			100, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 101, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 67, 111, 109, 109, 97, 110, 100, 115,
			92, 82, 101, 113, 117, 101, 115, 116, 82, 101,
			115, 101, 116, 67, 111, 109, 109, 97, 110, 100,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			100, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 67, 111, 109, 109, 97, 110, 100, 115, 92,
			82, 101, 113, 117, 101, 115, 116, 83, 121, 110,
			99, 67, 111, 109, 109, 97, 110, 100, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 109, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 68, 101, 118, 105, 99, 101, 115, 92, 67,
			111, 109, 109, 97, 110, 100, 115, 92, 83, 101,
			116, 73, 77, 69, 67, 117, 114, 115, 111, 114,
			80, 111, 115, 105, 116, 105, 111, 110, 67, 111,
			109, 109, 97, 110, 100, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 109, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 68, 101,
			118, 105, 99, 101, 115, 92, 67, 111, 109, 109,
			97, 110, 100, 115, 92, 83, 101, 116, 83, 97,
			109, 112, 108, 105, 110, 103, 70, 114, 101, 113,
			117, 101, 110, 99, 121, 67, 111, 109, 109, 97,
			110, 100, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 110, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 68, 101, 118, 105, 99,
			101, 115, 92, 67, 111, 109, 109, 97, 110, 100,
			115, 92, 85, 115, 101, 87, 105, 110, 100, 111,
			119, 115, 71, 97, 109, 105, 110, 103, 73, 110,
			112, 117, 116, 67, 111, 109, 109, 97, 110, 100,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			106, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 67, 111, 109, 109, 97, 110, 100, 115, 92,
			87, 97, 114, 112, 77, 111, 117, 115, 101, 80,
			111, 115, 105, 116, 105, 111, 110, 67, 111, 109,
			109, 97, 110, 100, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 80, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 68, 101, 118,
			105, 99, 101, 115, 92, 71, 97, 109, 101, 112,
			97, 100, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 96, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 68, 101, 118, 105, 99,
			101, 115, 92, 72, 97, 112, 116, 105, 99, 115,
			92, 68, 117, 97, 108, 77, 111, 116, 111, 114,
			82, 117, 109, 98, 108, 101, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 103, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 68,
			101, 118, 105, 99, 101, 115, 92, 72, 97, 112,
			116, 105, 99, 115, 92, 68, 117, 97, 108, 77,
			111, 116, 111, 114, 82, 117, 109, 98, 108, 101,
			67, 111, 109, 109, 97, 110, 100, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 97, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			68, 101, 118, 105, 99, 101, 115, 92, 72, 97,
			112, 116, 105, 99, 115, 92, 73, 68, 117, 97,
			108, 77, 111, 116, 111, 114, 82, 117, 109, 98,
			108, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 89, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 68, 101, 118, 105, 99,
			101, 115, 92, 72, 97, 112, 116, 105, 99, 115,
			92, 73, 72, 97, 112, 116, 105, 99, 115, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 91,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 68, 101, 118, 105, 99, 101, 115, 92,
			73, 67, 117, 115, 116, 111, 109, 68, 101, 118,
			105, 99, 101, 82, 101, 115, 101, 116, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 85, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 68, 101, 118, 105, 99, 101, 115, 92, 73,
			69, 118, 101, 110, 116, 77, 101, 114, 103, 101,
			114, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 91, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 73, 69, 118, 101, 110, 116, 80, 114,
			101, 80, 114, 111, 99, 101, 115, 115, 111, 114,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			101, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 73, 73, 110, 112, 117, 116, 85, 112, 100,
			97, 116, 101, 67, 97, 108, 108, 98, 97, 99,
			107, 82, 101, 99, 101, 105, 118, 101, 114, 46,
			99, 115, 0, 0, 0, 2, 0, 0, 0, 84,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 68, 101, 118, 105, 99, 101, 115, 92,
			73, 110, 112, 117, 116, 68, 101, 118, 105, 99,
			101, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 91, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 73, 110, 112, 117, 116, 68, 101, 118,
			105, 99, 101, 66, 117, 105, 108, 100, 101, 114,
			46, 99, 115, 0, 0, 0, 2, 0, 0, 0,
			95, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 73, 110, 112, 117, 116, 68, 101, 118, 105,
			99, 101, 68, 101, 115, 99, 114, 105, 112, 116,
			105, 111, 110, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 91, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 68, 101, 118, 105,
			99, 101, 115, 92, 73, 110, 112, 117, 116, 68,
			101, 118, 105, 99, 101, 77, 97, 116, 99, 104,
			101, 114, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 91, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 68, 101, 118, 105, 99,
			101, 115, 92, 73, 84, 101, 120, 116, 73, 110,
			112, 117, 116, 82, 101, 99, 101, 105, 118, 101,
			114, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 81, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 74, 111, 121, 115, 116, 105, 99, 107,
			46, 99, 115, 0, 0, 0, 2, 0, 0, 0,
			81, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 68, 101, 118, 105, 99, 101, 115,
			92, 75, 101, 121, 98, 111, 97, 114, 100, 46,
			99, 115, 0, 0, 0, 2, 0, 0, 0, 78,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 68, 101, 118, 105, 99, 101, 115, 92,
			77, 111, 117, 115, 101, 46, 99, 115, 0, 0,
			0, 2, 0, 0, 0, 76, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 68, 101,
			118, 105, 99, 101, 115, 92, 80, 101, 110, 46,
			99, 115, 0, 0, 0, 2, 0, 0, 0, 80,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 68, 101, 118, 105, 99, 101, 115, 92,
			80, 111, 105, 110, 116, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 97, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			68, 101, 118, 105, 99, 101, 115, 92, 80, 114,
			101, 99, 111, 109, 112, 105, 108, 101, 100, 92,
			70, 97, 115, 116, 75, 101, 121, 98, 111, 97,
			114, 100, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 94, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 68, 101, 118, 105, 99,
			101, 115, 92, 80, 114, 101, 99, 111, 109, 112,
			105, 108, 101, 100, 92, 70, 97, 115, 116, 77,
			111, 117, 115, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 102, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 68, 101, 118,
			105, 99, 101, 115, 92, 80, 114, 101, 99, 111,
			109, 112, 105, 108, 101, 100, 92, 70, 97, 115,
			116, 77, 111, 117, 115, 101, 46, 112, 97, 114,
			116, 105, 97, 108, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 100, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 68, 101, 118,
			105, 99, 101, 115, 92, 80, 114, 101, 99, 111,
			109, 112, 105, 108, 101, 100, 92, 70, 97, 115,
			116, 84, 111, 117, 99, 104, 115, 99, 114, 101,
			101, 110, 46, 99, 115, 0, 0, 0, 17, 0,
			0, 0, 93, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 68, 101, 118, 105, 99,
			101, 115, 92, 82, 101, 109, 111, 116, 101, 92,
			73, 110, 112, 117, 116, 82, 101, 109, 111, 116,
			105, 110, 103, 46, 99, 115, 0, 0, 0, 2,
			0, 0, 0, 107, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 68, 101, 118, 105,
			99, 101, 115, 92, 82, 101, 109, 111, 116, 101,
			92, 82, 101, 109, 111, 116, 101, 73, 110, 112,
			117, 116, 80, 108, 97, 121, 101, 114, 67, 111,
			110, 110, 101, 99, 116, 105, 111, 110, 46, 99,
			115, 0, 0, 0, 18, 0, 0, 0, 79, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 68, 101, 118, 105, 99, 101, 115, 92, 83,
			101, 110, 115, 111, 114, 46, 99, 115, 0, 0,
			0, 3, 0, 0, 0, 84, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 68, 101,
			118, 105, 99, 101, 115, 92, 84, 111, 117, 99,
			104, 115, 99, 114, 101, 101, 110, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 86, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			68, 101, 118, 105, 99, 101, 115, 92, 84, 114,
			97, 99, 107, 101, 100, 68, 101, 118, 105, 99,
			101, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 83, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 69, 118, 101, 110, 116, 115,
			92, 65, 99, 116, 105, 111, 110, 69, 118, 101,
			110, 116, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 87, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 69, 118, 101, 110, 116,
			115, 92, 68, 101, 108, 116, 97, 83, 116, 97,
			116, 101, 69, 118, 101, 110, 116, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 96, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			69, 118, 101, 110, 116, 115, 92, 68, 101, 118,
			105, 99, 101, 67, 111, 110, 102, 105, 103, 117,
			114, 97, 116, 105, 111, 110, 69, 118, 101, 110,
			116, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 89, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 69, 118, 101, 110, 116, 115,
			92, 68, 101, 118, 105, 99, 101, 82, 101, 109,
			111, 118, 101, 69, 118, 101, 110, 116, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 88, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 69, 118, 101, 110, 116, 115, 92, 68, 101,
			118, 105, 99, 101, 82, 101, 115, 101, 116, 69,
			118, 101, 110, 116, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 91, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 69, 118, 101,
			110, 116, 115, 92, 73, 73, 110, 112, 117, 116,
			69, 118, 101, 110, 116, 84, 121, 112, 101, 73,
			110, 102, 111, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 91, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 69, 118, 101, 110,
			116, 115, 92, 73, 77, 69, 67, 111, 109, 112,
			111, 115, 105, 116, 105, 111, 110, 69, 118, 101,
			110, 116, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 82, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 69, 118, 101, 110, 116,
			115, 92, 73, 110, 112, 117, 116, 69, 118, 101,
			110, 116, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 88, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 69, 118, 101, 110, 116,
			115, 92, 73, 110, 112, 117, 116, 69, 118, 101,
			110, 116, 66, 117, 102, 102, 101, 114, 46, 99,
			115, 0, 0, 0, 3, 0, 0, 0, 90, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 69, 118, 101, 110, 116, 115, 92, 73, 110,
			112, 117, 116, 69, 118, 101, 110, 116, 76, 105,
			115, 116, 101, 110, 101, 114, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 85, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 69,
			118, 101, 110, 116, 115, 92, 73, 110, 112, 117,
			116, 69, 118, 101, 110, 116, 80, 116, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 88,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 69, 118, 101, 110, 116, 115, 92, 73,
			110, 112, 117, 116, 69, 118, 101, 110, 116, 83,
			116, 114, 101, 97, 109, 46, 99, 115, 0, 0,
			0, 4, 0, 0, 0, 87, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 69, 118,
			101, 110, 116, 115, 92, 73, 110, 112, 117, 116,
			69, 118, 101, 110, 116, 84, 114, 97, 99, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			82, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 69, 118, 101, 110, 116, 115, 92,
			83, 116, 97, 116, 101, 69, 118, 101, 110, 116,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			81, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 69, 118, 101, 110, 116, 115, 92,
			84, 101, 120, 116, 69, 118, 101, 110, 116, 46,
			99, 115, 0, 0, 0, 3, 0, 0, 0, 78,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 73, 73, 110, 112, 117, 116, 82, 117,
			110, 116, 105, 109, 101, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 80, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 73, 110,
			112, 117, 116, 69, 120, 116, 101, 110, 115, 105,
			111, 110, 115, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 82, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 73, 110, 112, 117,
			116, 70, 101, 97, 116, 117, 114, 101, 78, 97,
			109, 101, 115, 46, 99, 115, 0, 0, 0, 2,
			0, 0, 0, 77, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 73, 110, 112, 117,
			116, 77, 97, 110, 97, 103, 101, 114, 46, 99,
			115, 0, 0, 0, 4, 0, 0, 0, 90, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 73, 110, 112, 117, 116, 77, 97, 110, 97,
			103, 101, 114, 83, 116, 97, 116, 101, 77, 111,
			110, 105, 116, 111, 114, 115, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 77, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 73,
			110, 112, 117, 116, 77, 101, 116, 114, 105, 99,
			115, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 78, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 73, 110, 112, 117, 116, 83,
			101, 116, 116, 105, 110, 103, 115, 46, 99, 115,
			0, 0, 0, 3, 0, 0, 0, 76, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 46, 99, 115, 0, 0, 0, 3, 0, 0,
			0, 80, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 73, 110, 112, 117, 116, 85,
			112, 100, 97, 116, 101, 84, 121, 112, 101, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 83,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 78, 97, 116, 105, 118, 101, 73, 110,
			112, 117, 116, 82, 117, 110, 116, 105, 109, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			99, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 80, 108, 117, 103, 105, 110, 115,
			92, 68, 117, 97, 108, 83, 104, 111, 99, 107,
			92, 68, 117, 97, 108, 83, 104, 111, 99, 107,
			71, 97, 109, 101, 112, 97, 100, 46, 99, 115,
			0, 0, 0, 15, 0, 0, 0, 102, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 68, 117,
			97, 108, 83, 104, 111, 99, 107, 92, 68, 117,
			97, 108, 83, 104, 111, 99, 107, 71, 97, 109,
			101, 112, 97, 100, 72, 73, 68, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 99, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 68, 117,
			97, 108, 83, 104, 111, 99, 107, 92, 68, 117,
			97, 108, 83, 104, 111, 99, 107, 83, 117, 112,
			112, 111, 114, 116, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 100, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 68, 117, 97, 108, 83,
			104, 111, 99, 107, 92, 73, 68, 117, 97, 108,
			83, 104, 111, 99, 107, 72, 97, 112, 116, 105,
			99, 115, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 107, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 69, 110, 104, 97, 110, 99, 101,
			100, 84, 111, 117, 99, 104, 92, 69, 110, 104,
			97, 110, 99, 101, 100, 84, 111, 117, 99, 104,
			83, 117, 112, 112, 111, 114, 116, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 93, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 69, 110,
			104, 97, 110, 99, 101, 100, 84, 111, 117, 99,
			104, 92, 70, 105, 110, 103, 101, 114, 46, 99,
			115, 0, 0, 0, 4, 0, 0, 0, 92, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 69,
			110, 104, 97, 110, 99, 101, 100, 84, 111, 117,
			99, 104, 92, 84, 111, 117, 99, 104, 46, 99,
			115, 0, 0, 0, 2, 0, 0, 0, 99, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 69,
			110, 104, 97, 110, 99, 101, 100, 84, 111, 117,
			99, 104, 92, 84, 111, 117, 99, 104, 72, 105,
			115, 116, 111, 114, 121, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 102, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 80, 108,
			117, 103, 105, 110, 115, 92, 69, 110, 104, 97,
			110, 99, 101, 100, 84, 111, 117, 99, 104, 92,
			84, 111, 117, 99, 104, 83, 105, 109, 117, 108,
			97, 116, 105, 111, 110, 46, 99, 115, 0, 0,
			0, 6, 0, 0, 0, 80, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 80, 108,
			117, 103, 105, 110, 115, 92, 72, 73, 68, 92,
			72, 73, 68, 46, 99, 115, 0, 0, 0, 4,
			0, 0, 0, 86, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 80, 108, 117, 103,
			105, 110, 115, 92, 72, 73, 68, 92, 72, 73,
			68, 80, 97, 114, 115, 101, 114, 46, 99, 115,
			0, 0, 0, 2, 0, 0, 0, 87, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 72, 73,
			68, 92, 72, 73, 68, 83, 117, 112, 112, 111,
			114, 116, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 96, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 79, 110, 83, 99, 114, 101, 101,
			110, 92, 79, 110, 83, 99, 114, 101, 101, 110,
			66, 117, 116, 116, 111, 110, 46, 99, 115, 0,
			0, 0, 2, 0, 0, 0, 97, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 80,
			108, 117, 103, 105, 110, 115, 92, 79, 110, 83,
			99, 114, 101, 101, 110, 92, 79, 110, 83, 99,
			114, 101, 101, 110, 67, 111, 110, 116, 114, 111,
			108, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 95, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 80, 108, 117, 103, 105, 110,
			115, 92, 79, 110, 83, 99, 114, 101, 101, 110,
			92, 79, 110, 83, 99, 114, 101, 101, 110, 83,
			116, 105, 99, 107, 46, 99, 115, 0, 0, 0,
			5, 0, 0, 0, 104, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 80, 108, 97, 121, 101,
			114, 73, 110, 112, 117, 116, 92, 68, 101, 102,
			97, 117, 108, 116, 73, 110, 112, 117, 116, 65,
			99, 116, 105, 111, 110, 115, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 95, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 80,
			108, 117, 103, 105, 110, 115, 92, 80, 108, 97,
			121, 101, 114, 73, 110, 112, 117, 116, 92, 73,
			110, 112, 117, 116, 86, 97, 108, 117, 101, 46,
			99, 115, 0, 0, 0, 5, 0, 0, 0, 96,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 80, 108, 117, 103, 105, 110, 115, 92,
			80, 108, 97, 121, 101, 114, 73, 110, 112, 117,
			116, 92, 80, 108, 97, 121, 101, 114, 73, 110,
			112, 117, 116, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 103, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 105, 110, 112, 117,
			116, 115, 121, 115, 116, 101, 109, 64, 49, 46,
			55, 46, 48, 92, 73, 110, 112, 117, 116, 83,
			121, 115, 116, 101, 109, 92, 80, 108, 117, 103,
			105, 110, 115, 92, 80, 108, 97, 121, 101, 114,
			73, 110, 112, 117, 116, 92, 80, 108, 97, 121,
			101, 114, 73, 110, 112, 117, 116, 77, 97, 110,
			97, 103, 101, 114, 46, 99, 115, 0, 0, 0,
			9, 0, 0, 0, 102, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 83, 119, 105, 116, 99,
			104, 92, 83, 119, 105, 116, 99, 104, 80, 114,
			111, 67, 111, 110, 116, 114, 111, 108, 108, 101,
			114, 72, 73, 68, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 96, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 83, 119, 105, 116, 99,
			104, 92, 83, 119, 105, 116, 99, 104, 83, 117,
			112, 112, 111, 114, 116, 72, 73, 68, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 93, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 85,
			73, 92, 66, 97, 115, 101, 73, 110, 112, 117,
			116, 79, 118, 101, 114, 114, 105, 100, 101, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 97,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 80, 108, 117, 103, 105, 110, 115, 92,
			85, 73, 92, 69, 120, 116, 101, 110, 100, 101,
			100, 65, 120, 105, 115, 69, 118, 101, 110, 116,
			68, 97, 116, 97, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 100, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 85, 73, 92, 69, 120,
			116, 101, 110, 100, 101, 100, 80, 111, 105, 110,
			116, 101, 114, 69, 118, 101, 110, 116, 68, 97,
			116, 97, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 100, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 85, 73, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 85, 73, 73,
			110, 112, 117, 116, 77, 111, 100, 117, 108, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			98, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 80, 108, 117, 103, 105, 110, 115,
			92, 85, 73, 92, 77, 117, 108, 116, 105, 112,
			108, 97, 121, 101, 114, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 91, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 80,
			108, 117, 103, 105, 110, 115, 92, 85, 73, 92,
			78, 97, 118, 105, 103, 97, 116, 105, 111, 110,
			77, 111, 100, 101, 108, 46, 99, 115, 0, 0,
			0, 2, 0, 0, 0, 88, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 105, 110,
			112, 117, 116, 115, 121, 115, 116, 101, 109, 64,
			49, 46, 55, 46, 48, 92, 73, 110, 112, 117,
			116, 83, 121, 115, 116, 101, 109, 92, 80, 108,
			117, 103, 105, 110, 115, 92, 85, 73, 92, 80,
			111, 105, 110, 116, 101, 114, 77, 111, 100, 101,
			108, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 98, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 80, 108, 117, 103, 105, 110,
			115, 92, 85, 73, 92, 84, 114, 97, 99, 107,
			101, 100, 68, 101, 118, 105, 99, 101, 82, 97,
			121, 99, 97, 115, 116, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 85, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 85, 73,
			92, 85, 73, 83, 117, 112, 112, 111, 114, 116,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			93, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 80, 108, 117, 103, 105, 110, 115,
			92, 85, 73, 92, 86, 105, 114, 116, 117, 97,
			108, 77, 111, 117, 115, 101, 73, 110, 112, 117,
			116, 46, 99, 115, 0, 0, 0, 6, 0, 0,
			0, 88, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 80, 108, 117, 103, 105, 110,
			115, 92, 85, 115, 101, 114, 115, 92, 73, 110,
			112, 117, 116, 85, 115, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 101, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 85, 115,
			101, 114, 115, 92, 73, 110, 112, 117, 116, 85,
			115, 101, 114, 65, 99, 99, 111, 117, 110, 116,
			72, 97, 110, 100, 108, 101, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 96, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 80,
			108, 117, 103, 105, 110, 115, 92, 85, 115, 101,
			114, 115, 92, 73, 110, 112, 117, 116, 85, 115,
			101, 114, 83, 101, 116, 116, 105, 110, 103, 115,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			94, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 80, 108, 117, 103, 105, 110, 115,
			92, 88, 73, 110, 112, 117, 116, 92, 73, 88,
			98, 111, 120, 79, 110, 101, 82, 117, 109, 98,
			108, 101, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 96, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 88, 73, 110, 112, 117, 116, 92,
			88, 73, 110, 112, 117, 116, 67, 111, 110, 116,
			114, 111, 108, 108, 101, 114, 46, 99, 115, 0,
			0, 0, 2, 0, 0, 0, 103, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 105,
			110, 112, 117, 116, 115, 121, 115, 116, 101, 109,
			64, 49, 46, 55, 46, 48, 92, 73, 110, 112,
			117, 116, 83, 121, 115, 116, 101, 109, 92, 80,
			108, 117, 103, 105, 110, 115, 92, 88, 73, 110,
			112, 117, 116, 92, 88, 73, 110, 112, 117, 116,
			67, 111, 110, 116, 114, 111, 108, 108, 101, 114,
			87, 105, 110, 100, 111, 119, 115, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 93, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			80, 108, 117, 103, 105, 110, 115, 92, 88, 73,
			110, 112, 117, 116, 92, 88, 73, 110, 112, 117,
			116, 83, 117, 112, 112, 111, 114, 116, 46, 99,
			115, 0, 0, 0, 2, 0, 0, 0, 96, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 88,
			82, 92, 67, 111, 110, 116, 114, 111, 108, 115,
			92, 80, 111, 115, 101, 67, 111, 110, 116, 114,
			111, 108, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 92, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 88, 82, 92, 68, 101, 118, 105,
			99, 101, 115, 92, 71, 111, 111, 103, 108, 101,
			86, 82, 46, 99, 115, 0, 0, 0, 6, 0,
			0, 0, 90, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 88, 82, 92, 68, 101, 118, 105,
			99, 101, 115, 92, 79, 99, 117, 108, 117, 115,
			46, 99, 115, 0, 0, 0, 7, 0, 0, 0,
			90, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 80, 108, 117, 103, 105, 110, 115,
			92, 88, 82, 92, 68, 101, 118, 105, 99, 101,
			115, 92, 79, 112, 101, 110, 86, 82, 46, 99,
			115, 0, 0, 0, 3, 0, 0, 0, 93, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 88,
			82, 92, 68, 101, 118, 105, 99, 101, 115, 92,
			87, 105, 110, 100, 111, 119, 115, 77, 82, 46,
			99, 115, 0, 0, 0, 3, 0, 0, 0, 91,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 80, 108, 117, 103, 105, 110, 115, 92,
			88, 82, 92, 71, 101, 110, 101, 114, 105, 99,
			88, 82, 68, 101, 118, 105, 99, 101, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 98, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 88,
			82, 92, 72, 97, 112, 116, 105, 99, 115, 92,
			66, 117, 102, 102, 101, 114, 101, 100, 82, 117,
			109, 98, 108, 101, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 112, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 88, 82, 92, 72, 97,
			112, 116, 105, 99, 115, 92, 71, 101, 116, 67,
			117, 114, 114, 101, 110, 116, 72, 97, 112, 116,
			105, 99, 83, 116, 97, 116, 101, 67, 111, 109,
			109, 97, 110, 100, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 112, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 88, 82, 92, 72, 97,
			112, 116, 105, 99, 115, 92, 71, 101, 116, 72,
			97, 112, 116, 105, 99, 67, 97, 112, 97, 98,
			105, 108, 105, 116, 105, 101, 115, 67, 111, 109,
			109, 97, 110, 100, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 110, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 105, 110, 112,
			117, 116, 115, 121, 115, 116, 101, 109, 64, 49,
			46, 55, 46, 48, 92, 73, 110, 112, 117, 116,
			83, 121, 115, 116, 101, 109, 92, 80, 108, 117,
			103, 105, 110, 115, 92, 88, 82, 92, 72, 97,
			112, 116, 105, 99, 115, 92, 83, 101, 110, 100,
			66, 117, 102, 102, 101, 114, 101, 100, 72, 97,
			112, 116, 105, 99, 115, 67, 111, 109, 109, 97,
			110, 100, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 108, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 105, 110, 112, 117, 116,
			115, 121, 115, 116, 101, 109, 64, 49, 46, 55,
			46, 48, 92, 73, 110, 112, 117, 116, 83, 121,
			115, 116, 101, 109, 92, 80, 108, 117, 103, 105,
			110, 115, 92, 88, 82, 92, 72, 97, 112, 116,
			105, 99, 115, 92, 83, 101, 110, 100, 72, 97,
			112, 116, 105, 99, 73, 109, 112, 117, 108, 115,
			101, 67, 111, 109, 109, 97, 110, 100, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 93, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 88,
			82, 92, 84, 114, 97, 99, 107, 101, 100, 80,
			111, 115, 101, 68, 114, 105, 118, 101, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 91,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 105, 110, 112, 117, 116, 115, 121, 115,
			116, 101, 109, 64, 49, 46, 55, 46, 48, 92,
			73, 110, 112, 117, 116, 83, 121, 115, 116, 101,
			109, 92, 80, 108, 117, 103, 105, 110, 115, 92,
			88, 82, 92, 88, 82, 76, 97, 121, 111, 117,
			116, 66, 117, 105, 108, 100, 101, 114, 46, 99,
			115, 0, 0, 0, 9, 0, 0, 0, 85, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 80, 108, 117, 103, 105, 110, 115, 92, 88,
			82, 92, 88, 82, 83, 117, 112, 112, 111, 114,
			116, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 98, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 83, 116, 97, 116, 101, 92,
			73, 73, 110, 112, 117, 116, 83, 116, 97, 116,
			101, 67, 97, 108, 108, 98, 97, 99, 107, 82,
			101, 99, 101, 105, 118, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 95, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			83, 116, 97, 116, 101, 92, 73, 73, 110, 112,
			117, 116, 83, 116, 97, 116, 101, 67, 104, 97,
			110, 103, 101, 77, 111, 110, 105, 116, 111, 114,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			90, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 105, 110, 112, 117, 116, 115, 121,
			115, 116, 101, 109, 64, 49, 46, 55, 46, 48,
			92, 73, 110, 112, 117, 116, 83, 121, 115, 116,
			101, 109, 92, 83, 116, 97, 116, 101, 92, 73,
			73, 110, 112, 117, 116, 83, 116, 97, 116, 101,
			84, 121, 112, 101, 73, 110, 102, 111, 46, 99,
			115, 0, 0, 0, 2, 0, 0, 0, 81, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 105, 110, 112, 117, 116, 115, 121, 115, 116,
			101, 109, 64, 49, 46, 55, 46, 48, 92, 73,
			110, 112, 117, 116, 83, 121, 115, 116, 101, 109,
			92, 83, 116, 97, 116, 101, 92, 73, 110, 112,
			117, 116, 83, 116, 97, 116, 101, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 86, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			83, 116, 97, 116, 101, 92, 73, 110, 112, 117,
			116, 83, 116, 97, 116, 101, 66, 108, 111, 99,
			107, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 88, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 105, 110, 112, 117, 116, 115,
			121, 115, 116, 101, 109, 64, 49, 46, 55, 46,
			48, 92, 73, 110, 112, 117, 116, 83, 121, 115,
			116, 101, 109, 92, 83, 116, 97, 116, 101, 92,
			73, 110, 112, 117, 116, 83, 116, 97, 116, 101,
			66, 117, 102, 102, 101, 114, 115, 46, 99, 115,
			0, 0, 0, 7, 0, 0, 0, 88, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			105, 110, 112, 117, 116, 115, 121, 115, 116, 101,
			109, 64, 49, 46, 55, 46, 48, 92, 73, 110,
			112, 117, 116, 83, 121, 115, 116, 101, 109, 92,
			83, 116, 97, 116, 101, 92, 73, 110, 112, 117,
			116, 83, 116, 97, 116, 101, 72, 105, 115, 116,
		

FantasiaSquadPT2/bin/Debug/netstandard2.1/Unity.InputSystem.ForUI.dll

Decompiled a month ago
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using UnityEngine.Scripting;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: InternalsVisibleTo("UnityEngine.InputForUIVisualizer")]
[assembly: InternalsVisibleTo("Unity.InputSystem.Tests")]
[assembly: AlwaysLinkAssembly]
[assembly: AssemblyVersion("0.0.0.0")]
[CompilerGenerated]
[EditorBrowsable(EditorBrowsableState.Never)]
[GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)]
internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1
{
	private struct MonoScriptData
	{
		public byte[] FilePathsData;

		public byte[] TypesData;

		public int TotalTypes;

		public int TotalFiles;

		public bool IsEditorOnly;
	}

	[MethodImpl(MethodImplOptions.AggressiveInlining)]
	private static MonoScriptData Get()
	{
		MonoScriptData result = default(MonoScriptData);
		result.FilePathsData = new byte[0];
		result.TypesData = new byte[0];
		result.TotalFiles = 0;
		result.TotalTypes = 0;
		result.IsEditorOnly = false;
		return result;
	}
}

FantasiaSquadPT2/bin/Debug/netstandard2.1/Unity.Netcode.Runtime.dll

Decompiled a month ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Text;
using AOT;
using Microsoft.CodeAnalysis;
using Unity.Burst;
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
using Unity.Jobs;
using Unity.Multiplayer.Tools;
using Unity.Multiplayer.Tools.MetricTypes;
using Unity.Multiplayer.Tools.NetStats;
using Unity.Netcode;
using Unity.Netcode.Transports.UTP;
using Unity.Networking.Transport;
using Unity.Networking.Transport.Error;
using Unity.Networking.Transport.Relay;
using Unity.Networking.Transport.Utilities;
using Unity.Profiling;
using UnityEngine;
using UnityEngine.LowLevel;
using UnityEngine.PlayerLoop;
using UnityEngine.SceneManagement;
using UnityEngine.Serialization;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: InternalsVisibleTo("Unity.Netcode.Components")]
[assembly: InternalsVisibleTo("Unity.Multiplayer.Tools.Adapters.Ngo1WithUtp2")]
[assembly: AssemblyRequiresTypeRegistration]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class IsUnmanagedAttribute : Attribute
	{
	}
}
[CompilerGenerated]
[EditorBrowsable(EditorBrowsableState.Never)]
[GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)]
internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1
{
	private struct MonoScriptData
	{
		public byte[] FilePathsData;

		public byte[] TypesData;

		public int TotalTypes;

		public int TotalFiles;

		public bool IsEditorOnly;
	}

	[MethodImpl(MethodImplOptions.AggressiveInlining)]
	private static MonoScriptData Get()
	{
		MonoScriptData result = default(MonoScriptData);
		result.FilePathsData = new byte[11161]
		{
			0, 0, 0, 1, 0, 0, 0, 96, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 67, 111, 110, 102, 105, 103,
			117, 114, 97, 116, 105, 111, 110, 92, 78, 101,
			116, 119, 111, 114, 107, 67, 111, 110, 102, 105,
			103, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 99, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 67, 111,
			110, 102, 105, 103, 117, 114, 97, 116, 105, 111,
			110, 92, 78, 101, 116, 119, 111, 114, 107, 67,
			111, 110, 115, 116, 97, 110, 116, 115, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 96, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 67, 111, 110, 102, 105,
			103, 117, 114, 97, 116, 105, 111, 110, 92, 78,
			101, 116, 119, 111, 114, 107, 80, 114, 101, 102,
			97, 98, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 97, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 67,
			111, 110, 102, 105, 103, 117, 114, 97, 116, 105,
			111, 110, 92, 78, 101, 116, 119, 111, 114, 107,
			80, 114, 101, 102, 97, 98, 115, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 101, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 67, 111, 110, 102, 105, 103,
			117, 114, 97, 116, 105, 111, 110, 92, 78, 101,
			116, 119, 111, 114, 107, 80, 114, 101, 102, 97,
			98, 115, 76, 105, 115, 116, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 93, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 67, 111, 110, 110, 101, 99, 116,
			105, 111, 110, 92, 78, 101, 116, 119, 111, 114,
			107, 67, 108, 105, 101, 110, 116, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 104, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 67, 111, 110, 110, 101, 99,
			116, 105, 111, 110, 92, 78, 101, 116, 119, 111,
			114, 107, 67, 111, 110, 110, 101, 99, 116, 105,
			111, 110, 77, 97, 110, 97, 103, 101, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 93,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 67, 111, 110, 110,
			101, 99, 116, 105, 111, 110, 92, 80, 101, 110,
			100, 105, 110, 103, 67, 108, 105, 101, 110, 116,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			90, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 67, 111, 114,
			101, 92, 67, 111, 109, 112, 111, 110, 101, 110,
			116, 70, 97, 99, 116, 111, 114, 121, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 90, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 67, 111, 114, 101, 92,
			78, 101, 116, 119, 111, 114, 107, 66, 101, 104,
			97, 118, 105, 111, 117, 114, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 97, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 67, 111, 114, 101, 92, 78, 101,
			116, 119, 111, 114, 107, 66, 101, 104, 97, 118,
			105, 111, 117, 114, 85, 112, 100, 97, 116, 101,
			114, 46, 99, 115, 0, 0, 0, 3, 0, 0,
			0, 88, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 67, 111,
			114, 101, 92, 78, 101, 116, 119, 111, 114, 107,
			77, 97, 110, 97, 103, 101, 114, 46, 99, 115,
			0, 0, 0, 3, 0, 0, 0, 87, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 67, 111, 114, 101, 92, 78,
			101, 116, 119, 111, 114, 107, 79, 98, 106, 101,
			99, 116, 46, 99, 115, 0, 0, 0, 9, 0,
			0, 0, 91, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 67,
			111, 114, 101, 92, 78, 101, 116, 119, 111, 114,
			107, 85, 112, 100, 97, 116, 101, 76, 111, 111,
			112, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 102, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 69, 120,
			99, 101, 112, 116, 105, 111, 110, 115, 92, 73,
			110, 118, 97, 108, 105, 100, 80, 97, 114, 101,
			110, 116, 69, 120, 99, 101, 112, 116, 105, 111,
			110, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 109, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 69, 120,
			99, 101, 112, 116, 105, 111, 110, 115, 92, 78,
			101, 116, 119, 111, 114, 107, 67, 111, 110, 102,
			105, 103, 117, 114, 97, 116, 105, 111, 110, 69,
			120, 99, 101, 112, 116, 105, 111, 110, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 101, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 69, 120, 99, 101, 112,
			116, 105, 111, 110, 115, 92, 78, 111, 116, 76,
			105, 115, 116, 101, 110, 105, 110, 103, 69, 120,
			99, 101, 112, 116, 105, 111, 110, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 98, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 69, 120, 99, 101, 112, 116,
			105, 111, 110, 115, 92, 78, 111, 116, 83, 101,
			114, 118, 101, 114, 69, 120, 99, 101, 112, 116,
			105, 111, 110, 46, 99, 115, 0, 0, 0, 2,
			0, 0, 0, 99, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			69, 120, 99, 101, 112, 116, 105, 111, 110, 115,
			92, 83, 112, 97, 119, 110, 83, 116, 97, 116,
			101, 69, 120, 99, 101, 112, 116, 105, 111, 110,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			105, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 69, 120, 99,
			101, 112, 116, 105, 111, 110, 115, 92, 86, 105,
			115, 105, 98, 105, 108, 105, 116, 121, 67, 104,
			97, 110, 103, 101, 69, 120, 99, 101, 112, 116,
			105, 111, 110, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 83, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			72, 97, 115, 104, 105, 110, 103, 92, 88, 88,
			72, 97, 115, 104, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 87, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 76, 111, 103, 103, 105, 110, 103, 92, 78,
			101, 116, 119, 111, 114, 107, 76, 111, 103, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 99,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 77, 101, 115, 115,
			97, 103, 105, 110, 103, 92, 67, 117, 115, 116,
			111, 109, 77, 101, 115, 115, 97, 103, 101, 77,
			97, 110, 97, 103, 101, 114, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 99, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 77, 101, 115, 115, 97, 103, 105,
			110, 103, 92, 68, 101, 102, 97, 117, 108, 116,
			77, 101, 115, 115, 97, 103, 101, 83, 101, 110,
			100, 101, 114, 46, 99, 115, 0, 0, 0, 3,
			0, 0, 0, 101, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			77, 101, 115, 115, 97, 103, 105, 110, 103, 92,
			68, 101, 102, 101, 114, 114, 101, 100, 77, 101,
			115, 115, 97, 103, 101, 77, 97, 110, 97, 103,
			101, 114, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 102, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 77,
			101, 115, 115, 97, 103, 105, 110, 103, 92, 68,
			105, 115, 99, 111, 110, 110, 101, 99, 116, 82,
			101, 97, 115, 111, 110, 77, 101, 115, 115, 97,
			103, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 109, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 77,
			101, 115, 115, 97, 103, 105, 110, 103, 92, 73,
			68, 101, 102, 101, 114, 114, 101, 100, 78, 101,
			116, 119, 111, 114, 107, 77, 101, 115, 115, 97,
			103, 101, 77, 97, 110, 97, 103, 101, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 98,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 77, 101, 115, 115,
			97, 103, 105, 110, 103, 92, 73, 76, 80, 80,
			77, 101, 115, 115, 97, 103, 101, 80, 114, 111,
			118, 105, 100, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 92, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 77, 101, 115, 115, 97, 103, 105, 110,
			103, 92, 73, 78, 101, 116, 119, 111, 114, 107,
			72, 111, 111, 107, 115, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 94, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 77, 101, 115, 115, 97, 103, 105, 110,
			103, 92, 73, 78, 101, 116, 119, 111, 114, 107,
			77, 101, 115, 115, 97, 103, 101, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 102, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 77, 101, 115, 115, 97, 103,
			105, 110, 103, 92, 73, 78, 101, 116, 119, 111,
			114, 107, 77, 101, 115, 115, 97, 103, 101, 80,
			114, 111, 118, 105, 100, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 100, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 77, 101, 115, 115, 97, 103,
			105, 110, 103, 92, 73, 78, 101, 116, 119, 111,
			114, 107, 77, 101, 115, 115, 97, 103, 101, 83,
			101, 110, 100, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 110, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 77, 101, 115, 115, 97, 103, 105, 110,
			103, 92, 77, 101, 115, 115, 97, 103, 101, 115,
			92, 67, 104, 97, 110, 103, 101, 79, 119, 110,
			101, 114, 115, 104, 105, 112, 77, 101, 115, 115,
			97, 103, 101, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 113, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			77, 101, 115, 115, 97, 103, 105, 110, 103, 92,
			77, 101, 115, 115, 97, 103, 101, 115, 92, 67,
			111, 110, 110, 101, 99, 116, 105, 111, 110, 65,
			112, 112, 114, 111, 118, 101, 100, 77, 101, 115,
			115, 97, 103, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 112, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 77, 101, 115, 115, 97, 103, 105, 110, 103,
			92, 77, 101, 115, 115, 97, 103, 101, 115, 92,
			67, 111, 110, 110, 101, 99, 116, 105, 111, 110,
			82, 101, 113, 117, 101, 115, 116, 77, 101, 115,
			115, 97, 103, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 107, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 77, 101, 115, 115, 97, 103, 105, 110, 103,
			92, 77, 101, 115, 115, 97, 103, 101, 115, 92,
			67, 114, 101, 97, 116, 101, 79, 98, 106, 101,
			99, 116, 77, 101, 115, 115, 97, 103, 101, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 108,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 77, 101, 115, 115,
			97, 103, 105, 110, 103, 92, 77, 101, 115, 115,
			97, 103, 101, 115, 92, 68, 101, 115, 116, 114,
			111, 121, 79, 98, 106, 101, 99, 116, 77, 101,
			115, 115, 97, 103, 101, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 103, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 77, 101, 115, 115, 97, 103, 105, 110,
			103, 92, 77, 101, 115, 115, 97, 103, 101, 115,
			92, 77, 101, 115, 115, 97, 103, 101, 77, 101,
			116, 97, 100, 97, 116, 97, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 100, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 77, 101, 115, 115, 97, 103, 105,
			110, 103, 92, 77, 101, 115, 115, 97, 103, 101,
			115, 92, 78, 97, 109, 101, 100, 77, 101, 115,
			115, 97, 103, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 115, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 77, 101, 115, 115, 97, 103, 105, 110, 103,
			92, 77, 101, 115, 115, 97, 103, 101, 115, 92,
			78, 101, 116, 119, 111, 114, 107, 86, 97, 114,
			105, 97, 98, 108, 101, 68, 101, 108, 116, 97,
			77, 101, 115, 115, 97, 103, 101, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 105, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 77, 101, 115, 115, 97, 103,
			105, 110, 103, 92, 77, 101, 115, 115, 97, 103,
			101, 115, 92, 80, 97, 114, 101, 110, 116, 83,
			121, 110, 99, 77, 101, 115, 115, 97, 103, 101,
			46, 99, 115, 0, 0, 0, 4, 0, 0, 0,
			99, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 77, 101, 115,
			115, 97, 103, 105, 110, 103, 92, 77, 101, 115,
			115, 97, 103, 101, 115, 92, 82, 112, 99, 77,
			101, 115, 115, 97, 103, 101, 115, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 105, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 77, 101, 115, 115, 97, 103,
			105, 110, 103, 92, 77, 101, 115, 115, 97, 103,
			101, 115, 92, 83, 99, 101, 110, 101, 69, 118,
			101, 110, 116, 77, 101, 115, 115, 97, 103, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			104, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 77, 101, 115,
			115, 97, 103, 105, 110, 103, 92, 77, 101, 115,
			115, 97, 103, 101, 115, 92, 83, 101, 114, 118,
			101, 114, 76, 111, 103, 77, 101, 115, 115, 97,
			103, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 103, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 77,
			101, 115, 115, 97, 103, 105, 110, 103, 92, 77,
			101, 115, 115, 97, 103, 101, 115, 92, 84, 105,
			109, 101, 83, 121, 110, 99, 77, 101, 115, 115,
			97, 103, 101, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 102, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			77, 101, 115, 115, 97, 103, 105, 110, 103, 92,
			77, 101, 115, 115, 97, 103, 101, 115, 92, 85,
			110, 110, 97, 109, 101, 100, 77, 101, 115, 115,
			97, 103, 101, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 97, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			77, 101, 115, 115, 97, 103, 105, 110, 103, 92,
			78, 101, 116, 119, 111, 114, 107, 66, 97, 116,
			99, 104, 72, 101, 97, 100, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 93, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 77, 101, 115, 115, 97,
			103, 105, 110, 103, 92, 78, 101, 116, 119, 111,
			114, 107, 67, 111, 110, 116, 101, 120, 116, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 98,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 77, 101, 115, 115,
			97, 103, 105, 110, 103, 92, 78, 101, 116, 119,
			111, 114, 107, 77, 97, 110, 97, 103, 101, 114,
			72, 111, 111, 107, 115, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 99, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 77, 101, 115, 115, 97, 103, 105, 110,
			103, 92, 78, 101, 116, 119, 111, 114, 107, 77,
			101, 115, 115, 97, 103, 101, 72, 101, 97, 100,
			101, 114, 46, 99, 115, 0, 0, 0, 7, 0,
			0, 0, 100, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 77,
			101, 115, 115, 97, 103, 105, 110, 103, 92, 78,
			101, 116, 119, 111, 114, 107, 77, 101, 115, 115,
			97, 103, 101, 77, 97, 110, 97, 103, 101, 114,
			46, 99, 115, 0, 0, 0, 3, 0, 0, 0,
			92, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 77, 101, 115,
			115, 97, 103, 105, 110, 103, 92, 82, 112, 99,
			65, 116, 116, 114, 105, 98, 117, 116, 101, 115,
			46, 99, 115, 0, 0, 0, 7, 0, 0, 0,
			88, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 77, 101, 115,
			115, 97, 103, 105, 110, 103, 92, 82, 112, 99,
			80, 97, 114, 97, 109, 115, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 92, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 77, 101, 116, 114, 105, 99, 115,
			92, 73, 78, 101, 116, 119, 111, 114, 107, 77,
			101, 116, 114, 105, 99, 115, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 88, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 77, 101, 116, 114, 105, 99, 115,
			92, 77, 101, 116, 114, 105, 99, 72, 111, 111,
			107, 115, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 91, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 77,
			101, 116, 114, 105, 99, 115, 92, 78, 101, 116,
			119, 111, 114, 107, 77, 101, 116, 114, 105, 99,
			115, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 98, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 77, 101,
			116, 114, 105, 99, 115, 92, 78, 101, 116, 119,
			111, 114, 107, 77, 101, 116, 114, 105, 99, 115,
			77, 97, 110, 97, 103, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 98, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 77, 101, 116, 114, 105, 99,
			115, 92, 78, 101, 116, 119, 111, 114, 107, 79,
			98, 106, 101, 99, 116, 80, 114, 111, 118, 105,
			100, 101, 114, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 95, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			77, 101, 116, 114, 105, 99, 115, 92, 78, 117,
			108, 108, 78, 101, 116, 119, 111, 114, 107, 77,
			101, 116, 114, 105, 99, 115, 46, 99, 115, 0,
			0, 0, 2, 0, 0, 0, 108, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 78, 101, 116, 119, 111, 114, 107,
			86, 97, 114, 105, 97, 98, 108, 101, 92, 67,
			111, 108, 108, 101, 99, 116, 105, 111, 110, 115,
			92, 78, 101, 116, 119, 111, 114, 107, 76, 105,
			115, 116, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 100, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 78,
			101, 116, 119, 111, 114, 107, 86, 97, 114, 105,
			97, 98, 108, 101, 92, 78, 101, 116, 119, 111,
			114, 107, 86, 97, 114, 105, 97, 98, 108, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			104, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 78, 101, 116,
			119, 111, 114, 107, 86, 97, 114, 105, 97, 98,
			108, 101, 92, 78, 101, 116, 119, 111, 114, 107,
			86, 97, 114, 105, 97, 98, 108, 101, 66, 97,
			115, 101, 46, 99, 115, 0, 0, 0, 18, 0,
			0, 0, 113, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 78,
			101, 116, 119, 111, 114, 107, 86, 97, 114, 105,
			97, 98, 108, 101, 92, 78, 101, 116, 119, 111,
			114, 107, 86, 97, 114, 105, 97, 98, 108, 101,
			83, 101, 114, 105, 97, 108, 105, 122, 97, 116,
			105, 111, 110, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 93, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			80, 114, 111, 102, 105, 108, 105, 110, 103, 92,
			80, 114, 111, 102, 105, 108, 105, 110, 103, 72,
			111, 111, 107, 115, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 111, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 83, 99, 101, 110, 101, 77, 97, 110, 97,
			103, 101, 109, 101, 110, 116, 92, 68, 101, 102,
			97, 117, 108, 116, 83, 99, 101, 110, 101, 77,
			97, 110, 97, 103, 101, 114, 72, 97, 110, 100,
			108, 101, 114, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 105, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 110, 101, 116, 99,
			111, 100, 101, 46, 103, 97, 109, 101, 111, 98,
			106, 101, 99, 116, 115, 64, 49, 46, 54, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			83, 99, 101, 110, 101, 77, 97, 110, 97, 103,
			101, 109, 101, 110, 116, 92, 73, 83, 99, 101,
			110, 101, 77, 97, 110, 97, 103, 101, 114, 72,
			97, 110, 100, 108, 101, 114, 46, 99, 115, 0,
			0, 0, 4, 0, 0, 0, 104, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 83, 99, 101, 110, 101, 77, 97,
			110, 97, 103, 101, 109, 101, 110, 116, 92, 78,
			101, 116, 119, 111, 114, 107, 83, 99, 101, 110,
			101, 77, 97, 110, 97, 103, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 99, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 99, 101, 110, 101,
			77, 97, 110, 97, 103, 101, 109, 101, 110, 116,
			92, 83, 99, 101, 110, 101, 69, 118, 101, 110,
			116, 68, 97, 116, 97, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 103, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 83, 99, 101, 110, 101, 77, 97, 110,
			97, 103, 101, 109, 101, 110, 116, 92, 83, 99,
			101, 110, 101, 69, 118, 101, 110, 116, 80, 114,
			111, 103, 114, 101, 115, 115, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 93, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 83, 101, 114, 105, 97, 108, 105,
			122, 97, 116, 105, 111, 110, 92, 65, 114, 105,
			116, 104, 109, 101, 116, 105, 99, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 93, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 83, 101, 114, 105, 97, 108,
			105, 122, 97, 116, 105, 111, 110, 92, 66, 105,
			116, 67, 111, 117, 110, 116, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 92, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 101, 114, 105, 97,
			108, 105, 122, 97, 116, 105, 111, 110, 92, 66,
			105, 116, 82, 101, 97, 100, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 92, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 101, 114, 105, 97,
			108, 105, 122, 97, 116, 105, 111, 110, 92, 66,
			105, 116, 87, 114, 105, 116, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 99, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 101, 114, 105, 97,
			108, 105, 122, 97, 116, 105, 111, 110, 92, 66,
			117, 102, 102, 101, 114, 83, 101, 114, 105, 97,
			108, 105, 122, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 105, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 83, 101, 114, 105, 97, 108, 105, 122,
			97, 116, 105, 111, 110, 92, 66, 117, 102, 102,
			101, 114, 83, 101, 114, 105, 97, 108, 105, 122,
			101, 114, 82, 101, 97, 100, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 105, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 101, 114, 105, 97,
			108, 105, 122, 97, 116, 105, 111, 110, 92, 66,
			117, 102, 102, 101, 114, 83, 101, 114, 105, 97,
			108, 105, 122, 101, 114, 87, 114, 105, 116, 101,
			114, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 93, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 83, 101,
			114, 105, 97, 108, 105, 122, 97, 116, 105, 111,
			110, 92, 66, 121, 116, 101, 80, 97, 99, 107,
			101, 114, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 95, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 83,
			101, 114, 105, 97, 108, 105, 122, 97, 116, 105,
			111, 110, 92, 66, 121, 116, 101, 85, 110, 112,
			97, 99, 107, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 94, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 83, 101, 114, 105, 97, 108, 105, 122,
			97, 116, 105, 111, 110, 92, 66, 121, 116, 101,
			85, 116, 105, 108, 105, 116, 121, 46, 99, 115,
			0, 0, 0, 2, 0, 0, 0, 99, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			110, 101, 116, 99, 111, 100, 101, 46, 103, 97,
			109, 101, 111, 98, 106, 101, 99, 116, 115, 64,
			49, 46, 54, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 83, 101, 114, 105, 97, 108,
			105, 122, 97, 116, 105, 111, 110, 92, 70, 97,
			115, 116, 66, 117, 102, 102, 101, 114, 82, 101,
			97, 100, 101, 114, 46, 99, 115, 0, 0, 0,
			8, 0, 0, 0, 99, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 83, 101, 114, 105, 97, 108, 105, 122, 97,
			116, 105, 111, 110, 92, 70, 97, 115, 116, 66,
			117, 102, 102, 101, 114, 87, 114, 105, 116, 101,
			114, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 112, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 83, 101,
			114, 105, 97, 108, 105, 122, 97, 116, 105, 111,
			110, 92, 70, 111, 114, 99, 101, 78, 101, 116,
			119, 111, 114, 107, 83, 101, 114, 105, 97, 108,
			105, 122, 101, 66, 121, 77, 101, 109, 99, 112,
			121, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 103, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 83, 101,
			114, 105, 97, 108, 105, 122, 97, 116, 105, 111,
			110, 92, 73, 78, 101, 116, 119, 111, 114, 107,
			83, 101, 114, 105, 97, 108, 105, 122, 97, 98,
			108, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 108, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 83,
			101, 114, 105, 97, 108, 105, 122, 97, 116, 105,
			111, 110, 92, 73, 78, 101, 116, 119, 111, 114,
			107, 83, 101, 114, 105, 97, 108, 105, 122, 101,
			66, 121, 77, 101, 109, 99, 112, 121, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 96, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 101, 114, 105, 97,
			108, 105, 122, 97, 116, 105, 111, 110, 92, 73,
			82, 101, 97, 100, 101, 114, 87, 114, 105, 116,
			101, 114, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 108, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 83,
			101, 114, 105, 97, 108, 105, 122, 97, 116, 105,
			111, 110, 92, 77, 101, 109, 111, 114, 121, 83,
			116, 114, 117, 99, 116, 117, 114, 101, 115, 92,
			66, 121, 116, 101, 66, 111, 111, 108, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 109, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 83, 101, 114, 105, 97,
			108, 105, 122, 97, 116, 105, 111, 110, 92, 77,
			101, 109, 111, 114, 121, 83, 116, 114, 117, 99,
			116, 117, 114, 101, 115, 92, 85, 73, 110, 116,
			70, 108, 111, 97, 116, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 108, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 83, 101, 114, 105, 97, 108, 105, 122,
			97, 116, 105, 111, 110, 92, 78, 101, 116, 119,
			111, 114, 107, 66, 101, 104, 97, 118, 105, 111,
			117, 114, 82, 101, 102, 101, 114, 101, 110, 99,
			101, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 105, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 83, 101,
			114, 105, 97, 108, 105, 122, 97, 116, 105, 111,
			110, 92, 78, 101, 116, 119, 111, 114, 107, 79,
			98, 106, 101, 99, 116, 82, 101, 102, 101, 114,
			101, 110, 99, 101, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 98, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 110, 101, 116,
			99, 111, 100, 101, 46, 103, 97, 109, 101, 111,
			98, 106, 101, 99, 116, 115, 64, 49, 46, 54,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 83, 112, 97, 119, 110, 105, 110, 103, 92,
			78, 101, 116, 119, 111, 114, 107, 80, 114, 101,
			102, 97, 98, 72, 97, 110, 100, 108, 101, 114,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			97, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 83, 112, 97,
			119, 110, 105, 110, 103, 92, 78, 101, 116, 119,
			111, 114, 107, 83, 112, 97, 119, 110, 77, 97,
			110, 97, 103, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 95, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 83, 112, 97, 119, 110, 105, 110, 103,
			92, 82, 101, 108, 101, 97, 115, 101, 100, 78,
			101, 116, 119, 111, 114, 107, 73, 100, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 93, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 110, 101, 116, 99, 111, 100, 101, 46, 103,
			97, 109, 101, 111, 98, 106, 101, 99, 116, 115,
			64, 49, 46, 54, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 84, 105, 109, 105, 110,
			103, 92, 73, 82, 101, 97, 108, 84, 105, 109,
			101, 80, 114, 111, 118, 105, 100, 101, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 93,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 84, 105, 109, 105,
			110, 103, 92, 78, 101, 116, 119, 111, 114, 107,
			84, 105, 99, 107, 83, 121, 115, 116, 101, 109,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			87, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 84, 105, 109,
			105, 110, 103, 92, 78, 101, 116, 119, 111, 114,
			107, 84, 105, 109, 101, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 93, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 110, 101,
			116, 99, 111, 100, 101, 46, 103, 97, 109, 101,
			111, 98, 106, 101, 99, 116, 115, 64, 49, 46,
			54, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 84, 105, 109, 105, 110, 103, 92, 78,
			101, 116, 119, 111, 114, 107, 84, 105, 109, 101,
			83, 121, 115, 116, 101, 109, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 92, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 84, 105, 109, 105, 110, 103, 92,
			82, 101, 97, 108, 84, 105, 109, 101, 80, 114,
			111, 118, 105, 100, 101, 114, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 96, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 110,
			101, 116, 99, 111, 100, 101, 46, 103, 97, 109,
			101, 111, 98, 106, 101, 99, 116, 115, 64, 49,
			46, 54, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 84, 114, 97, 110, 115, 112, 111,
			114, 116, 115, 92, 78, 101, 116, 119, 111, 114,
			107, 84, 114, 97, 110, 115, 112, 111, 114, 116,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			103, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 110, 101, 116, 99, 111, 100, 101,
			46, 103, 97, 109, 101, 111, 98, 106, 101, 99,
			116, 115, 64, 49, 46, 54, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 84, 114, 97,
			110, 115, 112, 111, 114, 116, 115, 92, 85, 84,
			80, 92, 66, 97, 116, 99, 104, 101, 100, 82,
			101, 99, 101, 105, 118, 101, 81, 117, 101, 117,
			101, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 100, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 115, 92, 85,
			84, 80, 92, 66, 97, 116, 99, 104, 101, 100,
			83, 101, 110, 100, 81, 117, 101, 117, 101, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 105,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 110, 101, 116, 99, 111, 100, 101, 46,
			103, 97, 109, 101, 111, 98, 106, 101, 99, 116,
			115, 64, 49, 46, 54, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 84, 114, 97, 110,
			115, 112, 111, 114, 116, 115, 92, 85, 84, 80,
			92, 78, 101, 116, 119, 111, 114, 107, 77, 101,
			116, 114, 105, 99, 115, 67, 111, 110, 116, 101,
			120, 116, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 111, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 84,
			114, 97, 110, 115, 112, 111, 114, 116, 115, 92,
			85, 84, 80, 92, 78, 101, 116, 119, 111, 114,
			107, 77, 101, 116, 114, 105, 99, 115, 80, 105,
			112, 101, 108, 105, 110, 101, 83, 116, 97, 103,
			101, 46, 99, 115, 0, 0, 0, 3, 0, 0,
			0, 103, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 110, 101, 116, 99, 111, 100,
			101, 46, 103, 97, 109, 101, 111, 98, 106, 101,
			99, 116, 115, 64, 49, 46, 54, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 115, 92, 85,
			84, 80, 92, 83, 101, 99, 114, 101, 116, 115,
			76, 111, 97, 100, 101, 114, 72, 101, 108, 112,
			101, 114, 46, 99, 115, 0, 0, 0, 8, 0,
			0, 0, 98, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 110, 101, 116, 99, 111,
			100, 101, 46, 103, 97, 109, 101, 111, 98, 106,
			101, 99, 116, 115, 64, 49, 46, 54, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 84,
			114, 97, 110, 115, 112, 111, 114, 116, 115, 92,
			85, 84, 80, 92, 85, 110, 105, 116, 121, 84,
			114, 97, 110, 115, 112, 111, 114, 116, 46, 99,
			115
		};
		result.TypesData = new byte[7299]
		{
			0, 0, 0, 0, 27, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 78,
			101, 116, 119, 111, 114, 107, 67, 111, 110, 102,
			105, 103, 0, 0, 0, 0, 30, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 78, 101, 116, 119, 111, 114, 107, 67, 111,
			110, 115, 116, 97, 110, 116, 115, 0, 0, 0,
			0, 27, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 78, 101, 116, 119,
			111, 114, 107, 80, 114, 101, 102, 97, 98, 0,
			0, 0, 0, 28, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 78, 101,
			116, 119, 111, 114, 107, 80, 114, 101, 102, 97,
			98, 115, 0, 0, 0, 0, 32, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 78, 101, 116, 119, 111, 114, 107, 80, 114,
			101, 102, 97, 98, 115, 76, 105, 115, 116, 0,
			0, 0, 0, 27, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 78, 101,
			116, 119, 111, 114, 107, 67, 108, 105, 101, 110,
			116, 0, 0, 0, 0, 38, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			78, 101, 116, 119, 111, 114, 107, 67, 111, 110,
			110, 101, 99, 116, 105, 111, 110, 77, 97, 110,
			97, 103, 101, 114, 0, 0, 0, 0, 27, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 80, 101, 110, 100, 105, 110, 103,
			67, 108, 105, 101, 110, 116, 0, 0, 0, 0,
			30, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 67, 111, 109, 112, 111,
			110, 101, 110, 116, 70, 97, 99, 116, 111, 114,
			121, 0, 0, 0, 0, 30, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			78, 101, 116, 119, 111, 114, 107, 66, 101, 104,
			97, 118, 105, 111, 117, 114, 0, 0, 0, 0,
			37, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 78, 101, 116, 119, 111,
			114, 107, 66, 101, 104, 97, 118, 105, 111, 117,
			114, 85, 112, 100, 97, 116, 101, 114, 0, 0,
			0, 0, 28, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 101, 116,
			119, 111, 114, 107, 77, 97, 110, 97, 103, 101,
			114, 0, 0, 0, 0, 55, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			78, 101, 116, 119, 111, 114, 107, 77, 97, 110,
			97, 103, 101, 114, 124, 67, 111, 110, 110, 101,
			99, 116, 105, 111, 110, 65, 112, 112, 114, 111,
			118, 97, 108, 82, 101, 115, 112, 111, 110, 115,
			101, 0, 0, 0, 0, 54, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			78, 101, 116, 119, 111, 114, 107, 77, 97, 110,
			97, 103, 101, 114, 124, 67, 111, 110, 110, 101,
			99, 116, 105, 111, 110, 65, 112, 112, 114, 111,
			118, 97, 108, 82, 101, 113, 117, 101, 115, 116,
			0, 0, 0, 0, 27, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 78,
			101, 116, 119, 111, 114, 107, 79, 98, 106, 101,
			99, 116, 0, 0, 0, 0, 39, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			46, 78, 101, 116, 119, 111, 114, 107, 79, 98,
			106, 101, 99, 116, 124, 83, 99, 101, 110, 101,
			79, 98, 106, 101, 99, 116, 0, 0, 0, 0,
			42, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 46, 78, 101, 116, 119, 111,
			114, 107, 79, 98, 106, 101, 99, 116, 43, 124,
			84, 114, 97, 110, 115, 102, 111, 114, 109, 68,
			97, 116, 97, 0, 0, 0, 0, 34, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 73, 78, 101, 116, 119, 111, 114, 107,
			85, 112, 100, 97, 116, 101, 83, 121, 115, 116,
			101, 109, 0, 0, 0, 0, 31, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 78, 101, 116, 119, 111, 114, 107, 85, 112,
			100, 97, 116, 101, 76, 111, 111, 112, 0, 0,
			0, 0, 53, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 46, 78, 101, 116,
			119, 111, 114, 107, 85, 112, 100, 97, 116, 101,
			76, 111, 111, 112, 124, 78, 101, 116, 119, 111,
			114, 107, 73, 110, 105, 116, 105, 97, 108, 105,
			122, 97, 116, 105, 111, 110, 0, 0, 0, 0,
			50, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 46, 78, 101, 116, 119, 111,
			114, 107, 85, 112, 100, 97, 116, 101, 76, 111,
			111, 112, 124, 78, 101, 116, 119, 111, 114, 107,
			69, 97, 114, 108, 121, 85, 112, 100, 97, 116,
			101, 0, 0, 0, 0, 50, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			78, 101, 116, 119, 111, 114, 107, 85, 112, 100,
			97, 116, 101, 76, 111, 111, 112, 124, 78, 101,
			116, 119, 111, 114, 107, 70, 105, 120, 101, 100,
			85, 112, 100, 97, 116, 101, 0, 0, 0, 0,
			48, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 46, 78, 101, 116, 119, 111,
			114, 107, 85, 112, 100, 97, 116, 101, 76, 111,
			111, 112, 124, 78, 101, 116, 119, 111, 114, 107,
			80, 114, 101, 85, 112, 100, 97, 116, 101, 0,
			0, 0, 0, 45, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 78, 101,
			116, 119, 111, 114, 107, 85, 112, 100, 97, 116,
			101, 76, 111, 111, 112, 124, 78, 101, 116, 119,
			111, 114, 107, 85, 112, 100, 97, 116, 101, 0,
			0, 0, 0, 52, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 78, 101,
			116, 119, 111, 114, 107, 85, 112, 100, 97, 116,
			101, 76, 111, 111, 112, 124, 78, 101, 116, 119,
			111, 114, 107, 80, 114, 101, 76, 97, 116, 101,
			85, 112, 100, 97, 116, 101, 0, 0, 0, 0,
			53, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 46, 78, 101, 116, 119, 111,
			114, 107, 85, 112, 100, 97, 116, 101, 76, 111,
			111, 112, 124, 78, 101, 116, 119, 111, 114, 107,
			80, 111, 115, 116, 76, 97, 116, 101, 85, 112,
			100, 97, 116, 101, 0, 0, 0, 0, 36, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 73, 110, 118, 97, 108, 105, 100,
			80, 97, 114, 101, 110, 116, 69, 120, 99, 101,
			112, 116, 105, 111, 110, 0, 0, 0, 0, 43,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 78, 101, 116, 119, 111, 114,
			107, 67, 111, 110, 102, 105, 103, 117, 114, 97,
			116, 105, 111, 110, 69, 120, 99, 101, 112, 116,
			105, 111, 110, 0, 0, 0, 0, 35, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 78, 111, 116, 76, 105, 115, 116, 101,
			110, 105, 110, 103, 69, 120, 99, 101, 112, 116,
			105, 111, 110, 0, 0, 0, 0, 32, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 78, 111, 116, 83, 101, 114, 118, 101,
			114, 69, 120, 99, 101, 112, 116, 105, 111, 110,
			0, 0, 0, 0, 33, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 83,
			112, 97, 119, 110, 83, 116, 97, 116, 101, 69,
			120, 99, 101, 112, 116, 105, 111, 110, 0, 0,
			0, 0, 37, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 73, 110, 118,
			97, 108, 105, 100, 67, 104, 97, 110, 110, 101,
			108, 69, 120, 99, 101, 112, 116, 105, 111, 110,
			0, 0, 0, 0, 39, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 86,
			105, 115, 105, 98, 105, 108, 105, 116, 121, 67,
			104, 97, 110, 103, 101, 69, 120, 99, 101, 112,
			116, 105, 111, 110, 0, 0, 0, 0, 20, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 88, 88, 72, 97, 115, 104, 0,
			0, 0, 0, 24, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 78, 101,
			116, 119, 111, 114, 107, 76, 111, 103, 0, 0,
			0, 0, 36, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 67, 117, 115,
			116, 111, 109, 77, 101, 115, 115, 97, 103, 105,
			110, 103, 77, 97, 110, 97, 103, 101, 114, 0,
			0, 0, 0, 34, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 68, 101,
			102, 97, 117, 108, 116, 77, 101, 115, 115, 97,
			103, 101, 83, 101, 110, 100, 101, 114, 0, 0,
			0, 0, 36, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 68, 101, 102,
			101, 114, 114, 101, 100, 77, 101, 115, 115, 97,
			103, 101, 77, 97, 110, 97, 103, 101, 114, 0,
			0, 0, 0, 48, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 68, 101,
			102, 101, 114, 114, 101, 100, 77, 101, 115, 115,
			97, 103, 101, 77, 97, 110, 97, 103, 101, 114,
			124, 84, 114, 105, 103, 103, 101, 114, 68, 97,
			116, 97, 0, 0, 0, 0, 48, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			46, 68, 101, 102, 101, 114, 114, 101, 100, 77,
			101, 115, 115, 97, 103, 101, 77, 97, 110, 97,
			103, 101, 114, 124, 84, 114, 105, 103, 103, 101,
			114, 73, 110, 102, 111, 0, 0, 0, 0, 37,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 68, 105, 115, 99, 111, 110,
			110, 101, 99, 116, 82, 101, 97, 115, 111, 110,
			77, 101, 115, 115, 97, 103, 101, 0, 0, 0,
			0, 44, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 73, 68, 101, 102,
			101, 114, 114, 101, 100, 78, 101, 116, 119, 111,
			114, 107, 77, 101, 115, 115, 97, 103, 101, 77,
			97, 110, 97, 103, 101, 114, 0, 0, 0, 0,
			33, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 73, 76, 80, 80, 77,
			101, 115, 115, 97, 103, 101, 80, 114, 111, 118,
			105, 100, 101, 114, 0, 0, 0, 0, 27, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 73, 78, 101, 116, 119, 111, 114,
			107, 72, 111, 111, 107, 115, 0, 0, 0, 0,
			29, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 73, 78, 101, 116, 119,
			111, 114, 107, 77, 101, 115, 115, 97, 103, 101,
			0, 0, 0, 0, 37, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 73,
			78, 101, 116, 119, 111, 114, 107, 77, 101, 115,
			115, 97, 103, 101, 80, 114, 111, 118, 105, 100,
			101, 114, 0, 0, 0, 0, 35, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 73, 78, 101, 116, 119, 111, 114, 107, 77,
			101, 115, 115, 97, 103, 101, 83, 101, 110, 100,
			101, 114, 0, 0, 0, 0, 36, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 67, 104, 97, 110, 103, 101, 79, 119, 110,
			101, 114, 115, 104, 105, 112, 77, 101, 115, 115,
			97, 103, 101, 0, 0, 0, 0, 39, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 67, 111, 110, 110, 101, 99, 116, 105,
			111, 110, 65, 112, 112, 114, 111, 118, 101, 100,
			77, 101, 115, 115, 97, 103, 101, 0, 0, 0,
			0, 38, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 67, 111, 110, 110,
			101, 99, 116, 105, 111, 110, 82, 101, 113, 117,
			101, 115, 116, 77, 101, 115, 115, 97, 103, 101,
			0, 0, 0, 0, 33, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 67,
			114, 101, 97, 116, 101, 79, 98, 106, 101, 99,
			116, 77, 101, 115, 115, 97, 103, 101, 0, 0,
			0, 0, 34, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 68, 101, 115,
			116, 114, 111, 121, 79, 98, 106, 101, 99, 116,
			77, 101, 115, 115, 97, 103, 101, 0, 0, 0,
			0, 32, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 77, 101, 115, 115,
			97, 103, 101, 86, 101, 114, 115, 105, 111, 110,
			68, 97, 116, 97, 0, 0, 0, 0, 26, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 78, 97, 109, 101, 100, 77, 101,
			115, 115, 97, 103, 101, 0, 0, 0, 0, 41,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 78, 101, 116, 119, 111, 114,
			107, 86, 97, 114, 105, 97, 98, 108, 101, 68,
			101, 108, 116, 97, 77, 101, 115, 115, 97, 103,
			101, 0, 0, 0, 0, 31, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			80, 97, 114, 101, 110, 116, 83, 121, 110, 99,
			77, 101, 115, 115, 97, 103, 101, 0, 0, 0,
			0, 31, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 82, 112, 99, 77,
			101, 115, 115, 97, 103, 101, 72, 101, 108, 112,
			101, 114, 115, 0, 0, 0, 0, 25, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 82, 112, 99, 77, 101, 116, 97, 100,
			97, 116, 97, 0, 0, 0, 0, 30, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 83, 101, 114, 118, 101, 114, 82, 112,
			99, 77, 101, 115, 115, 97, 103, 101, 0, 0,
			0, 0, 30, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 67, 108, 105,
			101, 110, 116, 82, 112, 99, 77, 101, 115, 115,
			97, 103, 101, 0, 0, 0, 0, 31, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 83, 99, 101, 110, 101, 69, 118, 101,
			110, 116, 77, 101, 115, 115, 97, 103, 101, 0,
			0, 0, 0, 30, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 83, 101,
			114, 118, 101, 114, 76, 111, 103, 77, 101, 115,
			115, 97, 103, 101, 0, 0, 0, 0, 29, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 84, 105, 109, 101, 83, 121, 110,
			99, 77, 101, 115, 115, 97, 103, 101, 0, 0,
			0, 0, 28, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 85, 110, 110,
			97, 109, 101, 100, 77, 101, 115, 115, 97, 103,
			101, 0, 0, 0, 0, 32, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			78, 101, 116, 119, 111, 114, 107, 66, 97, 116,
			99, 104, 72, 101, 97, 100, 101, 114, 0, 0,
			0, 0, 28, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 101, 116,
			119, 111, 114, 107, 67, 111, 110, 116, 101, 120,
			116, 0, 0, 0, 0, 33, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			78, 101, 116, 119, 111, 114, 107, 77, 97, 110,
			97, 103, 101, 114, 72, 111, 111, 107, 115, 0,
			0, 0, 0, 34, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 78, 101,
			116, 119, 111, 114, 107, 77, 101, 115, 115, 97,
			103, 101, 72, 101, 97, 100, 101, 114, 0, 0,
			0, 0, 43, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 72, 97, 110,
			100, 108, 101, 114, 78, 111, 116, 82, 101, 103,
			105, 115, 116, 101, 114, 101, 100, 69, 120, 99,
			101, 112, 116, 105, 111, 110, 0, 0, 0, 0,
			46, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 73, 110, 118, 97, 108,
			105, 100, 77, 101, 115, 115, 97, 103, 101, 83,
			116, 114, 117, 99, 116, 117, 114, 101, 69, 120,
			99, 101, 112, 116, 105, 111, 110, 0, 0, 0,
			0, 35, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 78, 101, 116, 119,
			111, 114, 107, 77, 101, 115, 115, 97, 103, 101,
			77, 97, 110, 97, 103, 101, 114, 0, 0, 0,
			0, 52, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 46, 78, 101, 116, 119,
			111, 114, 107, 77, 101, 115, 115, 97, 103, 101,
			77, 97, 110, 97, 103, 101, 114, 124, 82, 101,
			99, 101, 105, 118, 101, 81, 117, 101, 117, 101,
			73, 116, 101, 109, 0, 0, 0, 0, 49, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 46, 78, 101, 116, 119, 111, 114, 107,
			77, 101, 115, 115, 97, 103, 101, 77, 97, 110,
			97, 103, 101, 114, 124, 83, 101, 110, 100, 81,
			117, 101, 117, 101, 73, 116, 101, 109, 0, 0,
			0, 0, 54, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 46, 78, 101, 116,
			119, 111, 114, 107, 77, 101, 115, 115, 97, 103,
			101, 77, 97, 110, 97, 103, 101, 114, 124, 77,
			101, 115, 115, 97, 103, 101, 87, 105, 116, 104,
			72, 97, 110, 100, 108, 101, 114, 0, 0, 0,
			0, 54, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 46, 78, 101, 116, 119,
			111, 114, 107, 77, 101, 115, 115, 97, 103, 101,
			77, 97, 110, 97, 103, 101, 114, 124, 80, 111,
			105, 110, 116, 101, 114, 76, 105, 115, 116, 87,
			114, 97, 112, 112, 101, 114, 0, 0, 0, 0,
			26, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 82, 112, 99, 65, 116,
			116, 114, 105, 98, 117, 116, 101, 0, 0, 0,
			0, 32, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 83, 101, 114, 118,
			101, 114, 82, 112, 99, 65, 116, 116, 114, 105,
			98, 117, 116, 101, 0, 0, 0, 0, 32, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 67, 108, 105, 101, 110, 116, 82,
			112, 99, 65, 116, 116, 114, 105, 98, 117, 116,
			101, 0, 0, 0, 0, 33, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			83, 101, 114, 118, 101, 114, 82, 112, 99, 83,
			101, 110, 100, 80, 97, 114, 97, 109, 115, 0,
			0, 0, 0, 36, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 83, 101,
			114, 118, 101, 114, 82, 112, 99, 82, 101, 99,
			101, 105, 118, 101, 80, 97, 114, 97, 109, 115,
			0, 0, 0, 0, 29, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 83,
			101, 114, 118, 101, 114, 82, 112, 99, 80, 97,
			114, 97, 109, 115, 0, 0, 0, 0, 33, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 67, 108, 105, 101, 110, 116, 82,
			112, 99, 83, 101, 110, 100, 80, 97, 114, 97,
			109, 115, 0, 0, 0, 0, 36, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 67, 108, 105, 101, 110, 116, 82, 112, 99,
			82, 101, 99, 101, 105, 118, 101, 80, 97, 114,
			97, 109, 115, 0, 0, 0, 0, 29, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 67, 108, 105, 101, 110, 116, 82, 112,
			99, 80, 97, 114, 97, 109, 115, 0, 0, 0,
			0, 25, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 95, 95, 82, 112,
			99, 80, 97, 114, 97, 109, 115, 0, 0, 0,
			0, 29, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 73, 78, 101, 116,
			119, 111, 114, 107, 77, 101, 116, 114, 105, 99,
			115, 0, 0, 0, 0, 25, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			77, 101, 116, 114, 105, 99, 72, 111, 111, 107,
			115, 0, 0, 0, 0, 28, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			78, 101, 116, 119, 111, 114, 107, 77, 101, 116,
			114, 105, 99, 115, 0, 0, 0, 0, 29, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 78, 101, 116, 99, 111, 100, 101,
			79, 98, 115, 101, 114, 118, 101, 114, 0, 0,
			0, 0, 35, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 101, 116,
			119, 111, 114, 107, 77, 101, 116, 114, 105, 99,
			115, 77, 97, 110, 97, 103, 101, 114, 0, 0,
			0, 0, 35, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 101, 116,
			119, 111, 114, 107, 79, 98, 106, 101, 99, 116,
			80, 114, 111, 118, 105, 100, 101, 114, 0, 0,
			0, 0, 32, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 117, 108,
			108, 78, 101, 116, 119, 111, 114, 107, 77, 101,
			116, 114, 105, 99, 115, 0, 0, 0, 0, 25,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 78, 101, 116, 119, 111, 114,
			107, 76, 105, 115, 116, 0, 0, 0, 0, 30,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 78, 101, 116, 119, 111, 114,
			107, 76, 105, 115, 116, 69, 118, 101, 110, 116,
			0, 0, 0, 0, 29, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 78,
			101, 116, 119, 111, 114, 107, 86, 97, 114, 105,
			97, 98, 108, 101, 0, 0, 0, 0, 33, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 78, 101, 116, 119, 111, 114, 107,
			86, 97, 114, 105, 97, 98, 108, 101, 66, 97,
			115, 101, 0, 0, 0, 0, 40, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 73, 78, 101, 116, 119, 111, 114, 107, 86,
			97, 114, 105, 97, 98, 108, 101, 83, 101, 114,
			105, 97, 108, 105, 122, 101, 114, 0, 0, 0,
			0, 29, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 83, 104, 111, 114,
			116, 83, 101, 114, 105, 97, 108, 105, 122, 101,
			114, 0, 0, 0, 0, 30, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			85, 115, 104, 111, 114, 116, 83, 101, 114, 105,
			97, 108, 105, 122, 101, 114, 0, 0, 0, 0,
			27, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 73, 110, 116, 83, 101,
			114, 105, 97, 108, 105, 122, 101, 114, 0, 0,
			0, 0, 28, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 85, 105, 110,
			116, 83, 101, 114, 105, 97, 108, 105, 122, 101,
			114, 0, 0, 0, 0, 28, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			76, 111, 110, 103, 83, 101, 114, 105, 97, 108,
			105, 122, 101, 114, 0, 0, 0, 0, 29, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 85, 108, 111, 110, 103, 83, 101,
			114, 105, 97, 108, 105, 122, 101, 114, 0, 0,
			0, 0, 37, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 85, 110, 109,
			97, 110, 97, 103, 101, 100, 84, 121, 112, 101,
			83, 101, 114, 105, 97, 108, 105, 122, 101, 114,
			0, 0, 0, 0, 38, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 85,
			110, 109, 97, 110, 97, 103, 101, 100, 65, 114,
			114, 97, 121, 83, 101, 114, 105, 97, 108, 105,
			122, 101, 114, 0, 0, 0, 0, 35, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 70, 105, 120, 101, 100, 83, 116, 114,
			105, 110, 103, 83, 101, 114, 105, 97, 108, 105,
			122, 101, 114, 0, 0, 0, 0, 40, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 70, 105, 120, 101, 100, 83, 116, 114,
			105, 110, 103, 65, 114, 114, 97, 121, 83, 101,
			114, 105, 97, 108, 105, 122, 101, 114, 0, 0,
			0, 0, 52, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 85, 110, 109,
			97, 110, 97, 103, 101, 100, 78, 101, 116, 119,
			111, 114, 107, 83, 101, 114, 105, 97, 108, 105,
			122, 97, 98, 108, 101, 83, 101, 114, 105, 97,
			108, 105, 122, 101, 114, 0, 0, 0, 0, 57,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 85, 110, 109, 97, 110, 97,
			103, 101, 100, 78, 101, 116, 119, 111, 114, 107,
			83, 101, 114, 105, 97, 108, 105, 122, 97, 98,
			108, 101, 65, 114, 114, 97, 121, 83, 101, 114,
			105, 97, 108, 105, 122, 101, 114, 0, 0, 0,
			0, 50, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 124, 77, 97, 110, 97,
			103, 101, 100, 78, 101, 116, 119, 111, 114, 107,
			83, 101, 114, 105, 97, 108, 105, 122, 97, 98,
			108, 101, 83, 101, 114, 105, 97, 108, 105, 122,
			101, 114, 0, 0, 0, 0, 46, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 85, 115, 101, 114, 78, 101, 116, 119, 111,
			114, 107, 86, 97, 114, 105, 97, 98, 108, 101,
			83, 101, 114, 105, 97, 108, 105, 122, 97, 116,
			105, 111, 110, 0, 0, 0, 0, 32, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 70, 97, 108, 108, 98, 97, 99, 107,
			83, 101, 114, 105, 97, 108, 105, 122, 101, 114,
			0, 0, 0, 0, 47, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 78,
			101, 116, 119, 111, 114, 107, 86, 97, 114, 105,
			97, 98, 108, 101, 83, 101, 114, 105, 97, 108,
			105, 122, 97, 116, 105, 111, 110, 84, 121, 112,
			101, 115, 0, 0, 0, 0, 42, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 78, 101, 116, 119, 111, 114, 107, 86, 97,
			114, 105, 97, 98, 108, 101, 83, 101, 114, 105,
			97, 108, 105, 122, 97, 116, 105, 111, 110, 0,
			0, 0, 0, 28, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 80, 114,
			111, 102, 105, 108, 105, 110, 103, 72, 111, 111,
			107, 115, 0, 0, 0, 0, 40, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 68, 101, 102, 97, 117, 108, 116, 83, 99,
			101, 110, 101, 77, 97, 110, 97, 103, 101, 114,
			72, 97, 110, 100, 108, 101, 114, 0, 0, 0,
			0, 51, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 46, 68, 101, 102, 97,
			117, 108, 116, 83, 99, 101, 110, 101, 77, 97,
			110, 97, 103, 101, 114, 72, 97, 110, 100, 108,
			101, 114, 124, 83, 99, 101, 110, 101, 69, 110,
			116, 114, 121, 0, 0, 0, 0, 34, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 73, 83, 99, 101, 110, 101, 77, 97,
			110, 97, 103, 101, 114, 72, 97, 110, 100, 108,
			101, 114, 0, 0, 0, 0, 24, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 83, 99, 101, 110, 101, 69, 118, 101, 110,
			116, 0, 0, 0, 0, 33, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			78, 101, 116, 119, 111, 114, 107, 83, 99, 101,
			110, 101, 77, 97, 110, 97, 103, 101, 114, 0,
			0, 0, 0, 57, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 78, 101,
			116, 119, 111, 114, 107, 83, 99, 101, 110, 101,
			77, 97, 110, 97, 103, 101, 114, 124, 83, 99,
			101, 110, 101, 85, 110, 108, 111, 97, 100, 69,
			118, 101, 110, 116, 72, 97, 110, 100, 108, 101,
			114, 0, 0, 0, 0, 59, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			78, 101, 116, 119, 111, 114, 107, 83, 99, 101,
			110, 101, 77, 97, 110, 97, 103, 101, 114, 124,
			68, 101, 102, 101, 114, 114, 101, 100, 79, 98,
			106, 101, 99, 116, 115, 77, 111, 118, 101, 100,
			69, 118, 101, 110, 116, 0, 0, 0, 0, 28,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 83, 99, 101, 110, 101, 69,
			118, 101, 110, 116, 68, 97, 116, 97, 0, 0,
			0, 0, 32, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 83, 99, 101,
			110, 101, 69, 118, 101, 110, 116, 80, 114, 111,
			103, 114, 101, 115, 115, 0, 0, 0, 0, 24,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 65, 114, 105, 116, 104, 109,
			101, 116, 105, 99, 0, 0, 0, 0, 24, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 66, 105, 116, 67, 111, 117, 110,
			116, 101, 114, 0, 0, 0, 0, 23, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 66, 105, 116, 82, 101, 97, 100, 101,
			114, 0, 0, 0, 0, 23, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			66, 105, 116, 87, 114, 105, 116, 101, 114, 0,
			0, 0, 0, 30, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 66, 117,
			102, 102, 101, 114, 83, 101, 114, 105, 97, 108,
			105, 122, 101, 114, 0, 0, 0, 0, 36, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 66, 117, 102, 102, 101, 114, 83,
			101, 114, 105, 97, 108, 105, 122, 101, 114, 82,
			101, 97, 100, 101, 114, 0, 0, 0, 0, 36,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 66, 117, 102, 102, 101, 114,
			83, 101, 114, 105, 97, 108, 105, 122, 101, 114,
			87, 114, 105, 116, 101, 114, 0, 0, 0, 0,
			24, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 66, 121, 116, 101, 80,
			97, 99, 107, 101, 114, 0, 0, 0, 0, 26,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 66, 121, 116, 101, 85, 110,
			112, 97, 99, 107, 101, 114, 0, 0, 0, 0,
			25, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 66, 121, 116, 101, 85,
			116, 105, 108, 105, 116, 121, 0, 0, 0, 0,
			30, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 70, 97, 115, 116, 66,
			117, 102, 102, 101, 114, 82, 101, 97, 100, 101,
			114, 0, 0, 0, 0, 27, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			124, 82, 101, 97, 100, 101, 114, 72, 97, 110,
			100, 108, 101, 0, 0, 0, 0, 30, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 124, 70, 97, 115, 116, 66, 117, 102, 102,
			101, 114, 87, 114, 105, 116, 101, 114, 0, 0,
			0, 0, 27, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 46, 124, 87, 114,
			105, 116, 101, 114, 72, 97, 110, 100, 108, 101,
			0, 0, 0, 0, 28, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 46, 124,
			70, 111, 114, 80, 114, 105, 109, 105, 116, 105,
			118, 101, 115, 0, 0, 0, 0, 23, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 46, 124, 70, 111, 114, 69, 110, 117, 109,
			115, 0, 0, 0, 0, 25, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			124, 70, 111, 114, 83, 116, 114, 117, 99, 116,
			115, 0, 0, 0, 0, 37, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			124, 70, 111, 114, 78, 101, 116, 119, 111, 114,
			107, 83, 101, 114, 105, 97, 108, 105, 122, 97,
			98, 108, 101, 0, 0, 0, 0, 30, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 46, 124, 70, 111, 114, 70, 105, 120, 101,
			100, 83, 116, 114, 105, 110, 103, 115, 0, 0,
			0, 0, 25, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 46, 124, 70, 111,
			114, 71, 101, 110, 101, 114, 105, 99, 0, 0,
			0, 0, 43, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 70, 111, 114,
			99, 101, 78, 101, 116, 119, 111, 114, 107, 83,
			101, 114, 105, 97, 108, 105, 122, 101, 66, 121,
			77, 101, 109, 99, 112, 121, 0, 0, 0, 0,
			34, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 73, 78, 101, 116, 119,
			111, 114, 107, 83, 101, 114, 105, 97, 108, 105,
			122, 97, 98, 108, 101, 0, 0, 0, 0, 39,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 73, 78, 101, 116, 119, 111,
			114, 107, 83, 101, 114, 105, 97, 108, 105, 122,
			101, 66, 121, 77, 101, 109, 99, 112, 121, 0,
			0, 0, 0, 27, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 73, 82,
			101, 97, 100, 101, 114, 87, 114, 105, 116, 101,
			114, 0, 0, 0, 0, 22, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			66, 121, 116, 101, 66, 111, 111, 108, 0, 0,
			0, 0, 23, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 85, 73, 110,
			116, 70, 108, 111, 97, 116, 0, 0, 0, 0,
			39, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 78, 101, 116, 119, 111,
			114, 107, 66, 101, 104, 97, 118, 105, 111, 117,
			114, 82, 101, 102, 101, 114, 101, 110, 99, 101,
			0, 0, 0, 0, 36, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 78,
			101, 116, 119, 111, 114, 107, 79, 98, 106, 101,
			99, 116, 82, 101, 102, 101, 114, 101, 110, 99,
			101, 0, 0, 0, 0, 43, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 124,
			73, 78, 101, 116, 119, 111, 114, 107, 80, 114,
			101, 102, 97, 98, 73, 110, 115, 116, 97, 110,
			99, 101, 72, 97, 110, 100, 108, 101, 114, 0,
			0, 0, 0, 34, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 124, 78, 101,
			116, 119, 111, 114, 107, 80, 114, 101, 102, 97,
			98, 72, 97, 110, 100, 108, 101, 114, 0, 0,
			0, 0, 33, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 101, 116,
			119, 111, 114, 107, 83, 112, 97, 119, 110, 77,
			97, 110, 97, 103, 101, 114, 0, 0, 0, 0,
			31, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 124, 82, 101, 108, 101, 97,
			115, 101, 100, 78, 101, 116, 119, 111, 114, 107,
			73, 100, 0, 0, 0, 0, 31, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			124, 73, 82, 101, 97, 108, 84, 105, 109, 101,
			80, 114, 111, 118, 105, 100, 101, 114, 0, 0,
			0, 0, 31, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 124, 78, 101, 116,
			119, 111, 114, 107, 84, 105, 99, 107, 83, 121,
			115, 116, 101, 109, 0, 0, 0, 0, 25, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 78, 101, 116, 119, 111, 114, 107,
			84, 105, 109, 101, 0, 0, 0, 0, 31, 85,
			110, 105, 116, 121, 46, 78, 101, 116, 99, 111,
			100, 101, 124, 78, 101, 116, 119, 111, 114, 107,
			84, 105, 109, 101, 83, 121, 115, 116, 101, 109,
			0, 0, 0, 0, 30, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 124, 82,
			101, 97, 108, 84, 105, 109, 101, 80, 114, 111,
			118, 105, 100, 101, 114, 0, 0, 0, 0, 30,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 124, 78, 101, 116, 119, 111, 114,
			107, 84, 114, 97, 110, 115, 112, 111, 114, 116,
			0, 0, 0, 0, 48, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 46, 84,
			114, 97, 110, 115, 112, 111, 114, 116, 115, 46,
			85, 84, 80, 124, 66, 97, 116, 99, 104, 101,
			100, 82, 101, 99, 101, 105, 118, 101, 81, 117,
			101, 117, 101, 0, 0, 0, 0, 45, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 46, 84, 114, 97, 110, 115, 112, 111, 114,
			116, 115, 46, 85, 84, 80, 124, 66, 97, 116,
			99, 104, 101, 100, 83, 101, 110, 100, 81, 117,
			101, 117, 101, 0, 0, 0, 0, 50, 85, 110,
			105, 116, 121, 46, 78, 101, 116, 99, 111, 100,
			101, 46, 84, 114, 97, 110, 115, 112, 111, 114,
			116, 115, 46, 85, 84, 80, 124, 78, 101, 116,
			119, 111, 114, 107, 77, 101, 116, 114, 105, 99,
			115, 67, 111, 110, 116, 101, 120, 116, 0, 0,
			0, 0, 56, 85, 110, 105, 116, 121, 46, 78,
			101, 116, 99, 111, 100, 101, 46, 84, 114, 97,
			110, 115, 112, 111, 114, 116, 115, 46, 85, 84,
			80, 124, 78, 101, 116, 119, 111, 114, 107, 77,
			101, 116, 114, 105, 99, 115, 80, 105, 112, 101,
			108, 105, 110, 101, 83, 116, 97, 103, 101, 0,
			0, 0, 0, 48, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 115, 46, 85,
			84, 80, 124, 83, 101, 99, 114, 101, 116, 115,
			76, 111, 97, 100, 101, 114, 72, 101, 108, 112,
			101, 114, 0, 0, 0, 0, 62, 85, 110, 105,
			116, 121, 46, 78, 101, 116, 99, 111, 100, 101,
			46, 84, 114, 97, 110, 115, 112, 111, 114, 116,
			115, 46, 85, 84, 80, 46, 83, 101, 99, 114,
			101, 116, 115, 76, 111, 97, 100, 101, 114, 72,
			101, 108, 112, 101, 114, 124, 83, 101, 114, 118,
			101, 114, 83, 101, 99, 114, 101, 116, 115, 0,
			0, 0, 0, 62, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 115, 46, 85,
			84, 80, 46, 83, 101, 99, 114, 101, 116, 115,
			76, 111, 97, 100, 101, 114, 72, 101, 108, 112,
			101, 114, 124, 67, 108, 105, 101, 110, 116, 83,
			101, 99, 114, 101, 116, 115, 0, 0, 0, 0,
			60, 85, 110, 105, 116, 121, 46, 78, 101, 116,
			99, 111, 100, 101, 46, 84, 114, 97, 110, 115,
			112, 111, 114, 116, 115, 46, 85, 84, 80, 124,
			73, 78, 101, 116, 119, 111, 114, 107, 83, 116,
			114, 101, 97, 109, 68, 114, 105, 118, 101, 114,
			67, 111, 110, 115, 116, 114, 117, 99, 116, 111,
			114, 0, 0, 0, 0, 43, 85, 110, 105, 116,
			121, 46, 78, 101, 116, 99, 111, 100, 101, 46,
			84, 114, 97, 110, 115, 112, 111, 114, 116, 115,
			46, 85, 84, 80, 124, 69, 114, 114, 111, 114,
			85, 116, 105, 108, 105, 116, 105, 101, 115, 0,
			0, 0, 0, 43, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 115, 46, 85,
			84, 80, 124, 85, 110, 105, 116, 121, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 0, 0, 0,
			0, 65, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 46, 84, 114, 97, 110,
			115, 112, 111, 114, 116, 115, 46, 85, 84, 80,
			46, 85, 110, 105, 116, 121, 84, 114, 97, 110,
			115, 112, 111, 114, 116, 124, 67, 111, 110, 110,
			101, 99, 116, 105, 111, 110, 65, 100, 100, 114,
			101, 115, 115, 68, 97, 116, 97, 0, 0, 0,
			0, 63, 85, 110, 105, 116, 121, 46, 78, 101,
			116, 99, 111, 100, 101, 46, 84, 114, 97, 110,
			115, 112, 111, 114, 116, 115, 46, 85, 84, 80,
			46, 85, 110, 105, 116, 121, 84, 114, 97, 110,
			115, 112, 111, 114, 116, 124, 83, 105, 109, 117,
			108, 97, 116, 111, 114, 80, 97, 114, 97, 109,
			101, 116, 101, 114, 115, 0, 0, 0, 0, 59,
			85, 110, 105, 116, 121, 46, 78, 101, 116, 99,
			111, 100, 101, 46, 84, 114, 97, 110, 115, 112,
			111, 114, 116, 115, 46, 85, 84, 80, 46, 85,
			110, 105, 116, 121, 84, 114, 97, 110, 115, 112,
			111, 114, 116, 124, 80, 97, 99, 107, 101, 116,
			76, 111, 115, 115, 67, 97, 99, 104, 101, 0,
			0, 0, 0, 66, 85, 110, 105, 116, 121, 46,
			78, 101, 116, 99, 111, 100, 101, 46, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 115, 46, 85,
			84, 80, 46, 85, 110, 105, 116, 121, 84, 114,
			97, 110, 115, 112, 111, 114, 116, 124, 83, 101,
			110, 100, 66, 97, 116, 99, 104, 101, 100, 77,
			101, 115, 115, 97, 103, 101, 115, 74, 111, 98,
			0, 0, 0, 0, 54, 85, 110, 105, 116, 121,
			46, 78, 101, 116, 99, 111, 100, 101, 46, 84,
			114, 97, 110, 115, 112, 111, 114, 116, 115, 46,
			85, 84, 80, 46, 85, 110, 105, 116, 121, 84,
			114, 97, 110, 115, 112, 111, 114, 116, 124, 83,
			101, 110, 100, 84, 97, 114, 103, 101, 116
		};
		result.TotalFiles = 104;
		result.TotalTypes = 177;
		result.IsEditorOnly = false;
		return result;
	}
}
namespace Unity.Netcode
{
	public enum HashSize : byte
	{
		VarIntFourBytes,
		VarIntEightBytes
	}
	[Serializable]
	public class NetworkConfig
	{
		[Tooltip("Use this to make two builds incompatible with each other")]
		public ushort ProtocolVersion;

		[Tooltip("The NetworkTransport to use")]
		public NetworkTransport NetworkTransport;

		[Tooltip("When set, NetworkManager will automatically create and spawn the assigned player prefab. This can be overridden by adding it to the NetworkPrefabs list and selecting override.")]
		public GameObject PlayerPrefab;

		[SerializeField]
		public NetworkPrefabs Prefabs = new NetworkPrefabs();

		[Tooltip("The tickrate. This value controls how often netcode runs user code and sends out data. The value is in 'ticks per seconds' which means a value of 50 will result in 50 ticks being executed per second or a fixed delta time of 0.02.")]
		public uint TickRate = 30u;

		[Tooltip("The amount of seconds for the server to wait for the connection approval handshake to complete before the client is disconnected")]
		public int ClientConnectionBufferTimeout = 10;

		[Tooltip("Whether or not to force clients to be approved before they connect")]
		public bool ConnectionApproval;

		[Tooltip("The connection data sent along with connection requests")]
		public byte[] ConnectionData = new byte[0];

		[Tooltip("Enable this to re-sync the NetworkTime after the initial sync")]
		public bool EnableTimeResync;

		[Tooltip("The amount of seconds between re-syncs of NetworkTime, if enabled")]
		public int TimeResyncInterval = 30;

		[Tooltip("Ensures that NetworkVariables can be read even if a client accidental writes where its not allowed to. This will cost some CPU time and bandwidth")]
		public bool EnsureNetworkVariableLengthSafety;

		[Tooltip("Enables scene management. This will allow network scene switches and automatic scene difference corrections upon connect.\nSoftSynced scene objects wont work with this disabled. That means that disabling SceneManagement also enables PrefabSync.")]
		public bool EnableSceneManagement = true;

		[Tooltip("Whether or not the netcode should check for differences in the prefab lists at connection")]
		public bool ForceSamePrefabs = true;

		[Tooltip("If true, NetworkIds will be reused after the NetworkIdRecycleDelay")]
		public bool RecycleNetworkIds = true;

		[Tooltip("The amount of seconds a NetworkId has to unused in order for it to be reused")]
		public float NetworkIdRecycleDelay = 120f;

		[Tooltip("The maximum amount of bytes to use for RPC messages.")]
		public HashSize RpcHashSize;

		[Tooltip("The amount of seconds to wait for all clients to load or unload a requested scene (only when EnableSceneManagement is enabled)")]
		public int LoadSceneTimeOut = 120;

		[Tooltip("The amount of time a message should be buffered if the asset or object needed to process it doesn't exist yet. If the asset is not added/object is not spawned within this time, it will be dropped")]
		public float SpawnTimeout = 1f;

		public bool EnableNetworkLogs = true;

		public const int RttAverageSamples = 5;

		public const int RttWindowSize = 64;

		private ulong? m_ConfigHash;

		[NonSerialized]
		private bool m_DidWarnOldPrefabList;

		[FormerlySerializedAs("NetworkPrefabs")]
		[SerializeField]
		internal List<NetworkPrefab> OldPrefabList;

		public string ToBase64()
		{
			FastBufferWriter fastBufferWriter = new FastBufferWriter(1024, (Allocator)2);
			using (fastBufferWriter)
			{
				fastBufferWriter.WriteValueSafe(in ProtocolVersion, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in TickRate, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in ClientConnectionBufferTimeout, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in ConnectionApproval, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in LoadSceneTimeOut, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in EnableTimeResync, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in EnsureNetworkVariableLengthSafety, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in RpcHashSize, default(FastBufferWriter.ForEnums));
				fastBufferWriter.WriteValueSafe(in ForceSamePrefabs, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in EnableSceneManagement, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in RecycleNetworkIds, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in NetworkIdRecycleDelay, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in EnableNetworkLogs, default(FastBufferWriter.ForPrimitives));
				return Convert.ToBase64String(fastBufferWriter.ToArray());
			}
		}

		public void FromBase64(string base64)
		{
			byte[] buffer = Convert.FromBase64String(base64);
			using FastBufferReader fastBufferReader = new FastBufferReader(buffer, (Allocator)2);
			using (fastBufferReader)
			{
				fastBufferReader.ReadValueSafe(out ProtocolVersion, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out TickRate, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out ClientConnectionBufferTimeout, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out ConnectionApproval, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out LoadSceneTimeOut, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out EnableTimeResync, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out EnsureNetworkVariableLengthSafety, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out RpcHashSize, default(FastBufferWriter.ForEnums));
				fastBufferReader.ReadValueSafe(out ForceSamePrefabs, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out EnableSceneManagement, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out RecycleNetworkIds, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out NetworkIdRecycleDelay, default(FastBufferWriter.ForPrimitives));
				fastBufferReader.ReadValueSafe(out EnableNetworkLogs, default(FastBufferWriter.ForPrimitives));
			}
		}

		internal void ClearConfigHash()
		{
			m_ConfigHash = null;
		}

		public ulong GetConfig(bool cache = true)
		{
			if (m_ConfigHash.HasValue && cache)
			{
				return m_ConfigHash.Value;
			}
			FastBufferWriter fastBufferWriter = new FastBufferWriter(1024, (Allocator)2, int.MaxValue);
			using (fastBufferWriter)
			{
				fastBufferWriter.WriteValueSafe(in ProtocolVersion, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe("15.0.0");
				if (ForceSamePrefabs)
				{
					foreach (KeyValuePair<uint, NetworkPrefab> item in Prefabs.NetworkPrefabOverrideLinks.OrderBy((KeyValuePair<uint, NetworkPrefab> x) => x.Key))
					{
						uint value = item.Key;
						fastBufferWriter.WriteValueSafe(in value, default(FastBufferWriter.ForPrimitives));
					}
				}
				fastBufferWriter.WriteValueSafe(in TickRate, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in ConnectionApproval, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in ForceSamePrefabs, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in EnableSceneManagement, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in EnsureNetworkVariableLengthSafety, default(FastBufferWriter.ForPrimitives));
				fastBufferWriter.WriteValueSafe(in RpcHashSize, default(FastBufferWriter.ForEnums));
				if (cache)
				{
					m_ConfigHash = fastBufferWriter.ToArray().Hash64();
					return m_ConfigHash.Value;
				}
				return fastBufferWriter.ToArray().Hash64();
			}
		}

		public bool CompareConfig(ulong hash)
		{
			return hash == GetConfig();
		}

		internal void InitializePrefabs()
		{
			if (HasOldPrefabList())
			{
				MigrateOldNetworkPrefabsToNetworkPrefabsList();
			}
			Prefabs.Initialize();
		}

		private void WarnOldPrefabList()
		{
			if (!m_DidWarnOldPrefabList)
			{
				Debug.LogWarning((object)"Using Legacy Network Prefab List. Consider Migrating.");
				m_DidWarnOldPrefabList = true;
			}
		}

		internal bool HasOldPrefabList()
		{
			List<NetworkPrefab> oldPrefabList = OldPrefabList;
			if (oldPrefabList == null)
			{
				return false;
			}
			return oldPrefabList.Count > 0;
		}

		internal NetworkPrefabsList MigrateOldNetworkPrefabsToNetworkPrefabsList()
		{
			if (OldPrefabList == null || OldPrefabList.Count == 0)
			{
				return null;
			}
			if (Prefabs == null)
			{
				throw new Exception("Prefabs field is null.");
			}
			Prefabs.NetworkPrefabsLists.Add(ScriptableObject.CreateInstance<NetworkPrefabsList>());
			List<NetworkPrefab> oldPrefabList = OldPrefabList;
			if (oldPrefabList != null && oldPrefabList.Count > 0)
			{
				foreach (NetworkPrefab oldPrefab in OldPrefabList)
				{
					Prefabs.NetworkPrefabsLists[Prefabs.NetworkPrefabsLists.Count - 1].Add(oldPrefab);
				}
			}
			OldPrefabList = null;
			return Prefabs.NetworkPrefabsLists[Prefabs.NetworkPrefabsLists.Count - 1];
		}
	}
	internal static class NetworkConstants
	{
		internal const string PROTOCOL_VERSION = "15.0.0";
	}
	public enum NetworkPrefabOverride
	{
		None,
		Prefab,
		Hash
	}
	[Serializable]
	public class NetworkPrefab
	{
		public NetworkPrefabOverride Override;

		public GameObject Prefab;

		public GameObject SourcePrefabToOverride;

		public uint SourceHashToOverride;

		public GameObject OverridingTargetPrefab;

		public uint SourcePrefabGlobalObjectIdHash
		{
			get
			{
				switch (Override)
				{
				case NetworkPrefabOverride.None:
				{
					NetworkObject networkObject2 = default(NetworkObject);
					if ((Object)(object)Prefab != (Object)null && Prefab.TryGetComponent<NetworkObject>(ref networkObject2))
					{
						return networkObject2.GlobalObjectIdHash;
					}
					throw new InvalidOperationException("Prefab field is not set or is not a NetworkObject");
				}
				case NetworkPrefabOverride.Prefab:
				{
					NetworkObject networkObject = default(NetworkObject);
					if ((Object)(object)SourcePrefabToOverride != (Object)null && SourcePrefabToOverride.TryGetComponent<NetworkObject>(ref networkObject))
					{
						return networkObject.GlobalObjectIdHash;
					}
					throw new InvalidOperationException("Source Prefab field is not set or is not a NetworkObject");
				}
				case NetworkPrefabOverride.Hash:
					return SourceHashToOverride;
				default:
					throw new ArgumentOutOfRangeException();
				}
			}
		}

		public uint TargetPrefabGlobalObjectIdHash
		{
			get
			{
				switch (Override)
				{
				case NetworkPrefabOverride.None:
					return 0u;
				case NetworkPrefabOverride.Prefab:
				case NetworkPrefabOverride.Hash:
				{
					NetworkObject networkObject = default(NetworkObject);
					if ((Object)(object)OverridingTargetPrefab != (Object)null && OverridingTargetPr

FantasiaSquadPT2/bin/Debug/netstandard2.1/UnityEngine.UI.dll

Decompiled a month ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.Experimental.Rendering;
using UnityEngine.Pool;
using UnityEngine.Rendering;
using UnityEngine.Serialization;
using UnityEngine.Sprites;
using UnityEngine.Tilemaps;
using UnityEngine.U2D;
using UnityEngine.UI;
using UnityEngine.UI.Collections;
using UnityEngine.UI.CoroutineTween;
using UnityEngine.UIElements;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: InternalsVisibleTo("Unity.ShaderGraph.Editor")]
[assembly: AssemblyTitle("guisystem")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("guisystem")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2013")]
[assembly: AssemblyTrademark("")]
[assembly: InternalsVisibleTo("UnityEngine.UI.Tests")]
[assembly: ComVisible(false)]
[assembly: Guid("d4f464c7-9b15-460d-b4bc-2cacd1c1df73")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.0.0")]
[CompilerGenerated]
[EditorBrowsable(EditorBrowsableState.Never)]
[GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)]
internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1
{
	private struct MonoScriptData
	{
		public byte[] FilePathsData;

		public byte[] TypesData;

		public int TotalTypes;

		public int TotalFiles;

		public bool IsEditorOnly;
	}

	[MethodImpl(MethodImplOptions.AggressiveInlining)]
	private static MonoScriptData Get()
	{
		MonoScriptData result = default(MonoScriptData);
		result.FilePathsData = new byte[7294]
		{
			0, 0, 0, 1, 0, 0, 0, 145, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			115, 104, 97, 100, 101, 114, 103, 114, 97, 112,
			104, 64, 49, 52, 46, 48, 46, 56, 92, 69,
			100, 105, 116, 111, 114, 92, 71, 101, 110, 101,
			114, 97, 116, 105, 111, 110, 92, 84, 97, 114,
			103, 101, 116, 115, 92, 66, 117, 105, 108, 116,
			73, 110, 92, 69, 100, 105, 116, 111, 114, 92,
			83, 104, 97, 100, 101, 114, 71, 85, 73, 92,
			77, 97, 116, 101, 114, 105, 97, 108, 65, 115,
			115, 101, 109, 98, 108, 121, 82, 101, 102, 101,
			114, 101, 110, 99, 101, 92, 82, 97, 119, 82,
			101, 110, 100, 101, 114, 81, 117, 101, 117, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			89, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 69, 118, 101, 110, 116, 83, 121, 115,
			116, 101, 109, 92, 69, 118, 101, 110, 116, 68,
			97, 116, 97, 92, 65, 120, 105, 115, 69, 118,
			101, 110, 116, 68, 97, 116, 97, 46, 99, 115,
			0, 0, 0, 2, 0, 0, 0, 89, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			92, 69, 118, 101, 110, 116, 68, 97, 116, 97,
			92, 66, 97, 115, 101, 69, 118, 101, 110, 116,
			68, 97, 116, 97, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 92, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 92, 69, 118,
			101, 110, 116, 68, 97, 116, 97, 92, 80, 111,
			105, 110, 116, 101, 114, 69, 118, 101, 110, 116,
			68, 97, 116, 97, 46, 99, 115, 0, 0, 0,
			19, 0, 0, 0, 81, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 92, 69, 118,
			101, 110, 116, 73, 110, 116, 101, 114, 102, 97,
			99, 101, 115, 46, 99, 115, 0, 0, 0, 2,
			0, 0, 0, 77, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 117, 103, 117, 105,
			64, 49, 46, 48, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 92, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 46, 99,
			115, 0, 0, 0, 3, 0, 0, 0, 78, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			69, 118, 101, 110, 116, 83, 121, 115, 116, 101,
			109, 92, 69, 118, 101, 110, 116, 84, 114, 105,
			103, 103, 101, 114, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 79, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 92, 69, 120,
			101, 99, 117, 116, 101, 69, 118, 101, 110, 116,
			115, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 88, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 92, 73, 110, 112, 117, 116,
			77, 111, 100, 117, 108, 101, 115, 92, 66, 97,
			115, 101, 73, 110, 112, 117, 116, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 94, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			92, 73, 110, 112, 117, 116, 77, 111, 100, 117,
			108, 101, 115, 92, 66, 97, 115, 101, 73, 110,
			112, 117, 116, 77, 111, 100, 117, 108, 101, 46,
			99, 115, 0, 0, 0, 4, 0, 0, 0, 97,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 117, 103, 117, 105, 64, 49, 46, 48,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 92, 73, 110, 112, 117, 116, 77, 111,
			100, 117, 108, 101, 115, 92, 80, 111, 105, 110,
			116, 101, 114, 73, 110, 112, 117, 116, 77, 111,
			100, 117, 108, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 100, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 92, 73, 110,
			112, 117, 116, 77, 111, 100, 117, 108, 101, 115,
			92, 83, 116, 97, 110, 100, 97, 108, 111, 110,
			101, 73, 110, 112, 117, 116, 77, 111, 100, 117,
			108, 101, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 95, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 69, 118, 101, 110, 116, 83,
			121, 115, 116, 101, 109, 92, 73, 110, 112, 117,
			116, 77, 111, 100, 117, 108, 101, 115, 92, 84,
			111, 117, 99, 104, 73, 110, 112, 117, 116, 77,
			111, 100, 117, 108, 101, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 82, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 92, 82,
			97, 121, 99, 97, 115, 116, 101, 114, 77, 97,
			110, 97, 103, 101, 114, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 90, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 92, 82,
			97, 121, 99, 97, 115, 116, 101, 114, 115, 92,
			66, 97, 115, 101, 82, 97, 121, 99, 97, 115,
			116, 101, 114, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 95, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 117, 103, 117, 105,
			64, 49, 46, 48, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 92, 82, 97, 121,
			99, 97, 115, 116, 101, 114, 115, 92, 80, 104,
			121, 115, 105, 99, 115, 50, 68, 82, 97, 121,
			99, 97, 115, 116, 101, 114, 46, 99, 115, 0,
			0, 0, 2, 0, 0, 0, 93, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 69, 118,
			101, 110, 116, 83, 121, 115, 116, 101, 109, 92,
			82, 97, 121, 99, 97, 115, 116, 101, 114, 115,
			92, 80, 104, 121, 115, 105, 99, 115, 82, 97,
			121, 99, 97, 115, 116, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 79, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			92, 82, 97, 121, 99, 97, 115, 116, 82, 101,
			115, 117, 108, 116, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 77, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 92, 85, 73,
			66, 101, 104, 97, 118, 105, 111, 117, 114, 46,
			99, 115, 0, 0, 0, 2, 0, 0, 0, 94,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 117, 103, 117, 105, 64, 49, 46, 48,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 92, 85, 73, 69, 108, 101, 109, 101,
			110, 116, 115, 92, 80, 97, 110, 101, 108, 69,
			118, 101, 110, 116, 72, 97, 110, 100, 108, 101,
			114, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 91, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 92, 85, 73, 69, 108, 101,
			109, 101, 110, 116, 115, 92, 80, 97, 110, 101,
			108, 82, 97, 121, 99, 97, 115, 116, 101, 114,
			46, 99, 115, 0, 0, 0, 6, 0, 0, 0,
			81, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 85, 73, 92, 65, 110, 105, 109, 97,
			116, 105, 111, 110, 92, 67, 111, 114, 111, 117,
			116, 105, 110, 101, 84, 119, 101, 101, 110, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 79,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 117, 103, 117, 105, 64, 49, 46, 48,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 85, 73, 92, 67, 111, 114, 101, 92, 65,
			110, 105, 109, 97, 116, 105, 111, 110, 84, 114,
			105, 103, 103, 101, 114, 115, 46, 99, 115, 0,
			0, 0, 2, 0, 0, 0, 68, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 66, 117, 116, 116,
			111, 110, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 82, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 67, 97, 110, 118, 97, 115, 85, 112,
			100, 97, 116, 101, 82, 101, 103, 105, 115, 116,
			114, 121, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 72, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 67, 111, 108, 111, 114, 66, 108, 111,
			99, 107, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 85, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 67, 117, 108, 108, 105, 110, 103, 92,
			67, 108, 105, 112, 112, 101, 114, 82, 101, 103,
			105, 115, 116, 114, 121, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 78, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 85, 73, 92,
			67, 111, 114, 101, 92, 67, 117, 108, 108, 105,
			110, 103, 92, 67, 108, 105, 112, 112, 105, 110,
			103, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 81, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 85, 73, 92, 67, 111, 114, 101,
			92, 67, 117, 108, 108, 105, 110, 103, 92, 73,
			67, 108, 105, 112, 82, 101, 103, 105, 111, 110,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			94, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 85, 73, 92, 67, 111, 114, 101, 92,
			67, 117, 108, 108, 105, 110, 103, 92, 82, 101,
			99, 116, 97, 110, 103, 117, 108, 97, 114, 86,
			101, 114, 116, 101, 120, 67, 108, 105, 112, 112,
			101, 114, 46, 99, 115, 0, 0, 0, 4, 0,
			0, 0, 77, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 68, 101, 102, 97, 117, 108, 116, 67,
			111, 110, 116, 114, 111, 108, 115, 46, 99, 115,
			0, 0, 0, 5, 0, 0, 0, 70, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 68, 114, 111,
			112, 100, 111, 119, 110, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 70, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 85, 73, 92,
			67, 111, 114, 101, 92, 70, 111, 110, 116, 68,
			97, 116, 97, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 79, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 117, 103, 117, 105,
			64, 49, 46, 48, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 85, 73, 92, 67, 111,
			114, 101, 92, 70, 111, 110, 116, 85, 112, 100,
			97, 116, 101, 84, 114, 97, 99, 107, 101, 114,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			69, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 85, 73, 92, 67, 111, 114, 101, 92,
			71, 114, 97, 112, 104, 105, 99, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 78, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 71, 114, 97,
			112, 104, 105, 99, 82, 97, 121, 99, 97, 115,
			116, 101, 114, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 77, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 117, 103, 117, 105,
			64, 49, 46, 48, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 85, 73, 92, 67, 111,
			114, 101, 92, 71, 114, 97, 112, 104, 105, 99,
			82, 101, 103, 105, 115, 116, 114, 121, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 85, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			85, 73, 92, 67, 111, 114, 101, 92, 73, 71,
			114, 97, 112, 104, 105, 99, 69, 110, 97, 98,
			108, 101, 100, 68, 105, 115, 97, 98, 108, 101,
			100, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 67, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 85, 73, 92, 67, 111, 114, 101,
			92, 73, 109, 97, 103, 101, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 67, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 73, 77, 97, 115,
			107, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 71, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 85, 73, 92, 67, 111, 114, 101,
			92, 73, 77, 97, 115, 107, 97, 98, 108, 101,
			46, 99, 115, 0, 0, 0, 4, 0, 0, 0,
			72, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 85, 73, 92, 67, 111, 114, 101, 92,
			73, 110, 112, 117, 116, 70, 105, 101, 108, 100,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			86, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 85, 73, 92, 67, 111, 114, 101, 92,
			76, 97, 121, 111, 117, 116, 92, 65, 115, 112,
			101, 99, 116, 82, 97, 116, 105, 111, 70, 105,
			116, 116, 101, 114, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 81, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 85, 73, 92, 67,
			111, 114, 101, 92, 76, 97, 121, 111, 117, 116,
			92, 67, 97, 110, 118, 97, 115, 83, 99, 97,
			108, 101, 114, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 86, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 117, 103, 117, 105,
			64, 49, 46, 48, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 85, 73, 92, 67, 111,
			114, 101, 92, 76, 97, 121, 111, 117, 116, 92,
			67, 111, 110, 116, 101, 110, 116, 83, 105, 122,
			101, 70, 105, 116, 116, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 84, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 76, 97, 121,
			111, 117, 116, 92, 71, 114, 105, 100, 76, 97,
			121, 111, 117, 116, 71, 114, 111, 117, 112, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 90,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 117, 103, 117, 105, 64, 49, 46, 48,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 85, 73, 92, 67, 111, 114, 101, 92, 76,
			97, 121, 111, 117, 116, 92, 72, 111, 114, 105,
			122, 111, 110, 116, 97, 108, 76, 97, 121, 111,
			117, 116, 71, 114, 111, 117, 112, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 100, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 76, 97, 121,
			111, 117, 116, 92, 72, 111, 114, 105, 122, 111,
			110, 116, 97, 108, 79, 114, 86, 101, 114, 116,
			105, 99, 97, 108, 76, 97, 121, 111, 117, 116,
			71, 114, 111, 117, 112, 46, 99, 115, 0, 0,
			0, 5, 0, 0, 0, 83, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 85, 73, 92,
			67, 111, 114, 101, 92, 76, 97, 121, 111, 117,
			116, 92, 73, 76, 97, 121, 111, 117, 116, 69,
			108, 101, 109, 101, 110, 116, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 82, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 76, 97, 121, 111,
			117, 116, 92, 76, 97, 121, 111, 117, 116, 69,
			108, 101, 109, 101, 110, 116, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 80, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 76, 97, 121, 111,
			117, 116, 92, 76, 97, 121, 111, 117, 116, 71,
			114, 111, 117, 112, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 84, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 85, 73, 92, 67,
			111, 114, 101, 92, 76, 97, 121, 111, 117, 116,
			92, 76, 97, 121, 111, 117, 116, 82, 101, 98,
			117, 105, 108, 100, 101, 114, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 82, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 76, 97, 121, 111,
			117, 116, 92, 76, 97, 121, 111, 117, 116, 85,
			116, 105, 108, 105, 116, 121, 46, 99, 115, 0,
			0, 0, 1, 0, 0, 0, 88, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 76, 97, 121, 111,
			117, 116, 92, 86, 101, 114, 116, 105, 99, 97,
			108, 76, 97, 121, 111, 117, 116, 71, 114, 111,
			117, 112, 46, 99, 115, 0, 0, 0, 1, 0,
			0, 0, 66, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 77, 97, 115, 107, 46, 99, 115, 0,
			0, 0, 2, 0, 0, 0, 77, 92, 76, 105,
			98, 114, 97, 114, 121, 92, 80, 97, 99, 107,
			97, 103, 101, 67, 97, 99, 104, 101, 92, 99,
			111, 109, 46, 117, 110, 105, 116, 121, 46, 117,
			103, 117, 105, 64, 49, 46, 48, 46, 48, 92,
			82, 117, 110, 116, 105, 109, 101, 92, 85, 73,
			92, 67, 111, 114, 101, 92, 77, 97, 115, 107,
			97, 98, 108, 101, 71, 114, 97, 112, 104, 105,
			99, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 75, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 85, 73, 92, 67, 111, 114, 101,
			92, 77, 97, 115, 107, 85, 116, 105, 108, 105,
			116, 105, 101, 115, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 97, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 85, 73, 92, 67,
			111, 114, 101, 92, 77, 97, 116, 101, 114, 105,
			97, 108, 77, 111, 100, 105, 102, 105, 101, 114,
			115, 92, 73, 77, 97, 116, 101, 114, 105, 97,
			108, 77, 111, 100, 105, 102, 105, 101, 114, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 66,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 117, 103, 117, 105, 64, 49, 46, 48,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 85, 73, 92, 67, 111, 114, 101, 92, 77,
			105, 115, 99, 46, 99, 115, 0, 0, 0, 1,
			0, 0, 0, 86, 92, 76, 105, 98, 114, 97,
			114, 121, 92, 80, 97, 99, 107, 97, 103, 101,
			67, 97, 99, 104, 101, 92, 99, 111, 109, 46,
			117, 110, 105, 116, 121, 46, 117, 103, 117, 105,
			64, 49, 46, 48, 46, 48, 92, 82, 117, 110,
			116, 105, 109, 101, 92, 85, 73, 92, 67, 111,
			114, 101, 92, 77, 117, 108, 116, 105, 112, 108,
			101, 68, 105, 115, 112, 108, 97, 121, 85, 116,
			105, 108, 105, 116, 105, 101, 115, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 72, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 78, 97, 118,
			105, 103, 97, 116, 105, 111, 110, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 70, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 82, 97, 119,
			73, 109, 97, 103, 101, 46, 99, 115, 0, 0,
			0, 1, 0, 0, 0, 72, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 85, 73, 92,
			67, 111, 114, 101, 92, 82, 101, 99, 116, 77,
			97, 115, 107, 50, 68, 46, 99, 115, 0, 0,
			0, 2, 0, 0, 0, 71, 92, 76, 105, 98,
			114, 97, 114, 121, 92, 80, 97, 99, 107, 97,
			103, 101, 67, 97, 99, 104, 101, 92, 99, 111,
			109, 46, 117, 110, 105, 116, 121, 46, 117, 103,
			117, 105, 64, 49, 46, 48, 46, 48, 92, 82,
			117, 110, 116, 105, 109, 101, 92, 85, 73, 92,
			67, 111, 114, 101, 92, 83, 99, 114, 111, 108,
			108, 98, 97, 114, 46, 99, 115, 0, 0, 0,
			2, 0, 0, 0, 72, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 85, 73, 92, 67,
			111, 114, 101, 92, 83, 99, 114, 111, 108, 108,
			82, 101, 99, 116, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 72, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 85, 73, 92, 67,
			111, 114, 101, 92, 83, 101, 108, 101, 99, 116,
			97, 98, 108, 101, 46, 99, 115, 0, 0, 0,
			1, 0, 0, 0, 80, 92, 76, 105, 98, 114,
			97, 114, 121, 92, 80, 97, 99, 107, 97, 103,
			101, 67, 97, 99, 104, 101, 92, 99, 111, 109,
			46, 117, 110, 105, 116, 121, 46, 117, 103, 117,
			105, 64, 49, 46, 48, 46, 48, 92, 82, 117,
			110, 116, 105, 109, 101, 92, 85, 73, 92, 67,
			111, 114, 101, 92, 83, 101, 116, 80, 114, 111,
			112, 101, 114, 116, 121, 85, 116, 105, 108, 105,
			116, 121, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 68, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 83, 108, 105, 100, 101, 114, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 95, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			85, 73, 92, 67, 111, 114, 101, 92, 83, 112,
			101, 99, 105, 97, 108, 105, 122, 101, 100, 67,
			111, 108, 108, 101, 99, 116, 105, 111, 110, 115,
			92, 73, 110, 100, 101, 120, 101, 100, 83, 101,
			116, 46, 99, 115, 0, 0, 0, 1, 0, 0,
			0, 73, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 85, 73, 92, 67, 111, 114, 101,
			92, 83, 112, 114, 105, 116, 101, 83, 116, 97,
			116, 101, 46, 99, 115, 0, 0, 0, 2, 0,
			0, 0, 77, 92, 76, 105, 98, 114, 97, 114,
			121, 92, 80, 97, 99, 107, 97, 103, 101, 67,
			97, 99, 104, 101, 92, 99, 111, 109, 46, 117,
			110, 105, 116, 121, 46, 117, 103, 117, 105, 64,
			49, 46, 48, 46, 48, 92, 82, 117, 110, 116,
			105, 109, 101, 92, 85, 73, 92, 67, 111, 114,
			101, 92, 83, 116, 101, 110, 99, 105, 108, 77,
			97, 116, 101, 114, 105, 97, 108, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 66, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 84, 101, 120,
			116, 46, 99, 115, 0, 0, 0, 2, 0, 0,
			0, 68, 92, 76, 105, 98, 114, 97, 114, 121,
			92, 80, 97, 99, 107, 97, 103, 101, 67, 97,
			99, 104, 101, 92, 99, 111, 109, 46, 117, 110,
			105, 116, 121, 46, 117, 103, 117, 105, 64, 49,
			46, 48, 46, 48, 92, 82, 117, 110, 116, 105,
			109, 101, 92, 85, 73, 92, 67, 111, 114, 101,
			92, 84, 111, 103, 103, 108, 101, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 73, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 84, 111, 103,
			103, 108, 101, 71, 114, 111, 117, 112, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 92, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			85, 73, 92, 67, 111, 114, 101, 92, 85, 116,
			105, 108, 105, 116, 121, 92, 82, 101, 102, 108,
			101, 99, 116, 105, 111, 110, 77, 101, 116, 104,
			111, 100, 115, 67, 97, 99, 104, 101, 46, 99,
			115, 0, 0, 0, 1, 0, 0, 0, 82, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			85, 73, 92, 67, 111, 114, 101, 92, 85, 116,
			105, 108, 105, 116, 121, 92, 86, 101, 114, 116,
			101, 120, 72, 101, 108, 112, 101, 114, 46, 99,
			115, 0, 0, 0, 2, 0, 0, 0, 92, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			85, 73, 92, 67, 111, 114, 101, 92, 86, 101,
			114, 116, 101, 120, 77, 111, 100, 105, 102, 105,
			101, 114, 115, 92, 66, 97, 115, 101, 77, 101,
			115, 104, 69, 102, 102, 101, 99, 116, 46, 99,
			115, 0, 0, 0, 2, 0, 0, 0, 91, 92,
			76, 105, 98, 114, 97, 114, 121, 92, 80, 97,
			99, 107, 97, 103, 101, 67, 97, 99, 104, 101,
			92, 99, 111, 109, 46, 117, 110, 105, 116, 121,
			46, 117, 103, 117, 105, 64, 49, 46, 48, 46,
			48, 92, 82, 117, 110, 116, 105, 109, 101, 92,
			85, 73, 92, 67, 111, 114, 101, 92, 86, 101,
			114, 116, 101, 120, 77, 111, 100, 105, 102, 105,
			101, 114, 115, 92, 73, 77, 101, 115, 104, 77,
			111, 100, 105, 102, 105, 101, 114, 46, 99, 115,
			0, 0, 0, 1, 0, 0, 0, 85, 92, 76,
			105, 98, 114, 97, 114, 121, 92, 80, 97, 99,
			107, 97, 103, 101, 67, 97, 99, 104, 101, 92,
			99, 111, 109, 46, 117, 110, 105, 116, 121, 46,
			117, 103, 117, 105, 64, 49, 46, 48, 46, 48,
			92, 82, 117, 110, 116, 105, 109, 101, 92, 85,
			73, 92, 67, 111, 114, 101, 92, 86, 101, 114,
			116, 101, 120, 77, 111, 100, 105, 102, 105, 101,
			114, 115, 92, 79, 117, 116, 108, 105, 110, 101,
			46, 99, 115, 0, 0, 0, 1, 0, 0, 0,
			91, 92, 76, 105, 98, 114, 97, 114, 121, 92,
			80, 97, 99, 107, 97, 103, 101, 67, 97, 99,
			104, 101, 92, 99, 111, 109, 46, 117, 110, 105,
			116, 121, 46, 117, 103, 117, 105, 64, 49, 46,
			48, 46, 48, 92, 82, 117, 110, 116, 105, 109,
			101, 92, 85, 73, 92, 67, 111, 114, 101, 92,
			86, 101, 114, 116, 101, 120, 77, 111, 100, 105,
			102, 105, 101, 114, 115, 92, 80, 111, 115, 105,
			116, 105, 111, 110, 65, 115, 85, 86, 49, 46,
			99, 115, 0, 0, 0, 1, 0, 0, 0, 84,
			92, 76, 105, 98, 114, 97, 114, 121, 92, 80,
			97, 99, 107, 97, 103, 101, 67, 97, 99, 104,
			101, 92, 99, 111, 109, 46, 117, 110, 105, 116,
			121, 46, 117, 103, 117, 105, 64, 49, 46, 48,
			46, 48, 92, 82, 117, 110, 116, 105, 109, 101,
			92, 85, 73, 92, 67, 111, 114, 101, 92, 86,
			101, 114, 116, 101, 120, 77, 111, 100, 105, 102,
			105, 101, 114, 115, 92, 83, 104, 97, 100, 111,
			119, 46, 99, 115
		};
		result.TypesData = new byte[5588]
		{
			0, 0, 0, 0, 56, 85, 110, 105, 116, 121,
			69, 100, 105, 116, 111, 114, 46, 82, 101, 110,
			100, 101, 114, 105, 110, 103, 46, 66, 117, 105,
			108, 116, 73, 110, 46, 83, 104, 97, 100, 101,
			114, 71, 114, 97, 112, 104, 124, 77, 97, 116,
			101, 114, 105, 97, 108, 65, 99, 99, 101, 115,
			115, 0, 0, 0, 0, 38, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 69, 118,
			101, 110, 116, 83, 121, 115, 116, 101, 109, 115,
			124, 65, 120, 105, 115, 69, 118, 101, 110, 116,
			68, 97, 116, 97, 0, 0, 0, 0, 42, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 115, 124, 65, 98, 115, 116, 114, 97,
			99, 116, 69, 118, 101, 110, 116, 68, 97, 116,
			97, 0, 0, 0, 0, 38, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 69, 118,
			101, 110, 116, 83, 121, 115, 116, 101, 109, 115,
			124, 66, 97, 115, 101, 69, 118, 101, 110, 116,
			68, 97, 116, 97, 0, 0, 0, 0, 41, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 115, 124, 80, 111, 105, 110, 116, 101,
			114, 69, 118, 101, 110, 116, 68, 97, 116, 97,
			0, 0, 0, 0, 44, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 124,
			73, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 72, 97, 110, 100, 108, 101, 114, 0,
			0, 0, 0, 44, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 115, 124, 73,
			80, 111, 105, 110, 116, 101, 114, 77, 111, 118,
			101, 72, 97, 110, 100, 108, 101, 114, 0, 0,
			0, 0, 45, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 115, 124, 73, 80,
			111, 105, 110, 116, 101, 114, 69, 110, 116, 101,
			114, 72, 97, 110, 100, 108, 101, 114, 0, 0,
			0, 0, 44, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 115, 124, 73, 80,
			111, 105, 110, 116, 101, 114, 69, 120, 105, 116,
			72, 97, 110, 100, 108, 101, 114, 0, 0, 0,
			0, 44, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 69, 118, 101, 110, 116, 83,
			121, 115, 116, 101, 109, 115, 124, 73, 80, 111,
			105, 110, 116, 101, 114, 68, 111, 119, 110, 72,
			97, 110, 100, 108, 101, 114, 0, 0, 0, 0,
			42, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 115, 124, 73, 80, 111, 105,
			110, 116, 101, 114, 85, 112, 72, 97, 110, 100,
			108, 101, 114, 0, 0, 0, 0, 45, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			69, 118, 101, 110, 116, 83, 121, 115, 116, 101,
			109, 115, 124, 73, 80, 111, 105, 110, 116, 101,
			114, 67, 108, 105, 99, 107, 72, 97, 110, 100,
			108, 101, 114, 0, 0, 0, 0, 42, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			69, 118, 101, 110, 116, 83, 121, 115, 116, 101,
			109, 115, 124, 73, 66, 101, 103, 105, 110, 68,
			114, 97, 103, 72, 97, 110, 100, 108, 101, 114,
			0, 0, 0, 0, 56, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 124,
			73, 73, 110, 105, 116, 105, 97, 108, 105, 122,
			101, 80, 111, 116, 101, 110, 116, 105, 97, 108,
			68, 114, 97, 103, 72, 97, 110, 100, 108, 101,
			114, 0, 0, 0, 0, 37, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 69, 118,
			101, 110, 116, 83, 121, 115, 116, 101, 109, 115,
			124, 73, 68, 114, 97, 103, 72, 97, 110, 100,
			108, 101, 114, 0, 0, 0, 0, 40, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			69, 118, 101, 110, 116, 83, 121, 115, 116, 101,
			109, 115, 124, 73, 69, 110, 100, 68, 114, 97,
			103, 72, 97, 110, 100, 108, 101, 114, 0, 0,
			0, 0, 37, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 115, 124, 73, 68,
			114, 111, 112, 72, 97, 110, 100, 108, 101, 114,
			0, 0, 0, 0, 39, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 124,
			73, 83, 99, 114, 111, 108, 108, 72, 97, 110,
			100, 108, 101, 114, 0, 0, 0, 0, 47, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 115, 124, 73, 85, 112, 100, 97, 116,
			101, 83, 101, 108, 101, 99, 116, 101, 100, 72,
			97, 110, 100, 108, 101, 114, 0, 0, 0, 0,
			39, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 115, 124, 73, 83, 101, 108,
			101, 99, 116, 72, 97, 110, 100, 108, 101, 114,
			0, 0, 0, 0, 41, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 124,
			73, 68, 101, 115, 101, 108, 101, 99, 116, 72,
			97, 110, 100, 108, 101, 114, 0, 0, 0, 0,
			37, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 115, 124, 73, 77, 111, 118,
			101, 72, 97, 110, 100, 108, 101, 114, 0, 0,
			0, 0, 39, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 115, 124, 73, 83,
			117, 98, 109, 105, 116, 72, 97, 110, 100, 108,
			101, 114, 0, 0, 0, 0, 39, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			115, 124, 73, 67, 97, 110, 99, 101, 108, 72,
			97, 110, 100, 108, 101, 114, 0, 0, 0, 0,
			36, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 115, 124, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 0, 0, 0,
			0, 60, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 69, 118, 101, 110, 116, 83,
			121, 115, 116, 101, 109, 115, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 124, 85,
			73, 84, 111, 111, 108, 107, 105, 116, 79, 118,
			101, 114, 114, 105, 100, 101, 67, 111, 110, 102,
			105, 103, 0, 0, 0, 0, 37, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			115, 124, 69, 118, 101, 110, 116, 84, 114, 105,
			103, 103, 101, 114, 0, 0, 0, 0, 50, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 115, 46, 69, 118, 101, 110, 116, 84,
			114, 105, 103, 103, 101, 114, 124, 84, 114, 105,
			103, 103, 101, 114, 69, 118, 101, 110, 116, 0,
			0, 0, 0, 43, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 115, 46, 69,
			118, 101, 110, 116, 84, 114, 105, 103, 103, 101,
			114, 124, 69, 110, 116, 114, 121, 0, 0, 0,
			0, 38, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 69, 118, 101, 110, 116, 83,
			121, 115, 116, 101, 109, 115, 124, 69, 120, 101,
			99, 117, 116, 101, 69, 118, 101, 110, 116, 115,
			0, 0, 0, 0, 34, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 124,
			66, 97, 115, 101, 73, 110, 112, 117, 116, 0,
			0, 0, 0, 40, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 69, 118, 101, 110,
			116, 83, 121, 115, 116, 101, 109, 115, 124, 66,
			97, 115, 101, 73, 110, 112, 117, 116, 77, 111,
			100, 117, 108, 101, 0, 0, 0, 0, 43, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 115, 124, 80, 111, 105, 110, 116, 101,
			114, 73, 110, 112, 117, 116, 77, 111, 100, 117,
			108, 101, 0, 0, 0, 0, 55, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			115, 46, 80, 111, 105, 110, 116, 101, 114, 73,
			110, 112, 117, 116, 77, 111, 100, 117, 108, 101,
			124, 66, 117, 116, 116, 111, 110, 83, 116, 97,
			116, 101, 0, 0, 0, 0, 54, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 69,
			118, 101, 110, 116, 83, 121, 115, 116, 101, 109,
			115, 46, 80, 111, 105, 110, 116, 101, 114, 73,
			110, 112, 117, 116, 77, 111, 100, 117, 108, 101,
			124, 77, 111, 117, 115, 101, 83, 116, 97, 116,
			101, 0, 0, 0, 0, 64, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 69, 118,
			101, 110, 116, 83, 121, 115, 116, 101, 109, 115,
			46, 80, 111, 105, 110, 116, 101, 114, 73, 110,
			112, 117, 116, 77, 111, 100, 117, 108, 101, 124,
			77, 111, 117, 115, 101, 66, 117, 116, 116, 111,
			110, 69, 118, 101, 110, 116, 68, 97, 116, 97,
			0, 0, 0, 0, 46, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 124,
			83, 116, 97, 110, 100, 97, 108, 111, 110, 101,
			73, 110, 112, 117, 116, 77, 111, 100, 117, 108,
			101, 0, 0, 0, 0, 41, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 69, 118,
			101, 110, 116, 83, 121, 115, 116, 101, 109, 115,
			124, 84, 111, 117, 99, 104, 73, 110, 112, 117,
			116, 77, 111, 100, 117, 108, 101, 0, 0, 0,
			0, 41, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 69, 118, 101, 110, 116, 83,
			121, 115, 116, 101, 109, 115, 124, 82, 97, 121,
			99, 97, 115, 116, 101, 114, 77, 97, 110, 97,
			103, 101, 114, 0, 0, 0, 0, 38, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			69, 118, 101, 110, 116, 83, 121, 115, 116, 101,
			109, 115, 124, 66, 97, 115, 101, 82, 97, 121,
			99, 97, 115, 116, 101, 114, 0, 0, 0, 0,
			43, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 69, 118, 101, 110, 116, 83, 121,
			115, 116, 101, 109, 115, 124, 80, 104, 121, 115,
			105, 99, 115, 50, 68, 82, 97, 121, 99, 97,
			115, 116, 101, 114, 0, 0, 0, 0, 41, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 69, 118, 101, 110, 116, 83, 121, 115, 116,
			101, 109, 115, 124, 80, 104, 121, 115, 105, 99,
			115, 82, 97, 121, 99, 97, 115, 116, 101, 114,
			0, 0, 0, 0, 60, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 69, 118, 101,
			110, 116, 83, 121, 115, 116, 101, 109, 115, 46,
			80, 104, 121, 115, 105, 99, 115, 82, 97, 121,
			99, 97, 115, 116, 101, 114, 124, 82, 97, 121,
			99, 97, 115, 116, 72, 105, 116, 67, 111, 109,
			112, 97, 114, 101, 114, 0, 0, 0, 0, 38,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 69, 118, 101, 110, 116, 83, 121, 115,
			116, 101, 109, 115, 124, 82, 97, 121, 99, 97,
			115, 116, 82, 101, 115, 117, 108, 116, 0, 0,
			0, 0, 36, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 69, 118, 101, 110, 116,
			83, 121, 115, 116, 101, 109, 115, 124, 85, 73,
			66, 101, 104, 97, 118, 105, 111, 117, 114, 0,
			0, 0, 0, 40, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 69, 108,
			101, 109, 101, 110, 116, 115, 124, 80, 97, 110,
			101, 108, 69, 118, 101, 110, 116, 72, 97, 110,
			100, 108, 101, 114, 0, 0, 0, 0, 53, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 69, 108, 101, 109, 101, 110, 116,
			115, 46, 80, 97, 110, 101, 108, 69, 118, 101,
			110, 116, 72, 97, 110, 100, 108, 101, 114, 124,
			80, 111, 105, 110, 116, 101, 114, 69, 118, 101,
			110, 116, 0, 0, 0, 0, 37, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 69, 108, 101, 109, 101, 110, 116, 115, 124,
			80, 97, 110, 101, 108, 82, 97, 121, 99, 97,
			115, 116, 101, 114, 0, 0, 0, 0, 41, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 46, 67, 111, 114, 111, 117, 116,
			105, 110, 101, 84, 119, 101, 101, 110, 124, 73,
			84, 119, 101, 101, 110, 86, 97, 108, 117, 101,
			0, 0, 0, 0, 40, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 46,
			67, 111, 114, 111, 117, 116, 105, 110, 101, 84,
			119, 101, 101, 110, 124, 67, 111, 108, 111, 114,
			84, 119, 101, 101, 110, 0, 0, 0, 0, 49,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 46, 67, 111, 114, 111, 117,
			116, 105, 110, 101, 84, 119, 101, 101, 110, 46,
			124, 67, 111, 108, 111, 114, 84, 119, 101, 101,
			110, 67, 97, 108, 108, 98, 97, 99, 107, 0,
			0, 0, 0, 40, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 46, 67,
			111, 114, 111, 117, 116, 105, 110, 101, 84, 119,
			101, 101, 110, 124, 70, 108, 111, 97, 116, 84,
			119, 101, 101, 110, 0, 0, 0, 0, 49, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 46, 67, 111, 114, 111, 117, 116,
			105, 110, 101, 84, 119, 101, 101, 110, 46, 124,
			70, 108, 111, 97, 116, 84, 119, 101, 101, 110,
			67, 97, 108, 108, 98, 97, 99, 107, 0, 0,
			0, 0, 41, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 46, 67, 111,
			114, 111, 117, 116, 105, 110, 101, 84, 119, 101,
			101, 110, 124, 84, 119, 101, 101, 110, 82, 117,
			110, 110, 101, 114, 0, 0, 0, 0, 32, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 65, 110, 105, 109, 97, 116,
			105, 111, 110, 84, 114, 105, 103, 103, 101, 114,
			115, 0, 0, 0, 0, 21, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 66, 117, 116, 116, 111, 110, 0, 0, 0,
			0, 40, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 46, 66, 117, 116,
			116, 111, 110, 124, 66, 117, 116, 116, 111, 110,
			67, 108, 105, 99, 107, 101, 100, 69, 118, 101,
			110, 116, 0, 0, 0, 0, 29, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 124, 73, 67, 97, 110, 118, 97, 115, 69,
			108, 101, 109, 101, 110, 116, 0, 0, 0, 0,
			35, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 85, 73, 124, 67, 97, 110, 118,
			97, 115, 85, 112, 100, 97, 116, 101, 82, 101,
			103, 105, 115, 116, 114, 121, 0, 0, 0, 0,
			25, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 85, 73, 124, 67, 111, 108, 111,
			114, 66, 108, 111, 99, 107, 0, 0, 0, 0,
			30, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 85, 73, 124, 67, 108, 105, 112,
			112, 101, 114, 82, 101, 103, 105, 115, 116, 114,
			121, 0, 0, 0, 0, 23, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 67, 108, 105, 112, 112, 105, 110, 103, 0,
			0, 0, 0, 23, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 73,
			67, 108, 105, 112, 112, 101, 114, 0, 0, 0,
			0, 25, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 124, 73, 67, 108,
			105, 112, 112, 97, 98, 108, 101, 0, 0, 0,
			0, 39, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 124, 82, 101, 99,
			116, 97, 110, 103, 117, 108, 97, 114, 86, 101,
			114, 116, 101, 120, 67, 108, 105, 112, 112, 101,
			114, 0, 0, 0, 0, 30, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 68, 101, 102, 97, 117, 108, 116, 67, 111,
			110, 116, 114, 111, 108, 115, 0, 0, 0, 0,
			47, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 85, 73, 46, 68, 101, 102, 97,
			117, 108, 116, 67, 111, 110, 116, 114, 111, 108,
			115, 124, 73, 70, 97, 99, 116, 111, 114, 121,
			67, 111, 110, 116, 114, 111, 108, 115, 0, 0,
			0, 0, 52, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 46, 68, 101,
			102, 97, 117, 108, 116, 67, 111, 110, 116, 114,
			111, 108, 115, 124, 68, 101, 102, 97, 117, 108,
			116, 82, 117, 110, 116, 105, 109, 101, 70, 97,
			99, 116, 111, 114, 121, 0, 0, 0, 0, 40,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 46, 68, 101, 102, 97, 117,
			108, 116, 67, 111, 110, 116, 114, 111, 108, 115,
			124, 82, 101, 115, 111, 117, 114, 99, 101, 115,
			0, 0, 0, 0, 23, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 124,
			68, 114, 111, 112, 100, 111, 119, 110, 0, 0,
			0, 0, 36, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 46, 68, 114,
			111, 112, 100, 111, 119, 110, 124, 68, 114, 111,
			112, 100, 111, 119, 110, 73, 116, 101, 109, 0,
			0, 0, 0, 34, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 46, 68,
			114, 111, 112, 100, 111, 119, 110, 124, 79, 112,
			116, 105, 111, 110, 68, 97, 116, 97, 0, 0,
			0, 0, 38, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 46, 68, 114,
			111, 112, 100, 111, 119, 110, 124, 79, 112, 116,
			105, 111, 110, 68, 97, 116, 97, 76, 105, 115,
			116, 0, 0, 0, 0, 37, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			46, 68, 114, 111, 112, 100, 111, 119, 110, 124,
			68, 114, 111, 112, 100, 111, 119, 110, 69, 118,
			101, 110, 116, 0, 0, 0, 0, 23, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 124, 70, 111, 110, 116, 68, 97, 116,
			97, 0, 0, 0, 0, 32, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 70, 111, 110, 116, 85, 112, 100, 97, 116,
			101, 84, 114, 97, 99, 107, 101, 114, 0, 0,
			0, 0, 22, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 124, 71, 114,
			97, 112, 104, 105, 99, 0, 0, 0, 0, 31,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 124, 71, 114, 97, 112, 104,
			105, 99, 82, 97, 121, 99, 97, 115, 116, 101,
			114, 0, 0, 0, 0, 30, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 71, 114, 97, 112, 104, 105, 99, 82, 101,
			103, 105, 115, 116, 114, 121, 0, 0, 0, 0,
			38, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 85, 73, 124, 73, 71, 114, 97,
			112, 104, 105, 99, 69, 110, 97, 98, 108, 101,
			100, 68, 105, 115, 97, 98, 108, 101, 100, 0,
			0, 0, 0, 20, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 73,
			109, 97, 103, 101, 0, 0, 0, 0, 20, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 73, 77, 97, 115, 107, 0,
			0, 0, 0, 24, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 73,
			77, 97, 115, 107, 97, 98, 108, 101, 0, 0,
			0, 0, 25, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 124, 73, 110,
			112, 117, 116, 70, 105, 101, 108, 100, 0, 0,
			0, 0, 37, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 46, 73, 110,
			112, 117, 116, 70, 105, 101, 108, 100, 124, 83,
			117, 98, 109, 105, 116, 69, 118, 101, 110, 116,
			0, 0, 0, 0, 38, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 46,
			73, 110, 112, 117, 116, 70, 105, 101, 108, 100,
			124, 69, 110, 100, 69, 100, 105, 116, 69, 118,
			101, 110, 116, 0, 0, 0, 0, 39, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 46, 73, 110, 112, 117, 116, 70, 105,
			101, 108, 100, 124, 79, 110, 67, 104, 97, 110,
			103, 101, 69, 118, 101, 110, 116, 0, 0, 0,
			0, 32, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 124, 65, 115, 112,
			101, 99, 116, 82, 97, 116, 105, 111, 70, 105,
			116, 116, 101, 114, 0, 0, 0, 0, 27, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 67, 97, 110, 118, 97, 115,
			83, 99, 97, 108, 101, 114, 0, 0, 0, 0,
			32, 85, 110, 105, 116, 121, 69, 110, 103, 105,
			110, 101, 46, 85, 73, 124, 67, 111, 110, 116,
			101, 110, 116, 83, 105, 122, 101, 70, 105, 116,
			116, 101, 114, 0, 0, 0, 0, 30, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 124, 71, 114, 105, 100, 76, 97, 121,
			111, 117, 116, 71, 114, 111, 117, 112, 0, 0,
			0, 0, 36, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 124, 72, 111,
			114, 105, 122, 111, 110, 116, 97, 108, 76, 97,
			121, 111, 117, 116, 71, 114, 111, 117, 112, 0,
			0, 0, 0, 46, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 72,
			111, 114, 105, 122, 111, 110, 116, 97, 108, 79,
			114, 86, 101, 114, 116, 105, 99, 97, 108, 76,
			97, 121, 111, 117, 116, 71, 114, 111, 117, 112,
			0, 0, 0, 0, 29, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 124,
			73, 76, 97, 121, 111, 117, 116, 69, 108, 101,
			109, 101, 110, 116, 0, 0, 0, 0, 32, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 73, 76, 97, 121, 111, 117,
			116, 67, 111, 110, 116, 114, 111, 108, 108, 101,
			114, 0, 0, 0, 0, 27, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 73, 76, 97, 121, 111, 117, 116, 71, 114,
			111, 117, 112, 0, 0, 0, 0, 36, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 124, 73, 76, 97, 121, 111, 117, 116,
			83, 101, 108, 102, 67, 111, 110, 116, 114, 111,
			108, 108, 101, 114, 0, 0, 0, 0, 29, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 73, 76, 97, 121, 111, 117,
			116, 73, 103, 110, 111, 114, 101, 114, 0, 0,
			0, 0, 28, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 124, 76, 97,
			121, 111, 117, 116, 69, 108, 101, 109, 101, 110,
			116, 0, 0, 0, 0, 26, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 76, 97, 121, 111, 117, 116, 71, 114, 111,
			117, 112, 0, 0, 0, 0, 30, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 124, 76, 97, 121, 111, 117, 116, 82, 101,
			98, 117, 105, 108, 100, 101, 114, 0, 0, 0,
			0, 28, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 124, 76, 97, 121,
			111, 117, 116, 85, 116, 105, 108, 105, 116, 121,
			0, 0, 0, 0, 34, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 124,
			86, 101, 114, 116, 105, 99, 97, 108, 76, 97,
			121, 111, 117, 116, 71, 114, 111, 117, 112, 0,
			0, 0, 0, 19, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 77,
			97, 115, 107, 0, 0, 0, 0, 30, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 124, 77, 97, 115, 107, 97, 98, 108,
			101, 71, 114, 97, 112, 104, 105, 99, 0, 0,
			0, 0, 52, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 46, 77, 97,
			115, 107, 97, 98, 108, 101, 71, 114, 97, 112,
			104, 105, 99, 124, 67, 117, 108, 108, 83, 116,
			97, 116, 101, 67, 104, 97, 110, 103, 101, 100,
			69, 118, 101, 110, 116, 0, 0, 0, 0, 28,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 124, 77, 97, 115, 107, 85,
			116, 105, 108, 105, 116, 105, 101, 115, 0, 0,
			0, 0, 32, 85, 110, 105, 116, 121, 69, 110,
			103, 105, 110, 101, 46, 85, 73, 124, 73, 77,
			97, 116, 101, 114, 105, 97, 108, 77, 111, 100,
			105, 102, 105, 101, 114, 0, 0, 0, 0, 19,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 124, 77, 105, 115, 99, 0,
			0, 0, 0, 39, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 77,
			117, 108, 116, 105, 112, 108, 101, 68, 105, 115,
			112, 108, 97, 121, 85, 116, 105, 108, 105, 116,
			105, 101, 115, 0, 0, 0, 0, 25, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 124, 78, 97, 118, 105, 103, 97, 116,
			105, 111, 110, 0, 0, 0, 0, 23, 85, 110,
			105, 116, 121, 69, 110, 103, 105, 110, 101, 46,
			85, 73, 124, 82, 97, 119, 73, 109, 97, 103,
			101, 0, 0, 0, 0, 25, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 82, 101, 99, 116, 77, 97, 115, 107, 50,
			68, 0, 0, 0, 0, 24, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 83, 99, 114, 111, 108, 108, 98, 97, 114,
			0, 0, 0, 0, 36, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 46,
			83, 99, 114, 111, 108, 108, 98, 97, 114, 124,
			83, 99, 114, 111, 108, 108, 69, 118, 101, 110,
			116, 0, 0, 0, 0, 25, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 83, 99, 114, 111, 108, 108, 82, 101, 99,
			116, 0, 0, 0, 0, 41, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			46, 83, 99, 114, 111, 108, 108, 82, 101, 99,
			116, 124, 83, 99, 114, 111, 108, 108, 82, 101,
			99, 116, 69, 118, 101, 110, 116, 0, 0, 0,
			0, 25, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 124, 83, 101, 108,
			101, 99, 116, 97, 98, 108, 101, 0, 0, 0,
			0, 33, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 124, 83, 101, 116,
			80, 114, 111, 112, 101, 114, 116, 121, 85, 116,
			105, 108, 105, 116, 121, 0, 0, 0, 0, 21,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 124, 83, 108, 105, 100, 101,
			114, 0, 0, 0, 0, 33, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			46, 83, 108, 105, 100, 101, 114, 124, 83, 108,
			105, 100, 101, 114, 69, 118, 101, 110, 116, 0,
			0, 0, 0, 37, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 46, 67,
			111, 108, 108, 101, 99, 116, 105, 111, 110, 115,
			124, 73, 110, 100, 101, 120, 101, 100, 83, 101,
			116, 0, 0, 0, 0, 26, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 83, 112, 114, 105, 116, 101, 83, 116, 97,
			116, 101, 0, 0, 0, 0, 30, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 124, 83, 116, 101, 110, 99, 105, 108, 77,
			97, 116, 101, 114, 105, 97, 108, 0, 0, 0,
			0, 39, 85, 110, 105, 116, 121, 69, 110, 103,
			105, 110, 101, 46, 85, 73, 46, 83, 116, 101,
			110, 99, 105, 108, 77, 97, 116, 101, 114, 105,
			97, 108, 124, 77, 97, 116, 69, 110, 116, 114,
			121, 0, 0, 0, 0, 19, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			124, 84, 101, 120, 116, 0, 0, 0, 0, 21,
			85, 110, 105, 116, 121, 69, 110, 103, 105, 110,
			101, 46, 85, 73, 124, 84, 111, 103, 103, 108,
			101, 0, 0, 0, 0, 33, 85, 110, 105, 116,
			121, 69, 110, 103, 105, 110, 101, 46, 85, 73,
			46, 84, 111, 103, 103, 108, 101, 124, 84, 111,
			103, 103, 108, 101, 69, 118, 101, 110, 116, 0,
			0, 0, 0, 26, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 84,
			111, 103, 103, 108, 101, 71, 114, 111, 117, 112,
			0, 0, 0, 0, 37, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 124,
			82, 101, 102, 108, 101, 99, 116, 105, 111, 110,
			77, 101, 116, 104, 111, 100, 115, 67, 97, 99,
			104, 101, 0, 0, 0, 0, 27, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 124, 86, 101, 114, 116, 101, 120, 72, 101,
			108, 112, 101, 114, 0, 0, 0, 0, 31, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 66, 97, 115, 101, 86, 101,
			114, 116, 101, 120, 69, 102, 102, 101, 99, 116,
			0, 0, 0, 0, 29, 85, 110, 105, 116, 121,
			69, 110, 103, 105, 110, 101, 46, 85, 73, 124,
			66, 97, 115, 101, 77, 101, 115, 104, 69, 102,
			102, 101, 99, 116, 0, 0, 0, 0, 30, 85,
			110, 105, 116, 121, 69, 110, 103, 105, 110, 101,
			46, 85, 73, 124, 73, 86, 101, 114, 116, 101,
			120, 77, 111, 100, 105, 102, 105, 101, 114, 0,
			0, 0, 0, 28, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 73,
			77, 101, 115, 104, 77, 111, 100, 105, 102, 105,
			101, 114, 0, 0, 0, 0, 22, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 124, 79, 117, 116, 108, 105, 110, 101, 0,
			0, 0, 0, 28, 85, 110, 105, 116, 121, 69,
			110, 103, 105, 110, 101, 46, 85, 73, 124, 80,
			111, 115, 105, 116, 105, 111, 110, 65, 115, 85,
			86, 49, 0, 0, 0, 0, 21, 85, 110, 105,
			116, 121, 69, 110, 103, 105, 110, 101, 46, 85,
			73, 124, 83, 104, 97, 100, 111, 119
		};
		result.TotalFiles = 81;
		result.TotalTypes = 138;
		result.IsEditorOnly = false;
		return result;
	}
}
namespace UnityEngine.UI
{
	[Serializable]
	public class AnimationTriggers
	{
		private const string kDefaultNormalAnimName = "Normal";

		private const string kDefaultHighlightedAnimName = "Highlighted";

		private const string kDefaultPressedAnimName = "Pressed";

		private const string kDefaultSelectedAnimName = "Selected";

		private const string kDefaultDisabledAnimName = "Disabled";

		[FormerlySerializedAs("normalTrigger")]
		[SerializeField]
		private string m_NormalTrigger = "Normal";

		[FormerlySerializedAs("highlightedTrigger")]
		[SerializeField]
		private string m_HighlightedTrigger = "Highlighted";

		[FormerlySerializedAs("pressedTrigger")]
		[SerializeField]
		private string m_PressedTrigger = "Pressed";

		[FormerlySerializedAs("m_HighlightedTrigger")]
		[SerializeField]
		private string m_SelectedTrigger = "Selected";

		[FormerlySerializedAs("disabledTrigger")]
		[SerializeField]
		private string m_DisabledTrigger = "Disabled";

		public string normalTrigger
		{
			get
			{
				return m_NormalTrigger;
			}
			set
			{
				m_NormalTrigger = value;
			}
		}

		public string highlightedTrigger
		{
			get
			{
				return m_HighlightedTrigger;
			}
			set
			{
				m_HighlightedTrigger = value;
			}
		}

		public string pressedTrigger
		{
			get
			{
				return m_PressedTrigger;
			}
			set
			{
				m_PressedTrigger = value;
			}
		}

		public string selectedTrigger
		{
			get
			{
				return m_SelectedTrigger;
			}
			set
			{
				m_SelectedTrigger = value;
			}
		}

		public string disabledTrigger
		{
			get
			{
				return m_DisabledTrigger;
			}
			set
			{
				m_DisabledTrigger = value;
			}
		}
	}
	[AddComponentMenu("UI/Button", 30)]
	public class Button : Selectable, IPointerClickHandler, IEventSystemHandler, ISubmitHandler
	{
		[Serializable]
		public class ButtonClickedEvent : UnityEvent
		{
		}

		[FormerlySerializedAs("onClick")]
		[SerializeField]
		private ButtonClickedEvent m_OnClick = new ButtonClickedEvent();

		public ButtonClickedEvent onClick
		{
			get
			{
				return m_OnClick;
			}
			set
			{
				m_OnClick = value;
			}
		}

		protected Button()
		{
		}

		private void Press()
		{
			if (IsActive() && IsInteractable())
			{
				UISystemProfilerApi.AddMarker("Button.onClick", (Object)(object)this);
				((UnityEvent)m_OnClick).Invoke();
			}
		}

		public virtual void OnPointerClick(PointerEventData eventData)
		{
			if (eventData.button == PointerEventData.InputButton.Left)
			{
				Press();
			}
		}

		public virtual void OnSubmit(BaseEventData eventData)
		{
			Press();
			if (IsActive() && IsInteractable())
			{
				DoStateTransition(SelectionState.Pressed, instant: false);
				((MonoBehaviour)this).StartCoroutine(OnFinishSubmit());
			}
		}

		private IEnumerator OnFinishSubmit()
		{
			float fadeTime = base.colors.fadeDuration;
			float elapsedTime = 0f;
			while (elapsedTime < fadeTime)
			{
				elapsedTime += Time.unscaledDeltaTime;
				yield return null;
			}
			DoStateTransition(base.currentSelectionState, instant: false);
		}
	}
	public enum CanvasUpdate
	{
		Prelayout,
		Layout,
		PostLayout,
		PreRender,
		LatePreRender,
		MaxUpdateValue
	}
	public interface ICanvasElement
	{
		Transform transform { get; }

		void Rebuild(CanvasUpdate executing);

		void LayoutComplete();

		void GraphicUpdateComplete();

		bool IsDestroyed();
	}
	public class CanvasUpdateRegistry
	{
		private static CanvasUpdateRegistry s_Instance;

		private bool m_PerformingLayoutUpdate;

		private bool m_PerformingGraphicUpdate;

		private string[] m_CanvasUpdateProfilerStrings = new string[5] { "CanvasUpdate.Prelayout", "CanvasUpdate.Layout", "CanvasUpdate.PostLayout", "CanvasUpdate.PreRender", "CanvasUpdate.LatePreRender" };

		private const string m_CullingUpdateProfilerString = "ClipperRegistry.Cull";

		private readonly IndexedSet<ICanvasElement> m_LayoutRebuildQueue = new IndexedSet<ICanvasElement>();

		private readonly IndexedSet<ICanvasElement> m_GraphicRebuildQueue = new IndexedSet<ICanvasElement>();

		private static readonly Comparison<ICanvasElement> s_SortLayoutFunction = SortLayoutList;

		public static CanvasUpdateRegistry instance
		{
			get
			{
				if (s_Instance == null)
				{
					s_Instance = new CanvasUpdateRegistry();
				}
				return s_Instance;
			}
		}

		protected CanvasUpdateRegistry()
		{
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			Canvas.willRenderCanvases += new WillRenderCanvases(PerformUpdate);
		}

		private bool ObjectValidForUpdate(ICanvasElement element)
		{
			bool result = element != null;
			if (element is Object)
			{
				result = (Object)((element is Object) ? element : null) != (Object)null;
			}
			return result;
		}

		private void CleanInvalidItems()
		{
			for (int num = m_LayoutRebuildQueue.Count - 1; num >= 0; num--)
			{
				ICanvasElement canvasElement = m_LayoutRebuildQueue[num];
				if (canvasElement == null)
				{
					m_LayoutRebuildQueue.RemoveAt(num);
				}
				else if (canvasElement.IsDestroyed())
				{
					m_LayoutRebuildQueue.RemoveAt(num);
					canvasElement.LayoutComplete();
				}
			}
			for (int num2 = m_GraphicRebuildQueue.Count - 1; num2 >= 0; num2--)
			{
				ICanvasElement canvasElement2 = m_GraphicRebuildQueue[num2];
				if (canvasElement2 == null)
				{
					m_GraphicRebuildQueue.RemoveAt(num2);
				}
				else if (canvasElement2.IsDestroyed())
				{
					m_GraphicRebuildQueue.RemoveAt(num2);
					canvasElement2.GraphicUpdateComplete();
				}
			}
		}

		private void PerformUpdate()
		{
			UISystemProfilerApi.BeginSample((SampleType)0);
			CleanInvalidItems();
			m_PerformingLayoutUpdate = true;
			m_LayoutRebuildQueue.Sort(s_SortLayoutFunction);
			for (int i = 0; i <= 2; i++)
			{
				for (int j = 0; j < m_LayoutRebuildQueue.Count; j++)
				{
					ICanvasElement canvasElement = m_LayoutRebuildQueue[j];
					try
					{
						if (ObjectValidForUpdate(canvasElement))
						{
							canvasElement.Rebuild((CanvasUpdate)i);
						}
					}
					catch (Exception ex)
					{
						Debug.LogException(ex, (Object)(object)canvasElement.transform);
					}
				}
			}
			for (int k = 0; k < m_LayoutRebuildQueue.Count; k++)
			{
				m_LayoutRebuildQueue[k].LayoutComplete();
			}
			m_LayoutRebuildQueue.Clear();
			m_PerformingLayoutUpdate = false;
			UISystemProfilerApi.EndSample((SampleType)0);
			UISystemProfilerApi.BeginSample((SampleType)1);
			ClipperRegistry.instance.Cull();
			m_PerformingGraphicUpdate = true;
			for (int l = 3; l < 5; l++)
			{
				for (int m = 0; m < m_GraphicRebuildQueue.Count; m++)
				{
					try
					{
						ICanvasElement canvasElement2 = m_GraphicRebuildQueue[m];
						if (ObjectValidForUpdate(canvasElement2))
						{
							canvasElement2.Rebuild((CanvasUpdate)l);
						}
					}
					catch (Exception ex2)
					{
						Debug.LogException(ex2, (Object)(object)m_GraphicRebuildQueue[m].transform);
					}
				}
			}
			for (int n = 0; n < m_GraphicRebuildQueue.Count; n++)
			{
				m_GraphicRebuildQueue[n].GraphicUpdateComplete();
			}
			m_GraphicRebuildQueue.Clear();
			m_PerformingGraphicUpdate = false;
			UISystemProfilerApi.EndSample((SampleType)1);
		}

		private static int ParentCount(Transform child)
		{
			if ((Object)(object)child == (Object)null)
			{
				return 0;
			}
			Transform parent = child.parent;
			int num = 0;
			while ((Object)(object)parent != (Object)null)
			{
				num++;
				parent = parent.parent;
			}
			return num;
		}

		private static int SortLayoutList(ICanvasElement x, ICanvasElement y)
		{
			Transform transform = x.transform;
			Transform transform2 = y.transform;
			return ParentCount(transform) - ParentCount(transform2);
		}

		public static void RegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			instance.InternalRegisterCanvasElementForLayoutRebuild(element);
		}

		public static bool TryRegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			return instance.InternalRegisterCanvasElementForLayoutRebuild(element);
		}

		private bool InternalRegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			if (m_LayoutRebuildQueue.Contains(element))
			{
				return false;
			}
			return m_LayoutRebuildQueue.AddUnique(element);
		}

		public static void RegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			instance.InternalRegisterCanvasElementForGraphicRebuild(element);
		}

		public static bool TryRegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			return instance.InternalRegisterCanvasElementForGraphicRebuild(element);
		}

		private bool InternalRegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			if (m_PerformingGraphicUpdate)
			{
				Debug.LogError((object)$"Trying to add {element} for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.");
				return false;
			}
			return m_GraphicRebuildQueue.AddUnique(element);
		}

		public static void UnRegisterCanvasElementForRebuild(ICanvasElement element)
		{
			instance.InternalUnRegisterCanvasElementForLayoutRebuild(element);
			instance.InternalUnRegisterCanvasElementForGraphicRebuild(element);
		}

		public static void DisableCanvasElementForRebuild(ICanvasElement element)
		{
			instance.InternalDisableCanvasElementForLayoutRebuild(element);
			instance.InternalDisableCanvasElementForGraphicRebuild(element);
		}

		private void InternalUnRegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			if (m_PerformingLayoutUpdate)
			{
				Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported.");
				return;
			}
			element.LayoutComplete();
			instance.m_LayoutRebuildQueue.Remove(element);
		}

		private void InternalUnRegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			if (m_PerformingGraphicUpdate)
			{
				Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported.");
				return;
			}
			element.GraphicUpdateComplete();
			instance.m_GraphicRebuildQueue.Remove(element);
		}

		private void InternalDisableCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			if (m_PerformingLayoutUpdate)
			{
				Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported.");
				return;
			}
			element.LayoutComplete();
			instance.m_LayoutRebuildQueue.DisableItem(element);
		}

		private void InternalDisableCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			if (m_PerformingGraphicUpdate)
			{
				Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported.");
				return;
			}
			element.GraphicUpdateComplete();
			instance.m_GraphicRebuildQueue.DisableItem(element);
		}

		public static bool IsRebuildingLayout()
		{
			return instance.m_PerformingLayoutUpdate;
		}

		public static bool IsRebuildingGraphics()
		{
			return instance.m_PerformingGraphicUpdate;
		}
	}
	[Serializable]
	public struct ColorBlock : IEquatable<ColorBlock>
	{
		[FormerlySerializedAs("normalColor")]
		[SerializeField]
		private Color m_NormalColor;

		[FormerlySerializedAs("highlightedColor")]
		[SerializeField]
		private Color m_HighlightedColor;

		[FormerlySerializedAs("pressedColor")]
		[SerializeField]
		private Color m_PressedColor;

		[FormerlySerializedAs("m_HighlightedColor")]
		[SerializeField]
		private Color m_SelectedColor;

		[FormerlySerializedAs("disabledColor")]
		[SerializeField]
		private Color m_DisabledColor;

		[Range(1f, 5f)]
		[SerializeField]
		private float m_ColorMultiplier;

		[FormerlySerializedAs("fadeDuration")]
		[SerializeField]
		private float m_FadeDuration;

		public static ColorBlock defaultColorBlock;

		public Color normalColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return m_NormalColor;
			}
			set
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				m_NormalColor = value;
			}
		}

		public Color highlightedColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return m_HighlightedColor;
			}
			set
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				m_HighlightedColor = value;
			}
		}

		public Color pressedColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return m_PressedColor;
			}
			set
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				m_PressedColor = value;
			}
		}

		public Color selectedColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return m_SelectedColor;
			}
			set
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				m_SelectedColor = value;
			}
		}

		public Color disabledColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return m_DisabledColor;
			}
			set
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				m_DisabledColor = value;
			}
		}

		public float colorMultiplier
		{
			get
			{
				return m_ColorMultiplier;
			}
			set
			{
				m_ColorMultiplier = value;
			}
		}

		public float fadeDuration
		{
			get
			{
				return m_FadeDuration;
			}
			set
			{
				m_FadeDuration = value;
			}
		}

		static ColorBlock()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
			defaultColorBlock = new ColorBlock
			{
				m_NormalColor = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)),
				m_HighlightedColor = Color32.op_Implicit(new Color32((byte)245, (byte)245, (byte)245, byte.MaxValue)),
				m_PressedColor = Color32.op_Implicit(new Color32((byte)200, (byte)200, (byte)200, byte.MaxValue)),
				m_SelectedColor = Color32.op_Implicit(new Color32((byte)245, (byte)245, (byte)245, byte.MaxValue)),
				m_DisabledColor = Color32.op_Implicit(new Color32((byte)200, (byte)200, (byte)200, (byte)128)),
				colorMultiplier = 1f,
				fadeDuration = 0.1f
			};
		}

		public override bool Equals(object obj)
		{
			if (!(obj is ColorBlock))
			{
				return false;
			}
			return Equals((ColorBlock)obj);
		}

		public bool Equals(ColorBlock other)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			if (normalColor == other.normalColor && highlightedColor == other.highlightedColor && pressedColor == other.pressedColor && selectedColor == other.selectedColor && disabledColor == other.disabledColor && colorMultiplier == other.colorMultiplier)
			{
				return fadeDuration == other.fadeDuration;
			}
			return false;
		}

		public static bool operator ==(ColorBlock point1, ColorBlock point2)
		{
			return point1.Equals(point2);
		}

		public static bool operator !=(ColorBlock point1, ColorBlock point2)
		{
			return !point1.Equals(point2);
		}

		public override int GetHashCode()
		{
			return base.GetHashCode();
		}
	}
	public class ClipperRegistry
	{
		private static ClipperRegistry s_Instance;

		private readonly IndexedSet<IClipper> m_Clippers = new IndexedSet<IClipper>();

		public static ClipperRegistry instance
		{
			get
			{
				if (s_Instance == null)
				{
					s_Instance = new ClipperRegistry();
				}
				return s_Instance;
			}
		}

		protected ClipperRegistry()
		{
		}

		public void Cull()
		{
			int count = m_Clippers.Count;
			for (int i = 0; i < count; i++)
			{
				m_Clippers[i].PerformClipping();
			}
		}

		public static void Register(IClipper c)
		{
			if (c != null)
			{
				instance.m_Clippers.AddUnique(c);
			}
		}

		public static void Unregister(IClipper c)
		{
			instance.m_Clippers.Remove(c);
		}

		public static void Disable(IClipper c)
		{
			instance.m_Clippers.DisableItem(c);
		}
	}
	public static class Clipping
	{
		public static Rect FindCullAndClipWorldRect(List<RectMask2D> rectMaskParents, out bool validRect)
		{
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Unknown result type (might be due to invalid IL or missing references)
			//IL_0115: Unknown result type (might be due to invalid IL or missing references)
			if (rectMaskParents.Count == 0)
			{
				validRect = false;
				return default(Rect);
			}
			Rect canvasRect = rectMaskParents[0].canvasRect;
			Vector4 padding = rectMaskParents[0].padding;
			float num = ((Rect)(ref canvasRect)).xMin + padding.x;
			float num2 = ((Rect)(ref canvasRect)).xMax - padding.z;
			float num3 = ((Rect)(ref canvasRect)).yMin + padding.y;
			float num4 = ((Rect)(ref canvasRect)).yMax - padding.w;
			int count = rectMaskParents.Count;
			for (int i = 1; i < count; i++)
			{
				canvasRect = rectMaskParents[i].canvasRect;
				padding = rectMaskParents[i].padding;
				if (num < ((Rect)(ref canvasRect)).xMin + padding.x)
				{
					num = ((Rect)(ref canvasRect)).xMin + padding.x;
				}
				if (num3 < ((Rect)(ref canvasRect)).yMin + padding.y)
				{
					num3 = ((Rect)(ref canvasRect)).yMin + padding.y;
				}
				if (num2 > ((Rect)(ref canvasRect)).xMax - padding.z)
				{
					num2 = ((Rect)(ref canvasRect)).xMax - padding.z;
				}
				if (num4 > ((Rect)(ref canvasRect)).yMax - padding.w)
				{
					num4 = ((Rect)(ref canvasRect)).yMax - padding.w;
				}
			}
			validRect = num2 > num && num4 > num3;
			if (!validRect)
			{
				return default(Rect);
			}
			return new Rect(num, num3, num2 - num, num4 - num3);
		}
	}
	public interface IClipper
	{
		void PerformClipping();
	}
	public interface IClippable
	{
		GameObject gameObject { get; }

		RectTransform rectTransform { get; }

		void RecalculateClipping();

		void Cull(Rect clipRect, bool validRect);

		void SetClipRect(Rect value, bool validRect);

		void SetClipSoftness(Vector2 clipSoftness);
	}
	internal class RectangularVertexClipper
	{
		private readonly Vector3[] m_WorldCorners = (Vector3[])(object)new Vector3[4];

		private readonly Vector3[] m_CanvasCorners = (Vector3[])(object)new Vector3[4];

		public Rect GetCanvasRect(RectTransform t, Canvas c)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)c == (Object)null)
			{
				return default(Rect);
			}
			t.GetWorldCorners(m_WorldCorners);
			Transform component = ((Component)c).GetComponent<Transform>();
			for (int i = 0; i < 4; i++)
			{
				m_CanvasCorners[i] = component.InverseTransformPoint(m_WorldCorners[i]);
			}
			return new Rect(m_CanvasCorners[0].x, m_CanvasCorners[0].y, m_CanvasCorners[2].x - m_CanvasCorners[0].x, m_CanvasCorners[2].y - m_CanvasCorners[0].y);
		}
	}
	public static class DefaultControls
	{
		public interface IFactoryControls
		{
			GameObject CreateGameObject(string name, params Type[] components);
		}

		private class DefaultRuntimeFactory : IFactoryControls
		{
			public static IFactoryControls Default = new DefaultRuntimeFactory();

			public GameObject CreateGameObject(string name, params Type[] components)
			{
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				//IL_0008: Expected O, but got Unknown
				return new GameObject(name, components);
			}
		}

		public struct Resources
		{
			public Sprite standard;

			public Sprite background;

			public Sprite inputField;

			public Sprite knob;

			public Sprite checkmark;

			public Sprite dropdown;

			public Sprite mask;
		}

		private static IFactoryControls m_CurrentFactory = DefaultRuntimeFactory.Default;

		private const float kWidth = 160f;

		private const float kThickHeight = 30f;

		private const float kThinHeight = 20f;

		private static Vector2 s_ThickElementSize = new Vector2(160f, 30f);

		private static Vector2 s_ThinElementSize = new Vector2(160f, 20f);

		private static Vector2 s_ImageElementSize = new Vector2(100f, 100f);

		private static Color s_DefaultSelectableColor = new Color(1f, 1f, 1f, 1f);

		private static Color s_PanelColor = new Color(1f, 1f, 1f, 0.392f);

		private static Color s_TextColor = new Color(10f / 51f, 10f / 51f, 10f / 51f, 1f);

		public static IFactoryControls factory => m_CurrentFactory;

		private static GameObject CreateUIElementRoot(string name, Vector2 size, params Type[] components)
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			GameObject obj = factory.CreateGameObject(name, components);
			obj.GetComponent<RectTransform>().sizeDelta = size;
			return obj;
		}

		private static GameObject CreateUIObject(string name, GameObject parent, params Type[] components)
		{
			GameObject obj = factory.CreateGameObject(name, components);
			SetParentAndAlign(obj, parent);
			return obj;
		}

		private static void SetDefaultTextValues(Text lbl)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			lbl.color = s_TextColor;
			if ((Object)(object)lbl.font == (Object)null)
			{
				lbl.AssignDefaultFont();
			}
		}

		private static void SetDefaultColorTransitionValues(Selectable slider)
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			ColorBlock colors = slider.colors;
			colors.highlightedColor = new Color(0.882f, 0.882f, 0.882f);
			colors.pressedColor = new Color(0.698f, 0.698f, 0.698f);
			colors.disabledColor = new Color(0.521f, 0.521f, 0.521f);
		}

		private static void SetParentAndAlign(GameObject child, GameObject parent)
		{
			if (!((Object)(object)parent == (Object)null))
			{
				child.transform.SetParent(parent.transform, false);
				SetLayerRecursively(child, parent.layer);
			}
		}

		private static void SetLayerRecursively(GameObject go, int layer)
		{
			go.layer = layer;
			Transform transform = go.transform;
			for (int i = 0; i < transform.childCount; i++)
			{
				SetLayerRecursively(((Component)transform.GetChild(i)).gameObject, layer);
			}
		}

		public static GameObject CreatePanel(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			GameObject obj = CreateUIElementRoot("Panel", s_ThickElementSize, typeof(Image));
			RectTransform component = obj.GetComponent<RectTransform>();
			component.anchorMin = Vector2.zero;
			component.anchorMax = Vector2.one;
			component.anchoredPosition = Vector2.zero;
			component.sizeDelta = Vector2.zero;
			Image component2 = obj.GetComponent<Image>();
			component2.sprite = resources.background;
			component2.type = Image.Type.Sliced;
			component2.color = s_PanelColor;
			return obj;
		}

		public static GameObject CreateButton(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = CreateUIElementRoot("Button (Legacy)", s_ThickElementSize, typeof(Image), typeof(Button));
			GameObject obj = CreateUIObject("Text (Legacy)", val, typeof(Text));
			Image component = val.GetComponent<Image>();
			component.sprite = resources.standard;
			component.type = Image.Type.Sliced;
			component.color = s_DefaultSelectableColor;
			SetDefaultColorTransitionValues(val.GetComponent<Button>());
			Text component2 = obj.GetComponent<Text>();
			component2.text = "Button";
			component2.alignment = (TextAnchor)4;
			SetDefaultTextValues(component2);
			RectTransform component3 = obj.GetComponent<RectTransform>();
			component3.anchorMin = Vector2.zero;
			component3.anchorMax = Vector2.one;
			component3.sizeDelta = Vector2.zero;
			return val;
		}

		public static GameObject CreateText(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			GameObject obj = CreateUIElementRoot("Text (Legacy)", s_ThickElementSize, typeof(Text));
			Text component = obj.GetComponent<Text>();
			component.text = "New Text";
			SetDefaultTextValues(component);
			return obj;
		}

		public static GameObject CreateImage(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			return CreateUIElementRoot("Image", s_ImageElementSize, typeof(Image));
		}

		public static GameObject CreateRawImage(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			return CreateUIElementRoot("RawImage", s_ImageElementSize, typeof(RawImage));
		}

		public static GameObject CreateSlider(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_014e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0163: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Unknown result type (might be due to invalid IL or missing references)
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0236: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = CreateUIElementRoot("Slider", s_ThinElementSize, typeof(Slider));
			GameObject val2 = CreateUIObject("Background", val, typeof(Image));
			GameObject val3 = CreateUIObject("Fill Area", val, typeof(RectTransform));
			GameObject val4 = CreateUIObject("Fill", val3, typeof(Image));
			GameObject val5 = CreateUIObject("Handle Slide Area", val, typeof(RectTransform));
			GameObject val6 = CreateUIObject("Handle", val5, typeof(Image));
			Image component = val2.GetComponent<Image>();
			component.sprite = resources.background;
			component.type = Image.Type.Sliced;
			component.color = s_DefaultSelectableColor;
			RectTransform component2 = val2.GetComponent<RectTransform>();
			component2.anchorMin = new Vector2(0f, 0.25f);
			component2.anchorMax = new Vector2(1f, 0.75f);
			component2.sizeDelta = new Vector2(0f, 0f);
			RectTransform component3 = val3.GetComponent<RectTransform>();
			component3.anchorMin = new Vector2(0f, 0.25f);
			component3.anchorMax = new Vector2(1f, 0.75f);
			component3.anchoredPosition = new Vector2(-5f, 0f);
			component3.sizeDelta = new Vector2(-20f, 0f);
			Image component4 = val4.GetComponent<Image>();
			component4.sprite = resources.standard;
			component4.type = Image.Type.Sliced;
			component4.color = s_DefaultSelectableColor;
			val4.GetComponent<RectTransform>().sizeDelta = new Vector2(10f, 0f);
			RectTransform component5 = val5.GetComponent<RectTransform>();
			component5.sizeDelta = new Vector2(-20f, 0f);
			component5.anchorMin = new Vector2(0f, 0f);
			component5.anchorMax = new Vector2(1f, 1f);
			Image component6 = val6.GetComponent<Image>();
			component6.sprite = resources.knob;
			component6.color = s_DefaultSelectableColor;
			val6.GetComponent<RectTransform>().sizeDelta = new Vector2(20f, 0f);
			Slider component7 = val.GetComponent<Slider>();
			component7.fillRect = val4.GetComponent<RectTransform>();
			component7.handleRect = val6.GetComponent<RectTransform>();
			component7.targetGraphic = component6;
			component7.direction = Slider.Direction.LeftToRight;
			SetDefaultColorTransitionValues(component7);
			return val;
		}

		public static GameObject CreateScrollbar(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = CreateUIElementRoot("Scrollbar", s_ThinElementSize, typeof(Image), typeof(Scrollbar));
			GameObject val2 = CreateUIObject("Sliding Area", val, typeof(RectTransform));
			GameObject obj = CreateUIObject("Handle", val2, typeof(Image));
			Image component = val.GetComponent<Image>();
			component.sprite = resources.background;
			component.type = Image.Type.Sliced;
			component.color = s_DefaultSelectableColor;
			Image component2 = obj.GetComponent<Image>();
			component2.sprite = resources.standard;
			component2.type = Image.Type.Sliced;
			component2.color = s_DefaultSelectableColor;
			RectTransform component3 = val2.GetComponent<RectTransform>();
			component3.sizeDelta = new Vector2(-20f, -20f);
			component3.anchorMin = Vector2.zero;
			component3.anchorMax = Vector2.one;
			RectTransform component4 = obj.GetComponent<RectTransform>();
			component4.sizeDelta = new Vector2(20f, 20f);
			Scrollbar component5 = val.GetComponent<Scrollbar>();
			component5.handleRect = component4;
			component5.targetGraphic = component2;
			SetDefaultColorTransitionValues(component5);
			return val;
		}

		public static GameObject CreateToggle(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0108: Unknown result type (might be due to invalid IL or missing references)
			//IL_011d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0132: Unknown result type (might be due to invalid IL or missing references)
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_0161: Unknown result type (might be due to invalid IL or missing references)
			//IL_0176: Unknown result type (might be due to invalid IL or missing references)
			//IL_0181: Unknown result type (might be due to invalid IL or missing references)
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			//IL_01af: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = CreateUIElementRoot("Toggle", s_ThinElementSize, typeof(Toggle));
			GameObject val2 = CreateUIObject("Background", val, typeof(Image));
			GameObject val3 = CreateUIObject("Checkmark", val2, typeof(Image));
			GameObject obj = CreateUIObject("Label", val, typeof(Text));
			Toggle component = val.GetComponent<Toggle>();
			component.isOn = true;
			Image component2 = val2.GetComponent<Image>();
			component2.sprite = resources.standard;
			component2.type = Image.Type.Sliced;
			component2.color = s_DefaultSelectableColor;
			Image component3 = val3.GetComponent<Image>();
			component3.sprite = resources.checkmark;
			Text component4 = obj.GetComponent<Text>();
			component4.text = "Toggle";
			SetDefaultTextValues(component4);
			component.graphic = component3;
			component.targetGraphic = component2;
			SetDefaultColorTransitionValues(component);
			RectTransform component5 = val2.GetComponent<RectTransform>();
			component5.anchorMin = new Vector2(0f, 1f);
			component5.anchorMax = new Vector2(0f, 1f);
			component5.anchoredPosition = new Vector2(10f, -10f);
			component5.sizeDelta = new Vector2(20f, 20f);
			RectTransform component6 = val3.GetComponent<RectTransform>();
			component6.anchorMin = new Vector2(0.5f, 0.5f);
			component6.anchorMax = new Vector2(0.5f, 0.5f);
			component6.anchoredPosition = Vector2.zero;
			component6.sizeDelta = new Vector2(20f, 20f);
			RectTransform component7 = obj.GetComponent<RectTransform>();
			component7.anchorMin = new Vector2(0f, 0f);
			component7.anchorMax = new Vector2(1f, 1f);
			component7.offsetMin = new Vector2(23f, 1f);
			component7.offsetMax = new Vector2(-5f, -2f);
			return val;
		}

		public static GameObject CreateInputField(Resources resources)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: U

FantasiaSquadPT2/Build/2.08.24.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("2.08.24")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("2.08.24")]
[assembly: AssemblyTitle("2.08.24")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace ModelReplacement
{
	public class MRTSUKASA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Tsukasa";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRRUI : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Rui";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRAKITO : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Akito";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRMIZUKI : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Mizuki";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTOYA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Toya";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	[BepInPlugin("com.animekaei.FantasiaSquad2", "FantasiaSquadPart2", "0.1.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Expected O, but got Unknown
			Assets.PopulateAssets();
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteTsukasa", typeof(MRTSUKASA));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteRui", typeof(MRRUI));
			ModelReplacementAPI.RegisterSuitModelReplacement("StudyMizuki", typeof(MRMIZUKI));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteAkito", typeof(MRAKITO));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteToya", typeof(MRTOYA));
			Harmony val = new Harmony("com.animekaei.FantasiaSquad2");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.animekaei.FantasiaSquad2 is loaded!");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "FantasiaSquadPart2";

		public static AssetBundle MainAssetBundle = null;

		private static string GetAssemblyName()
		{
			return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_");
		}

		public static void PopulateAssets()
		{
			if ((Object)(object)MainAssetBundle == (Object)null)
			{
				Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName);
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName);
				MainAssetBundle = AssetBundle.LoadFromStream(stream);
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}

FantasiaSquadPT2/ModelReplacementAPI.dll

Decompiled a month ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using GameNetcodeStuff;
using HarmonyLib;
using LCThirdPerson;
using Microsoft.CodeAnalysis;
using ModelReplacement;
using ModelReplacement.AvatarBodyUpdater;
using ModelReplacement.Monobehaviors;
using ModelReplacement.Monobehaviors.Enemies;
using ModelReplacement.Scripts;
using ModelReplacement.Scripts.Enemies;
using ModelReplacement.Scripts.Player;
using MoreCompany.Cosmetics;
using Steamworks.Data;
using TooManyEmotes;
using TooManyEmotes.Patches;
using Unity.Collections;
using UnityEngine;
using UnityEngine.LowLevel;
using UnityEngine.PlayerLoop;
using UnityEngine.Pool;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
using UnityEngine.Serialization;
using _3rdPerson.Helper;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ModelReplacementAPI")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("https://github.com/BunyaPineTree/LethalCompany_ModelReplacementAPI")]
[assembly: AssemblyProduct("meow.ModelReplacementAPI")]
[assembly: AssemblyCopyright("Copyright © meow 2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("6390E70C-AB5E-42ED-BA29-F173942DC3A9")]
[assembly: AssemblyFileVersion("2.4.0")]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("2.4.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
[HarmonyPatch(typeof(StartOfRound))]
public class RepairBrokenBodyReplacementsPatch
{
	[HarmonyPatch("ReviveDeadPlayers")]
	[HarmonyPostfix]
	public static void ReviveDeadPlayersPatch(ref StartOfRound __instance)
	{
		PlayerControllerB[] allPlayerScripts = __instance.allPlayerScripts;
		foreach (PlayerControllerB val in allPlayerScripts)
		{
			if (val.isPlayerDead)
			{
				ModelReplacementAPI.ResetPlayerModelReplacement(val);
			}
		}
	}
}
namespace JigglePhysics
{
	public static class CachedSphereCollider
	{
		private class DestroyListener : MonoBehaviour
		{
			private void OnDestroy()
			{
				_hasSphere = false;
			}
		}

		private static bool _hasSphere;

		private static SphereCollider _sphereCollider;

		public static void StartPass()
		{
			if (TryGet(out var collider))
			{
				((Collider)collider).enabled = true;
			}
		}

		public static void FinishedPass()
		{
			if (TryGet(out var collider))
			{
				((Collider)collider).enabled = false;
			}
		}

		public static bool TryGet(out SphereCollider collider)
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			if (_hasSphere)
			{
				collider = _sphereCollider;
				return true;
			}
			try
			{
				GameObject val = new GameObject("JiggleBoneSphereCollider", new Type[2]
				{
					typeof(SphereCollider),
					typeof(DestroyListener)
				})
				{
					hideFlags = (HideFlags)61
				};
				if (Application.isPlaying)
				{
					Object.DontDestroyOnLoad((Object)(object)val);
				}
				_sphereCollider = val.GetComponent<SphereCollider>();
				collider = _sphereCollider;
				((Collider)collider).enabled = false;
				_hasSphere = true;
				return true;
			}
			catch
			{
				if ((Object)(object)_sphereCollider != (Object)null)
				{
					if (Application.isPlaying)
					{
						Object.Destroy((Object)(object)((Component)_sphereCollider).gameObject);
					}
					else
					{
						Object.DestroyImmediate((Object)(object)((Component)_sphereCollider).gameObject);
					}
				}
				_hasSphere = false;
				collider = null;
				throw;
			}
		}
	}
	public class JiggleBone
	{
		private readonly bool hasTransform;

		private readonly PositionSignal targetAnimatedBoneSignal;

		private Vector3 currentFixedAnimatedBonePosition;

		public readonly JiggleBone parent;

		private JiggleBone child;

		private Quaternion boneRotationChangeCheck;

		private Vector3 bonePositionChangeCheck;

		private Quaternion lastValidPoseBoneRotation;

		private float projectionAmount;

		private Vector3 lastValidPoseBoneLocalPosition;

		private float normalizedIndex;

		public readonly Transform transform;

		private readonly PositionSignal particleSignal;

		private Vector3 workingPosition;

		private Vector3? preTeleportPosition;

		private Vector3 extrapolatedPosition;

		private float GetLengthToParent()
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			if (parent == null)
			{
				return 0.1f;
			}
			return Vector3.Distance(currentFixedAnimatedBonePosition, parent.currentFixedAnimatedBonePosition);
		}

		public JiggleBone(Transform transform, JiggleBone parent, float projectionAmount = 1f)
		{
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			this.transform = transform;
			this.parent = parent;
			this.projectionAmount = projectionAmount;
			Vector3 startPosition;
			if ((Object)(object)transform != (Object)null)
			{
				lastValidPoseBoneRotation = transform.localRotation;
				lastValidPoseBoneLocalPosition = transform.localPosition;
				startPosition = transform.position;
			}
			else
			{
				startPosition = GetProjectedPosition();
			}
			targetAnimatedBoneSignal = new PositionSignal(startPosition, Time.timeAsDouble);
			particleSignal = new PositionSignal(startPosition, Time.timeAsDouble);
			hasTransform = (Object)(object)transform != (Object)null;
			if (parent != null)
			{
				this.parent.child = this;
			}
		}

		public void CalculateNormalizedIndex()
		{
			int num = 0;
			JiggleBone jiggleBone = this;
			while (jiggleBone.parent != null)
			{
				jiggleBone = jiggleBone.parent;
				num++;
			}
			int num2 = 0;
			jiggleBone = this;
			while (jiggleBone.child != null)
			{
				jiggleBone = jiggleBone.child;
				num2++;
			}
			int num3 = num + num2;
			float num4 = (float)num / (float)num3;
			normalizedIndex = num4;
		}

		public void VerletPass(JiggleSettingsData jiggleSettings, Vector3 wind, double time)
		{
			//IL_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			currentFixedAnimatedBonePosition = targetAnimatedBoneSignal.SamplePosition(time);
			if (parent == null)
			{
				workingPosition = currentFixedAnimatedBonePosition;
				particleSignal.SetPosition(workingPosition, time);
			}
			else
			{
				Vector3 localSpaceVelocity = particleSignal.GetCurrent() - particleSignal.GetPrevious() - (parent.particleSignal.GetCurrent() - parent.particleSignal.GetPrevious());
				workingPosition = NextPhysicsPosition(particleSignal.GetCurrent(), particleSignal.GetPrevious(), localSpaceVelocity, Time.fixedDeltaTime, jiggleSettings.gravityMultiplier, jiggleSettings.friction, jiggleSettings.airDrag);
				workingPosition += wind * (Time.fixedDeltaTime * jiggleSettings.airDrag);
			}
		}

		public void CollisionPreparePass(JiggleSettingsData jiggleSettings)
		{
			//IL_0004: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			workingPosition = ConstrainLengthBackwards(workingPosition, jiggleSettings.lengthElasticity * jiggleSettings.lengthElasticity * 0.5f);
		}

		public void ConstraintPass(JiggleSettingsData jiggleSettings)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			if (parent != null)
			{
				workingPosition = ConstrainAngle(workingPosition, jiggleSettings.angleElasticity * jiggleSettings.angleElasticity, jiggleSettings.elasticitySoften);
				workingPosition = ConstrainLength(workingPosition, jiggleSettings.lengthElasticity * jiggleSettings.lengthElasticity);
			}
		}

		public void CollisionPass(JiggleSettingsBase jiggleSettings, List<Collider> colliders)
		{
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			if (colliders.Count == 0 || !CachedSphereCollider.TryGet(out var collider))
			{
				return;
			}
			Vector3 val = default(Vector3);
			float num = default(float);
			foreach (Collider collider2 in colliders)
			{
				collider.radius = jiggleSettings.GetRadius(normalizedIndex);
				if (!(collider.radius <= 0f) && Physics.ComputePenetration((Collider)(object)collider, workingPosition, Quaternion.identity, collider2, ((Component)collider2).transform.position, ((Component)collider2).transform.rotation, ref val, ref num))
				{
					workingPosition += val * num;
				}
			}
		}

		public void SignalWritePosition(double time)
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			particleSignal.SetPosition(workingPosition, time);
		}

		private Vector3 GetProjectedPosition()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			Vector3 position = parent.transform.position;
			return parent.transform.TransformPoint(parent.GetParentTransform().InverseTransformPoint(position) * projectionAmount);
		}

		private Vector3 GetTransformPosition()
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			if (!hasTransform)
			{
				return GetProjectedPosition();
			}
			return transform.position;
		}

		private Transform GetParentTransform()
		{
			if (parent != null)
			{
				return parent.transform;
			}
			return transform.parent;
		}

		private void CacheAnimationPosition()
		{
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			if (!hasTransform)
			{
				targetAnimatedBoneSignal.SetPosition(GetProjectedPosition(), Time.timeAsDouble);
				return;
			}
			targetAnimatedBoneSignal.SetPosition(transform.position, Time.timeAsDouble);
			lastValidPoseBoneRotation = transform.localRotation;
			lastValidPoseBoneLocalPosition = transform.localPosition;
		}

		private Vector3 ConstrainLengthBackwards(Vector3 newPosition, float elasticity)
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			if (child == null)
			{
				return newPosition;
			}
			Vector3 val = newPosition - child.workingPosition;
			Vector3 normalized = ((Vector3)(ref val)).normalized;
			return Vector3.Lerp(newPosition, child.workingPosition + normalized * child.GetLengthToParent(), elasticity);
		}

		private Vector3 ConstrainLength(Vector3 newPosition, float elasticity)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			Vector3 val = newPosition - parent.workingPosition;
			Vector3 normalized = ((Vector3)(ref val)).normalized;
			return Vector3.Lerp(newPosition, parent.workingPosition + normalized * GetLengthToParent(), elasticity);
		}

		public void MatchAnimationInstantly()
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			double timeAsDouble = Time.timeAsDouble;
			Vector3 transformPosition = GetTransformPosition();
			targetAnimatedBoneSignal.FlattenSignal(timeAsDouble, transformPosition);
			particleSignal.FlattenSignal(timeAsDouble, transformPosition);
		}

		public void PrepareTeleport()
		{
			//IL_0003: Unknown result type (might be due to invalid IL or missing references)
			preTeleportPosition = GetTransformPosition();
		}

		public void FinishTeleport()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			if (!preTeleportPosition.HasValue)
			{
				MatchAnimationInstantly();
				return;
			}
			Vector3 transformPosition = GetTransformPosition();
			Vector3 val = transformPosition - preTeleportPosition.Value;
			targetAnimatedBoneSignal.FlattenSignal(Time.timeAsDouble, transformPosition);
			particleSignal.OffsetSignal(val);
			workingPosition += val;
		}

		private Vector3 ConstrainAngleBackward(Vector3 newPosition, float elasticity, float elasticitySoften)
		{
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			if (child == null || child.child == null)
			{
				return newPosition;
			}
			Vector3 val = child.child.currentFixedAnimatedBonePosition - child.currentFixedAnimatedBonePosition;
			Vector3 val2 = child.child.workingPosition - child.workingPosition;
			Quaternion val3 = Quaternion.FromToRotation(val, val2);
			Vector3 val4 = newPosition - child.workingPosition;
			Vector3 val5 = val3 * val4;
			Debug.DrawLine(newPosition, child.workingPosition + val5, Color.cyan);
			float num = Vector3.Distance(newPosition, child.workingPosition + val5);
			num /= child.GetLengthToParent();
			num = Mathf.Clamp01(num);
			num = Mathf.Pow(num, elasticitySoften * 2f);
			return Vector3.Lerp(newPosition, child.workingPosition + val5, elasticity * num);
		}

		private Vector3 ConstrainAngle(Vector3 newPosition, float elasticity, float elasticitySoften)
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_011d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_0108: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			if (!hasTransform && projectionAmount == 0f)
			{
				return newPosition;
			}
			Vector3 val;
			Vector3 val2;
			if (parent.parent == null)
			{
				val = parent.currentFixedAnimatedBonePosition + (parent.currentFixedAnimatedBonePosition - currentFixedAnimatedBonePosition);
				val2 = val;
			}
			else
			{
				val2 = parent.parent.workingPosition;
				val = parent.parent.currentFixedAnimatedBonePosition;
			}
			Vector3 val3 = parent.currentFixedAnimatedBonePosition - val;
			Vector3 val4 = parent.workingPosition - val2;
			Quaternion val5 = Quaternion.FromToRotation(val3, val4);
			Vector3 val6 = currentFixedAnimatedBonePosition - val;
			Vector3 val7 = val5 * val6;
			float num = Vector3.Distance(newPosition, val2 + val7);
			num /= GetLengthToParent();
			num = Mathf.Clamp01(num);
			num = Mathf.Pow(num, elasticitySoften * 2f);
			return Vector3.Lerp(newPosition, val2 + val7, elasticity * num);
		}

		public static Vector3 NextPhysicsPosition(Vector3 newPosition, Vector3 previousPosition, Vector3 localSpaceVelocity, float deltaTime, float gravityMultiplier, float friction, float airFriction)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			float num = deltaTime * deltaTime;
			Vector3 val = newPosition - previousPosition - localSpaceVelocity;
			return newPosition + val * (1f - airFriction) + localSpaceVelocity * (1f - friction) + Physics.gravity * (gravityMultiplier * num);
		}

		public void DebugDraw(Color simulateColor, Color targetColor, bool interpolated)
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			if (parent != null)
			{
				if (interpolated)
				{
					Debug.DrawLine(extrapolatedPosition, parent.extrapolatedPosition, simulateColor, 0f, false);
				}
				else
				{
					Debug.DrawLine(workingPosition, parent.workingPosition, simulateColor, 0f, false);
				}
				Debug.DrawLine(currentFixedAnimatedBonePosition, parent.currentFixedAnimatedBonePosition, targetColor, 0f, false);
			}
		}

		public Vector3 DeriveFinalSolvePosition(Vector3 offset)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			extrapolatedPosition = offset + particleSignal.SamplePosition(Time.timeAsDouble);
			return extrapolatedPosition;
		}

		public Vector3 GetCachedSolvePosition()
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			return extrapolatedPosition;
		}

		public void PrepareBone()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			if (hasTransform)
			{
				if (boneRotationChangeCheck == transform.localRotation)
				{
					transform.localRotation = lastValidPoseBoneRotation;
				}
				if (bonePositionChangeCheck == transform.localPosition)
				{
					transform.localPosition = lastValidPoseBoneLocalPosition;
				}
			}
			CacheAnimationPosition();
		}

		public void OnDrawGizmos(JiggleSettingsBase jiggleSettings)
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)transform != (Object)null && child != null && (Object)(object)child.transform != (Object)null)
			{
				Gizmos.DrawLine(transform.position, child.transform.position);
			}
			if ((Object)(object)transform != (Object)null && child != null && (Object)(object)child.transform == (Object)null)
			{
				Gizmos.DrawLine(transform.position, child.GetProjectedPosition());
			}
			if ((Object)(object)transform != (Object)null && (Object)(object)jiggleSettings != (Object)null)
			{
				Gizmos.DrawWireSphere(transform.position, jiggleSettings.GetRadius(normalizedIndex));
			}
			if ((Object)(object)transform == (Object)null && (Object)(object)jiggleSettings != (Object)null)
			{
				Gizmos.DrawWireSphere(GetProjectedPosition(), jiggleSettings.GetRadius(normalizedIndex));
			}
		}

		public void PoseBone(float blend)
		{
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			if (child != null)
			{
				Vector3 val = Vector3.Lerp(targetAnimatedBoneSignal.SamplePosition(Time.timeAsDouble), extrapolatedPosition, blend);
				Vector3 val2 = Vector3.Lerp(child.targetAnimatedBoneSignal.SamplePosition(Time.timeAsDouble), child.extrapolatedPosition, blend);
				if (parent != null)
				{
					transform.position = val;
				}
				Vector3 transformPosition = child.GetTransformPosition();
				Vector3 val3 = transformPosition - transform.position;
				Vector3 val4 = val2 - val;
				Quaternion val5 = Quaternion.FromToRotation(val3, val4);
				transform.rotation = val5 * transform.rotation;
			}
			if (hasTransform)
			{
				boneRotationChangeCheck = transform.localRotation;
				bonePositionChangeCheck = transform.localPosition;
			}
		}
	}
	[DefaultExecutionOrder(200)]
	public class JiggleRigBuilder : MonoBehaviour
	{
		[SerializeField]
		[Tooltip("The root bone from which an individual JiggleRig will be constructed. The JiggleRig encompasses all children of the specified root.")]
		[FormerlySerializedAs("target")]
		private Transform rootTransform;

		[Tooltip("The settings that the rig should update with, create them using the Create->JigglePhysics->Settings menu option.")]
		public JiggleSettingsBase jiggleSettings;

		[SerializeField]
		[Tooltip("The list of transforms to ignore during the jiggle. Each bone listed will also ignore all the children of the specified bone.")]
		private List<Transform> ignoredTransforms;

		public List<Collider> colliders;

		[Tooltip("An air force that is applied to the entire rig, this is useful to plug in some wind volumes from external sources.")]
		public Vector3 wind;

		[Tooltip("Level of detail manager. This system will control how the jiggle rig saves performance cost.")]
		public JiggleRigLOD levelOfDetail;

		[Tooltip("Draws some simple lines to show what the simulation is doing. Generally this should be disabled.")]
		[SerializeField]
		private bool debugDraw;

		private JiggleSettingsData data;

		private bool initialized;

		[HideInInspector]
		protected List<JiggleBone> simulatedPoints;

		private double accumulation;

		private bool dirtyFromEnable = false;

		private bool wasLODActive = true;

		public static float maxCatchupTime => Time.fixedDeltaTime * 4f;

		private bool NeedsCollisions => colliders.Count != 0;

		public Transform GetRootTransform()
		{
			return rootTransform;
		}

		public void PrepareBone(Vector3 position, JiggleRigLOD jiggleRigLOD)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			if (!initialized)
			{
				throw new UnityException("JiggleRig was never initialized. Please call JiggleRig.Initialize() if you're going to manually timestep.");
			}
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.PrepareBone();
			}
			data = jiggleSettings.GetData();
			data = (((Object)(object)jiggleRigLOD != (Object)null) ? jiggleRigLOD.AdjustJiggleSettingsData(position, data) : data);
		}

		public void MatchAnimationInstantly()
		{
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.MatchAnimationInstantly();
			}
		}

		public void UpdateJiggle(Vector3 wind, double time)
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.VerletPass(data, wind, time);
			}
			if (NeedsCollisions)
			{
				for (int num = simulatedPoints.Count - 1; num >= 0; num--)
				{
					simulatedPoints[num].CollisionPreparePass(data);
				}
			}
			foreach (JiggleBone simulatedPoint2 in simulatedPoints)
			{
				simulatedPoint2.ConstraintPass(data);
			}
			if (NeedsCollisions)
			{
				foreach (JiggleBone simulatedPoint3 in simulatedPoints)
				{
					simulatedPoint3.CollisionPass(jiggleSettings, colliders);
				}
			}
			foreach (JiggleBone simulatedPoint4 in simulatedPoints)
			{
				simulatedPoint4.SignalWritePosition(time);
			}
		}

		public void DeriveFinalSolve()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			Vector3 val = simulatedPoints[0].DeriveFinalSolvePosition(Vector3.zero);
			Vector3 offset = simulatedPoints[0].transform.position - val;
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.DeriveFinalSolvePosition(offset);
			}
		}

		public void Pose(bool debugDraw)
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			DeriveFinalSolve();
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.PoseBone(data.blend);
				if (debugDraw)
				{
					simulatedPoint.DebugDraw(Color.red, Color.blue, interpolated: true);
				}
			}
		}

		public void PrepareTeleport()
		{
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.PrepareTeleport();
			}
		}

		public void FinishTeleport()
		{
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.FinishTeleport();
			}
		}

		protected virtual void CreateSimulatedPoints(ICollection<JiggleBone> outputPoints, ICollection<Transform> ignoredTransforms, Transform currentTransform, JiggleBone parentJiggleBone)
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			JiggleBone jiggleBone = new JiggleBone(currentTransform, parentJiggleBone);
			outputPoints.Add(jiggleBone);
			if (currentTransform.childCount == 0)
			{
				if (jiggleBone.parent == null)
				{
					if ((Object)(object)jiggleBone.transform.parent == (Object)null)
					{
						throw new UnityException("Can't have a singular jiggle bone with no parents. That doesn't even make sense!");
					}
					outputPoints.Add(new JiggleBone(null, jiggleBone));
				}
				else
				{
					outputPoints.Add(new JiggleBone(null, jiggleBone));
				}
				return;
			}
			for (int i = 0; i < currentTransform.childCount; i++)
			{
				if (!ignoredTransforms.Contains(currentTransform.GetChild(i)))
				{
					CreateSimulatedPoints(outputPoints, ignoredTransforms, currentTransform.GetChild(i), jiggleBone);
				}
			}
		}

		private void Awake()
		{
			Initialize();
		}

		private void OnEnable()
		{
			JiggleRigHandler.AddBuilder(this);
			dirtyFromEnable = true;
		}

		private void OnDisable()
		{
			JiggleRigHandler.RemoveBuilder(this);
			PrepareTeleport();
		}

		public void Initialize()
		{
			accumulation = 0.0;
			simulatedPoints = new List<JiggleBone>();
			if ((Object)(object)rootTransform == (Object)null)
			{
				return;
			}
			CreateSimulatedPoints(simulatedPoints, ignoredTransforms, rootTransform, null);
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.CalculateNormalizedIndex();
			}
			initialized = true;
		}

		public virtual void Advance(float deltaTime)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)levelOfDetail != (Object)null && !levelOfDetail.CheckActive(((Component)this).transform.position))
			{
				if (wasLODActive)
				{
					PrepareTeleport();
				}
				wasLODActive = false;
				return;
			}
			if (!wasLODActive)
			{
				FinishTeleport();
			}
			PrepareBone(((Component)this).transform.position, levelOfDetail);
			if (dirtyFromEnable)
			{
				FinishTeleport();
				dirtyFromEnable = false;
			}
			accumulation = Math.Min(accumulation + (double)deltaTime, maxCatchupTime);
			while (accumulation > (double)Time.fixedDeltaTime)
			{
				accumulation -= Time.fixedDeltaTime;
				double time = Time.timeAsDouble - accumulation;
				UpdateJiggle(wind, time);
			}
			Pose(debugDraw);
			wasLODActive = true;
		}

		private void OnDrawGizmos()
		{
			if (!initialized || simulatedPoints == null)
			{
				Initialize();
			}
			foreach (JiggleBone simulatedPoint in simulatedPoints)
			{
				simulatedPoint.OnDrawGizmos(jiggleSettings);
			}
		}

		private void OnValidate()
		{
			if ((Object)(object)rootTransform == (Object)null)
			{
				rootTransform = ((Component)this).transform;
			}
			if (!Application.isPlaying)
			{
				Initialize();
			}
		}
	}
	public static class JiggleRigHandler
	{
		[CompilerGenerated]
		private static class <>O
		{
			public static UpdateFunction <0>__UpdateJiggleRigs;
		}

		private static bool initialized = false;

		private static HashSet<JiggleRigBuilder> builders = new HashSet<JiggleRigBuilder>();

		private static void Initialize()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Expected O, but got Unknown
			if (!initialized)
			{
				PlayerLoopSystem currentPlayerLoop = PlayerLoop.GetCurrentPlayerLoop();
				PlayerLoopSystem self = currentPlayerLoop;
				PlayerLoopSystem systemToInject = default(PlayerLoopSystem);
				object obj = <>O.<0>__UpdateJiggleRigs;
				if (obj == null)
				{
					UpdateFunction val = UpdateJiggleRigs;
					<>O.<0>__UpdateJiggleRigs = val;
					obj = (object)val;
				}
				systemToInject.updateDelegate = (UpdateFunction)obj;
				systemToInject.type = typeof(JiggleRigHandler);
				currentPlayerLoop = self.InjectAt<PostLateUpdate>(systemToInject);
				PlayerLoop.SetPlayerLoop(currentPlayerLoop);
				initialized = true;
			}
		}

		private static void UpdateJiggleRigs()
		{
			CachedSphereCollider.StartPass();
			foreach (JiggleRigBuilder builder in builders)
			{
				builder.Advance(Time.deltaTime);
			}
			CachedSphereCollider.FinishedPass();
		}

		public static void AddBuilder(JiggleRigBuilder builder)
		{
			builders.Add(builder);
			Initialize();
		}

		public static void RemoveBuilder(JiggleRigBuilder builder)
		{
			builders.Remove(builder);
		}

		private static PlayerLoopSystem InjectAt<T>(this PlayerLoopSystem self, PlayerLoopSystem systemToInject)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			int num = FindIndexOfSubsystem<T>(self.subSystemList);
			if (num == -1)
			{
				throw new UnityException($"Failed to find PlayerLoopSystem with type{typeof(T)}");
			}
			List<PlayerLoopSystem> list = new List<PlayerLoopSystem>(self.subSystemList[num].subSystemList);
			foreach (PlayerLoopSystem item2 in list)
			{
				if (item2.type != typeof(JiggleRigBuilder))
				{
					continue;
				}
				Debug.LogWarning((object)$"Tried to inject a PlayerLoopSystem ({systemToInject.type}) more than once! Ignoring the second injection.");
				return self;
			}
			PlayerLoopSystem item = default(PlayerLoopSystem);
			object obj = <>O.<0>__UpdateJiggleRigs;
			if (obj == null)
			{
				UpdateFunction val = UpdateJiggleRigs;
				<>O.<0>__UpdateJiggleRigs = val;
				obj = (object)val;
			}
			item.updateDelegate = (UpdateFunction)obj;
			item.type = typeof(JiggleRigHandler);
			list.Insert(0, item);
			self.subSystemList[num].subSystemList = list.ToArray();
			return self;
		}

		private static int FindIndexOfSubsystem<T>(PlayerLoopSystem[] list, int index = -1)
		{
			if (list == null)
			{
				return -1;
			}
			for (int i = 0; i < list.Length; i++)
			{
				if (list[i].type == typeof(T))
				{
					return i;
				}
			}
			return -1;
		}
	}
	public abstract class JiggleRigLOD : ScriptableObject
	{
		public abstract bool CheckActive(Vector3 position);

		public abstract JiggleSettingsData AdjustJiggleSettingsData(Vector3 position, JiggleSettingsData data);
	}
	[CreateAssetMenu(fileName = "JiggleRigSimpleLOD", menuName = "JigglePhysics/JiggleRigSimpleLOD", order = 1)]
	public class JiggleRigSimpleLOD : JiggleRigLOD
	{
		[Tooltip("Distance to disable the jiggle rig")]
		[SerializeField]
		private float distance;

		[Tooltip("Level of detail manager. This system will control how the jiggle rig saves performance cost.")]
		[SerializeField]
		private float blend;

		[NonSerialized]
		private Camera currentCamera;

		[NonSerialized]
		private Transform cameraTransform;

		private bool TryGetCamera(out Camera camera)
		{
			if ((Object)(object)currentCamera == (Object)null || !((Component)currentCamera).CompareTag("MainCamera"))
			{
				currentCamera = Camera.main;
			}
			camera = currentCamera;
			return (Object)(object)currentCamera != (Object)null;
		}

		public override bool CheckActive(Vector3 position)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			if (!TryGetCamera(out var camera))
			{
				return false;
			}
			return Vector3.Distance(((Component)camera).transform.position, position) < distance;
		}

		public override JiggleSettingsData AdjustJiggleSettingsData(Vector3 position, JiggleSettingsData data)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			if (!TryGetCamera(out var camera))
			{
				return data;
			}
			float num = (Vector3.Distance(((Component)camera).transform.position, position) - distance + blend) / blend;
			num = Mathf.Clamp01(1f - num);
			data.blend = num;
			return data;
		}
	}
	public struct JiggleSettingsData
	{
		public float gravityMultiplier;

		public float friction;

		public float angleElasticity;

		public float blend;

		public float airDrag;

		public float lengthElasticity;

		public float elasticitySoften;

		public float radiusMultiplier;

		public static JiggleSettingsData Lerp(JiggleSettingsData a, JiggleSettingsData b, float t)
		{
			JiggleSettingsData result = default(JiggleSettingsData);
			result.gravityMultiplier = Mathf.Lerp(a.gravityMultiplier, b.gravityMultiplier, t);
			result.friction = Mathf.Lerp(a.friction, b.friction, t);
			result.angleElasticity = Mathf.Lerp(a.angleElasticity, b.angleElasticity, t);
			result.blend = Mathf.Lerp(a.blend, b.blend, t);
			result.airDrag = Mathf.Lerp(a.airDrag, b.airDrag, t);
			result.lengthElasticity = Mathf.Lerp(a.lengthElasticity, b.lengthElasticity, t);
			result.elasticitySoften = Mathf.Lerp(a.elasticitySoften, b.elasticitySoften, t);
			result.radiusMultiplier = Mathf.Lerp(a.radiusMultiplier, b.radiusMultiplier, t);
			return result;
		}
	}
	[CreateAssetMenu(fileName = "JiggleSettings", menuName = "JigglePhysics/Settings", order = 1)]
	public class JiggleSettings : JiggleSettingsBase
	{
		[SerializeField]
		[Range(0f, 2f)]
		[Tooltip("How much gravity to apply to the simulation, it is a multiplier of the Physics.gravity setting.")]
		private float gravityMultiplier = 1f;

		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much mechanical friction to apply, this is specifically how quickly oscillations come to rest.")]
		private float friction = 0.4f;

		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much angular force is applied to bring it to the target shape.")]
		private float angleElasticity = 0.4f;

		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much of the simulation should be expressed. A value of 0 would make the jiggle have zero effect. A value of 1 gives the full movement as intended. 0.5 would ")]
		private float blend = 1f;

		[FormerlySerializedAs("airFriction")]
		[HideInInspector]
		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much jiggled objects should get dragged behind by moving through the air. Or how \"thick\" the air is.")]
		private float airDrag = 0.1f;

		[HideInInspector]
		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How rigidly the rig holds its length. Low values cause lots of squash and stretch!")]
		private float lengthElasticity = 0.8f;

		[HideInInspector]
		[SerializeField]
		[Range(0f, 1f)]
		[Tooltip("How much to allow free bone motion before engaging elasticity.")]
		private float elasticitySoften = 0f;

		[HideInInspector]
		[SerializeField]
		[Tooltip("How much radius points have, only used for collisions. Set to 0 to disable collisions")]
		private float radiusMultiplier = 0f;

		[HideInInspector]
		[SerializeField]
		[Tooltip("How the radius is expressed as a curve along the bone chain from root to child.")]
		private AnimationCurve radiusCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[2]
		{
			new Keyframe(0f, 1f),
			new Keyframe(1f, 0f)
		});

		public override JiggleSettingsData GetData()
		{
			JiggleSettingsData result = default(JiggleSettingsData);
			result.gravityMultiplier = gravityMultiplier;
			result.friction = friction;
			result.airDrag = airDrag;
			result.blend = blend;
			result.angleElasticity = angleElasticity;
			result.elasticitySoften = elasticitySoften;
			result.lengthElasticity = lengthElasticity;
			result.radiusMultiplier = radiusMultiplier;
			return result;
		}

		public void SetData(JiggleSettingsData data)
		{
			gravityMultiplier = data.gravityMultiplier;
			friction = data.friction;
			angleElasticity = data.angleElasticity;
			blend = data.blend;
			airDrag = data.airDrag;
			lengthElasticity = data.lengthElasticity;
			elasticitySoften = data.elasticitySoften;
			radiusMultiplier = data.radiusMultiplier;
		}

		public override float GetRadius(float normalizedIndex)
		{
			return radiusMultiplier * radiusCurve.Evaluate(normalizedIndex);
		}

		public void SetRadiusCurve(AnimationCurve curve)
		{
			radiusCurve = curve;
		}
	}
	public class JiggleSettingsBase : ScriptableObject
	{
		public virtual JiggleSettingsData GetData()
		{
			return default(JiggleSettingsData);
		}

		public virtual float GetRadius(float normalizedIndex)
		{
			return 0f;
		}
	}
	[CreateAssetMenu(fileName = "JiggleSettingsBlend", menuName = "JigglePhysics/Blend Settings", order = 1)]
	public class JiggleSettingsBlend : JiggleSettingsBase
	{
		[Tooltip("The list of jiggle settings to blend between.")]
		public List<JiggleSettings> blendSettings;

		[Range(0f, 1f)]
		[Tooltip("A value from 0 to 1 that linearly blends between all of the blendSettings.")]
		public float normalizedBlend;

		public override JiggleSettingsData GetData()
		{
			int num = blendSettings.Count - 1;
			float num2 = Mathf.Clamp01(normalizedBlend);
			int num3 = Mathf.Clamp(Mathf.FloorToInt(num2 * (float)num), 0, num);
			int index = Mathf.Clamp(Mathf.FloorToInt(num2 * (float)num) + 1, 0, num);
			return JiggleSettingsData.Lerp(blendSettings[num3].GetData(), blendSettings[index].GetData(), Mathf.Clamp01(num2 * (float)num - (float)num3));
		}

		public override float GetRadius(float normalizedIndex)
		{
			float num = Mathf.Clamp01(normalizedBlend);
			int num2 = Mathf.FloorToInt(num * (float)blendSettings.Count);
			int num3 = Mathf.FloorToInt(num * (float)blendSettings.Count) + 1;
			return Mathf.Lerp(blendSettings[Mathf.Clamp(num2, 0, blendSettings.Count - 1)].GetRadius(normalizedIndex), blendSettings[Mathf.Clamp(num3, 0, blendSettings.Count - 1)].GetRadius(normalizedIndex), Mathf.Clamp01(num * (float)blendSettings.Count - (float)num2));
		}
	}
	public class PositionSignal
	{
		private struct Frame
		{
			public Vector3 position;

			public double time;
		}

		private Frame previousFrame;

		private Frame currentFrame;

		public PositionSignal(Vector3 startPosition, double time)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			currentFrame = (previousFrame = new Frame
			{
				position = startPosition,
				time = time
			});
		}

		public void SetPosition(Vector3 position, double time)
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			previousFrame = currentFrame;
			currentFrame = new Frame
			{
				position = position,
				time = time
			};
		}

		public void OffsetSignal(Vector3 offset)
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			previousFrame = new Frame
			{
				position = previousFrame.position + offset,
				time = previousFrame.time
			};
			currentFrame = new Frame
			{
				position = currentFrame.position + offset,
				time = previousFrame.time
			};
		}

		public void FlattenSignal(double time, Vector3 position)
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			previousFrame = new Frame
			{
				position = position,
				time = time - (double)(JiggleRigBuilder.maxCatchupTime * 2f)
			};
			currentFrame = new Frame
			{
				position = position,
				time = time - (double)JiggleRigBuilder.maxCatchupTime
			};
		}

		public Vector3 GetCurrent()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			return currentFrame.position;
		}

		public Vector3 GetPrevious()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			return previousFrame.position;
		}

		public Vector3 SamplePosition(double time)
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			double num = currentFrame.time - previousFrame.time;
			if (num == 0.0)
			{
				return previousFrame.position;
			}
			double num2 = (time - previousFrame.time) / num;
			return Vector3.Lerp(previousFrame.position, currentFrame.position, (float)num2);
		}
	}
}
namespace ModelReplacement
{
	public static class PluginInfo
	{
		public const string GUID = "meow.ModelReplacementAPI";

		public const string NAME = "ModelReplacementAPI";

		public const string VERSION = "2.4.0";

		public const string WEBSITE = "https://github.com/BunyaPineTree/LethalCompany_ModelReplacementAPI";
	}
	[BepInPlugin("meow.ModelReplacementAPI", "ModelReplacementAPI", "2.4.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class ModelReplacementAPI : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(PlayerControllerB))]
		public class PlayerControllerBPatch
		{
			[HarmonyPatch("Update")]
			[HarmonyPostfix]
			public static void ManageRegistryBodyReplacements(ref PlayerControllerB __instance)
			{
				try
				{
					ManageBodyReplacements(__instance);
				}
				catch (Exception arg)
				{
					Instance.Logger.LogError((object)$"Exception in ManageRegistryBodyReplacements: {arg}");
				}
			}

			private static void ManageBodyReplacements(PlayerControllerB player)
			{
				BodyReplacementBase component = ((Component)player.thisPlayerBody).gameObject.GetComponent<BodyReplacementBase>();
				if ((Object)(object)component != (Object)null && RegisteredModelReplacementExceptions.Contains(((object)component).GetType()))
				{
					return;
				}
				if (RegisteredModelReplacementOverride != null)
				{
					SetPlayerModelReplacement(player, RegisteredModelReplacementOverride);
					return;
				}
				int num = player.currentSuitID;
				List<UnlockableItem> unlockables = StartOfRound.Instance.unlockablesList.unlockables;
				if (num > unlockables.Count)
				{
					throw new Exception($"Suit ID {num} is out of range of the suit list, which has {unlockables.Count} elements.");
				}
				if (num >= unlockables.Count)
				{
					num = 0;
				}
				string key = unlockables[num].unlockableName.ToLower().Replace(" ", "");
				if (RegisteredModelReplacements.ContainsKey(key))
				{
					SetPlayerModelReplacement(player, RegisteredModelReplacements[key]);
				}
				else if (RegisteredModelReplacementDefault != null)
				{
					SetPlayerModelReplacement(player, RegisteredModelReplacementDefault);
				}
				else
				{
					RemovePlayerModelReplacement(player);
				}
			}
		}

		public static ConfigFile config;

		public static bool moreCompanyPresent;

		public static bool thirdPersonPresent;

		public static bool LCthirdPersonPresent;

		public static bool mirrorDecorPresent;

		public static bool tooManyEmotesPresent;

		public static bool recordingCameraPresent;

		public static bool MRAPI_NetworkingPresent;

		public static ModelReplacementAPI Instance = null;

		public ManualLogSource Logger;

		private static List<Type> RegisteredModelReplacementExceptions = new List<Type>();

		private static Dictionary<string, Type> RegisteredModelReplacements = new Dictionary<string, Type>();

		private static Type RegisteredModelReplacementOverride = null;

		private static Type RegisteredModelReplacementDefault = null;

		private static HashSet<ulong> blackListedSteamIDs = new HashSet<ulong>();

		public static ConfigEntry<bool> EnforceViewModelGeneration { get; private set; }

		private static int steamLobbyID
		{
			get
			{
				//IL_0024: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				int result;
				if (!GameNetworkManager.Instance.currentLobby.HasValue)
				{
					result = -1;
				}
				else
				{
					Lobby value = GameNetworkManager.Instance.currentLobby.Value;
					result = (int)((Lobby)(ref value)).Id.Value;
				}
				return result;
			}
		}

		public static bool IsLan => steamLobbyID == -1;

		private static void InitConfig()
		{
			EnforceViewModelGeneration = config.Bind<bool>("Debug Settings", "Generate Viewmodels by default", false, "Enable to generate a viewmodel for all model replacements, regardless of the individual model's settings.");
		}

		private void Awake()
		{
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Expected O, but got Unknown
			config = ((BaseUnityPlugin)this).Config;
			InitConfig();
			Logger = Logger.CreateLogSource("meow.ModelReplacementAPI");
			if ((Object)(object)Instance == (Object)null)
			{
				Instance = this;
			}
			moreCompanyPresent = IsPluginPresent("me.swipez.melonloader.morecompany");
			thirdPersonPresent = IsPluginPresent("verity.3rdperson");
			LCthirdPersonPresent = IsPluginPresent("LCThirdPerson");
			mirrorDecorPresent = IsPluginPresent("quackandcheese.mirrordecor");
			tooManyEmotesPresent = IsPluginPresent("FlipMods.TooManyEmotes");
			recordingCameraPresent = IsPluginPresent("com.graze.gorillatag.placeablecamera");
			MRAPI_NetworkingPresent = IsPluginPresent("meow.ModelReplacementAPI.Networking");
			Harmony val = new Harmony("meow.ModelReplacementAPI");
			val.PatchAll();
			Logger.LogInfo((object)"Plugin meow.ModelReplacementAPI is loaded!");
		}

		private static bool IsPluginPresent(string pluginName)
		{
			return Chainloader.PluginInfos.ContainsKey(pluginName);
		}

		public static void RegisterModelReplacementDefault(Type type)
		{
			RegisterModelReplacement(type, ref RegisteredModelReplacementDefault, "default");
		}

		public static void RegisterModelReplacementOverride(Type type)
		{
			RegisterModelReplacement(type, ref RegisteredModelReplacementOverride, "override");
		}

		public static void RegisterModelReplacementException(Type type)
		{
			RegisterModelReplacement(type, RegisteredModelReplacementExceptions, "exception");
		}

		public static void RegisterSuitModelReplacement(string suitNameToReplace, Type type)
		{
			suitNameToReplace = suitNameToReplace.ToLower().Replace(" ", "");
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement type {type}, must inherit from BodyReplacementBase");
				return;
			}
			if (RegisteredModelReplacements.ContainsKey(suitNameToReplace))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement type {type}, suit name to replace {suitNameToReplace} is already registered.");
				return;
			}
			Instance.Logger.LogInfo((object)$"Registering body replacement type {type} to suit name {suitNameToReplace}.");
			RegisteredModelReplacements.Add(suitNameToReplace, type);
		}

		private static void RegisterModelReplacement(Type type, ref Type registeredType, string logType)
		{
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement {logType} type {type}, must inherit from BodyReplacementBase");
				return;
			}
			if (registeredType != null)
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement {logType}, already registered to {registeredType}.");
				return;
			}
			Instance.Logger.LogInfo((object)$"Registering body replacement {logType} type {type}.");
			registeredType = type;
		}

		private static void RegisterModelReplacement(Type type, List<Type> registeredList, string logType)
		{
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)$"Cannot register body replacement {logType} type {type}, must inherit from BodyReplacementBase");
				return;
			}
			Instance.Logger.LogInfo((object)$"Registering body replacement {logType} type {type}.");
			if (!registeredList.Contains(type))
			{
				registeredList.Add(type);
			}
		}

		public static void RegisterPlayerBlackList(ulong steamID, bool blackListed)
		{
			if (blackListed)
			{
				blackListedSteamIDs.Add(steamID);
			}
			else if (blackListedSteamIDs.Contains(steamID))
			{
				blackListedSteamIDs.Remove(steamID);
			}
		}

		public static void RegisterPlayerBlackList(PlayerControllerB player, bool blackListed)
		{
			RegisterPlayerBlackList(player.playerSteamId, blackListed);
			RemovePlayerModelReplacement(player);
		}

		public static void ResetPlayerModelReplacement(PlayerControllerB player)
		{
			BodyReplacementBase component = ((Component)player).gameObject.GetComponent<BodyReplacementBase>();
			if (!((Object)(object)component == (Object)null))
			{
				Instance.Logger.LogInfo((object)("Reinstantiating model replacement for " + player.playerUsername));
				Type type = ((object)component).GetType();
				component.IsActive = false;
				Object.Destroy((Object)(object)component);
				((Component)player).gameObject.AddComponent(type);
			}
		}

		public static void SetPlayerModelReplacement(PlayerControllerB player, Type type)
		{
			if (!type.IsSubclassOf(typeof(BodyReplacementBase)))
			{
				Instance.Logger.LogError((object)("Cannot set body replacement of type " + type.Name + ", must inherit from BodyReplacementBase"));
			}
			else
			{
				if ((!IsLan && player.playerSteamId == 0) || blackListedSteamIDs.Contains(player.playerSteamId))
				{
					return;
				}
				BodyReplacementBase bodyReplacementBase = default(BodyReplacementBase);
				bool flag = ((Component)player).gameObject.TryGetComponent<BodyReplacementBase>(ref bodyReplacementBase);
				int currentSuitID = player.currentSuitID;
				string unlockableName = StartOfRound.Instance.unlockablesList.unlockables[currentSuitID].unlockableName;
				if (flag)
				{
					if (((object)bodyReplacementBase).GetType() == type && bodyReplacementBase.suitName == unlockableName)
					{
						return;
					}
					Instance.Logger.LogInfo((object)$"Model Replacement Change detected {((object)bodyReplacementBase).GetType()} => {type}, changing model.");
					bodyReplacementBase.IsActive = false;
					Object.Destroy((Object)(object)bodyReplacementBase);
				}
				Instance.Logger.LogInfo((object)$"Suit Change detected {bodyReplacementBase?.suitName} => {unlockableName}, Replacing {type}.");
				BodyReplacementBase bodyReplacementBase2 = ((Component)player).gameObject.AddComponent(type) as BodyReplacementBase;
				bodyReplacementBase2.suitName = unlockableName;
			}
		}

		public static bool GetPlayerModelReplacement(PlayerControllerB player, out BodyReplacementBase modelReplacement)
		{
			try
			{
				modelReplacement = ((Component)player).gameObject.GetComponent<BodyReplacementBase>();
				return (Object)(object)modelReplacement != (Object)null;
			}
			catch (Exception arg)
			{
				Instance.Logger.LogError((object)$"Error in GetPlayerModelReplacement, returning false {arg}");
				modelReplacement = null;
				return false;
			}
		}

		public static bool GetPlayerModelReplacement(PlayerControllerB player)
		{
			try
			{
				return (Object)(object)((Component)player).gameObject.GetComponent<BodyReplacementBase>() != (Object)null;
			}
			catch (Exception arg)
			{
				Instance.Logger.LogError((object)$"Error in GetPlayerModelReplacement, returning false {arg}");
				return false;
			}
		}

		public static void RemovePlayerModelReplacement(PlayerControllerB player)
		{
			BodyReplacementBase component = ((Component)player).gameObject.GetComponent<BodyReplacementBase>();
			if (Object.op_Implicit((Object)(object)component))
			{
				component.IsActive = false;
				Object.Destroy((Object)(object)component);
			}
		}
	}
	public abstract class BodyReplacementBase : MonoBehaviour
	{
		public class RaycastTarget : MonoBehaviour
		{
			public PlayerControllerB controller = null;

			public BodyReplacementBase bodyReplacement = null;

			public GameObject modelObj = null;

			private void Update()
			{
				if ((Object)(object)bodyReplacement == (Object)null && !((Object)(object)modelObj != (Object)null))
				{
				}
			}
		}

		public ViewStateManager viewState = null;

		public MoreCompanyCosmeticManager cosmeticManager = null;

		public GameObject replacementModel;

		public GameObject replacementViewModel;

		public BoxCollider nameTagCollider = null;

		public GrabbableObject heldItem = null;

		protected GameObject deadBody = null;

		protected GameObject replacementDeadBody = null;

		private MaterialHelper matHelper = null;

		private int danceNumber = 0;

		private int previousDanceNumber = 0;

		public AvatarUpdater cosmeticAvatar = null;

		public bool IsActive = true;

		public bool UseNoPostProcessing = false;

		public bool DontConvertUnsupportedShaders = false;

		public bool GenerateViewModel = false;

		public bool RemoveHelmet = false;

		public bool DebugRenderPlayer = false;

		public bool DebugRenderModel = false;

		private bool emoteOngoing = false;

		public AvatarUpdater avatar { get; private set; }

		public ViewModelUpdater viewModelAvatar { get; private set; }

		public PlayerControllerB controller { get; private set; }

		public AvatarUpdater ragdollAvatar { get; private set; }

		public string suitName { get; set; } = "";


		public bool CanPositionItemOnCustomViewModel => (Object)(object)replacementViewModel != (Object)null && (Object)(object)viewModelAvatar.ItemHolderViewModel != (Object)null;

		protected abstract GameObject LoadAssetsAndReturnModel();

		protected virtual GameObject LoadAssetsAndReturnViewModel()
		{
			return null;
		}

		protected virtual GameObject LoadAssetsAndReturnRagdoll(CauseOfDeath causeOfDeath)
		{
			return null;
		}

		protected virtual AvatarUpdater GetAvatarUpdater()
		{
			return new AvatarUpdater();
		}

		protected virtual ViewModelUpdater GetViewModelUpdater()
		{
			return new ViewModelUpdater();
		}

		protected virtual void AddModelScripts()
		{
		}

		protected internal virtual void OnHitEnemy(bool dead)
		{
			Console.WriteLine("PLAYER HIT ENEMY " + controller.playerUsername);
		}

		protected internal virtual void OnHitAlly(PlayerControllerB ally, bool dead)
		{
			Console.WriteLine("PLAYER HIT ALLY " + controller.playerUsername);
		}

		protected internal virtual void OnDamageTaken(bool dead)
		{
			Console.WriteLine("PLAYER TAKE DAMAGE  " + controller.playerUsername);
		}

		protected internal virtual void OnDamageTakenByAlly(PlayerControllerB ally, bool dead)
		{
			Console.WriteLine("PLAYER TAKE DAMAGE BY ALLY " + controller.playerUsername);
		}

		protected internal virtual void OnDeath()
		{
			Console.WriteLine("PLAYER DEATH " + controller.playerUsername + " ");
		}

		protected internal virtual void OnEmoteStart(int emoteId)
		{
			Console.WriteLine($"PLAYER EMOTE START {controller.playerUsername} ID {emoteId}");
		}

		protected internal virtual void OnEmoteEnd()
		{
			Console.WriteLine("PLAYER EMOTE END " + controller.playerUsername);
		}

		private GameObject LoadModelReplacement()
		{
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Expected O, but got Unknown
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_01be: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0248: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = LoadAssetsAndReturnModel();
			if ((Object)(object)val == (Object)null)
			{
				ModelReplacementAPI.Instance.Logger.LogFatal((object)"LoadAssetsAndReturnModel() returned null. Verify that your assetbundle works and your asset name is correct. ");
			}
			Animator componentInChildren = val.GetComponentInChildren<Animator>();
			OffsetBuilder component = ((Component)componentInChildren).gameObject.GetComponent<OffsetBuilder>();
			UseNoPostProcessing = component.UseNoPostProcessing;
			GenerateViewModel = component.GenerateViewModel;
			RemoveHelmet = component.RemoveHelmet;
			Vector3 rootScale = component.rootScale;
			Material sharedMaterial = ((Renderer)((Component)controller.thisPlayerModel).GetComponent<SkinnedMeshRenderer>()).sharedMaterial;
			sharedMaterial = new Material(sharedMaterial);
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>();
			SkinnedMeshRenderer[] componentsInChildren2 = val.GetComponentsInChildren<SkinnedMeshRenderer>();
			Dictionary<Material, Material> dictionary = new Dictionary<Material, Material>();
			List<Material> list = CollectionPool<List<Material>, Material>.Get();
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				val2.GetSharedMaterials(list);
				for (int j = 0; j < list.Count; j++)
				{
					Material val3 = list[j];
					if (!dictionary.TryGetValue(val3, out var value))
					{
						value = (dictionary[val3] = matHelper.GetReplacementMaterial(sharedMaterial, val3));
					}
					list[j] = value;
				}
				val2.SetMaterials(list);
			}
			CollectionPool<List<Material>, Material>.Release(list);
			SkinnedMeshRenderer[] array2 = componentsInChildren2;
			foreach (SkinnedMeshRenderer val4 in array2)
			{
				val4.updateWhenOffscreen = true;
			}
			Camera[] componentsInChildren3 = val.GetComponentsInChildren<Camera>();
			foreach (Camera val5 in componentsInChildren3)
			{
				((Behaviour)val5).enabled = false;
			}
			float num = 1.465f;
			Bounds bounds = GetBounds(val);
			float num2 = num / ((Bounds)(ref bounds)).extents.y;
			Transform transform = val.transform;
			transform.localScale *= num2;
			Vector3 localScale = val.transform.localScale;
			val.transform.localScale = Vector3.Scale(localScale, rootScale);
			val = Object.Instantiate<GameObject>(val);
			GameObject obj = val;
			((Object)obj).name = ((Object)obj).name + "(" + controller.playerUsername + ")";
			val.transform.localPosition = new Vector3(0f, 0f, 0f);
			val.SetActive(true);
			return val;
		}

		private GameObject LoadViewModelreplacement()
		{
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Expected O, but got Unknown
			//IL_020e: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = null;
			if (GenerateViewModel || ModelReplacementAPI.EnforceViewModelGeneration.Value)
			{
				val = Object.Instantiate<GameObject>(replacementModel);
				GameObject obj = val;
				((Object)obj).name = ((Object)obj).name + "(ViewModel)";
				val.transform.localPosition = new Vector3(0f, 0f, 0f);
				val.SetActive(false);
				return MeshHelper.ConvertModelToViewModel(val);
			}
			val = LoadAssetsAndReturnViewModel();
			if ((Object)(object)val == (Object)null)
			{
				return null;
			}
			Material sharedMaterial = ((Renderer)((Component)controller.thisPlayerModel).GetComponent<SkinnedMeshRenderer>()).sharedMaterial;
			sharedMaterial = new Material(sharedMaterial);
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>();
			SkinnedMeshRenderer[] componentsInChildren2 = val.GetComponentsInChildren<SkinnedMeshRenderer>();
			Dictionary<Material, Material> dictionary = new Dictionary<Material, Material>();
			List<Material> list = CollectionPool<List<Material>, Material>.Get();
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				val2.GetSharedMaterials(list);
				for (int j = 0; j < list.Count; j++)
				{
					Material val3 = list[j];
					if (!dictionary.TryGetValue(val3, out var value))
					{
						value = (dictionary[val3] = matHelper.GetReplacementMaterial(sharedMaterial, val3));
					}
					list[j] = value;
				}
				val2.SetMaterials(list);
			}
			CollectionPool<List<Material>, Material>.Release(list);
			SkinnedMeshRenderer[] array2 = componentsInChildren2;
			foreach (SkinnedMeshRenderer val4 in array2)
			{
				val4.updateWhenOffscreen = true;
			}
			Camera[] componentsInChildren3 = val.GetComponentsInChildren<Camera>();
			foreach (Camera val5 in componentsInChildren3)
			{
				((Behaviour)val5).enabled = false;
			}
			val = Object.Instantiate<GameObject>(val);
			GameObject obj2 = val;
			((Object)obj2).name = ((Object)obj2).name + "(" + controller.playerUsername + ")(ViewModel)";
			val.transform.localPosition = new Vector3(0f, 0f, 0f);
			val.SetActive(false);
			return val;
		}

		private GameObject LoadRagdollReplacement(CauseOfDeath causeOfDeath)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Expected O, but got Unknown
			//IL_01c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0202: Unknown result type (might be due to invalid IL or missing references)
			//IL_020a: Unknown result type (might be due to invalid IL or missing references)
			//IL_020c: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Unknown result type (might be due to invalid IL or missing references)
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = LoadAssetsAndReturnRagdoll(causeOfDeath);
			if ((Object)(object)val == (Object)null)
			{
				val = Object.Instantiate<GameObject>(replacementModel);
				GameObject obj = val;
				((Object)obj).name = ((Object)obj).name + "(Ragdoll)";
				return val;
			}
			Animator componentInChildren = val.GetComponentInChildren<Animator>();
			OffsetBuilder component = ((Component)componentInChildren).gameObject.GetComponent<OffsetBuilder>();
			Vector3 rootScale = component.rootScale;
			Material sharedMaterial = ((Renderer)((Component)controller.thisPlayerModel).GetComponent<SkinnedMeshRenderer>()).sharedMaterial;
			sharedMaterial = new Material(sharedMaterial);
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>();
			SkinnedMeshRenderer[] componentsInChildren2 = val.GetComponentsInChildren<SkinnedMeshRenderer>();
			Dictionary<Material, Material> dictionary = new Dictionary<Material, Material>();
			List<Material> list = CollectionPool<List<Material>, Material>.Get();
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				val2.GetSharedMaterials(list);
				for (int j = 0; j < list.Count; j++)
				{
					Material val3 = list[j];
					if (!dictionary.TryGetValue(val3, out var value))
					{
						value = (dictionary[val3] = matHelper.GetReplacementMaterial(sharedMaterial, val3));
					}
					list[j] = value;
				}
				val2.SetMaterials(list);
				val2.shadowCastingMode = (ShadowCastingMode)1;
				((Component)val2).gameObject.layer = viewState.VisibleLayer;
			}
			CollectionPool<List<Material>, Material>.Release(list);
			SkinnedMeshRenderer[] array2 = componentsInChildren2;
			foreach (SkinnedMeshRenderer val4 in array2)
			{
				val4.updateWhenOffscreen = true;
			}
			Camera[] componentsInChildren3 = val.GetComponentsInChildren<Camera>();
			foreach (Camera val5 in componentsInChildren3)
			{
				((Behaviour)val5).enabled = false;
			}
			float num = 1.465f;
			Bounds bounds = GetBounds(val);
			float num2 = num / ((Bounds)(ref bounds)).extents.y;
			Transform transform = val.transform;
			transform.localScale *= num2;
			Vector3 localScale = val.transform.localScale;
			val.transform.localScale = Vector3.Scale(localScale, rootScale);
			val = Object.Instantiate<GameObject>(val);
			GameObject obj2 = val;
			((Object)obj2).name = ((Object)obj2).name + "(" + controller.playerUsername + ")(Ragdoll)";
			val.transform.localPosition = new Vector3(0f, 0f, 0f);
			val.SetActive(true);
			return val;
		}

		protected virtual void Awake()
		{
			//IL_0132: Unknown result type (might be due to invalid IL or missing references)
			//IL_0138: Expected O, but got Unknown
			controller = ((Component)this).GetComponent<PlayerControllerB>();
			ModelReplacementAPI.Instance.Logger.LogInfo((object)$"Awake {controller.playerUsername} {this}");
			viewState = ((Component)this).GetComponent<ViewStateManager>();
			cosmeticManager = ((Component)this).GetComponent<MoreCompanyCosmeticManager>();
			matHelper = new MaterialHelper();
			replacementModel = LoadModelReplacement();
			try
			{
				AddModelScripts();
			}
			catch (Exception ex)
			{
				ModelReplacementAPI.Instance.Logger.LogError((object)("Could not set all model scripts.\n Error: " + ex.Message));
			}
			replacementViewModel = LoadViewModelreplacement();
			avatar = GetAvatarUpdater();
			viewModelAvatar = GetViewModelUpdater();
			ragdollAvatar = new AvatarUpdater();
			cosmeticAvatar = avatar;
			avatar.AssignModelReplacement(((Component)controller).gameObject, replacementModel);
			viewModelAvatar.AssignViewModelReplacement(((Component)controller).gameObject, replacementViewModel);
			SetAvatarRenderers(enabled: true);
			viewState.ReportBodyReplacementAddition(this);
			cosmeticManager.ReportBodyReplacementAddition(this);
			GameObject val = new GameObject("MRAPINameCollider");
			val.layer = 23;
			val.transform.SetParent(replacementModel.transform);
			nameTagCollider = val.AddComponent<BoxCollider>();
			((Collider)nameTagCollider).isTrigger = true;
			RaycastTarget raycastTarget = val.AddComponent<RaycastTarget>();
			raycastTarget.controller = controller;
			raycastTarget.bodyReplacement = this;
			raycastTarget.modelObj = replacementModel;
			ModelReplacementAPI.Instance.Logger.LogInfo((object)("AwakeEnd " + controller.playerUsername));
		}

		protected virtual void Start()
		{
		}

		public virtual void LateUpdate()
		{
			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = null;
			try
			{
				val = ((Component)controller.deadBody).gameObject;
			}
			catch
			{
			}
			if (Object.op_Implicit((Object)(object)val) && (Object)(object)replacementDeadBody == (Object)null)
			{
				cosmeticAvatar = ragdollAvatar;
				CreateAndParentRagdoll(controller.deadBody);
				OnDeath();
			}
			if (Object.op_Implicit((Object)(object)replacementDeadBody) && (Object)(object)val == (Object)null)
			{
				cosmeticAvatar = avatar;
				Object.Destroy((Object)(object)replacementDeadBody);
				replacementDeadBody = null;
			}
			if (Object.op_Implicit((Object)(object)val) && !val.activeInHierarchy)
			{
				replacementDeadBody.SetActive(false);
			}
			avatar.Update();
			ragdollAvatar.Update();
			viewModelAvatar.Update();
			UpdateItemTransform();
			Bounds bounds = GetBounds(replacementModel);
			nameTagCollider.center = ((Bounds)(ref bounds)).center;
			nameTagCollider.size = ((Bounds)(ref bounds)).size;
			previousDanceNumber = danceNumber;
			AnimatorStateInfo currentAnimatorStateInfo = controller.playerBodyAnimator.GetCurrentAnimatorStateInfo(1);
			int fullPathHash = ((AnimatorStateInfo)(ref currentAnimatorStateInfo)).fullPathHash;
			if (controller.performingEmote)
			{
				switch (fullPathHash)
				{
				case -462656950:
					danceNumber = 1;
					break;
				case 2103786480:
					danceNumber = 2;
					break;
				default:
					danceNumber = 3;
					break;
				}
			}
			else
			{
				danceNumber = 0;
			}
			if (ModelReplacementAPI.tooManyEmotesPresent)
			{
				danceNumber = SafeGetEmoteID(danceNumber);
			}
			if (danceNumber != previousDanceNumber)
			{
				if (previousDanceNumber == 0)
				{
					((MonoBehaviour)this).StartCoroutine(WaitForDanceNumberChange());
				}
				else if (danceNumber == 0)
				{
					OnEmoteEnd();
				}
				else if (!emoteOngoing)
				{
					OnEmoteStart(danceNumber);
				}
			}
		}

		protected virtual void OnDestroy()
		{
			ModelReplacementAPI.Instance.Logger.LogInfo((object)("Destroy body component for " + controller.playerUsername));
			Object.Destroy((Object)(object)replacementModel);
			Object.Destroy((Object)(object)replacementViewModel);
			Object.Destroy((Object)(object)replacementDeadBody);
		}

		public void UpdateItemTransform()
		{
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_011c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0121: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Unknown result type (might be due to invalid IL or missing references)
			//IL_0136: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_017f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0201: Unknown result type (might be due to invalid IL or missing references)
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_0222: Unknown result type (might be due to invalid IL or missing references)
			if (!Object.op_Implicit((Object)(object)heldItem) || (Object)(object)heldItem.parentObject == (Object)null || (Object)(object)heldItem.playerHeldBy == (Object)null)
			{
				return;
			}
			if ((Object)(object)heldItem.playerHeldBy != (Object)(object)controller)
			{
				heldItem = null;
				return;
			}
			if (viewState.GetViewState() == ViewState.ThirdPerson)
			{
				Transform itemHolder = avatar.ItemHolder;
				itemHolder.localPosition = avatar.ItemHolderPositionOffset;
				((Component)heldItem).transform.rotation = heldItem.parentObject.rotation;
				((Component)heldItem).transform.Rotate(heldItem.itemProperties.rotationOffset);
				((Component)heldItem).transform.position = itemHolder.position;
				Vector3 positionOffset = heldItem.itemProperties.positionOffset;
				positionOffset = heldItem.parentObject.rotation * positionOffset;
				Transform transform = ((Component)heldItem).transform;
				transform.position += positionOffset;
			}
			if (viewState.GetViewState() == ViewState.FirstPerson && CanPositionItemOnCustomViewModel)
			{
				Transform itemHolderViewModel = viewModelAvatar.ItemHolderViewModel;
				itemHolderViewModel.localPosition = avatar.ItemHolderPositionOffset;
				((Component)heldItem).transform.rotation = heldItem.parentObject.rotation;
				((Component)heldItem).transform.Rotate(heldItem.itemProperties.rotationOffset);
				((Component)heldItem).transform.position = itemHolderViewModel.position;
				Vector3 positionOffset2 = heldItem.itemProperties.positionOffset;
				positionOffset2 = heldItem.parentObject.rotation * positionOffset2;
				Transform transform2 = ((Component)heldItem).transform;
				transform2.position += positionOffset2;
			}
		}

		private void CreateAndParentRagdoll(DeadBodyInfo bodyinfo)
		{
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			deadBody = ((Component)bodyinfo).gameObject;
			SkinnedMeshRenderer componentInChildren = deadBody.GetComponentInChildren<SkinnedMeshRenderer>();
			replacementDeadBody = LoadRagdollReplacement(bodyinfo.causeOfDeath);
			ragdollAvatar.AssignModelReplacement(deadBody, replacementDeadBody);
			Renderer[] componentsInChildren = replacementDeadBody.GetComponentsInChildren<Renderer>();
			foreach (Renderer val in componentsInChildren)
			{
				val.enabled = true;
				val.shadowCastingMode = (ShadowCastingMode)1;
				((Component)val).gameObject.layer = viewState.VisibleLayer;
			}
			((Renderer)componentInChildren).enabled = false;
			Console.WriteLine("Ragdoll Creation.");
			GameObject[] bodyBloodDecals = bodyinfo.bodyBloodDecals;
			foreach (GameObject val2 in bodyBloodDecals)
			{
				Transform parent = val2.transform.parent;
				Transform avatarTransformFromBoneName = ragdollAvatar.GetAvatarTransformFromBoneName(((Object)parent).name);
				if (Object.op_Implicit((Object)(object)avatarTransformFromBoneName))
				{
					Object.Instantiate<GameObject>(val2, avatarTransformFromBoneName);
				}
			}
		}

		public void SetAvatarRenderers(bool enabled)
		{
			Renderer[] componentsInChildren = replacementModel.GetComponentsInChildren<Renderer>();
			foreach (Renderer val in componentsInChildren)
			{
				val.enabled = enabled;
			}
			if ((Object)(object)replacementViewModel != (Object)null)
			{
				Renderer[] componentsInChildren2 = replacementViewModel.GetComponentsInChildren<Renderer>();
				foreach (Renderer val2 in componentsInChildren2)
				{
					val2.enabled = enabled;
				}
			}
		}

		private Bounds GetBounds(GameObject model)
		{
			//IL_0003: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_013f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Unknown result type (might be due to invalid IL or missing references)
			//IL_0179: Unknown result type (might be due to invalid IL or missing references)
			//IL_017e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0182: Unknown result type (might be due to invalid IL or missing references)
			//IL_0196: Unknown resu

FantasiaSquadPT2/obj/Debug/netstandard2.1/2.08.24.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("2.08.24")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("2.08.24")]
[assembly: AssemblyTitle("2.08.24")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace ModelReplacement
{
	public class MRTSUKASA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Tsukasa";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRRUI : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Rui";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRAKITO : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Akito";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRMIZUKI : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Mizuki";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTOYA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "Toya";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	[BepInPlugin("com.animekaei.FantasiaSquad2", "FantasiaSquadPart2", "0.1.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Expected O, but got Unknown
			Assets.PopulateAssets();
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteTsukasa", typeof(MRTSUKASA));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteRui", typeof(MRRUI));
			ModelReplacementAPI.RegisterSuitModelReplacement("StudyMizuki", typeof(MRMIZUKI));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteAkito", typeof(MRAKITO));
			ModelReplacementAPI.RegisterSuitModelReplacement("WasteToya", typeof(MRTOYA));
			Harmony val = new Harmony("com.animekaei.FantasiaSquad2");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.animekaei.FantasiaSquad2 is loaded!");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "FantasiaSquadPart2";

		public static AssetBundle MainAssetBundle = null;

		private static string GetAssemblyName()
		{
			return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_");
		}

		public static void PopulateAssets()
		{
			if ((Object)(object)MainAssetBundle == (Object)null)
			{
				Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName);
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName);
				MainAssetBundle = AssetBundle.LoadFromStream(stream);
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}

FantasiaSquadPT2/obj/Debug/netstandard2.1/publicized/Assembly-CSharp.dll

Decompiled a month ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using BepInEx.AssemblyPublicizer;
using DigitalRuby.ThunderAndLightning;
using Discord;
using Dissonance;
using Dissonance.Audio.Playback;
using Dissonance.Datastructures;
using Dissonance.Extensions;
using Dissonance.Integrations.Unity_NFGO;
using Dissonance.Networking;
using DunGen;
using DunGen.Analysis;
using DunGen.Graph;
using DunGen.Tags;
using GameNetcodeStuff;
using JetBrains.Annotations;
using Netcode.Transports.Facepunch;
using Steamworks;
using Steamworks.Data;
using Steamworks.ServerList;
using TMPro;
using Unity.AI.Navigation;
using Unity.Collections;
using Unity.Netcode;
using Unity.Netcode.Components;
using Unity.Netcode.Samples;
using Unity.Netcode.Transports.UTP;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.Animations.Rigging;
using UnityEngine.Audio;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Controls;
using UnityEngine.InputSystem.Utilities;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
using UnityEngine.SceneManagement;
using UnityEngine.Serialization;
using UnityEngine.Tilemaps;
using UnityEngine.UI;
using UnityEngine.VFX;
using UnityEngine.Video;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyVersion("0.0.0.0")]
public class ActivateObjectAfterSceneLoad : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public GameObject activateObject;

	[OriginalAttributes(MethodAttributes.Private)]
	public void Start()
	{
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public IEnumerator waitForNavMeshBake()
	{
		yield return (object)new WaitUntil((Func<bool>)(() => RoundManager.Instance.bakedNavMesh));
		activateObject.SetActive(true);
	}

	public void SetInitialState()
	{
	}
}
public class AlarmButton : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public Animator buttonAnimator;

	public float timeSincePushing;

	public void PushAlarmButton()
	{
		if (!(timeSincePushing < 1f))
		{
			buttonAnimator.SetTrigger("press");
			HUDManager.Instance.TriggerAlarmHornEffect();
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		if (timeSincePushing <= 5f)
		{
			timeSincePushing += Time.deltaTime;
		}
	}
}
public class AnimatedItem : GrabbableObject
{
	public string grabItemBoolString;

	public string dropItemTriggerString;

	public bool makeAnimationWhenDropping;

	public Animator itemAnimator;

	public AudioSource itemAudio;

	public AudioClip grabAudio;

	public AudioClip dropAudio;

	public bool loopGrabAudio;

	public bool loopDropAudio;

	[Range(0f, 100f)]
	public int chanceToTriggerAnimation = 100;

	public int chanceToTriggerAlternateMesh;

	public Mesh alternateMesh;

	[OriginalAttributes(FieldAttributes.Private)]
	public Mesh normalMesh;

	[OriginalAttributes(FieldAttributes.Private)]
	public Random itemRandomChance;

	public float noiseRange;

	public float noiseLoudness;

	[OriginalAttributes(FieldAttributes.Private)]
	public int timesPlayedInOneSpot;

	[OriginalAttributes(FieldAttributes.Private)]
	public float makeNoiseInterval;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 lastPosition;

	public AudioLowPassFilter itemAudioLowPassFilter;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool wasInPocket;

	public override void Start()
	{
		base.Start();
		itemRandomChance = new Random(StartOfRound.Instance.randomMapSeed + StartOfRound.Instance.currentLevelID + itemProperties.itemId);
		if (chanceToTriggerAlternateMesh > 0)
		{
			normalMesh = ((Component)this).gameObject.GetComponent<MeshFilter>().mesh;
		}
	}

	public override void EquipItem()
	{
		base.EquipItem();
		if ((Object)(object)itemAudioLowPassFilter != (Object)null)
		{
			itemAudioLowPassFilter.cutoffFrequency = 20000f;
		}
		itemAudio.volume = 1f;
		if (chanceToTriggerAlternateMesh > 0)
		{
			if (itemRandomChance.Next(0, 100) < chanceToTriggerAlternateMesh)
			{
				((Component)this).gameObject.GetComponent<MeshFilter>().mesh = alternateMesh;
				itemAudio.Stop();
				return;
			}
			((Component)this).gameObject.GetComponent<MeshFilter>().mesh = normalMesh;
		}
		if (!wasInPocket)
		{
			if (itemRandomChance.Next(0, 100) > chanceToTriggerAnimation)
			{
				itemAudio.Stop();
				return;
			}
		}
		else
		{
			wasInPocket = false;
		}
		if ((Object)(object)itemAnimator != (Object)null)
		{
			itemAnimator.SetBool(grabItemBoolString, true);
		}
		if ((Object)(object)itemAudio != (Object)null)
		{
			itemAudio.clip = grabAudio;
			itemAudio.loop = loopGrabAudio;
			itemAudio.Play();
		}
	}

	public override void DiscardItem()
	{
		base.DiscardItem();
		if ((Object)(object)itemAnimator != (Object)null)
		{
			itemAnimator.SetBool(grabItemBoolString, false);
		}
		if (chanceToTriggerAlternateMesh > 0)
		{
			((Component)this).gameObject.GetComponent<MeshFilter>().mesh = normalMesh;
		}
		if (!makeAnimationWhenDropping)
		{
			itemAudio.Stop();
			return;
		}
		if (itemRandomChance.Next(0, 100) < chanceToTriggerAnimation)
		{
			itemAudio.Stop();
			return;
		}
		if ((Object)(object)itemAnimator != (Object)null)
		{
			itemAnimator.SetTrigger(dropItemTriggerString);
		}
		if ((Object)(object)itemAudio != (Object)null)
		{
			itemAudio.loop = loopDropAudio;
			itemAudio.clip = dropAudio;
			itemAudio.Play();
			if ((Object)(object)itemAudioLowPassFilter != (Object)null)
			{
				itemAudioLowPassFilter.cutoffFrequency = 20000f;
			}
			itemAudio.volume = 1f;
		}
	}

	public override void PocketItem()
	{
		base.PocketItem();
		wasInPocket = true;
		if ((Object)(object)itemAudio != (Object)null)
		{
			if ((Object)(object)itemAudioLowPassFilter != (Object)null)
			{
				itemAudioLowPassFilter.cutoffFrequency = 1700f;
			}
			itemAudio.volume = 0.5f;
		}
	}

	public override void Update()
	{
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		base.Update();
		if ((Object)(object)itemAudio == (Object)null || !itemAudio.isPlaying)
		{
			return;
		}
		if (makeNoiseInterval <= 0f)
		{
			makeNoiseInterval = 0.75f;
			if (Vector3.Distance(lastPosition, ((Component)this).transform.position) < 4f)
			{
				timesPlayedInOneSpot++;
			}
			else
			{
				timesPlayedInOneSpot = 0;
			}
			if (isPocketed)
			{
				RoundManager.Instance.PlayAudibleNoise(((Component)this).transform.position, noiseRange / 2f, noiseLoudness / 2f, timesPlayedInOneSpot, isInElevator && StartOfRound.Instance.hangarDoorsClosed);
			}
			else
			{
				RoundManager.Instance.PlayAudibleNoise(((Component)this).transform.position, noiseRange, noiseLoudness, timesPlayedInOneSpot, isInElevator && StartOfRound.Instance.hangarDoorsClosed);
			}
		}
		else
		{
			makeNoiseInterval -= Time.deltaTime;
		}
	}

	[OriginalAttributes(MethodAttributes.Family)]
	public override void __initializeVariables()
	{
		base.__initializeVariables();
	}

	[OriginalAttributes(MethodAttributes.FamORAssem)]
	public override string __getTypeName()
	{
		return "AnimatedItem";
	}
}
public class AnimatedObjectFloatSetter : MonoBehaviour
{
	public AnimatedObjectTrigger animatedObjectTrigger;

	public string animatorFloatName;

	[OriginalAttributes(FieldAttributes.Private)]
	public float animatorFloatValue = 1f;

	public float valueChangeSpeed;

	public GameObject[] conditionalObjects;

	[OriginalAttributes(FieldAttributes.Private)]
	public int currentFifth = -1;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool boolWasTrue;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool completed;

	public AudioSource thisAudio;

	public AudioClip trueAudio;

	public AudioClip falseAudio;

	public AudioClip completionTrueAudio;

	public AudioClip completionFalseAudio;

	public Transform killPlayerPoint;

	public bool ignoreVerticalDistance = true;

	public float killRange;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool deactivated = true;

	[OriginalAttributes(MethodAttributes.Private)]
	public void KillPlayerAtPoint()
	{
		//IL_0027: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0091: Unknown result type (might be due to invalid IL or missing references)
		if (!((Object)(object)killPlayerPoint == (Object)null) && !GameNetworkManager.Instance.localPlayerController.isPlayerDead)
		{
			Vector3 position = killPlayerPoint.position;
			if (ignoreVerticalDistance)
			{
				position.y = ((Component)GameNetworkManager.Instance.localPlayerController).transform.position.y;
			}
			if (Vector3.Distance(((Component)GameNetworkManager.Instance.localPlayerController).transform.position, position) < killRange)
			{
				GameNetworkManager.Instance.localPlayerController.KillPlayer(Vector3.zero, spawnBody: true, CauseOfDeath.Crushing);
			}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void Start()
	{
		((MonoBehaviour)this).StartCoroutine(waitForNavMeshBake());
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public IEnumerator waitForNavMeshBake()
	{
		yield return (object)new WaitUntil((Func<bool>)(() => RoundManager.Instance.bakedNavMesh));
		yield return (object)new WaitForSeconds(2f);
		deactivated = false;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		if (deactivated || !animatedObjectTrigger.isBool)
		{
			return;
		}
		if (animatedObjectTrigger.boolValue)
		{
			if (!boolWasTrue)
			{
				boolWasTrue = true;
				thisAudio.clip = trueAudio;
				thisAudio.Play();
			}
			animatorFloatValue = Mathf.Min(animatorFloatValue + valueChangeSpeed * Time.deltaTime, 1f);
			if (animatorFloatValue == 1f && !completed)
			{
				completed = true;
				thisAudio.Stop();
				thisAudio.PlayOneShot(completionTrueAudio);
			}
		}
		else
		{
			if (boolWasTrue)
			{
				boolWasTrue = false;
				thisAudio.clip = falseAudio;
				thisAudio.Play();
			}
			animatorFloatValue = Mathf.Max(animatorFloatValue - valueChangeSpeed * Time.deltaTime, 0f);
			if (animatorFloatValue == 0f && completed)
			{
				completed = false;
				thisAudio.Stop();
				thisAudio.PlayOneShot(completionFalseAudio);
				KillPlayerAtPoint();
			}
		}
		animatedObjectTrigger.triggerAnimator.SetFloat(animatorFloatName, animatorFloatValue);
		if (conditionalObjects.Length >= 5 && RoundManager.Instance.bakedNavMesh)
		{
			SetObjectBasedOnAnimatorFloat();
		}
	}

	public void SetObjectBasedOnAnimatorFloat()
	{
		int num = -1;
		num = ((!(animatorFloatValue < 0.125f)) ? ((animatorFloatValue < 0.375f) ? 1 : ((animatorFloatValue < 0.625f) ? 2 : ((!(animatorFloatValue < 0.875f)) ? 4 : 3))) : 0);
		if (num != currentFifth)
		{
			conditionalObjects[num].SetActive(true);
			if (currentFifth != -1)
			{
				conditionalObjects[currentFifth].SetActive(false);
			}
			currentFifth = num;
		}
	}
}
public class AnimatedTextureUV : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public Material[] setMaterials;

	public MeshRenderer meshRenderer;

	public SkinnedMeshRenderer skinnedMeshRenderer;

	public int materialIndex;

	public int columns = 1;

	public int rows = 1;

	public float waitFrameTime = 0.005f;

	[OriginalAttributes(FieldAttributes.Private)]
	public float horizontalOffset;

	[OriginalAttributes(FieldAttributes.Private)]
	public float verticalOffset;

	[OriginalAttributes(FieldAttributes.Private)]
	public Coroutine animateMaterial;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool skinnedMesh;

	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEnable()
	{
		if (animateMaterial == null)
		{
			Debug.Log((object)"Animating material now");
			animateMaterial = ((MonoBehaviour)this).StartCoroutine(AnimateUV());
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDisable()
	{
		if (animateMaterial != null)
		{
			((MonoBehaviour)this).StopCoroutine(animateMaterial);
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public IEnumerator AnimateUV()
	{
		yield return null;
		if ((Object)(object)skinnedMeshRenderer != (Object)null)
		{
			setMaterials = ((Renderer)skinnedMeshRenderer).materials;
			skinnedMesh = true;
		}
		else
		{
			setMaterials = ((Renderer)meshRenderer).materials;
		}
		float maxVertical = 1f - 1f / (float)columns;
		float maxHorizontal = 1f - 1f / (float)rows;
		while (((Behaviour)this).enabled)
		{
			yield return (object)new WaitForSeconds(waitFrameTime);
			horizontalOffset += 1f / (float)rows;
			if (horizontalOffset > maxHorizontal)
			{
				horizontalOffset = 0f;
				verticalOffset += 1f / (float)columns;
				if (verticalOffset > maxVertical)
				{
					verticalOffset = 0f;
				}
			}
			setMaterials[materialIndex].SetTextureOffset("_BaseColorMap", new Vector2(horizontalOffset, verticalOffset));
			if (skinnedMesh)
			{
				((Renderer)skinnedMeshRenderer).materials = setMaterials;
			}
			else
			{
				((Renderer)skinnedMeshRenderer).materials = setMaterials;
			}
		}
	}
}
public class AnimationStopPoints : MonoBehaviour
{
	public bool canAnimationStop;

	public int animationPosition = 1;

	public void SetAnimationStopPosition1()
	{
		canAnimationStop = true;
		animationPosition = 1;
	}

	public void SetAnimationGo()
	{
		canAnimationStop = false;
	}

	public void SetAnimationStopPosition2()
	{
		canAnimationStop = true;
		animationPosition = 2;
	}
}
public class AudioReverbPresets : MonoBehaviour
{
	public AudioReverbTrigger[] audioPresets;
}
public class AutoParentToShip : NetworkBehaviour
{
	public bool disableObject;

	public Vector3 positionOffset;

	public Vector3 rotationOffset;

	[HideInInspector]
	public Vector3 startingPosition;

	[HideInInspector]
	public Vector3 startingRotation;

	public bool overrideOffset;

	[OriginalAttributes(MethodAttributes.Private)]
	public void Awake()
	{
		//IL_0019: Unknown result type (might be due to invalid IL or missing references)
		//IL_001e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_0096: Unknown result type (might be due to invalid IL or missing references)
		//IL_009b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		if (!overrideOffset)
		{
			positionOffset = StartOfRound.Instance.elevatorTransform.InverseTransformPoint(((Component)this).transform.position);
			rotationOffset = StartOfRound.Instance.elevatorTransform.InverseTransformDirection(((Component)this).transform.eulerAngles);
		}
		MoveToOffset();
		PlaceableShipObject component = ((Component)this).gameObject.GetComponent<PlaceableShipObject>();
		if ((Object)(object)component != (Object)null && (Object)(object)component.parentObjectSecondary != (Object)null)
		{
			startingPosition = component.parentObjectSecondary.position;
			startingRotation = component.parentObjectSecondary.eulerAngles;
		}
		else
		{
			startingPosition = positionOffset;
			startingRotation = rotationOffset;
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void LateUpdate()
	{
		//IL_002a: Unknown result type (might be due to invalid IL or missing references)
		if (!StartOfRound.Instance.suckingFurnitureOutOfShip)
		{
			if (disableObject)
			{
				((Component)this).transform.position = new Vector3(800f, -100f, 0f);
			}
			else
			{
				MoveToOffset();
			}
		}
	}

	public void StartSuckingOutOfShip()
	{
		((MonoBehaviour)this).StartCoroutine(SuckObjectOutOfShip());
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public IEnumerator SuckObjectOutOfShip()
	{
		Vector3 dir = Vector3.Normalize((StartOfRound.Instance.middleOfSpaceNode.position - ((Component)this).transform.position) * 10000f);
		Debug.Log((object)dir);
		Quaternion randomRotation = Random.rotation;
		while (StartOfRound.Instance.suckingFurnitureOutOfShip)
		{
			yield return null;
			((Component)this).transform.position = ((Component)this).transform.position + dir * (Time.deltaTime * Mathf.Clamp(StartOfRound.Instance.suckingPower, 1.1f, 100f) * 17f);
			((Component)this).transform.rotation = Quaternion.Lerp(((Component)this).transform.rotation, ((Component)this).transform.rotation * randomRotation, Time.deltaTime * StartOfRound.Instance.suckingPower);
			Debug.DrawRay(((Component)this).transform.position + Vector3.up * 0.2f, StartOfRound.Instance.middleOfSpaceNode.position - ((Component)this).transform.position, Color.blue);
			Debug.DrawRay(((Component)this).transform.position, dir, Color.green);
		}
	}

	public void MoveToOffset()
	{
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_0021: Unknown result type (might be due to invalid IL or missing references)
		//IL_003b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		//IL_005c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		((Component)this).transform.rotation = StartOfRound.Instance.elevatorTransform.rotation;
		((Component)this).transform.Rotate(rotationOffset);
		((Component)this).transform.position = StartOfRound.Instance.elevatorTransform.position;
		Vector3 val = positionOffset;
		val = StartOfRound.Instance.elevatorTransform.rotation * val;
		Transform transform = ((Component)this).transform;
		transform.position += val;
	}

	[OriginalAttributes(MethodAttributes.Family)]
	public override void __initializeVariables()
	{
		((NetworkBehaviour)this).__initializeVariables();
	}

	[OriginalAttributes(MethodAttributes.FamORAssem)]
	public override string __getTypeName()
	{
		return "AutoParentToShip";
	}
}
public class BaboonBirdAI : EnemyAI, IVisibleThreat
{
	public Dictionary<Transform, Threat> threats = new Dictionary<Transform, Threat>();

	public Transform focusedThreatTransform;

	public Threat focusedThreat;

	public bool focusingOnThreat;

	public bool focusedThreatIsInView;

	[OriginalAttributes(FieldAttributes.Private)]
	public int focusLevel;

	[OriginalAttributes(FieldAttributes.Private)]
	public float fearLevel;

	[OriginalAttributes(FieldAttributes.Private)]
	public float fearLevelNoDistComparison;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 agentLocalVelocity;

	[OriginalAttributes(FieldAttributes.Private)]
	public float velX;

	[OriginalAttributes(FieldAttributes.Private)]
	public float velZ;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 previousPosition;

	public Transform animationContainer;

	public MultiAimConstraint headLookRig;

	public Transform headLookTarget;

	[OriginalAttributes(FieldAttributes.Private)]
	public Ray lookRay;

	public float fov;

	public float visionDistance;

	[OriginalAttributes(FieldAttributes.Private)]
	public int visibleThreatsMask = 524296;

	[OriginalAttributes(FieldAttributes.Private)]
	public int scrapMask = 64;

	[OriginalAttributes(FieldAttributes.Private)]
	public int leadershipLevel;

	[OriginalAttributes(FieldAttributes.Private)]
	public int previousBehaviourState = -1;

	public BaboonHawkGroup scoutingGroup;

	[OriginalAttributes(FieldAttributes.Private)]
	public float miscAnimationTimer;

	[OriginalAttributes(FieldAttributes.Private)]
	public int currentMiscAnimation;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 lookTarget;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 peekTarget;

	[OriginalAttributes(FieldAttributes.Private)]
	public float peekTimer;

	public AISearchRoutine scoutingSearchRoutine;

	public static Vector3 baboonCampPosition;

	public float scoutTimer;

	public float timeToScout;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceRestWhileScouting;

	[OriginalAttributes(FieldAttributes.Private)]
	public float restingDuringScouting;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool eyesClosed;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool restingAtCamp;

	[OriginalAttributes(FieldAttributes.Private)]
	public float restAtCampTimer;

	[OriginalAttributes(FieldAttributes.Private)]
	public float chosenDistanceToCamp = 1f;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSincePingingBirdInterest;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceLastMiscAnimation;

	[OriginalAttributes(FieldAttributes.Private)]
	public int aggressiveMode;

	[OriginalAttributes(FieldAttributes.Private)]
	public int previousAggressiveMode;

	[OriginalAttributes(FieldAttributes.Private)]
	public float fightTimer;

	public AudioSource aggressionAudio;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 debugSphere;

	public Collider ownCollider;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceAggressiveDisplay;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSpentFocusingOnThreat;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceFighting;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool doingKillAnimation;

	[OriginalAttributes(FieldAttributes.Private)]
	public Coroutine killAnimCoroutine;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceHitting;

	public Transform deadBodyPoint;

	public AudioClip[] cawScreamSFX;

	public AudioClip[] cawLaughSFX;

	[OriginalAttributes(FieldAttributes.Private)]
	public float noiseTimer;

	[OriginalAttributes(FieldAttributes.Private)]
	public float noiseInterval;

	public GrabbableObject focusedScrap;

	public GrabbableObject heldScrap;

	public bool movingToScrap;

	public Transform grabTarget;

	public TwoBoneIKConstraint leftArmRig;

	public TwoBoneIKConstraint rightArmRig;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool oddAIInterval;

	[OriginalAttributes(FieldAttributes.Private)]
	public DeadBodyInfo killAnimationBody;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceBeingAttackedByPlayer;

	[OriginalAttributes(FieldAttributes.Private)]
	public float timeSinceJoiningOrLeavingScoutingGroup;

	[OriginalAttributes(FieldAttributes.Private)]
	public BaboonBirdAI biggestBaboon;

	ThreatType IVisibleThreat.type
	{
		[OriginalAttributes(MethodAttributes.Private)]
		get
		{
			return ThreatType.BaboonHawk;
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	int IVisibleThreat.SendSpecialBehaviour(int id)
	{
		return 0;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	int IVisibleThreat.GetThreatLevel(Vector3 seenByPosition)
	{
		int num = 0;
		num = 1;
		if (aggressiveMode == 2)
		{
			num++;
		}
		if (scoutingGroup != null && !scoutingGroup.isEmpty)
		{
			num++;
		}
		return num;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	int IVisibleThreat.GetInterestLevel()
	{
		return 0;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	Transform IVisibleThreat.GetThreatLookTransform()
	{
		return eye;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	Transform IVisibleThreat.GetThreatTransform()
	{
		return ((Component)this).transform;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	Vector3 IVisibleThreat.GetThreatVelocity()
	{
		//IL_0014: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		if (((NetworkBehaviour)this).IsOwner)
		{
			return agent.velocity;
		}
		return Vector3.zero;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	float IVisibleThreat.GetVisibility()
	{
		if (isEnemyDead)
		{
			return 0f;
		}
		if (restingAtCamp)
		{
			return 0.6f;
		}
		return 1f;
	}

	public override void Start()
	{
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_010c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0180: Unknown result type (might be due to invalid IL or missing references)
		//IL_018f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Unknown result type (might be due to invalid IL or missing references)
		//IL_019b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0155: Unknown result type (might be due to invalid IL or missing references)
		//IL_015a: Unknown result type (might be due to invalid IL or missing references)
		base.Start();
		if (!((NetworkBehaviour)this).IsOwner)
		{
			return;
		}
		Random random = new Random(StartOfRound.Instance.randomMapSeed + thisEnemyIndex);
		leadershipLevel = random.Next(0, 500);
		if (baboonCampPosition == Vector3.zero)
		{
			EnemyAINestSpawnObject[] array = Object.FindObjectsByType<EnemyAINestSpawnObject>((FindObjectsInactive)0, (FindObjectsSortMode)0);
			bool flag = false;
			for (int i = 0; i < array.Length; i++)
			{
				if (!((Object)(object)array[i].enemyType != (Object)(object)enemyType))
				{
					baboonCampPosition = RoundManager.Instance.GetNavMeshPosition(((Component)array[i]).transform.position, default(NavMeshHit), 8f);
					if (RoundManager.Instance.GotNavMeshPositionResult)
					{
						flag = true;
					}
				}
			}
			if (!flag)
			{
				List<GameObject> list = new List<GameObject>();
				for (int j = 0; j < RoundManager.Instance.outsideAINodes.Length - 2; j += 2)
				{
					if (Vector3.Distance(RoundManager.Instance.outsideAINodes[j].transform.position, StartOfRound.Instance.elevatorTransform.position) > 30f && !PathIsIntersectedByLineOfSight(RoundManager.Instance.outsideAINodes[j].transform.position, calculatePathDistance: false, avoidLineOfSight: false))
					{
						list.Add(RoundManager.Instance.outsideAINodes[j]);
					}
				}
				if (list.Count == 0)
				{
					baboonCampPosition = ((Component)this).transform.position;
				}
				else
				{
					baboonCampPosition = RoundManager.Instance.GetRandomNavMeshPositionInBoxPredictable(list[random.Next(0, list.Count)].transform.position, 15f, RoundManager.Instance.navHit, random);
				}
			}
		}
		SyncInitialValuesServerRpc(leadershipLevel, baboonCampPosition);
	}

	[ServerRpc]
	public void SyncInitialValuesServerRpc(int syncLeadershipLevel, Vector3 campPosition)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Invalid comparison between Unknown and I4
		//IL_011d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3452382367u, val, (RpcDelivery)0);
			BytePacker.WriteValueBitPacked(val2, syncLeadershipLevel);
			((FastBufferWriter)(ref val2)).WriteValueSafe(ref campPosition);
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3452382367u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			SyncInitialValuesClientRpc(syncLeadershipLevel, campPosition);
		}
	}

	[ClientRpc]
	public void SyncInitialValuesClientRpc(int syncLeadershipLevel, Vector3 campPosition)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0096: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager != null && networkManager.IsListening)
		{
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3856685904u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, syncLeadershipLevel);
				((FastBufferWriter)(ref val2)).WriteValueSafe(ref campPosition);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3856685904u, val, (RpcDelivery)0);
			}
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost))
			{
				leadershipLevel = syncLeadershipLevel;
				baboonCampPosition = campPosition;
				((Component)this).transform.localScale = ((Component)this).transform.localScale * Mathf.Max((float)leadershipLevel / 200f * 0.6f, 0.9f);
			}
		}
	}

	public void LateUpdate()
	{
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		if ((!inSpecialAnimation && ((Object)(object)focusedThreatTransform == (Object)null || currentBehaviourStateIndex != 2) && peekTimer < 0f) || isEnemyDead)
		{
			agent.angularSpeed = 300f;
			((RigConstraint<MultiAimConstraintJob, MultiAimConstraintData, MultiAimConstraintJobBinder<MultiAimConstraintData>>)(object)headLookRig).weight = Mathf.Lerp(((RigConstraint<MultiAimConstraintJob, MultiAimConstraintData, MultiAimConstraintJobBinder<MultiAimConstraintData>>)(object)headLookRig).weight, 0f, Time.deltaTime * 10f);
			return;
		}
		agent.angularSpeed = 0f;
		((RigConstraint<MultiAimConstraintJob, MultiAimConstraintData, MultiAimConstraintJobBinder<MultiAimConstraintData>>)(object)headLookRig).weight = Mathf.Lerp(((RigConstraint<MultiAimConstraintJob, MultiAimConstraintData, MultiAimConstraintJobBinder<MultiAimConstraintData>>)(object)headLookRig).weight, 1f, Time.deltaTime * 10f);
		if (peekTimer >= 0f)
		{
			peekTimer -= Time.deltaTime;
			AnimateLooking(peekTarget);
		}
		else
		{
			AnimateLooking(lookTarget);
		}
	}

	public override void OnCollideWithPlayer(Collider other)
	{
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Unknown result type (might be due to invalid IL or missing references)
		//IL_002f: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_0181: Unknown result type (might be due to invalid IL or missing references)
		base.OnCollideWithPlayer(other);
		if (timeSinceHitting < 0.5f)
		{
			return;
		}
		Vector3 val = Vector3.Normalize(((Component)this).transform.position + Vector3.up * 0.7f - (((Component)other).transform.position + Vector3.up * 0.4f)) * 0.5f;
		if (Physics.Linecast(((Component)this).transform.position + Vector3.up * 0.7f + val, ((Component)other).transform.position + Vector3.up * 0.4f, StartOfRound.Instance.collidersAndRoomMaskAndDefault, (QueryTriggerInteraction)1))
		{
			return;
		}
		PlayerControllerB playerControllerB = MeetsStandardPlayerCollisionConditions(other, inSpecialAnimation || doingKillAnimation);
		if ((Object)(object)playerControllerB != (Object)null)
		{
			timeSinceHitting = 0f;
			playerControllerB.DamagePlayer(20);
			if (playerControllerB.isPlayerDead)
			{
				StabPlayerDeathAnimServerRpc((int)playerControllerB.playerClientId);
				return;
			}
			creatureAnimator.ResetTrigger("Hit");
			creatureAnimator.SetTrigger("Hit");
			creatureSFX.PlayOneShot(enemyType.audioClips[5]);
			WalkieTalkie.TransmitOneShotAudio(creatureSFX, enemyType.audioClips[5]);
			RoundManager.Instance.PlayAudibleNoise(((Component)creatureSFX).transform.position, 8f, 0.7f);
		}
	}

	public override void OnCollideWithEnemy(Collider other, EnemyAI enemyScript = null)
	{
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		base.OnCollideWithEnemy(other);
		if (!((Object)(object)enemyScript.enemyType == (Object)(object)enemyType) && !(timeSinceHitting < 0.75f) && !(stunNormalizedTimer > 0f) && !isEnemyDead && ((NetworkBehaviour)this).IsOwner && enemyScript.enemyType.canDie)
		{
			timeSinceHitting = 0f;
			creatureAnimator.ResetTrigger("Hit");
			creatureAnimator.SetTrigger("Hit");
			creatureSFX.PlayOneShot(enemyType.audioClips[5]);
			WalkieTalkie.TransmitOneShotAudio(creatureSFX, enemyType.audioClips[5]);
			RoundManager.Instance.PlayAudibleNoise(((Component)creatureSFX).transform.position, 8f, 0.7f);
			enemyScript.HitEnemy(1, null, playHitSFX: true);
		}
	}

	public override void HitEnemy(int force = 1, PlayerControllerB playerWhoHit = null, bool playHitSFX = false, int hitID = -1)
	{
		base.HitEnemy(force, playerWhoHit, playHitSFX, hitID);
		if (isEnemyDead)
		{
			return;
		}
		creatureAnimator.SetTrigger("TakeDamage");
		if ((Object)(object)playerWhoHit != (Object)null)
		{
			timeSinceBeingAttackedByPlayer = 0f;
			if (threats.TryGetValue(((Component)playerWhoHit).transform, out var value))
			{
				value.hasAttacked = true;
				fightTimer = 7f;
			}
		}
		enemyHP -= force;
		if (((NetworkBehaviour)this).IsOwner && enemyHP <= 0 && !isEnemyDead)
		{
			KillEnemyOnOwnerClient();
		}
		StopKillAnimation();
	}

	public override void KillEnemy(bool destroy = false)
	{
		base.KillEnemy(destroy);
		creatureAnimator.SetBool("IsDead", true);
		if ((Object)(object)heldScrap != (Object)null && ((NetworkBehaviour)this).IsOwner)
		{
			DropHeldItemAndSync();
		}
		StopKillAnimation();
	}

	public void StopKillAnimation()
	{
		if (killAnimCoroutine != null)
		{
			((MonoBehaviour)this).StopCoroutine(killAnimCoroutine);
		}
		agent.acceleration = 17f;
		inSpecialAnimation = false;
		doingKillAnimation = false;
		if ((Object)(object)killAnimationBody != (Object)null)
		{
			killAnimationBody.attachedLimb = null;
			killAnimationBody.attachedTo = null;
			killAnimationBody = null;
		}
	}

	[ServerRpc(RequireOwnership = false)]
	public void StabPlayerDeathAnimServerRpc(int playerObject)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a3: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2476579270u, val, (RpcDelivery)0);
			BytePacker.WriteValueBitPacked(val2, playerObject);
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2476579270u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost) && !doingKillAnimation)
		{
			if (((NetworkBehaviour)this).IsOwner && (Object)(object)heldScrap != (Object)null)
			{
				DropHeldItemAndSync();
			}
			doingKillAnimation = true;
			StabPlayerDeathAnimClientRpc(playerObject);
		}
	}

	[ClientRpc]
	public void StabPlayerDeathAnimClientRpc(int playerObject)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a3: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
		{
			ClientRpcParams val = default(ClientRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3749667856u, val, (RpcDelivery)0);
			BytePacker.WriteValueBitPacked(val2, playerObject);
			((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3749667856u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost))
		{
			doingKillAnimation = true;
			inSpecialAnimation = true;
			agent.acceleration = 70f;
			agent.speed = 0f;
			if (killAnimCoroutine != null)
			{
				((MonoBehaviour)this).StopCoroutine(killAnimCoroutine);
			}
			killAnimCoroutine = ((MonoBehaviour)this).StartCoroutine(killPlayerAnimation(playerObject));
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public IEnumerator killPlayerAnimation(int playerObject)
	{
		PlayerControllerB killedPlayer = StartOfRound.Instance.allPlayerScripts[playerObject];
		creatureAnimator.ResetTrigger("KillAnimation");
		creatureAnimator.SetTrigger("KillAnimation");
		creatureVoice.PlayOneShot(enemyType.audioClips[4]);
		WalkieTalkie.TransmitOneShotAudio(creatureVoice, enemyType.audioClips[4]);
		float startTime = Time.realtimeSinceStartup;
		yield return (object)new WaitUntil((Func<bool>)(() => Time.realtimeSinceStartup - startTime > 1f || (Object)(object)killedPlayer.deadBody != (Object)null));
		if ((Object)(object)killedPlayer.deadBody != (Object)null)
		{
			killAnimationBody = killedPlayer.deadBody;
			killAnimationBody.attachedLimb = killedPlayer.deadBody.bodyParts[5];
			killAnimationBody.attachedTo = deadBodyPoint;
			killAnimationBody.matchPositionExactly = true;
			killAnimationBody.canBeGrabbedBackByPlayers = false;
			yield return null;
			yield return (object)new WaitForSeconds(1.7f);
			killAnimationBody.attachedLimb = null;
			killAnimationBody.attachedTo = null;
		}
		agent.acceleration = 17f;
		inSpecialAnimation = false;
		doingKillAnimation = false;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void InteractWithScrap()
	{
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_007b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)heldScrap != (Object)null)
		{
			focusedScrap = null;
			if (Vector3.Distance(((Component)this).transform.position, baboonCampPosition) < Random.Range(1f, 7f) || heldScrap.isHeld)
			{
				DropHeldItemAndSync();
			}
		}
		else if ((Object)(object)focusedScrap != (Object)null)
		{
			if (debugEnemyAI)
			{
				Debug.DrawRay(((Component)focusedScrap).transform.position, Vector3.up * 3f, Color.yellow);
			}
			if (!CanGrabScrap(focusedScrap))
			{
				focusedScrap = null;
			}
			else if (Vector3.Distance(((Component)this).transform.position, ((Component)focusedScrap).transform.position) < 0.4f && !Physics.Linecast(((Component)this).transform.position, ((Component)focusedScrap).transform.position + Vector3.up * 0.5f, StartOfRound.Instance.collidersAndRoomMaskAndDefault, (QueryTriggerInteraction)1))
			{
				GrabItemAndSync(((NetworkBehaviour)focusedScrap).NetworkObject);
			}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public bool CanGrabScrap(GrabbableObject scrap)
	{
		//IL_005c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		if (scrap.itemProperties.itemId == 1531)
		{
			return false;
		}
		if (scrap.isInShipRoom && !isInsidePlayerShip)
		{
			return false;
		}
		if (isEnemyDead)
		{
			return false;
		}
		if (!scrap.heldByPlayerOnServer && !scrap.isHeld && ((Object)(object)scrap == (Object)(object)heldScrap || !scrap.isHeldByEnemy))
		{
			return Vector3.Distance(((Component)scrap).transform.position, baboonCampPosition) > 8f;
		}
		return false;
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void DropHeldItemAndSync()
	{
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0075: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_007b: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)heldScrap == (Object)null)
		{
			Debug.LogError((object)$"Baboon #{thisEnemyIndex} Error: DropItemAndSync called when baboon has no scrap!");
		}
		NetworkObject networkObject = ((NetworkBehaviour)heldScrap).NetworkObject;
		if ((Object)(object)networkObject == (Object)null)
		{
			Debug.LogError((object)$"Baboon #{thisEnemyIndex} Error: No network object in held scrap {((Object)((Component)heldScrap).gameObject).name}");
		}
		Vector3 itemFloorPosition = heldScrap.GetItemFloorPosition();
		DropScrap(networkObject, itemFloorPosition);
		DropScrapServerRpc(NetworkObjectReference.op_Implicit(networkObject), itemFloorPosition, (int)GameNetworkManager.Instance.localPlayerController.playerClientId);
	}

	[ServerRpc]
	public void DropScrapServerRpc(NetworkObjectReference item, Vector3 targetFloorPosition, int clientWhoSentRPC)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_0111: Invalid comparison between Unknown and I4
		//IL_0137: Unknown result type (might be due to invalid IL or missing references)
		//IL_0138: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1418775270u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref item, default(ForNetworkSerializable));
			((FastBufferWriter)(ref val2)).WriteValueSafe(ref targetFloorPosition);
			BytePacker.WriteValueBitPacked(val2, clientWhoSentRPC);
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1418775270u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			DropScrapClientRpc(item, targetFloorPosition, clientWhoSentRPC);
		}
	}

	[ClientRpc]
	public void DropScrapClientRpc(NetworkObjectReference item, Vector3 targetFloorPosition, int clientWhoSentRPC)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cb: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0112: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
		{
			ClientRpcParams val = default(ClientRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1865475504u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref item, default(ForNetworkSerializable));
			((FastBufferWriter)(ref val2)).WriteValueSafe(ref targetFloorPosition);
			BytePacker.WriteValueBitPacked(val2, clientWhoSentRPC);
			((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1865475504u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && clientWhoSentRPC != (int)GameNetworkManager.Instance.localPlayerController.playerClientId)
		{
			NetworkObject item2 = default(NetworkObject);
			if (((NetworkObjectReference)(ref item)).TryGet(ref item2, (NetworkManager)null))
			{
				DropScrap(item2, targetFloorPosition);
			}
			else
			{
				Debug.LogError((object)$"Baboon #{thisEnemyIndex}; Error, was not able to get network object from dropped item client rpc");
			}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void DropScrap(NetworkObject item, Vector3 targetFloorPosition)
	{
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)heldScrap == (Object)null)
		{
			Debug.LogError((object)"Baboon: my held item is null when attempting to drop it!!");
			return;
		}
		if (heldScrap.isHeld)
		{
			heldScrap.DiscardItemFromEnemy();
			heldScrap.isHeldByEnemy = false;
			heldScrap = null;
			Debug.Log((object)$"Baboon #{thisEnemyIndex}: Dropped item which was held by a player");
			return;
		}
		heldScrap.parentObject = null;
		((Component)heldScrap).transform.SetParent(StartOfRound.Instance.propsContainer, true);
		heldScrap.EnablePhysics(enable: true);
		heldScrap.fallTime = 0f;
		heldScrap.startFallingPosition = ((Component)heldScrap).transform.parent.InverseTransformPoint(((Component)heldScrap).transform.position);
		heldScrap.targetFloorPosition = ((Component)heldScrap).transform.parent.InverseTransformPoint(targetFloorPosition);
		heldScrap.floorYRot = -1;
		heldScrap.DiscardItemFromEnemy();
		heldScrap.isHeldByEnemy = false;
		heldScrap = null;
		Debug.Log((object)$"Baboon #{thisEnemyIndex}: Dropped item");
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void GrabItemAndSync(NetworkObject item)
	{
		//IL_0031: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)heldScrap != (Object)null)
		{
			Debug.LogError((object)$"Baboon #{thisEnemyIndex} Error: GrabItemAndSync called when baboon is already carrying scrap!");
		}
		GrabScrap(item);
		GrabScrapServerRpc(NetworkObjectReference.op_Implicit(item), (int)GameNetworkManager.Instance.localPlayerController.playerClientId);
	}

	[ServerRpc]
	public void GrabScrapServerRpc(NetworkObjectReference item, int clientWhoSentRPC)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0104: Invalid comparison between Unknown and I4
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		//IL_016b: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(869682226u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref item, default(ForNetworkSerializable));
			BytePacker.WriteValueBitPacked(val2, clientWhoSentRPC);
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 869682226u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			NetworkObject val3 = default(NetworkObject);
			if (!((NetworkObjectReference)(ref item)).TryGet(ref val3, (NetworkManager)null))
			{
				Debug.LogError((object)$"Baboon #{thisEnemyIndex} error: Could not get grabbed network object from reference on server");
			}
			else if (Object.op_Implicit((Object)(object)((Component)val3).GetComponent<GrabbableObject>()) && !((Component)val3).GetComponent<GrabbableObject>().heldByPlayerOnServer)
			{
				GrabScrapClientRpc(item, clientWhoSentRPC);
			}
		}
	}

	[ClientRpc]
	public void GrabScrapClientRpc(NetworkObjectReference item, int clientWhoSentRPC)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
		{
			ClientRpcParams val = default(ClientRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1564051222u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref item, default(ForNetworkSerializable));
			BytePacker.WriteValueBitPacked(val2, clientWhoSentRPC);
			((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1564051222u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && clientWhoSentRPC != (int)GameNetworkManager.Instance.localPlayerController.playerClientId)
		{
			NetworkObject item2 = default(NetworkObject);
			if (((NetworkObjectReference)(ref item)).TryGet(ref item2, (NetworkManager)null))
			{
				GrabScrap(item2);
			}
			else
			{
				Debug.LogError((object)$"Baboon #{thisEnemyIndex}; Error, was not able to get id from grabbed item client rpc");
			}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void GrabScrap(NetworkObject item)
	{
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)heldScrap != (Object)null)
		{
			Debug.Log((object)$"Baboon #{thisEnemyIndex}: Trying to grab another item ({((Object)((Component)item).gameObject).name}) while hands are already full with item ({((Object)((Component)heldScrap).gameObject).name}). Dropping the currently held one.");
			DropScrap(((Component)heldScrap).GetComponent<NetworkObject>(), heldScrap.GetItemFloorPosition());
		}
		GrabbableObject grabbableObject = (heldScrap = ((Component)item).gameObject.GetComponent<GrabbableObject>());
		grabbableObject.parentObject = grabTarget;
		grabbableObject.hasHitGround = false;
		grabbableObject.GrabItemFromEnemy(this);
		grabbableObject.isHeldByEnemy = true;
		grabbableObject.EnablePhysics(enable: false);
		Debug.Log((object)$"Baboon #{thisEnemyIndex}: Grabbing item!!! {((Object)((Component)heldScrap).gameObject).name}");
	}

	public override void ReachedNodeInSearch()
	{
		base.ReachedNodeInSearch();
		if (currentSearch.nodesEliminatedInCurrentSearch > 14 && timeSinceRestWhileScouting > 17f && timeSinceAggressiveDisplay > 6f)
		{
			timeSinceRestWhileScouting = 0f;
			restingDuringScouting = 12f;
		}
	}

	public override void DoAIInterval()
	{
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_017e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0486: Unknown result type (might be due to invalid IL or missing references)
		//IL_0477: Unknown result type (might be due to invalid IL or missing references)
		//IL_0498: Unknown result type (might be due to invalid IL or missing references)
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_066b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0676: Unknown result type (might be due to invalid IL or missing references)
		//IL_0258: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0314: Unknown result type (might be due to invalid IL or missing references)
		//IL_0336: Unknown result type (might be due to invalid IL or missing references)
		//IL_034e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0363: Unknown result type (might be due to invalid IL or missing references)
		//IL_0398: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0904: Unknown result type (might be due to invalid IL or missing references)
		//IL_090e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0913: Unknown result type (might be due to invalid IL or missing references)
		//IL_0918: Unknown result type (might be due to invalid IL or missing references)
		//IL_091a: Unknown result type (might be due to invalid IL or missing references)
		//IL_091c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0926: Unknown result type (might be due to invalid IL or missing references)
		//IL_092b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0943: Unknown result type (might be due to invalid IL or missing references)
		//IL_0948: Unknown result type (might be due to invalid IL or missing references)
		//IL_0952: Unknown result type (might be due to invalid IL or missing references)
		//IL_0957: Unknown result type (might be due to invalid IL or missing references)
		//IL_0962: Unknown result type (might be due to invalid IL or missing references)
		//IL_0967: Unknown result type (might be due to invalid IL or missing references)
		//IL_0971: Unknown result type (might be due to invalid IL or missing references)
		//IL_0976: Unknown result type (might be due to invalid IL or missing references)
		//IL_097b: Unknown result type (might be due to invalid IL or missing references)
		//IL_097d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0987: Unknown result type (might be due to invalid IL or missing references)
		//IL_098c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0996: Unknown result type (might be due to invalid IL or missing references)
		//IL_079f: Unknown result type (might be due to invalid IL or missing references)
		//IL_07af: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_07be: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_09de: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_09f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_09f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_09cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_08df: Unknown result type (might be due to invalid IL or missing references)
		//IL_09fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_09fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a01: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a16: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a2b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a2d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a21: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a23: Unknown result type (might be due to invalid IL or missing references)
		base.DoAIInterval();
		if (isEnemyDead)
		{
			agent.speed = 0f;
			if (scoutingSearchRoutine.inProgress)
			{
				StopSearch(scoutingSearchRoutine, clear: false);
			}
			return;
		}
		if (stunNormalizedTimer > 0f || miscAnimationTimer > 0f)
		{
			agent.speed = 0f;
			if (doingKillAnimation && stunNormalizedTimer >= 0f)
			{
				StopKillAnimation();
			}
			if ((Object)(object)heldScrap != (Object)null && ((NetworkBehaviour)this).IsOwner)
			{
				DropHeldItemAndSync();
			}
			if ((Object)(object)stunnedByPlayer != (Object)null)
			{
				PingBaboonInterest(((Component)stunnedByPlayer.gameplayCamera).transform.position, 4);
			}
		}
		if (inSpecialAnimation)
		{
			agent.speed = 0f;
			return;
		}
		if (!eyesClosed)
		{
			DoLOSCheck();
		}
		InteractWithScrap();
		switch (currentBehaviourStateIndex)
		{
		case 0:
			if (previousBehaviourState != currentBehaviourStateIndex)
			{
				timeToScout = Random.Range(25, 70);
				scoutTimer = 0f;
				restingAtCamp = false;
				restAtCampTimer = 0f;
				SetAggressiveMode(0);
				previousBehaviourState = currentBehaviourStateIndex;
			}
			if (!((NetworkBehaviour)this).IsOwner)
			{
				break;
			}
			if ((Object)(object)focusedScrap != (Object)null)
			{
				SetDestinationToPosition(((Component)focusedScrap).transform.position);
			}
			if (scoutingGroup == null || (Object)(object)scoutingGroup.leader == (Object)(object)this || !scoutingGroup.members.Contains(this))
			{
				_ = scoutingGroup;
				if (restingDuringScouting >= 0f)
				{
					if (scoutingSearchRoutine.inProgress)
					{
						StopSearch(scoutingSearchRoutine, clear: false);
					}
					if (!creatureAnimator.GetBool("sit"))
					{
						EnemyEnterRestModeServerRpc(sleep: false, atCamp: false);
					}
					creatureAnimator.SetBool("sit", true);
					restingDuringScouting -= AIIntervalTime;
					agent.speed = 0f;
				}
				else
				{
					if (!scoutingSearchRoutine.inProgress && (Object)(object)focusedScrap == (Object)null)
					{
						StartSearch(baboonCampPosition, scoutingSearchRoutine);
					}
					if (creatureAnimator.GetBool("sit"))
					{
						EnemyGetUpServerRpc();
						creatureAnimator.SetBool("sit", false);
					}
					agent.speed = 10f;
				}
			}
			else
			{
				if (scoutingSearchRoutine.inProgress)
				{
					StopSearch(scoutingSearchRoutine);
				}
				if (creatureAnimator.GetBool("sit"))
				{
					EnemyGetUpServerRpc();
					creatureAnimator.SetBool("sit", false);
				}
				agent.speed = 12f;
				if (Vector3.Distance(((Component)this).transform.position, ((Component)scoutingGroup.leader).transform.position) > 60f || PathIsIntersectedByLineOfSight(((Component)scoutingGroup.leader).transform.position, calculatePathDistance: false, avoidLineOfSight: false))
				{
					LeaveCurrentScoutingGroup(sync: true);
				}
				else if (Vector3.Distance(destination, ((Component)scoutingGroup.leader).transform.position) > 8f && (Object)(object)focusedScrap == (Object)null)
				{
					SetDestinationToPosition(RoundManager.Instance.GetRandomNavMeshPositionInRadiusSpherical(((Component)scoutingGroup.leader).transform.position, 6f, RoundManager.Instance.navHit));
				}
			}
			if (scoutTimer < timeToScout && (Object)(object)heldScrap == (Object)null)
			{
				scoutTimer += AIIntervalTime;
			}
			else
			{
				SwitchToBehaviourState(1);
			}
			break;
		case 1:
			if (previousBehaviourState != currentBehaviourStateIndex)
			{
				restingDuringScouting = 0f;
				scoutTimer = 0f;
				chosenDistanceToCamp = Random.Range(1f, 7f);
				LeaveCurrentScoutingGroup(sync: true);
				SetAggressiveMode(0);
				previousBehaviourState = currentBehaviourStateIndex;
			}
			if (scoutingSearchRoutine.inProgress)
			{
				StopSearch(scoutingSearchRoutine);
			}
			if ((Object)(object)focusedScrap != (Object)null)
			{
				SetDestinationToPosition(((Component)focusedScrap).transform.position);
			}
			else
			{
				SetDestinationToPosition(baboonCampPosition);
			}
			if (Vector3.Distance(((Component)this).transform.position, baboonCampPosition) < chosenDistanceToCamp && peekTimer < 0f)
			{
				if (!restingAtCamp)
				{
					restingAtCamp = true;
					restAtCampTimer = Random.Range(15f, 30f);
					if ((Object)(object)heldScrap != (Object)null)
					{
						DropHeldItemAndSync();
					}
					bool sleep = false;
					if (Random.Range(0, 100) < 35)
					{
						sleep = true;
					}
					EnemyEnterRestModeServerRpc(sleep, atCamp: true);
				}
				else if (restAtCampTimer <= 0f)
				{
					SwitchToBehaviourState(0);
				}
				else
				{
					restAtCampTimer -= AIIntervalTime;
				}
				agent.speed = 0f;
			}
			else
			{
				if (restingAtCamp)
				{
					restingAtCamp = false;
					EnemyGetUpServerRpc();
				}
				creatureAnimator.SetBool("sit", false);
				creatureAnimator.SetBool("sleep", false);
				agent.speed = 9f;
			}
			break;
		case 2:
		{
			if (previousBehaviourState != currentBehaviourStateIndex)
			{
				timeSpentFocusingOnThreat = 0f;
				creatureAnimator.SetBool("sleep", false);
				creatureAnimator.SetBool("sit", false);
				EnemyGetUpServerRpc();
				previousBehaviourState = currentBehaviourStateIndex;
			}
			if (focusedThreat == null || !focusingOnThreat)
			{
				StopFocusingThreat();
			}
			if (scoutingSearchRoutine.inProgress)
			{
				StopSearch(scoutingSearchRoutine, clear: false);
			}
			agent.speed = 9f;
			float num = fearLevelNoDistComparison * 2f;
			if (focusedThreat.interestLevel <= 0 || enemyHP <= 3)
			{
				num = Mathf.Max(num, 1f);
			}
			float num2 = GetComfortableDistanceToThreat(focusedThreat) + num;
			float num3 = Vector3.Distance(((Component)this).transform.position, focusedThreat.lastSeenPosition);
			bool flag = false;
			float num4 = Time.realtimeSinceStartup - focusedThreat.timeLastSeen;
			if (num4 > 5f)
			{
				SetThreatInView(inView: false);
				focusLevel = 0;
				StopFocusingThreat();
				break;
			}
			if (num4 > 3f)
			{
				SetThreatInView(inView: false);
				focusLevel = 1;
				if (num2 - num3 > 2f)
				{
					StopFocusingThreat();
					break;
				}
			}
			else if (num4 > 1f)
			{
				flag = true;
				focusedThreatIsInView = false;
				SetThreatInView(inView: false);
				focusLevel = 2;
				SetAggressiveMode(0);
			}
			else if (num4 < 0.55f)
			{
				flag = true;
				SetThreatInView(inView: true);
			}
			bool flag2 = (fearLevel > 0f && fearLevel < 4f) || focusedThreat.interestLevel > 0 || fearLevel < -6f || focusedThreat.hasAttacked;
			if (aggressiveMode == 2)
			{
				focusLevel = 3;
				if ((Object)(object)heldScrap != (Object)null)
				{
					DropHeldItemAndSync();
					focusedScrap = heldScrap;
				}
				Vector3 val = focusedThreat.threatScript.GetThreatTransform().position + focusedThreat.threatScript.GetThreatVelocity() * 10f;
				Debug.DrawRay(val, Vector3.up * 5f, Color.red, AIIntervalTime);
				SetDestinationToPosition(val, checkForPath: true);
				if (fightTimer > 4f || timeSinceBeingAttackedByPlayer < 4f || (fightTimer > 2f && (fearLevel >= 1f || !flag2)) || (enemyHP <= 3 && !flag2))
				{
					scoutTimer = timeToScout - 20f;
					fightTimer = -7f;
					SetAggressiveMode(1);
				}
				else if (num3 > 4f)
				{
					fightTimer += AIIntervalTime * 2f;
				}
				else if (num3 > 1f)
				{
					fightTimer += AIIntervalTime;
				}
				else
				{
					fightTimer += AIIntervalTime / 2f;
				}
				break;
			}
			bool flag3 = false;
			if ((Object)(object)focusedScrap != (Object)null && (!flag || fearLevel <= 2f))
			{
				SetDestinationToPosition(((Component)focusedScrap).transform.position);
				flag3 = true;
			}
			Vector3 val2 = focusedThreat.lastSeenPosition + focusedThreat.threatScript.GetThreatVelocity() * -17f;
			Debug.DrawRay(val2, Vector3.up * 3f, Color.red, AIIntervalTime);
			Ray val3 = default(Ray);
			((Ray)(ref val3))..ctor(((Component)this).transform.position + Vector3.up * 0.5f, Vector3.Normalize((((Component)this).transform.position + Vector3.up * 0.5f - val2) * 100f));
			RaycastHit val4 = default(RaycastHit);
			Vector3 val5 = ((!Physics.Raycast(val3, ref val4, num2 - num3, StartOfRound.Instance.collidersAndRoomMaskAndDefault, (QueryTriggerInteraction)1)) ? RoundManager.Instance.GetNavMeshPosition(((Ray)(ref val3)).GetPoint(num2 - num3), RoundManager.Instance.navHit, 8f) : RoundManager.Instance.GetNavMeshPosition(((RaycastHit)(ref val4)).point, RoundManager.Instance.navHit, 8f));
			Debug.DrawRay(val5, Vector3.up, Color.blue, AIIntervalTime);
			if (!flag3)
			{
				if (SetDestinationToPosition(val5, checkForPath: true))
				{
					debugSphere = val5;
				}
				else
				{
					debugSphere = val5;
				}
			}
			if (fightTimer > 7f && timeSinceFighting > 4f)
			{
				fightTimer = -6f;
				SetAggressiveMode(2);
				break;
			}
			bool flag4 = false;
			if (scoutingGroup != null)
			{
				for (int i = 0; i < scoutingGroup.members.Count; i++)
				{
					if (scoutingGroup.members[i].aggressiveMode == 2)
					{
						flag4 = true;
					}
				}
			}
			float num5 = GetComfortableDistanceToThreat(focusedThreat) - num3;
			if (fearLevel <= -5f)
			{
				if (noiseTimer >= noiseInterval)
				{
					noiseInterval = Random.Range(0.2f, 0.7f);
					noiseTimer = 0f;
					RoundManager.PlayRandomClip(creatureVoice, cawLaughSFX, randomize: true, 1f, 1105);
				}
				else
				{
					noiseTimer += Time.deltaTime;
				}
			}
			if ((flag && ((num5 > 8f && flag2) || num3 < 5f)) || timeSinceBeingAttackedByPlayer < 4f)
			{
				if (timeSinceFighting > 5f)
				{
					fightTimer += AIIntervalTime * 10.6f / (focusedThreat.distanceToThreat * 0.3f);
				}
				SetAggressiveMode(1);
			}
			else if (num5 > 4f && fearLevel < 3f && flag2)
			{
				fightTimer += AIIntervalTime * 7.4f / (focusedThreat.distanceToThreat * 0.3f);
				SetAggressiveMode(1);
			}
			else
			{
				if (!(num5 < 2f))
				{
					break;
				}
				if (timeSinceAggressiveDisplay > 2.5f)
				{
					SetAggressiveMode(0);
				}
				fightTimer -= Mathf.Max(-6f, AIIntervalTime * 0.2f);
				if (timeSpentFocusingOnThreat > 4f + (float)focusedThreat.interestLevel * 8f && !flag4)
				{
					if (fightTimer > 4f)
					{
						fightTimer -= Mathf.Max(-6f, AIIntervalTime * 0.5f * (focusedThreat.distanceToThreat * 0.1f));
					}
					else
					{
						StopFocusingThreat();
					}
				}
			}
			break;
		}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void StopFocusingThreat()
	{
		if (currentBehaviourStateIndex == 2)
		{
			aggressiveMode = 0;
			focusingOnThreat = false;
			focusedThreatIsInView = false;
			focusedThreatTransform = null;
			focusedThreat = null;
			if ((Object)(object)heldScrap == (Object)null)
			{
				SwitchToBehaviourStateOnLocalClient(0);
			}
			else
			{
				SwitchToBehaviourStateOnLocalClient(1);
			}
			StopFocusingThreatServerRpc((Object)(object)heldScrap == (Object)null);
		}
	}

	[ServerRpc]
	public void StopFocusingThreatServerRpc(bool enterScoutingMode)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Invalid comparison between Unknown and I4
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1546030380u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref enterScoutingMode, default(ForPrimitives));
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1546030380u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			StopFocusingThreatClientRpc(enterScoutingMode);
		}
	}

	[ClientRpc]
	public void StopFocusingThreatClientRpc(bool enterScoutingMode)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b1: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
		{
			ClientRpcParams val = default(ClientRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3360048400u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref enterScoutingMode, default(ForPrimitives));
			((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3360048400u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((NetworkBehaviour)this).IsOwner)
		{
			aggressiveMode = 0;
			focusedThreatTransform = null;
			focusedThreat = null;
			if (enterScoutingMode)
			{
				SwitchToBehaviourStateOnLocalClient(0);
			}
			else
			{
				SwitchToBehaviourStateOnLocalClient(1);
			}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void SetAggressiveMode(int mode)
	{
		if (aggressiveMode != mode)
		{
			aggressiveMode = mode;
			SetAggressiveModeServerRpc(mode);
		}
	}

	[ServerRpc]
	public void SetAggressiveModeServerRpc(int mode)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e9: Invalid comparison between Unknown and I4
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(443869275u, val, (RpcDelivery)0);
			BytePacker.WriteValueBitPacked(val2, mode);
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 443869275u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			SetAggressiveModeClientRpc(mode);
		}
	}

	[ClientRpc]
	public void SetAggressiveModeClientRpc(int mode)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a3: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager != null && networkManager.IsListening)
		{
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1782649174u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, mode);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1782649174u, val, (RpcDelivery)0);
			}
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((NetworkBehaviour)this).IsOwner)
			{
				aggressiveMode = mode;
			}
		}
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void SetThreatInView(bool inView)
	{
		if (focusedThreatIsInView != inView)
		{
			focusedThreatIsInView = inView;
			SetThreatInViewServerRpc(inView);
		}
	}

	[ServerRpc]
	public void SetThreatInViewServerRpc(bool inView)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Invalid comparison between Unknown and I4
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3428942850u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref inView, default(ForPrimitives));
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3428942850u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			SetThreatInViewClientRpc(inView);
		}
	}

	[ClientRpc]
	public void SetThreatInViewClientRpc(bool inView)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b1: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager != null && networkManager.IsListening)
		{
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2073937320u, val, (RpcDelivery)0);
				((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref inView, default(ForPrimitives));
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2073937320u, val, (RpcDelivery)0);
			}
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((NetworkBehaviour)this).IsOwner)
			{
				focusedThreatIsInView = inView;
			}
		}
	}

	[ServerRpc]
	public void EnemyEnterRestModeServerRpc(bool sleep, bool atCamp)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_0112: Invalid comparison between Unknown and I4
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1806580287u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref sleep, default(ForPrimitives));
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref atCamp, default(ForPrimitives));
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1806580287u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			EnemyEnterRestModeClientRpc(sleep, atCamp);
		}
	}

	[ClientRpc]
	public void EnemyEnterRestModeClientRpc(bool sleep, bool atCamp)
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Unknown result type (might be due to invalid IL or missing references)
		//IL_009e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
		{
			ClientRpcParams val = default(ClientRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1567928363u, val, (RpcDelivery)0);
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref sleep, default(ForPrimitives));
			((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref atCamp, default(ForPrimitives));
			((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1567928363u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost))
		{
			restingAtCamp = atCamp;
			if (sleep)
			{
				eyesClosed = true;
				creatureAnimator.SetBool("sleep", true);
				creatureAnimator.SetBool("sit", false);
			}
			else
			{
				eyesClosed = false;
				creatureAnimator.SetBool("sleep", false);
				creatureAnimator.SetBool("sit", true);
			}
		}
	}

	[ServerRpc]
	public void EnemyGetUpServerRpc()
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Invalid comparison between Unknown and I4
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Invalid comparison between Unknown and I4
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager == null || !networkManager.IsListening)
		{
			return;
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
		{
			if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId)
			{
				if ((int)networkManager.LogLevel <= 1)
				{
					Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!");
				}
				return;
			}
			ServerRpcParams val = default(ServerRpcParams);
			FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3614203845u, val, (RpcDelivery)0);
			((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3614203845u, val, (RpcDelivery)0);
		}
		if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
		{
			EnemyGetUpClientRpc();
		}
	}

	[ClientRpc]
	public void EnemyGetUpClientRpc()
	{
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Invalid comparison between Unknown and I4
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0096: Invalid comparison between Unknown and I4
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
		if (networkManager != null && networkManager.IsListening)
		{
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1155909339u, val, (RpcDelivery)0);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1155909339u, val, (RpcDelivery)0);
			}
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((NetworkBehaviour)this).IsOwner)
			{
				creatureAnimator.SetBool("sit", false);
			}
		}
	}

	public override void OnDrawGizmos()
	{
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		if (!debugEnemyAI)
		{
			return;
		}
		if (currentBehaviourStateIndex == 1)
		{
			Gizmos.DrawCube(((Component)this).transform.position + Vector3.up * 2f, new Vector3(0.2f, 0.2f, 0.2f));
		}
		else if (scoutingGroup != null)
		{
			if ((Object)(object)scoutingGroup.leader == (Object)(object)this)
			{
				Gizmos.DrawSphere(((Component)this).transform.position + Vector3.up * 2f, 0.6f);
				return;
			}
			Gizmos.DrawLine(((Component)scoutingGroup.leader).transform.position + Vector3.up * 2f, ((Component)this).transform.position + Vector3.up * 2f);
			Gizmos.DrawSphere(((Component)this).transform.position + Vector3.up * 2f, 0.1f);
		}
	}

	public override void DetectNoise(Vector3 noisePosition, float noiseLoudness, int timesPlayedInOneSpot = 0, int noiseID = 0)
	{
		//IL_0013: Unknown result type (might be due to invalid IL or missing references)
		//IL_001d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: Unknown result type (might be due to invalid IL or missing references)
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		if (!((NetworkBehaviour)this).IsOwner || isEnemyDead)
		{
			return;
		}
		base.DetectNoise(noisePosition, noiseLoudness, timesPlayedInOneSpot, noiseID);
		if (Vector3.Distance(noisePosition, ((Component)this).transform.position + Vector3.up * 0.4f) < 0.75f || noiseID == 1105 || noiseID == 24751)
		{
			return;
		}
		float num = Vector3.Distance(noisePosition, ((Component)this).transform.position);
		float num2 = noiseLoudness / num;
		if (eyesClosed)
		{
			num2 *= 0.75f;
		}
		if (num2 < 0.12f && peekTimer >= 0f && focusLevel > 0)
		{
			return;
		}
		if (focusLevel >= 3)
		{
			if (num > 3f || num2 <= 0.06f)
			{
				return;
			}
		}
		else if (focusLevel == 2)
		{
			if (num > 25f || num2 <= 0.05f)
			{
				return;
			}
		}
		else if (focusLevel == 1 && (num > 40f || num2 <= 0.05f))
		{
			return;
		}
		PingBaboonInterest(noisePosition, focusLevel);
	}

	[OriginalAttributes(MethodAttributes.Private)]
	public void AnimateLooking(Vector3 lookAtPosition)
	{
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might b