Decompiled source of HowToFishXR v1.0.1
BepInEx/patchers/HowToFishXR/HowToFishVR.Preload.dll
Decompiled 7 hours agousing System; using System.Collections.Generic; 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 BepInEx.Logging; using Microsoft.CodeAnalysis; using Mono.Cecil; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("HowToFishVR.Preload")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("HowToFishXR - Preloader (stages OpenXR runtime)")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+e3cc92a1988e2680296bae95a521b7a361bab8be")] [assembly: AssemblyProduct("HowToFishVR.Preload")] [assembly: AssemblyTitle("HowToFishVR.Preload")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [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; } } } namespace HowToFishVR.Preload { public static class Preload { private const string DATA_DIR = "How to Fish_Data"; private const string VR_MANIFEST = "{\n \"name\": \"OpenXR XR Plugin\",\n \"version\": \"1.14.3\",\n \"libraryName\": \"UnityOpenXR\",\n \"displays\": [ { \"id\": \"OpenXR Display\" } ],\n \"inputs\": [ { \"id\": \"OpenXR Input\" } ]\n}"; private static readonly ManualLogSource Logger = Logger.CreateLogSource("HowToFishVR.Preload"); public static IEnumerable<string> TargetDLLs { get; } = new string[0]; public static void Initialize() { try { SetupRuntimeAssets(); } catch (Exception arg) { Logger.LogError((object)$"Failed to stage VR runtime assets: {arg}"); } } private static void SetupRuntimeAssets() { string path = Path.Combine(Paths.GameRootPath, "How to Fish_Data"); string text = Path.Combine(Path.Combine(path, "UnitySubsystems"), "UnityOpenXR"); Directory.CreateDirectory(text); File.WriteAllText(Path.Combine(text, "UnitySubsystemsManifest.json"), "{\n \"name\": \"OpenXR XR Plugin\",\n \"version\": \"1.14.3\",\n \"libraryName\": \"UnityOpenXR\",\n \"displays\": [ { \"id\": \"OpenXR Display\" } ],\n \"inputs\": [ { \"id\": \"OpenXR Input\" } ]\n}"); string text2 = Path.Combine(path, "Plugins"); Directory.CreateDirectory(text2); string path2 = FindRuntimeDeps(); CopyIfNewer(Path.Combine(path2, "UnityOpenXR.dll"), Path.Combine(text2, "UnityOpenXR.dll")); CopyIfNewer(Path.Combine(path2, "openxr_loader.dll"), Path.Combine(text2, "openxr_loader.dll")); } private static string FindRuntimeDeps() { string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "RuntimeDeps"); if (Directory.Exists(text)) { return text; } string[] directories = Directory.GetDirectories(Paths.BepInExRootPath, "RuntimeDeps", SearchOption.AllDirectories); foreach (string text2 in directories) { if (File.Exists(Path.Combine(text2, "UnityOpenXR.dll"))) { return text2; } } return text; } private static void CopyIfNewer(string src, string dst) { if (!File.Exists(src)) { Logger.LogError((object)("Required VR runtime dependency is missing: " + src)); } else if (!File.Exists(dst) || new FileInfo(dst).Length != new FileInfo(src).Length) { File.Copy(src, dst, overwrite: true); } } public static void Patch(AssemblyDefinition assembly) { } } }
BepInEx/plugins/HowToFishXR/HowToFishVR.dll
Decompiled 7 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; 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.Configuration; using BepInEx.Logging; using FishNet; using FishNet.Broadcast; using FishNet.Connection; using FishNet.Object; using FishNet.Serializing; using FishNet.Transporting; using HarmonyLib; using HowToFishVR.Body; using HowToFishVR.Input; using HowToFishVR.Localization; using HowToFishVR.Net; using HowToFishVR.Patches; using HowToFishVR.UI; using HowToFishVR.VR; using Microsoft.CodeAnalysis; using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.Users; using UnityEngine.InputSystem.Utilities; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; using UnityEngine.SceneManagement; using UnityEngine.UI; using UnityEngine.XR; using UnityEngine.XR.Interaction.Toolkit.UI; using UnityEngine.XR.Management; using UnityEngine.XR.OpenXR; using UnityEngine.XR.OpenXR.Features; using UnityEngine.XR.OpenXR.Features.Interactions; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("J_axon")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("HowToFishXR - full 6DoF VR mod for How to Fish")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+e3cc92a1988e2680296bae95a521b7a361bab8be")] [assembly: AssemblyProduct("HowToFishVR")] [assembly: AssemblyTitle("HowToFishVR")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [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; } } } namespace HowToFishVR { public enum TurnMode { Snap, Smooth } public enum BodyMode { FullBodyIK, HandsOnly } public enum ButtonMode { Hold, Toggle } public enum DeathView { FirstPerson, ThirdPerson } public static class VRConfig { public static ConfigEntry<bool> DisableVR; public static ConfigEntry<float> WorldScale; public static ConfigEntry<bool> RoomscaleMovement; public static ConfigEntry<KeyboardShortcut> RecenterKey; public static ConfigEntry<KeyboardShortcut> HeightCalibrateKey; public static ConfigEntry<float> SavedEyeHeight; public static ConfigEntry<float> SavedHeadCalibY; public static ConfigEntry<TurnMode> Turning; public static ConfigEntry<int> SnapTurnAngle; public static ConfigEntry<float> SmoothTurnSpeed; public static ConfigEntry<float> TurnDeadzone; public static ConfigEntry<float> MovementDeadzone; public static ConfigEntry<bool> HeadRelativeMovement; public static ConfigEntry<float> BoatSteerSensitivity; public static ConfigEntry<ButtonMode> SprintMode; public static ConfigEntry<ButtonMode> CrouchMode; public static ConfigEntry<bool> HudFollowsHead; public static ConfigEntry<float> HudFollowSmoothing; public static ConfigEntry<float> HudScale; public static ConfigEntry<float> GripThreshold; public static ConfigEntry<bool> RealUIBlur; public static ConfigEntry<BodyMode> BodyMode; public static ConfigEntry<Vector3> BodyOffset; public static ConfigEntry<DeathView> DeathView; public static ConfigEntry<bool> MultiplayerVRSync; public static ConfigEntry<float> VRSyncRate; public static void Init(ConfigFile cfg) { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown //IL_0083: 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_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Expected O, but got Unknown //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Expected O, but got Unknown //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Expected O, but got Unknown //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Expected O, but got Unknown //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Expected O, but got Unknown //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Expected O, but got Unknown //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Expected O, but got Unknown //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Expected O, but got Unknown //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Expected O, but got Unknown DisableVR = cfg.Bind<bool>("General", "Disable VR", false, "Start How to Fish in flatscreen mode while keeping the mod installed. Can also be overridden for one launch with the --disable-vr Steam launch option. Restart required."); WorldScale = cfg.Bind<float>("General", "World Scale", 1f, new ConfigDescription("Scales your perceived size in the world. 1.0 = default.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.5f, 2f), Array.Empty<object>())); RoomscaleMovement = cfg.Bind<bool>("Calibration", "Roomscale Movement", true, "Allow physically walking/crouching to move the in-game body."); RecenterKey = cfg.Bind<KeyboardShortcut>("Calibration", "Recenter", new KeyboardShortcut((KeyCode)283, Array.Empty<KeyCode>()), "Re-center the headset forward direction."); HeightCalibrateKey = cfg.Bind<KeyboardShortcut>("Calibration", "Calibrate Height", new KeyboardShortcut((KeyCode)284, Array.Empty<KeyCode>()), "Measure and store your standing height / floor level."); SavedEyeHeight = cfg.Bind<float>("Calibration", "Saved Eye Height", 0f, "Your calibrated eye height (m) above the player root, saved by F3 and restored on launch so death/respawn/reloads keep it."); SavedHeadCalibY = cfg.Bind<float>("Calibration", "Saved Head Reference Height", 0f, "Your calibrated standing head height (m), saved by F3. Informational; the live head reference is re-captured each launch."); Turning = cfg.Bind<TurnMode>("Turning", "Turn Mode", TurnMode.Snap, "Snap = instant rotation; Smooth = continuous rotation."); SnapTurnAngle = cfg.Bind<int>("Turning", "Snap Angle", 45, new ConfigDescription("Degrees per snap turn.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(15, 90), Array.Empty<object>())); SmoothTurnSpeed = cfg.Bind<float>("Turning", "Smooth Speed", 120f, new ConfigDescription("Degrees per second for smooth turning.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(30f, 360f), Array.Empty<object>())); TurnDeadzone = cfg.Bind<float>("Turning", "Turn Deadzone", 0.75f, new ConfigDescription("Thumbstick threshold to trigger a snap turn (MAVR-style: must return below 0.35 to re-arm).", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.1f, 0.95f), Array.Empty<object>())); MovementDeadzone = cfg.Bind<float>("Locomotion", "Move Deadzone", 0.15f, new ConfigDescription("Thumbstick deadzone for movement.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.05f, 0.5f), Array.Empty<object>())); HeadRelativeMovement = cfg.Bind<bool>("Locomotion", "Head Relative Movement", true, "Movement direction follows head gaze (off = follows off-hand controller)."); BoatSteerSensitivity = cfg.Bind<float>("Locomotion", "Boat Steer Sensitivity", 1f, new ConfigDescription("Multiplier for boat steering from the movement stick.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.3f, 2.5f), Array.Empty<object>())); SprintMode = cfg.Bind<ButtonMode>("Locomotion", "Sprint Mode", ButtonMode.Hold, "Left thumbstick click. Hold = sprint while held; Toggle = click to toggle."); CrouchMode = cfg.Bind<ButtonMode>("Locomotion", "Crouch Mode", ButtonMode.Toggle, "Right thumbstick click. Toggle = click to toggle (default); Hold = crouch while held."); HudFollowsHead = cfg.Bind<bool>("HUD", "HUD Follows Head", true, "HUD rotates with head yaw but stays level (not pitched up/down), floating in front of you."); HudFollowSmoothing = cfg.Bind<float>("HUD", "HUD Smoothing", 0.1f, new ConfigDescription("Lower = snappier HUD follow.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.02f, 0.5f), Array.Empty<object>())); HudScale = cfg.Bind<float>("HUD", "HUD Scale", 1f, new ConfigDescription("Scale multiplier for the HUD.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.5f, 2f), Array.Empty<object>())); GripThreshold = cfg.Bind<float>("Interaction", "Grip Threshold", 0.6f, new ConfigDescription("Grip pull required to grab.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.1f, 0.95f), Array.Empty<object>())); RealUIBlur = cfg.Bind<bool>("UI", "Real UI Blur", true, "Keep the game's real frosted-glass pixel-blur on UI panels (the actual UniversalBlurUI effect) instead of a flat dark tint. Turn OFF if panels render black on your headset."); BodyMode = cfg.Bind<BodyMode>("Body", "Body Mode", HowToFishVR.BodyMode.FullBodyIK, "FullBodyIK = restored body with VR IK arms that bend naturally. HandsOnly = base game: no body shown, hands only. Snap/smooth turning works in both modes (MAVR-style)."); BodyOffset = cfg.Bind<Vector3>("Body", "Body Offset", new Vector3(0f, 0f, -0.2f), "x, y, z nudge for the whole body in body space, metres. Positive z is forward. Default sits it 20cm back so you are not inside your own collar."); DeathView = cfg.Bind<DeathView>("Death", "Death View", HowToFishVR.DeathView.FirstPerson, "FirstPerson = camera stays on the ragdoll's head (free head-look, head model hidden). ThirdPerson = the game's default third-person orbit around your body, head-tracked for VR."); MultiplayerVRSync = cfg.Bind<bool>("Multiplayer", "VR Pose Sync", true, "VR players broadcast their full-body poses (head, arms, hands, feet, body yaw) and every modded client — VR or flatscreen — applies them to remote players, so everyone sees VR players exactly as they see themselves (one-hand/two-hand grips included). Head look already syncs via the base game. Flatscreen modded players receive the same syncing as VR players; vanilla hosts are unaffected."); VRSyncRate = cfg.Bind<float>("Multiplayer", "VR Pose Sync Rate", 60f, new ConfigDescription("Pose broadcast rate in Hz (5-60). MAVR-class smoothness is 60 Hz — higher = smoother but more bandwidth.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(5f, 60f), Array.Empty<object>())); } } public static class Entrypoint { public static void Initialize() { VRActions.Initialize(); if (Plugin.VRRequested) { Plugin.VREnabled = OpenXRBoot.Start(); } try { Loc.Register(); } catch { } try { VRNetSync.Create(); RemoteBodyDriver.Create(); ApplyNetPatches(); } catch (Exception arg) { Plugin.Logger.LogError((object)$"VR networking failed to initialize: {arg}"); } if (Plugin.VREnabled) { VRRig.Create(); VRCameraPoser.Create(); VRDesktopMirror.Create(); VRCalibration.Create(); VRDamageOverlay.Create(); VRUIManager.Create(); VRLaser.Create(); VRSettingsPanel.Create(); VRHeldItem.Create(); BodyLifecycle.Create(); BlurCapture.Create(); ApplyPatchesResiliently(); } } private static void ApplyPatchesResiliently() { Type[] types = typeof(Plugin).Assembly.GetTypes(); foreach (Type type in types) { if (type.GetCustomAttributes(typeof(HarmonyPatch), inherit: true).Any() && !type.GetCustomAttributes(typeof(NetOnlyPatchAttribute), inherit: true).Any()) { try { Plugin.HarmonyInstance.CreateClassProcessor(type).Patch(); } catch (Exception ex) { Plugin.Logger.LogError((object)("Patch class '" + type.Name + "' failed: " + ex.Message)); } } } } private static void ApplyNetPatches() { Type[] types = typeof(Plugin).Assembly.GetTypes(); foreach (Type type in types) { if (type.GetCustomAttributes(typeof(NetOnlyPatchAttribute), inherit: true).Any()) { try { Plugin.HarmonyInstance.CreateClassProcessor(type).Patch(); } catch (Exception ex) { Plugin.Logger.LogError((object)("Net patch class '" + type.Name + "' failed: " + ex.Message)); } } } } } [BepInPlugin("com.jaxon.howtofishvr", "HowToFishXR", "1.0.0")] [BepInProcess("How to Fish.exe")] public class Plugin : BaseUnityPlugin { public const string Guid = "com.jaxon.howtofishvr"; public const string Name = "HowToFishXR"; public const string Version = "1.0.0"; public static Plugin Instance { get; private set; } public static ManualLogSource Logger { get; private set; } public static Harmony HarmonyInstance { get; private set; } public static bool VREnabled { get; internal set; } public static bool HeadsetActive { get { //IL_0016: 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) if (!VREnabled) { return false; } try { if (!XRSettings.isDeviceActive) { return false; } InputDevice deviceAtXRNode = InputDevices.GetDeviceAtXRNode((XRNode)2); return ((InputDevice)(ref deviceAtXRNode)).isValid; } catch { return VREnabled; } } } public static bool VRRequested { get; private set; } private void Awake() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown Instance = this; Logger = ((BaseUnityPlugin)this).Logger; Application.runInBackground = true; ResolveBundledAssemblies(); VRConfig.Init(((BaseUnityPlugin)this).Config); VRRequested = ResolveVRRequested(); HarmonyInstance = new Harmony("com.jaxon.howtofishvr"); try { Entrypoint.Initialize(); } catch (Exception arg) { Logger.LogError((object)$"Fatal error during VR initialization: {arg}"); } } private bool ResolveVRRequested() { bool flag = Environment.GetCommandLineArgs().Contains<string>("--disable-vr", StringComparer.OrdinalIgnoreCase); return !(VRConfig.DisableVR.Value || flag); } private void ResolveBundledAssemblies() { string here = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); AppDomain.CurrentDomain.AssemblyResolve += delegate(object _, ResolveEventArgs args) { string text = new AssemblyName(args.Name).Name + ".dll"; string text2 = Path.Combine(here, text); if (File.Exists(text2)) { try { return Assembly.LoadFrom(text2); } catch { } } string text3 = Path.Combine(here, "RuntimeDeps", text); if (File.Exists(text3)) { try { return Assembly.LoadFrom(text3); } catch { } } return (Assembly)null; }; } } } namespace HowToFishVR.VR { internal sealed class BlurCapture : MonoBehaviour { private int _globalId; private RenderTexture _rt; private bool _haveContent; internal static BlurCapture Instance { get; private set; } internal bool HasBlur { get { if (_haveContent && (Object)(object)_rt != (Object)null) { return _rt.IsCreated(); } return false; } } internal static void Create() { //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: Expected O, but got Unknown if (!((Object)(object)Instance != (Object)null)) { GameObject val = new GameObject("HowToFishVR BlurCapture"); Object.DontDestroyOnLoad((Object)val); Instance = val.AddComponent<BlurCapture>(); } } private void Awake() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) _globalId = Shader.PropertyToID("_GlobalUniversalBlurTexture"); int w = Mathf.Max(2, Screen.width / 2); int h = Mathf.Max(2, Screen.height / 2); EnsureRT(w, h); ClearRT(new Color(0.1f, 0.13f, 0.16f, 1f)); } private void OnEnable() { RenderPipelineManager.endCameraRendering += OnEndCamera; } private void OnDisable() { RenderPipelineManager.endCameraRendering -= OnEndCamera; } private void Update() { if ((Object)(object)_rt != (Object)null && _rt.IsCreated()) { Shader.SetGlobalTexture(_globalId, (Texture)(object)_rt); } } private void OnEndCamera(ScriptableRenderContext ctx, Camera cam) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Invalid comparison between Unknown and I4 try { if ((Object)(object)cam == (Object)null || (int)cam.cameraType != 1) { return; } Texture globalTexture = Shader.GetGlobalTexture(_globalId); RenderTexture val = (RenderTexture)(object)((globalTexture is RenderTexture) ? globalTexture : null); if (!((Object)(object)val == (Object)null) && !((Object)(object)val == (Object)(object)_rt) && val.IsCreated()) { EnsureRT(((Texture)val).width, ((Texture)val).height); if (!((Object)(object)_rt == (Object)null)) { Graphics.Blit((Texture)(object)val, _rt); _haveContent = true; } } } catch { } } private void EnsureRT(int w, int h) { //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_0075: 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) //IL_0083: 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_0096: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) if (w < 2 || h < 2 || ((Object)(object)_rt != (Object)null && ((Texture)_rt).width == w && ((Texture)_rt).height == h && _rt.IsCreated())) { return; } if ((Object)(object)_rt != (Object)null) { try { _rt.Release(); } catch { } } _rt = new RenderTexture(w, h, 0, (RenderTextureFormat)9) { name = "HowToFishVR_BlurCapture", useMipMap = false, autoGenerateMips = false, filterMode = (FilterMode)1, wrapMode = (TextureWrapMode)1 }; try { _rt.Create(); } catch { } ClearRT(new Color(0.1f, 0.13f, 0.16f, 1f)); } private void ClearRT(Color c) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)_rt == (Object)null || !_rt.IsCreated()) { return; } RenderTexture active = RenderTexture.active; try { RenderTexture.active = _rt; GL.Clear(true, true, c); } catch { } finally { RenderTexture.active = active; } } private void OnDestroy() { if ((Object)(object)_rt != (Object)null) { try { _rt.Release(); } catch { } _rt = null; } if ((Object)(object)Instance == (Object)(object)this) { Instance = null; } } } public static class OpenXRBoot { private static XRGeneralSettings _general; private static XRManagerSettings _manager; private static OpenXRLoader _loader; public static bool Running { get; private set; } public static bool Start() { try { NeutralizeAnalytics(); BuildSettings(); if (!VerifySubsystemManifest()) { Plugin.Logger.LogError((object)"OpenXR subsystem descriptors not found. The native UnityOpenXR plugin / manifest was not staged into How to Fish_Data. Check the preloader ran."); return false; } if (!InitAndStart()) { Plugin.Logger.LogError((object)"OpenXR loader failed to produce a display subsystem. Is a headset connected and an OpenXR runtime active (SteamVR/Oculus/VD)?"); return false; } try { InputSystem.settings.backgroundBehavior = (BackgroundBehavior)2; } catch { } XRSettings.eyeTextureResolutionScale = 1f; SetFloorTrackingOrigin(); Running = true; return true; } catch (Exception arg) { Plugin.Logger.LogError((object)$"Exception while starting OpenXR: {arg}"); return false; } } public static void Stop() { if (!Running) { return; } try { XRManagerSettings manager = _manager; if (manager != null) { manager.StopSubsystems(); } XRManagerSettings manager2 = _manager; if (manager2 != null) { manager2.DeinitializeLoader(); } } catch { } Running = false; } private static void NeutralizeAnalytics() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown Type type = AccessTools.TypeByName("UnityEngine.XR.OpenXR.OpenXRAnalytics"); if (type == null) { return; } HarmonyMethod val = new HarmonyMethod(AccessTools.Method(typeof(OpenXRBoot), "SkipOriginal", (Type[])null, (Type[])null)); MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); foreach (MethodInfo methodInfo in methods) { if (!(methodInfo.DeclaringType != type) && !methodInfo.IsAbstract && !methodInfo.ContainsGenericParameters) { try { Plugin.HarmonyInstance.Patch((MethodBase)methodInfo, val, (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null); } catch { } } } } private static bool SkipOriginal() { return false; } private static void BuildSettings() { if (_general == null) { _general = ScriptableObject.CreateInstance<XRGeneralSettings>(); } if (_manager == null) { _manager = ScriptableObject.CreateInstance<XRManagerSettings>(); } if (_loader == null) { _loader = ScriptableObject.CreateInstance<OpenXRLoader>(); } Traverse.Create((object)_general).Property("Manager", (object[])null).SetValue((object)_manager); SetActiveLoaders(_manager, new List<XRLoader> { (XRLoader)(object)_loader }); _manager.automaticLoading = false; _manager.automaticRunning = false; TrySetXRGeneralSettingsInstance(_general); ConfigureOpenXRSettings(); } private static void ConfigureOpenXRSettings() { OpenXRSettings val = OpenXRSettings.Instance; if ((Object)(object)val == (Object)null) { val = ScriptableObject.CreateInstance<OpenXRSettings>(); (AccessTools.Field(typeof(OpenXRSettings), "s_RuntimeSettingsInstance") ?? AccessTools.Field(typeof(OpenXRSettings), "s_Instance") ?? AccessTools.Field(typeof(OpenXRSettings), "m_Instance"))?.SetValue(null, val); } try { val.renderMode = (RenderMode)0; } catch { } try { val.depthSubmissionMode = (DepthSubmissionMode)0; } catch { } OpenXRFeature[] features = BuildInteractionFeatures(); SetFeatures(val, features); } private static OpenXRFeature[] BuildInteractionFeatures() { //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Expected O, but got Unknown Type[] obj = new Type[8] { typeof(OculusTouchControllerProfile), typeof(MetaQuestTouchPlusControllerProfile), typeof(MetaQuestTouchProControllerProfile), typeof(ValveIndexControllerProfile), typeof(HTCViveControllerProfile), typeof(MicrosoftMotionControllerProfile), typeof(HPReverbG2ControllerProfile), typeof(KHRSimpleControllerProfile) }; List<OpenXRFeature> list = new List<OpenXRFeature>(); Type[] array = obj; foreach (Type type in array) { try { if (typeof(OpenXRFeature).IsAssignableFrom(type)) { OpenXRFeature val = (OpenXRFeature)ScriptableObject.CreateInstance(type); Traverse.Create((object)val).Property("enabled", (object[])null).SetValue((object)true); list.Add(val); } } catch { } } if (list.Count == 0) { Plugin.Logger.LogError((object)"OpenXR started without any controller interaction profiles; motion-controller input will not work."); } return list.ToArray(); } private static bool InitAndStart() { TrySetXRGeneralSettingsInstance(_general); AccessTools.Field(typeof(XRGeneralSettings), "m_InitManagerOnStart")?.SetValue(_general, true); Environment.SetEnvironmentVariable("XR_RUNTIME_JSON", null); InvokePrivate(_general, "InitXRSDK"); InvokePrivate(_general, "Start"); List<XRDisplaySubsystem> list = new List<XRDisplaySubsystem>(); SubsystemManager.GetSubsystems<XRDisplaySubsystem>(list); return list.Count > 0; } private static void InvokePrivate(object target, string method) { try { MethodInfo methodInfo = AccessTools.Method(target.GetType(), method, (Type[])null, (Type[])null); if (!(methodInfo == null)) { methodInfo.Invoke(target, null); } } catch { } } private static void SetFloorTrackingOrigin() { try { List<XRInputSubsystem> list = new List<XRInputSubsystem>(); SubsystemManager.GetSubsystems<XRInputSubsystem>(list); foreach (XRInputSubsystem item in list) { if (item.TrySetTrackingOriginMode((TrackingOriginModeFlags)2)) { item.TryRecenter(); } } } catch { } } private static bool VerifySubsystemManifest() { List<ISubsystemDescriptor> list = new List<ISubsystemDescriptor>(); SubsystemManager.GetAllSubsystemDescriptors(list); List<string> source = list.Select((ISubsystemDescriptor d) => d.id).ToList(); if (source.Any((string id) => id.Contains("OpenXR Display"))) { return source.Any((string id) => id.Contains("OpenXR Input")); } return false; } private static void SetActiveLoaders(XRManagerSettings manager, List<XRLoader> loaders) { try { if (manager.activeLoaders is List<XRLoader> list) { list.Clear(); list.AddRange(loaders); return; } } catch { } AccessTools.Field(typeof(XRManagerSettings), "m_Loaders")?.SetValue(manager, loaders); } private static void TrySetXRGeneralSettingsInstance(XRGeneralSettings general) { (AccessTools.Field(typeof(XRGeneralSettings), "s_RuntimeSettingsInstance") ?? AccessTools.Field(typeof(XRGeneralSettings), "s_Instance") ?? AccessTools.Field(typeof(XRGeneralSettings), "k_SettingsInstance"))?.SetValue(null, general); } private static void SetFeatures(OpenXRSettings settings, OpenXRFeature[] features) { PropertyInfo propertyInfo = AccessTools.Property(typeof(OpenXRSettings), "features"); if (propertyInfo != null && propertyInfo.CanWrite) { propertyInfo.SetValue(settings, features); } else { (AccessTools.Field(typeof(OpenXRSettings), "features") ?? AccessTools.Field(typeof(OpenXRSettings), "m_features") ?? AccessTools.Field(typeof(OpenXRSettings), "featureSets"))?.SetValue(settings, features); } } } public class VRCalibration : MonoBehaviour { private enum State { Idle, Prompt, Countdown, Done } private bool _f3WasDown; private State _state; private float _timer; private int _count; private Canvas _canvas; private Text _text; public static VRCalibration Instance { get; private set; } public static void Create() { //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: Expected O, but got Unknown if (!((Object)(object)Instance != (Object)null)) { GameObject val = new GameObject("HowToFishVR Calibration"); Object.DontDestroyOnLoad((Object)val); Instance = val.AddComponent<VRCalibration>(); Instance.BuildUI(); } } public void Begin() { if (_state == State.Idle) { _state = State.Prompt; _timer = 0f; } } private void BuildUI() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown //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_005e: 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_0072: 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_0087: Expected O, but got Unknown //IL_00db: 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_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0102: 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_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("Calibration Canvas"); val.transform.SetParent(((Component)this).transform, false); val.layer = 5; _canvas = val.AddComponent<Canvas>(); _canvas.renderMode = (RenderMode)2; val.AddComponent<CanvasScaler>(); RectTransform val2 = (RectTransform)((Component)_canvas).transform; val2.sizeDelta = new Vector2(800f, 300f); ((Transform)val2).localScale = Vector3.one * 0.0015f; GameObject val3 = new GameObject("Text"); val3.transform.SetParent(val.transform, false); val3.layer = 5; _text = val3.AddComponent<Text>(); _text.font = FindFont(); _text.fontSize = 48; _text.alignment = (TextAnchor)4; ((Graphic)_text).color = Color.white; _text.horizontalOverflow = (HorizontalWrapMode)0; RectTransform val4 = (RectTransform)((Component)_text).transform; val4.anchorMin = Vector2.zero; val4.anchorMax = Vector2.one; val4.offsetMin = Vector2.zero; val4.offsetMax = Vector2.zero; val.SetActive(false); } private static Font FindFont() { try { Font builtinResource = Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf"); if ((Object)(object)builtinResource != (Object)null) { return builtinResource; } } catch { } try { Font val = Font.CreateDynamicFontFromOSFont("Arial", 48); if ((Object)(object)val != (Object)null) { return val; } } catch { } try { Font val2 = Font.CreateDynamicFontFromOSFont("Segoe UI", 48); if ((Object)(object)val2 != (Object)null) { return val2; } } catch { } return null; } private void Update() { //IL_000f: 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_00bd: 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_00f1: 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_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0117: 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_011e: Unknown result type (might be due to invalid IL or missing references) if (!Plugin.VREnabled) { return; } bool flag = false; try { KeyboardShortcut value = VRConfig.HeightCalibrateKey.Value; flag = ((KeyboardShortcut)(ref value)).IsDown(); } catch { } try { if (Input.GetKey((KeyCode)284)) { flag = true; } } catch { } if (flag && !_f3WasDown && _state == State.Idle) { Begin(); } _f3WasDown = flag; VRRig instance = VRRig.Instance; if ((Object)(object)instance == (Object)null || (Object)(object)instance.Head == (Object)null) { return; } bool flag2 = _state != State.Idle; if ((Object)(object)_canvas != (Object)null && ((Component)_canvas).gameObject.activeSelf != flag2) { ((Component)_canvas).gameObject.SetActive(flag2); } if (!flag2) { return; } Transform head = instance.Head; Vector3 forward = head.forward; forward.y = 0f; if (((Vector3)(ref forward)).sqrMagnitude > 0.0001f) { ((Vector3)(ref forward)).Normalize(); ((Component)_canvas).transform.position = head.position + forward * 1.2f; ((Component)_canvas).transform.rotation = Quaternion.LookRotation(forward, Vector3.up); } switch (_state) { case State.Prompt: _text.text = "Stand up straight and hold a T-pose\n(arms straight out to the sides)"; if (IsTPose(instance)) { _timer += Time.deltaTime; if (_timer >= 0.5f) { _state = State.Countdown; _count = 3; _timer = 0f; } } else { _timer = 0f; } break; case State.Countdown: if (!IsTPose(instance)) { _state = State.Prompt; _timer = 0f; break; } _text.text = $"Hold still...\n{_count}"; _timer += Time.deltaTime; if (_timer >= 1f) { _timer = 0f; _count--; if (_count <= 0) { instance.CalibrateNow(); _state = State.Done; _text.text = "Calibrated!"; Pulse(); } } break; case State.Done: _timer += Time.deltaTime; if (_timer >= 1.5f) { _state = State.Idle; _timer = 0f; } break; } } private static void Pulse() { //IL_0001: 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_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) try { InputDevice deviceAtXRNode = InputDevices.GetDeviceAtXRNode((XRNode)4); InputDevice deviceAtXRNode2 = InputDevices.GetDeviceAtXRNode((XRNode)5); if (((InputDevice)(ref deviceAtXRNode)).isValid) { ((InputDevice)(ref deviceAtXRNode)).SendHapticImpulse(0u, 0.6f, 0.25f); } if (((InputDevice)(ref deviceAtXRNode2)).isValid) { ((InputDevice)(ref deviceAtXRNode2)).SendHapticImpulse(0u, 0.6f, 0.25f); } } catch { } } private static bool IsTPose(VRRig rig) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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_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_002a: 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_0043: 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_0061: 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_0073: 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_0087: 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_0099: 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_00cf: Unknown result type (might be due to invalid IL or missing references) Vector3 position = rig.Head.position; Vector3 position2 = rig.LeftHand.position; Vector3 position3 = rig.RightHand.position; bool num = Mathf.Abs(position2.y - position.y) < 0.45f && Mathf.Abs(position3.y - position.y) < 0.45f; Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(position2.x - position.x, 0f, position2.z - position.z); Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(position3.x - position.x, 0f, position3.z - position.z); bool flag = ((Vector3)(ref val)).magnitude > 0.35f && ((Vector3)(ref val2)).magnitude > 0.35f; bool flag2 = Vector3.Dot(((Vector3)(ref val)).normalized, ((Vector3)(ref val2)).normalized) < -0.3f; return num && flag && flag2; } } public static class VRCameraPoser { public static VRCameraPoser_Behaviour Instance; public static void Create() { //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: Expected O, but got Unknown if (!((Object)(object)Instance != (Object)null)) { GameObject val = new GameObject("HowToFishVR CameraPoser"); Object.DontDestroyOnLoad((Object)val); Instance = val.AddComponent<VRCameraPoser_Behaviour>(); } } } public class VRCameraPoser_Behaviour : MonoBehaviour { private static Transform _deadHead; private static Vector3 _deadHeadScale = Vector3.one; private static bool _deadHeadHidden; private static SelfDrivingBoat _menuBoat; private static Transform _menuCameraTarget; private static Vector3 _menuTargetLocalOffset; private static bool _menuAnchorInit; private static bool _customizationPoseActive; private static SelfDrivingBoat _customizationBoat; private static float _customizationNeutralHeadYaw; private static float _customizationStartTurnYaw; private static bool TryGetRagdollHead(out Vector3 pos) { //IL_0001: 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_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_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) pos = default(Vector3); try { Player localPlayer = Player.LocalPlayer; if ((Object)(object)localPlayer == (Object)null || (Object)(object)localPlayer.Dying == (Object)null || !localPlayer.Dying.IsDead) { return false; } DeadPlayer deadPlayer = localPlayer.Dying.DeadPlayer; if ((Object)(object)deadPlayer == (Object)null) { return false; } if ((Object)(object)deadPlayer._mouthUpper != (Object)null) { pos = deadPlayer._mouthUpper.position; return true; } pos = ((Component)deadPlayer).transform.position + Vector3.up * 0.2f; return true; } catch { return false; } } private static void HideDeadHead() { //IL_00a8: 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) try { if (_deadHeadHidden && (Object)(object)_deadHead != (Object)null) { return; } if ((Object)(object)_deadHead == (Object)null) { Player localPlayer = Player.LocalPlayer; if ((Object)(object)localPlayer == (Object)null || (Object)(object)localPlayer.Dying == (Object)null || (Object)(object)localPlayer.Dying.DeadPlayer == (Object)null) { return; } _deadHead = FindHeadBone(((Component)localPlayer.Dying.DeadPlayer).transform); if ((Object)(object)_deadHead == (Object)null) { _deadHeadHidden = true; return; } _deadHeadScale = _deadHead.localScale; } if ((Object)(object)_deadHead != (Object)null) { _deadHead.localScale = Vector3.zero; } _deadHeadHidden = true; } catch { } } private static void RestoreDeadHead() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)_deadHead != (Object)null && _deadHeadHidden) { _deadHead.localScale = _deadHeadScale; } _deadHead = null; _deadHeadHidden = false; } private static Transform FindHeadBone(Transform root) { if ((Object)(object)root == (Object)null) { return null; } Transform[] componentsInChildren = ((Component)root).GetComponentsInChildren<Transform>(true); foreach (Transform val in componentsInChildren) { if (!((Object)(object)val == (Object)null) && ((Object)val).name != null) { string name = ((Object)val).name; if (name.IndexOf("Head", StringComparison.OrdinalIgnoreCase) >= 0 && name.IndexOf("Holder", StringComparison.OrdinalIgnoreCase) < 0 && name.IndexOf("hold", StringComparison.OrdinalIgnoreCase) < 0 && name.IndexOf("mouth", StringComparison.OrdinalIgnoreCase) < 0 && name.IndexOf("hair", StringComparison.OrdinalIgnoreCase) < 0) { return val; } } } return null; } private static Vector3 MenuBoatAnchor(Camera primary) { //IL_0006: 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_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_00ca: 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_00d0: 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_00da: 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_0109: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: 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_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) SelfDrivingBoat val = null; Transform val2 = null; Vector3 val3 = default(Vector3); try { MainMenuManager instance = MainMenuManager._instance; if ((Object)(object)instance != (Object)null) { val = instance._boat; } if ((Object)(object)val != (Object)null) { bool isInSkinCustomization = LocalSkin.IsInSkinCustomization; val2 = (isInSkinCustomization ? val._skinCustomizationPos : val._defaultCamPos); if ((Object)(object)val2 == (Object)null) { val2 = ((Component)val).transform; } val3 = val2.position; val3.y = (isInSkinCustomization ? val._skinCustomizationHeight : val._defaultHeight); } } catch { } if ((Object)(object)val == (Object)null || (Object)(object)val2 == (Object)null) { return ((Component)primary).transform.position; } if (!_menuAnchorInit || (Object)(object)_menuBoat != (Object)(object)val) { _menuBoat = val; if (!LocalSkin.IsInSkinCustomization) { _menuTargetLocalOffset = Quaternion.Inverse(val2.rotation) * (((Component)primary).transform.position - val3); } _menuAnchorInit = true; } _menuCameraTarget = val2; if (!LocalSkin.IsInSkinCustomization) { return val3 + val2.rotation * _menuTargetLocalOffset; } return val3; } internal static bool TryGetCustomizationOrigin(Quaternion headRotation, float turnYaw, out Quaternion origin) { //IL_0001: 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_0095: 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_00b5: 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_00ce: 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_00d4: 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_00f5: 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_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0103: 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_0137: Unknown result type (might be due to invalid IL or missing references) origin = Quaternion.identity; try { if (!MainMenuManager.IsInMenu || !LocalSkin.IsInSkinCustomization) { _customizationPoseActive = false; _customizationBoat = null; return false; } MainMenuManager instance = MainMenuManager._instance; SelfDrivingBoat val = (((Object)(object)instance != (Object)null) ? instance._boat : null); if ((Object)(object)val == (Object)null || (Object)(object)val._skinCustomizationPos == (Object)null || (Object)(object)val._skinCustomizationLookAt == (Object)null) { return false; } if (!_customizationPoseActive || (Object)(object)_customizationBoat != (Object)(object)val) { _customizationPoseActive = true; _customizationBoat = val; _customizationNeutralHeadYaw = ((Quaternion)(ref headRotation)).eulerAngles.y; _customizationStartTurnYaw = turnYaw; } Vector3 position = val._skinCustomizationPos.position; position.y = val._skinCustomizationHeight; Vector3 val2 = val._skinCustomizationLookAt.position - position; val2.y = 0f; if (((Vector3)(ref val2)).sqrMagnitude < 1E-06f) { return false; } Quaternion val3 = Quaternion.LookRotation(val2, Vector3.up); float y = ((Quaternion)(ref val3)).eulerAngles.y; float num = Mathf.DeltaAngle(_customizationStartTurnYaw, turnYaw); origin = Quaternion.Euler(0f, y - _customizationNeutralHeadYaw + num, 0f); return true; } catch { return false; } } private static void ClearTp() { _menuAnchorInit = false; _menuBoat = null; _menuCameraTarget = null; _customizationPoseActive = false; _customizationBoat = null; } private void OnEnable() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown Application.onBeforeRender += new UnityAction(Pose); } private void OnDisable() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown Application.onBeforeRender -= new UnityAction(Pose); } public void Recalibrate() { } private void Pose() { //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0231: 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) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0250: 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_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_025e: 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_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02ba: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_0103: 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_0308: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: 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_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0449: Unknown result type (might be due to invalid IL or missing references) //IL_044b: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_044f: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_046e: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0471: Unknown result type (might be due to invalid IL or missing references) //IL_0473: Unknown result type (might be due to invalid IL or missing references) //IL_0478: Unknown result type (might be due to invalid IL or missing references) //IL_047d: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_0490: Unknown result type (might be due to invalid IL or missing references) //IL_0491: Unknown result type (might be due to invalid IL or missing references) //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_0047: 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_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_005b: 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_0366: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: 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_0219: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) try { if (!Plugin.HeadsetActive) { return; } VRActions instance = VRActions.Instance; VRRig instance2 = VRRig.Instance; if (instance == null || (Object)(object)instance2 == (Object)null || (Object)(object)instance2.Root == (Object)null || !instance2.IsCalibrated) { return; } Vector3 headPos = instance.HeadPos; Quaternion headRot = instance.HeadRot; Quaternion rotation = instance2.Root.rotation; Vector3 headCalib = instance2.HeadCalib; Camera val = null; try { Player localPlayer = Player.LocalPlayer; if ((Object)(object)localPlayer != (Object)null && (Object)(object)localPlayer.Camera != (Object)null) { val = localPlayer.Camera.Cam; } } catch { } if ((Object)(object)instance2.Head != (Object)null) { instance2.Head.localPosition = headPos; instance2.Head.localRotation = headRot; } if ((Object)(object)instance2.LeftHand != (Object)null) { instance2.LeftHand.localPosition = instance.LeftPos; instance2.LeftHand.localRotation = instance.LeftRot; } if ((Object)(object)instance2.RightHand != (Object)null) { instance2.RightHand.localPosition = instance.RightPos; instance2.RightHand.localRotation = instance.RightRot; } if ((Object)(object)val != (Object)null) { ClearTp(); if (!((Behaviour)val).isActiveAndEnabled) { Transform val2 = ((Component)val).transform; while ((Object)(object)val2 != (Object)null) { if (!((Component)val2).gameObject.activeSelf) { ((Component)val2).gameObject.SetActive(true); } val2 = val2.parent; } if (!((Behaviour)val).enabled) { ((Behaviour)val).enabled = true; } } if ((Object)(object)val.targetTexture != (Object)null) { val.targetTexture = null; } CameraOutputPatches.EnsureXR(val); if (TryGetRagdollHead(out var pos)) { if (VRConfig.DeathView.Value == DeathView.ThirdPerson) { RestoreDeadHead(); Vector3 val3 = pos; try { DeadPlayer val4 = (((Object)(object)Player.LocalPlayer != (Object)null && (Object)(object)Player.LocalPlayer.Dying != (Object)null) ? Player.LocalPlayer.Dying.DeadPlayer : null); if ((Object)(object)val4 != (Object)null && (Object)(object)((Component)val4).transform != (Object)null) { val3 = ((Component)val4).transform.position; } } catch { } val3 += Vector3.up * 0.55f; Quaternion val5 = rotation * headRot; Vector3 eulerAngles = ((Quaternion)(ref val5)).eulerAngles; Quaternion val6 = Quaternion.Euler(Mathf.Clamp((eulerAngles.x > 180f) ? (eulerAngles.x - 360f) : eulerAngles.x, -85f, 85f), eulerAngles.y, 0f); float num = 2.6f; Vector3 val7 = val3 + val6 * (Vector3.forward * (0f - num)); Vector3 val8 = val3 - val7; Vector3 normalized = ((Vector3)(ref val8)).normalized; RaycastHit val9 = default(RaycastHit); if (Physics.Raycast(val3, normalized, ref val9, num, LayerMask.op_Implicit(GameInfo.LevelLayer))) { val7 = ((RaycastHit)(ref val9)).point - normalized * 0.25f; } ((Component)val).transform.position = val7; ((Component)val).transform.rotation = rotation * headRot; } else { HideDeadHead(); ((Component)val).transform.position = pos; ((Component)val).transform.rotation = rotation * headRot; } } else { RestoreDeadHead(); ((Component)val).transform.position = instance2.Root.TransformPoint(headPos); ((Component)val).transform.rotation = rotation * headRot; } } else { Camera val10 = null; try { MainMenuManager instance3 = MainMenuManager._instance; if ((Object)(object)instance3 != (Object)null && (Object)(object)instance3._menuCam != (Object)null && ((Behaviour)instance3._menuCam).isActiveAndEnabled && (Object)(object)instance3._menuCam.targetTexture == (Object)null) { val10 = instance3._menuCam; } } catch { } Camera[] allCameras = Camera.allCameras; foreach (Camera val11 in allCameras) { if ((Object)(object)val10 == (Object)null && (Object)(object)val11 != (Object)null && ((Behaviour)val11).isActiveAndEnabled && (Object)(object)val11.targetTexture == (Object)null) { val10 = val11; break; } } if ((Object)(object)val10 != (Object)null) { Vector3 val12 = MenuBoatAnchor(val10); instance2.Root.position = val12 - rotation * headCalib; CameraOutputPatches.EnsureXR(val10); ((Component)val10).transform.position = val12 + rotation * (headPos - headCalib); ((Component)val10).transform.rotation = rotation * headRot; } } WaterUnderwaterPatches.UpdateFromRenderedVRView(); VRDamageOverlay.Instance?.RepositionNow(); try { Player localPlayer2 = Player.LocalPlayer; if ((Object)(object)localPlayer2 != (Object)null && (Object)(object)localPlayer2.Hands != (Object)null) { PlayerHandsPatches.ApplyTrackedHands(localPlayer2.Hands); } ArmRig.SolveCurrentPose(localPlayer2); } catch { } VRUIManager.Instance?.RepositionNow(); try { XRSettings.gameViewRenderMode = (GameViewRenderMode)1; } catch { } VRDesktopMirror.Instance?.SyncToViewCamera(); } catch { } } } [HarmonyPatch(typeof(ShaderManager))] public class VRDamageOverlay : MonoBehaviour { private Canvas _canvas; private Image _img; private Image _deathBackdrop; private float _deathBackdropAlpha; private readonly float _alphaMul = 0.95f; private const float NativeDeathBackdropAlpha = 0.4f; private const float NativeDeathFadeSpeed = 2.5f; public static VRDamageOverlay Instance { get; private set; } public static void Create() { //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: Expected O, but got Unknown if (!((Object)(object)Instance != (Object)null)) { GameObject val = new GameObject("HowToFishVR DamageOverlay"); Object.DontDestroyOnLoad((Object)val); Instance = val.AddComponent<VRDamageOverlay>(); Instance.Build(); } } private void Build() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown //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_0069: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Expected O, but got Unknown //IL_00bd: 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_00c3: 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_00ce: 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_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: 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) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Expected O, but got Unknown //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Expected O, but got Unknown //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: 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_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Expected O, but got Unknown GameObject val = new GameObject("Canvas"); val.transform.SetParent(((Component)this).transform, false); val.layer = 5; _canvas = val.AddComponent<Canvas>(); _canvas.renderMode = (RenderMode)2; _canvas.sortingOrder = 600; val.AddComponent<CanvasScaler>(); RectTransform val2 = (RectTransform)val.transform; val2.sizeDelta = new Vector2(1920f, 1080f); ((Transform)val2).localScale = Vector3.one * 0.0016f; GameObject val3 = new GameObject("DeathBackdrop"); val3.transform.SetParent(val.transform, false); val3.layer = 5; _deathBackdrop = val3.AddComponent<Image>(); RectTransform val4 = (RectTransform)val3.transform; val4.anchorMin = Vector2.zero; val4.anchorMax = Vector2.one; val4.offsetMin = Vector2.zero; val4.offsetMax = Vector2.zero; ((Graphic)_deathBackdrop).color = Color.clear; ((Graphic)_deathBackdrop).raycastTarget = false; try { ((Graphic)_deathBackdrop).material = new Material(Canvas.GetDefaultCanvasMaterial()) { name = "VR Native Death Backdrop", hideFlags = (HideFlags)61 }; } catch { } GameObject val5 = new GameObject("Vignette"); val5.transform.SetParent(val.transform, false); val5.layer = 5; _img = val5.AddComponent<Image>(); RectTransform val6 = (RectTransform)val5.transform; val6.anchorMin = Vector2.zero; val6.anchorMax = Vector2.one; val6.offsetMin = Vector2.zero; val6.offsetMax = Vector2.zero; ((Graphic)_img).color = new Color(0f, 0f, 0f, 0f); ((Graphic)_img).raycastTarget = false; try { _img.sprite = MakeDamageVignetteSprite(); } catch { } try { Material material = new Material(Canvas.GetDefaultCanvasMaterial()) { name = "VR DamageOverlay", hideFlags = (HideFlags)61 }; ((Graphic)_img).material = material; } catch { } val.SetActive(false); } private void LateUpdate() { if (Plugin.VREnabled) { RepositionNow(); UpdateDeathBackdrop(); } } public void RepositionNow() { //IL_008d: 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_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_00b8: Unknown result type (might be due to invalid IL or missing references) if (!Plugin.VREnabled || (Object)(object)_canvas == (Object)null) { return; } VRRig instance = VRRig.Instance; if ((Object)(object)instance == (Object)null || (Object)(object)instance.Head == (Object)null) { return; } Transform val = instance.Head; try { Player localPlayer = Player.LocalPlayer; if ((Object)(object)localPlayer != (Object)null && (Object)(object)localPlayer.Camera != (Object)null && (Object)(object)localPlayer.Camera.Cam != (Object)null) { val = ((Component)localPlayer.Camera.Cam).transform; } } catch { } ((Component)_canvas).transform.position = val.position + val.forward * 0.35f; ((Component)_canvas).transform.rotation = val.rotation; } private void UpdateCanvasActive() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)_canvas == (Object)null) && !((Object)(object)_img == (Object)null)) { bool flag = ((Graphic)_img).color.a > 0.005f || _deathBackdropAlpha > 0.005f; if (((Component)_canvas).gameObject.activeSelf != flag) { ((Component)_canvas).gameObject.SetActive(flag); } } } private void UpdateDeathBackdrop() { //IL_00aa: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)_deathBackdrop == (Object)null)) { bool flag = false; try { Player localPlayer = Player.LocalPlayer; flag = (Object)(object)localPlayer != (Object)null && (Object)(object)localPlayer.Dying != (Object)null && localPlayer.Dying.IsDead; } catch { } float num = (flag ? 0.4f : 0f); _deathBackdropAlpha = Mathf.Lerp(_deathBackdropAlpha, num, Mathf.Clamp01(Time.deltaTime * 2.5f)); if (Mathf.Abs(_deathBackdropAlpha - num) < 0.001f) { _deathBackdropAlpha = num; } ((Graphic)_deathBackdrop).color = new Color(0f, 0f, 0f, _deathBackdropAlpha); UpdateCanvasActive(); } } private static Sprite MakeDamageVignetteSprite() { //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_001c: 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_002c: Expected O, but got Unknown //IL_00fa: 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_00b7: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(256, 256, (TextureFormat)4, false) { name = "VR Damage Vignette Gradient", hideFlags = (HideFlags)61, wrapMode = (TextureWrapMode)1 }; for (int i = 0; i < 256; i++) { for (int j = 0; j < 256; j++) { float num = ((float)j + 0.5f) / 256f * 2f - 1f; float num2 = ((float)i + 0.5f) / 256f * 2f - 1f; float num3 = Mathf.Clamp01((Mathf.Sqrt(num * num + num2 * num2) - 0.55f) / 0.75f); float num4 = num3 * num3 * (3f - 2f * num3); val.SetPixel(j, i, new Color(0f, 0f, 0f, num4)); } } val.Apply(); return Sprite.Create(val, new Rect(0f, 0f, 256f, 256f), new Vector2(0.5f, 0.5f)); } private void Apply(float intensity, Color color) { //IL_0031: 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_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) if (!((Object)(object)_img == (Object)null) && !((Object)(object)_canvas == (Object)null)) { float num = Mathf.Clamp01(intensity * _alphaMul); ((Graphic)_img).color = new Color(color.r, color.g, color.b, num); UpdateCanvasActive(); } } [HarmonyPostfix] [HarmonyPatch("UpdateVignette")] private static void OnUpdateVignette(float intensity, Color color) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) if (Plugin.VREnabled && (Object)(object)Instance != (Object)null) { Instance.Apply(intensity, color); } } } public class VRDesktopMirror : MonoBehaviour { private Camera _mirrorCam; private RenderTexture _rt; public static VRDesktopMirror Instance { get; private set; } public static void Create() { //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: Expected O, but got Unknown if (!((Object)(object)Instance != (Object)null)) { GameObject val = new GameObject("HowToFishVR DesktopMirror"); Object.DontDestroyOnLoad((Object)val); Instance = val.AddComponent<VRDesktopMirror>(); } } private void Awake() { //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_0022: Expected O, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //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_010f: 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) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0131: 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_0171: Unknown result type (might be due to invalid IL or missing references) try { _rt = new RenderTexture(1280, 720, 24) { name = "HowToFishVR DesktopMirror RT" }; GameObject val = new GameObject("HowToFishVR DesktopMirrorCam"); val.transform.SetParent(((Component)this).transform, false); _mirrorCam = val.AddComponent<Camera>(); _mirrorCam.targetTexture = _rt; ((Behaviour)_mirrorCam).enabled = true; _mirrorCam.depth = -100f; _mirrorCam.stereoTargetEye = (StereoTargetEyeMask)0; try { UniversalAdditionalCameraData universalAdditionalCameraData = CameraExtensions.GetUniversalAdditionalCameraData(_mirrorCam); if ((Object)(object)universalAdditionalCameraData != (Object)null) { universalAdditionalCameraData.allowXRRendering = false; universalAdditionalCameraData.renderPostProcessing = false; } } catch { } GameObject val2 = new GameObject("HowToFishVR DesktopMirrorCanvas"); val2.transform.SetParent(((Component)this).transform, false); Canvas obj2 = val2.AddComponent<Canvas>(); obj2.renderMode = (RenderMode)0; obj2.sortingOrder = -1000; GameObject val3 = new GameObject("Mirror", new Type[1] { typeof(RectTransform) }); val3.transform.SetParent(val2.transform, false); RectTransform val4 = (RectTransform)val3.transform; val4.anchorMin = Vector2.zero; val4.anchorMax = Vector2.one; val4.offsetMin = Vector2.zero; val4.offsetMax = Vector2.zero; RawImage obj3 = val3.AddComponent<RawImage>(); obj3.texture = (Texture)(object)_rt; ((Graphic)obj3).raycastTarget = false; obj3.uvRect = new Rect(0f, 0f, 1f, 1f); } catch { } } public void SyncToViewCamera() { //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) try { if (!((Object)(object)_mirrorCam == (Object)null) && !((Object)(object)_rt == (Object)null)) { Camera viewCamera = GetViewCamera(); if (!((Object)(object)viewCamera == (Object)null)) { ((Component)_mirrorCam).transform.SetPositionAndRotation(((Component)viewCamera).transform.position, ((Component)viewCamera).transform.rotation); _mirrorCam.cullingMask = viewCamera.cullingMask; _mirrorCam.fieldOfView = viewCamera.fieldOfView; _mirrorCam.nearClipPlane = viewCamera.nearClipPlane; _mirrorCam.farClipPlane = viewCamera.farClipPlane; } } } catch { } } private static Camera GetViewCamera() { try { Player localPlayer = Player.LocalPlayer; if ((Object)(object)localPlayer != (Object)null && (Object)(object)localPlayer.Camera != (Object)null && (Object)(object)localPlayer.Camera.Cam != (Object)null && ((Behaviour)localPlayer.Camera.Cam).isActiveAndEnabled) { return localPlayer.Camera.Cam; } } catch { } Camera[] allCameras = Camera.allCameras; foreach (Camera val in allCameras) { if ((Object)(object)val != (Object)null && ((Behaviour)val).isActiveAndEnabled && (Object)(object)val.targetTexture == (Object)null) { return val; } } return null; } private void OnDestroy() { try { if ((Object)(object)_rt != (Object)null) { _rt.Release(); } } catch { } } } [DefaultExecutionOrder(-500)] public class VRHeldItem : MonoBehaviour { private static Item _lastHeld; private static readonly List<Rigidbody> _frozen = new List<Rigidbody>(); private static bool _fishTwoHand; private static Item _supportLatchItem; private const float FishLatchRadius = 0.3f; private static bool _revivePinned; private static Vector3 _reviveOffset; private static Quaternion _reviveRotOffset; private static Explosive _lighterGripItem; private static Vector3 _lighterFromHandPos; private static Quaternion _lighterFromHandRot = Quaternion.identity; private static bool _lighterFromHandValid; public static bool FishTwoHand => _fishTwoHand; public static void Create() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown GameObject val = new GameObject("HowToFishVR HeldItem"); Object.DontDestroyOnLoad((Object)val); val.AddComponent<VRHeldItem>(); } private void LateUpdate() { Pose(); } private static void RestoreLastHeld() { if ((Object)(object)_lastHeld == (Object)null && _frozen.Count == 0) { return; } for (int i = 0; i < _frozen.Count; i++) { try { if ((Object)(object)_frozen[i] != (Object)null && _frozen[i].isKinematic) { _frozen[i].isKinematic = false; } } catch { } } _frozen.Clear(); _lastHeld = null; } private static void ClearSupportHandLatch() { _fishTwoHand = false; _supportLatchItem = null; } private static void FreezeWholeItem(Item held) { //IL_0038: 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) _frozen.Clear(); Rigidbody[] array = null; try { array = ((Component)held).GetComponentsInChildren<Rigidbody>(true); } catch { } if (array != null) { Rigidbody[] array2 = array; foreach (Rigidbody val in array2) { if (!((Object)(object)val == (Object)null) && !val.isKinematic) { val.linearVelocity = Vector3.zero; val.angularVelocity = Vector3.zero; val.isKinematic = true; _frozen.Add(val); } } } else if ((Object)(object)held.Rig != (Object)null && !held.Rig.isKinematic) { held.Rig.isKinematic = true; _frozen.Add(held.Rig); } } private static void FreezeRig(Rigidbody rb) { //IL_0013: 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) if (!((Object)(object)rb == (Object)null)) { if (!rb.isKinematic) { rb.linearVelocity = Vector3.zero; rb.angularVelocity = Vector3.zero; } rb.isKinematic = true; } } private static bool TryGetHandPoseLocal(Item held, HandTransforms ht, out Vector3 localPos, out Quaternion localRot) { //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_0047: 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_0051: 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_0058: 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) //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_0070: 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) //IL_0081: 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) localPos = default(Vector3); localRot = Quaternion.identity; if ((Object)(object)held == (Object)null || ht == null || !ht.Exists) { return false; } try { Transform obj = (((Object)(object)ht.Parent != (Object)null) ? ht.Parent : ((Component)held).transform); Vector3 val = obj.TransformPoint(ht.HandPos); Quaternion val2 = obj.rotation * ht.HandRot; localPos = ((Component)held).transform.InverseTransformPoint(val); localRot = Quaternion.Inverse(((Component)held).transform.rotation) * val2; return true; } catch { return false; } } private void Pose() { //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0253: 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_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0205: 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_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02ba: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_0361: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02eb: Unknown result type (might be due to invalid IL or missing references) //IL_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0313: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) try { if (!Plugin.HeadsetActive) { RestoreLastHeld(); ClearSupportHandLatch(); return; } VRRig instance = VRRig.Instance; if ((Object)(object)instance == (Object)null || (Object)(object)instance.RightHand == (Object)null || (Object)(object)instance.LeftHand == (Object)null) { RestoreLastHeld(); ClearSupportHandLatch(); return; } Player val = null; try { val = Player.LocalPlayer; } catch { } if ((Object)(object)val == (Object)null) { RestoreLastHeld(); ClearSupportHandLatch(); return; } try { if (Boat.IsDrivingLocally) { RestoreLastHeld(); ClearSupportHandLatch(); return; } } catch { } Item val2 = null; try { val2 = (((Object)(object)val.Holding != (Object)null) ? val.Holding.HeldItem : null); } catch { } if ((Object)(object)val2 == (Object)null) { RestoreLastHeld(); ClearSupportHandLatch(); return; } if (val2 is Tool) { RestoreLastHeld(); ClearSupportHandLatch(); return; } if ((Object)(object)((Component)val2).transform == (Object)null) { RestoreLastHeld(); ClearSupportHandLatch(); return; } if (HeldItemHoldPatches.ShouldHandHold(val.Holding)) { RestoreLastHeld(); _lastHeld = null; if ((Object)(object)_supportLatchItem != (Object)(object)val2) { _fishTwoHand = false; _supportLatchItem = val2; } UpdateFishTwoHand(instance, val2); return; } ClearSupportHandLatch(); if ((Object)(object)val2 != (Object)(object)_lastHeld) { RestoreLastHeld(); _fishTwoHand = false; FreezeWholeItem(val2); _lastHeld = val2; } _ = (Object)(object)val2.HandModelRight != (Object)null; _ = (Object)(object)val2.HandModelLeft != (Object)null; Vector3 localPos; Quaternion localRot; bool flag = TryGetHandPoseLocal(val2, val2.HandTransformsRight, out localPos, out localRot); TryGetHandPoseLocal(val2, val2.HandTransformsLeft, out var _, out var _); bool flag2 = false; try { flag2 = ((DeadPlayer)(((val2 is DeadPlayer) ? val2 : null)?))._isResurrecting ?? false; } catch { } Transform mainHand = instance.MainHand; if ((Object)(object)mainHand == (Object)null) { RestoreLastHeld(); return; } if (flag2) { if (!_revivePinned) { _revivePinned = true; _reviveOffset = ((Component)val2).transform.position - mainHand.position; _reviveRotOffset = Quaternion.Inverse(mainHand.rotation) * ((Component)val2).transform.rotation; } ((Component)val2).transform.SetPositionAndRotation(mainHand.position + _reviveOffset, mainHand.rotation * _reviveRotOffset); PinExplosiveLighter(instance, val2); return; } _revivePinned = false; try { Transform handModelRight = val2.HandModelRight; bool flag3 = flag; Vector3 val3 = localPos; Quaternion val4 = localRot; if ((Object)(object)handModelRight != (Object)null) { Quaternion rotation = mainHand.rotation; Vector3 val5 = mainHand.position - rotation * ((Component)val2).transform.InverseTransformPoint(handModelRight.position); ((Component)val2).transform.SetPositionAndRotation(val5, rotation); PinExplosiveLighter(instance, val2); return; } if (flag3) { Quaternion rightGripOffset = PlayerHandsPatches.RightGripOffset; Quaternion val6 = mainHand.rotation * rightGripOffset * Quaternion.Inverse(val4); Vector3 val7 = mainHand.position - val6 * val3; ((Component)val2).transform.SetPositionAndRotation(val7, val6); PinExplosiveLighter(instance, val2); return; } ((Component)val2).transform.SetPositionAndRotation(mainHand.position + mainHand.rotation * new Vector3(0f, -0.06f, 0.2f), mainHand.rotation); } catch { } PinExplosiveLighter(instance, val2); } catch { } } private static void PinExplosiveLighter(VRRig rig, Item held) { //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: 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_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: 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_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_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: 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_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0118: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: 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_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: 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_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_015f: 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_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0175: 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_017c: Unknown result type (might be due to invalid IL or missing references) try { Explosive val = (Explosive)(object)((held is Explosive) ? held : null); if (val == null || (Object)(object)val._lighter == (Object)null || !((Component)val._lighter).gameObject.activeInHierarchy || val._isActivated || val._lighterPickupPercent < 1f) { return; } Player localPlayer = Player.LocalPlayer; PlayerHands val2 = (((Object)(object)localPlayer != (Object)null) ? localPlayer.Hands : null); if ((Object)(object)val2 == (Object)null) { return; } Transform handBoneLeft = val2.HandBoneLeft; if ((Object)(object)handBoneLeft == (Object)null) { return; } if ((Object)(object)_lighterGripItem != (Object)(object)val) { _lighterGripItem = val; _lighterFromHandValid = false; } if (!_lighterFromHandValid) { try { HandTransforms handTransformsLeft = ((Item)val).HandTransformsLeft; if (handTransformsLeft != null && handTransformsLeft.Exists && (Object)(object)handTransformsLeft.Parent != (Object)null && (Object)(object)val._lighter.parent != (Object)null) { Vector3 val3 = handTransformsLeft.Parent.TransformPoint(handTransformsLeft.HandPos); Quaternion val4 = handTransformsLeft.Parent.rotation * handTransformsLeft.HandRot; Vector3 val5 = val._lighter.parent.TransformPoint(val._lighterOrigPos); Quaternion val6 = val._lighter.parent.rotation * val._lighterOrigRot; _lighterFromHandPos = Quaternion.Inverse(val4) * (val5 - val3); _lighterFromHandRot = Quaternion.Inverse(val4) * val6; _lighterFromHandValid = true; } } catch { } } if (_lighterFromHandValid) { val._lighter.SetPositionAndRotation(handBoneLeft.position + handBoneLeft.rotation * _lighterFromHandPos, handBoneLeft.rotation * _lighterFromHandRot); } else { val._lighter.SetPositionAndRotation(handBoneLeft.position, handBoneLeft.rotation); } } catch { } } private static void UpdateFishTwoHand(VRRig rig, Item held) { //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_00d2: 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_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: 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_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) try { if (held is Fish || (Object)(object)held.Fish != (Object)null) { _fishTwoHand = false; return; } Transform leftHand = rig.LeftHand; if ((Object)(object)leftHand == (Object)null || (Object)(object)leftHand == (Object)(object)rig.MainHand) { _fishTwoHand = false; return; } bool flag = VRActions.Instance.LeftGrip.ReadValue<float>() >= VRConfig.GripThreshold.Value; bool flag2 = false; Vector3 val; if ((Object)(object)held.HandModelLeft != (Object)null) { val = held.HandModelLeft.position; flag2 = true; } else if (held.HandTransformsLeft != null && held.HandTransformsLeft.Exists && (Object)(object)held.HandTransformsLeft.Parent != (Object)null) { val = held.HandTransformsLeft.Parent.TransformPoint(held.HandTransformsLeft.HandPos); flag2 = true; } else { val = leftHand.position; } if (!flag2) { _fishTwoHand = false; } else if (!_fishTwoHand) { if (flag && Vector3.Distance(leftHand.position, val) <= 0.3f) { _fishTwoHand = true; } } else if (!flag) { _fishTwoHand = false; } } catch { } } } [DefaultExecutionOrder(-1000)] public class VRRig : MonoBehaviour { public float YawOffset; public float GameEyeHeight = 1.5f; private bool _snapReady = true; private float _invScrollCd; private bool _calibrated; private Vector3 _headCalib; private float _yHoldTime; private Vector3 _lastHead; private bool _lastHeadValid; private Vector3 _roomOffset; private Vector2 _lastHmdPlanar; private bool _planarInit; private bool _needsReanchor; private bool _wasDead; private Vector3 _deathAnchor; private bool _setGameView; private bool _gameHeightSet; private bool _sprintToggle; private bool _crouchToggle; private bool _physCrouch; private const float PhysCrouchEngageDrop = 0.22f; private const float PhysCrouchReleaseDrop = 0.14f; private Boat _drivingBoat; private float _lastBoatYaw; private bool _boatYawInit; public static VRRig Instance { get; private set; } public Transform Root { get; private set; } public Transform Head { get; private set; } public Transform LeftHand { get; private set; } public Transform RightHand { get; private set; } public Transform MainHand => RightHand; public Transform OffHand => LeftHand; public bool SnapTurned { get; private set; } public float SnapTurnYaw { get; private set; } public bool IsCalibrated => _calibrated; public Vector3 HeadCalib => _headCalib; public static void Create() { //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: Expected O, but got Unknown if (!((Object)(object)Instance != (Object)null)) { GameObject val = new GameObject("HowToFishVR Rig"); Object.DontDestroyOnLoad((Object)val); Instance = val.AddComponent<VRRig>(); Instance.Build(); } } private void Build() { //IL_0012: 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_003c: Unknown result type (might be due to invalid IL or missing references) Root = ((Component)this).transform; Head = new GameObject("Head").transform; LeftHand = new GameObject("LeftHand").transform; RightHand = new GameObject("RightHand").transform; Head.SetParent(Root, false); LeftHand.SetParent(Root, false); RightHand.SetP
BepInEx/plugins/HowToFishXR/Unity.XR.CoreUtils.dll
Decompiled 7 hours ago
The result has been truncated due to the large size, download it to view full contents!
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.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using Unity.Collections; using Unity.XR.CoreUtils.Bindings.Variables; using Unity.XR.CoreUtils.Collections; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem.XR; using UnityEngine.SceneManagement; using UnityEngine.Serialization; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.XR; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [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() { return new MonoScriptData { FilePathsData = new byte[7319] { 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 84, 114, 97, 99, 107, 97, 98, 108, 101, 115, 80, 97, 114, 101, 110, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 104, 97, 110, 103, 101, 100, 69, 118, 101, 110, 116, 65, 114, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 69, 110, 117, 109, 68, 105, 115, 112, 108, 97, 121, 65, 116, 116, 114, 105, 98, 117, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 70, 108, 97, 103, 115, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 80, 97, 116, 104, 65, 116, 116, 114, 105, 98, 117, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 66, 105, 110, 100, 105, 110, 103, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 73, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 69, 110, 117, 109, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 65, 108, 108, 111, 99, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 66, 97, 115, 101, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 80, 114, 101, 100, 105, 99, 97, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 73, 82, 101, 97, 100, 79, 110, 108, 121, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 111, 117, 110, 100, 115, 85, 116, 105, 108, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 99, 104, 101, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 70, 105, 108, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 67, 117, 115, 116, 111, 109, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 73, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 77, 111, 100, 105, 102, 105, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 83, 116, 97, 110, 100, 97, 114, 100, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 80, 111, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 72, 97, 115, 104, 83, 101, 116, 76, 105, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 83, 112, 97, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 68, 97, 116, 117, 109, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 73, 110, 116, 68, 97, 116, 117, 109, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 73, 110, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 110, 117, 109, 86, 97, 108, 117, 101, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 66, 111, 117, 110, 100, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 67, 97, 109, 101, 114, 97, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 71, 117, 105, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 72, 97, 115, 104, 83, 101, 116, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 76, 97, 121, 101, 114, 77, 97, 115, 107, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 76, 105, 115, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 80, 111, 115, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 83, 116, 111, 112, 119, 97, 116, 99, 104, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 83, 116, 114, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 121, 112, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 9, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 86, 101, 99, 116, 111, 114, 50, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 86, 101, 99, 116, 111, 114, 51, 69, 120, 116, 101, 110, 115, 105, 111, 110, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 101, 111, 109, 101, 116, 114, 121, 85, 116, 105, 108, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 117, 105, 100, 85, 116, 105, 108, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 72, 97, 115, 104, 67, 111, 100, 101, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 77, 97, 116, 101, 114, 105, 97, 108, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 77, 97, 116, 104, 85, 116, 105, 108, 105, 116, 121, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 65, 114, 114, 97, 121, 85, 116, 105, 108, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 98, 106, 101, 99, 116, 80, 111, 111, 108, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 110, 68, 101, 115, 116, 114, 111, 121, 78, 111, 116, 105, 102, 105, 101, 114, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 85, 116, 105, 108, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 85, 116, 105, 108, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 101, 120, 116, 117, 114, 101, 85, 116, 105, 108, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 85, 110, 100, 111, 66, 108, 111, 99, 107, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 85, 110, 105, 116, 121, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 103, 103, 105, 110, 103, 85, 116, 105, 108, 115, 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, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 53, 46, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 79, 114, 105, 103, 105, 110, 46, 99, 115 }, TypesData = new byte[4049] { 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 65, 82, 84, 114, 97, 99, 107, 97, 98, 108, 101, 115, 80, 97, 114, 101, 110, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 104, 97, 110, 103, 101, 100, 69, 118, 101, 110, 116, 65, 114, 103, 115, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 71, 85, 73, 124, 69, 110, 117, 109, 68, 105, 115, 112, 108, 97, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 71, 85, 73, 124, 70, 108, 97, 103, 115, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 80, 97, 116, 104, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 66, 105, 110, 100, 105, 110, 103, 115, 71, 114, 111, 117, 112, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 73, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 69, 110, 117, 109, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 0, 0, 0, 0, 59, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 65, 108, 108, 111, 99, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 66, 97, 115, 101, 0, 0, 0, 0, 67, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 80, 114, 101, 100, 105, 99, 97, 116, 101, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 83, 116, 97, 116, 101, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 73, 82, 101, 97, 100, 79, 110, 108, 121, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 0, 0, 0, 0, 30, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 117, 110, 100, 115, 85, 116, 105, 108, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 73, 67, 111, 109, 112, 111, 110, 101, 110, 116, 72, 111, 115, 116, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 97, 99, 104, 101, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 70, 105, 108, 116, 101, 114, 0, 0, 0, 0, 49, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 52, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 117, 115, 116, 111, 109, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 51, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 73, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 77, 111, 100, 105, 102, 105, 101, 114, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 83, 116, 97, 110, 100, 97, 114, 100, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 80, 111, 111, 108, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 72, 97, 115, 104, 83, 101, 116, 76, 105, 115, 116, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 83, 112, 97, 110, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 124, 69, 110, 117, 109, 101, 114, 97, 116, 111, 114, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 124, 73, 116, 101, 109, 1, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 1, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 68, 97, 116, 117, 109, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 73, 110, 116, 68, 97, 116, 117, 109, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 73, 110, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 29, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 69, 110, 117, 109, 86, 97, 108, 117, 101, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 117, 110, 100, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 97, 109, 101, 114, 97, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 117, 105, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 72, 97, 115, 104, 83, 101, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 76, 97, 121, 101, 114, 77, 97, 115, 107, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 76, 105, 115, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 80, 111, 115, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 111, 112, 119, 97, 116, 99, 104, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 114, 105, 110, 103, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 121, 112, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 111, 108, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 70, 108, 111, 97, 116, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 50, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 51, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 52, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 73, 110, 116, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 111, 114, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 114, 105, 110, 103, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 50, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 51, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 101, 111, 109, 101, 116, 114, 121, 85, 116, 105, 108, 115, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 117, 105, 100, 85, 116, 105, 108, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 72, 97, 115, 104, 67, 111, 100, 101, 85, 116, 105, 108, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 97, 116, 101, 114, 105, 97, 108, 85, 116, 105, 108, 115, 0, 0, 0, 0, 30, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 97, 116, 104, 85, 116, 105, 108, 105, 116, 121, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 78, 97, 116, 105, 118, 101, 65, 114, 114, 97, 121, 85, 116, 105, 108, 115, 0, 0, 0, 0, 29, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 79, 98, 106, 101, 99, 116, 80, 111, 111, 108, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 79, 110, 68, 101, 115, 116, 114, 111, 121, 78, 111, 116, 105, 102, 105, 101, 114, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 85, 116, 105, 108, 115, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 1, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 1, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 85, 116, 105, 108, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 101, 120, 116, 117, 114, 101, 85, 116, 105, 108, 115, 0, 0, 0, 0, 28, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 85, 110, 100, 111, 66, 108, 111, 99, 107, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 85, 110, 105, 116, 121, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 88, 82, 76, 111, 103, 103, 105, 110, 103, 85, 116, 105, 108, 115, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 88, 82, 79, 114, 105, 103, 105, 110 }, TotalFiles = 76, TotalTypes = 90, IsEditorOnly = false }; } } namespace Unity.XR.CoreUtils { public readonly struct ARTrackablesParentTransformChangedEventArgs : IEquatable<ARTrackablesParentTransformChangedEventArgs> { public XROrigin Origin { get; } public Transform TrackablesParent { get; } public ARTrackablesParentTransformChangedEventArgs(XROrigin origin, Transform trackablesParent) { if ((Object)(object)origin == (Object)null) { throw new ArgumentNullException("origin"); } if ((Object)(object)trackablesParent == (Object)null) { throw new ArgumentNullException("trackablesParent"); } Origin = origin; TrackablesParent = trackablesParent; } public bool Equals(ARTrackablesParentTransformChangedEventArgs other) { if ((Object)(object)Origin == (Object)(object)other.Origin) { return (Object)(object)TrackablesParent == (Object)(object)other.TrackablesParent; } return false; } public override bool Equals(object obj) { if (obj is ARTrackablesParentTransformChangedEventArgs other) { return Equals(other); } return false; } public override int GetHashCode() { return HashCodeUtil.Combine(HashCodeUtil.ReferenceHash(Origin), HashCodeUtil.ReferenceHash(TrackablesParent)); } public static bool operator ==(ARTrackablesParentTransformChangedEventArgs lhs, ARTrackablesParentTransformChangedEventArgs rhs) { return lhs.Equals(rhs); } public static bool operator !=(ARTrackablesParentTransformChangedEventArgs lhs, ARTrackablesParentTransformChangedEventArgs rhs) { return !lhs.Equals(rhs); } } public class ReadOnlyAttribute : PropertyAttribute { } [AttributeUsage(AttributeTargets.Class)] public class ScriptableSettingsPathAttribute : Attribute { private readonly string m_Path; public string Path => m_Path; public ScriptableSettingsPathAttribute(string path = "") { m_Path = path; } } public static class BoundsUtils { private static readonly List<Renderer> k_Renderers = new List<Renderer>(); private static readonly List<Transform> k_Transforms = new List<Transform>(); public static Bounds GetBounds(List<GameObject> gameObjects) { //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_0039: 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_002c: 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) Bounds? val = null; foreach (GameObject gameObject in gameObjects) { Bounds bounds = GetBounds(gameObject.transform); if (!val.HasValue) { val = bounds; continue; } ((Bounds)(ref bounds)).Encapsulate(val.Value); val = bounds; } return val.GetValueOrDefault(); } public static Bounds GetBounds(Transform[] transforms) { //IL_0011: 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_004c: 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_003a: 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) Bounds? val = null; for (int i = 0; i < transforms.Length; i++) { Bounds bounds = GetBounds(transforms[i]); if (!val.HasValue) { val = bounds; continue; } ((Bounds)(ref bounds)).Encapsulate(val.Value); val = bounds; } return val.GetValueOrDefault(); } public static Bounds GetBounds(Transform transform) { //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_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_0093: 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_0070: Unknown result type (might be due to invalid IL or missing references) ((Component)transform).GetComponentsInChildren<Renderer>(k_Renderers); Bounds bounds = GetBounds(k_Renderers); if (((Bounds)(ref bounds)).size == Vector3.zero) { ((Component)transform).GetComponentsInChildren<Transform>(k_Transforms); if (k_Transforms.Count > 0) { ((Bounds)(ref bounds)).center = k_Transforms[0].position; } foreach (Transform k_Transform in k_Transforms) { ((Bounds)(ref bounds)).Encapsulate(k_Transform.position); } } return bounds; } public static Bounds GetBounds(List<Renderer> renderers) { //IL_007e: 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_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_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_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_0057: 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) Bounds result2; if (renderers.Count > 0) { Renderer val = renderers[0]; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Component)val).transform.position, Vector3.zero); { foreach (Renderer renderer in renderers) { result2 = renderer.bounds; if (((Bounds)(ref result2)).size != Vector3.zero) { ((Bounds)(ref result)).Encapsulate(renderer.bounds); } } return result; } } result2 = default(Bounds); return result2; } public static Bounds GetBounds<T>(List<T> colliders) where T : Collider { //IL_0090: 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_0021: 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) //IL_0047: 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_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_0069: 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) Bounds result2; if (colliders.Count > 0) { T val = colliders[0]; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Component)(object)val).transform.position, Vector3.zero); { foreach (T collider in colliders) { result2 = ((Collider)collider).bounds; if (((Bounds)(ref result2)).size != Vector3.zero) { ((Bounds)(ref result)).Encapsulate(((Collider)collider).bounds); } } return result; } } result2 = default(Bounds); return result2; } public static Bounds GetBounds(List<Vector3> points) { //IL_0002: 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_001c: 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_0026: 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_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_00ed: 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_00f4: 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_0051: 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_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_005b: 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_008b: 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_00a1: 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_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: 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_00cf: Unknown result type (might be due to invalid IL or missing references) Bounds result = default(Bounds); if (points.Count < 1) { return result; } Vector3 val = points[0]; Vector3 val2 = val; for (int i = 1; i < points.Count; i++) { Vector3 val3 = points[i]; if (val3.x < val.x) { val.x = val3.x; } if (val3.y < val.y) { val.y = val3.y; } if (val3.z < val.z) { val.z = val3.z; } if (val3.x > val2.x) { val2.x = val3.x; } if (val3.y > val2.y) { val2.y = val3.y; } if (val3.z > val2.z) { val2.z = val3.z; } } ((Bounds)(ref result)).SetMinMax(val, val2); return result; } } public interface IComponentHost<THostType> where THostType : class { THostType[] HostedComponents { get; } } [Flags] public enum CachedSearchType { Children = 1, Self = 2, Parents = 4 } public class CachedComponentFilter<TFilterType, TRootType> : IDisposable where TFilterType : class where TRootType : Component { private readonly List<TFilterType> m_MasterComponentStorage; private static readonly List<TFilterType> k_TempComponentList = new List<TFilterType>(); private static readonly List<IComponentHost<TFilterType>> k_TempHostComponentList = new List<IComponentHost<TFilterType>>(); private bool m_DisposedValue; public CachedComponentFilter(TRootType componentRoot, CachedSearchType cachedSearchType = CachedSearchType.Children | CachedSearchType.Self, bool includeDisabled = true) { //IL_00cf: 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) m_MasterComponentStorage = CollectionPool<List<TFilterType>, TFilterType>.GetCollection(); k_TempComponentList.Clear(); k_TempHostComponentList.Clear(); if ((cachedSearchType & CachedSearchType.Self) == CachedSearchType.Self) { ((Component)componentRoot).GetComponents<TFilterType>(k_TempComponentList); ((Component)componentRoot).GetComponents<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled); } if ((cachedSearchType & CachedSearchType.Parents) == CachedSearchType.Parents) { Transform parent = ((Component)componentRoot).transform.parent; while ((Object)(object)parent != (Object)null && !((Object)(object)((Component)parent).GetComponent<TRootType>() != (Object)null)) { ((Component)parent).GetComponents<TFilterType>(k_TempComponentList); ((Component)parent).GetComponents<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled); parent = ((Component)parent).transform.parent; } } if ((cachedSearchType & CachedSearchType.Children) != CachedSearchType.Children) { return; } foreach (Transform item in ((Component)componentRoot).transform) { ((Component)item).GetComponentsInChildren<TFilterType>(k_TempComponentList); ((Component)item).GetComponentsInChildren<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled, componentRoot); } } public CachedComponentFilter(TFilterType[] componentList, bool includeDisabled = true) { if (componentList != null) { m_MasterComponentStorage = CollectionPool<List<TFilterType>, TFilterType>.GetCollection(); k_TempComponentList.Clear(); k_TempComponentList.AddRange(componentList); FilteredCopyToMaster(includeDisabled); } } public void StoreMatchingComponents<TChildType>(List<TChildType> outputList) where TChildType : class, TFilterType { foreach (TFilterType item2 in m_MasterComponentStorage) { if (item2 is TChildType item) { outputList.Add(item); } } } public TChildType[] GetMatchingComponents<TChildType>() where TChildType : class, TFilterType { int num = 0; foreach (TFilterType item in m_MasterComponentStorage) { if (item is TChildType) { num++; } } TChildType[] array = new TChildType[num]; num = 0; foreach (TFilterType item2 in m_MasterComponentStorage) { if (item2 is TChildType val) { array[num] = val; num++; } } return array; } private void FilteredCopyToMaster(bool includeDisabled) { if (includeDisabled) { m_MasterComponentStorage.AddRange(k_TempComponentList); { foreach (IComponentHost<TFilterType> k_TempHostComponent in k_TempHostComponentList) { m_MasterComponentStorage.AddRange(k_TempHostComponent.HostedComponents); } return; } } foreach (TFilterType k_TempComponent in k_TempComponentList) { Behaviour val = (Behaviour)(object)((k_TempComponent is Behaviour) ? k_TempComponent : null); if (!((Object)(object)val != (Object)null) || val.enabled) { m_MasterComponentStorage.Add(k_TempComponent); } } foreach (IComponentHost<TFilterType> k_TempHostComponent2 in k_TempHostComponentList) { Behaviour val2 = (Behaviour)((k_TempHostComponent2 is Behaviour) ? k_TempHostComponent2 : null); if (!((Object)(object)val2 != (Object)null) || val2.enabled) { m_MasterComponentStorage.AddRange(k_TempHostComponent2.HostedComponents); } } } private void FilteredCopyToMaster(bool includeDisabled, TRootType requiredRoot) { if (includeDisabled) { foreach (TFilterType k_TempComponent in k_TempComponentList) { Component val = (Component)(object)((k_TempComponent is Component) ? k_TempComponent : null); if (!((Object)(object)val.transform == (Object)(object)requiredRoot) && !((Object)(object)val.GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.Add(k_TempComponent); } } { foreach (IComponentHost<TFilterType> k_TempHostComponent in k_TempHostComponentList) { Component val2 = (Component)((k_TempHostComponent is Component) ? k_TempHostComponent : null); if (!((Object)(object)val2.transform == (Object)(object)requiredRoot) && !((Object)(object)val2.GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.AddRange(k_TempHostComponent.HostedComponents); } } return; } } foreach (TFilterType k_TempComponent2 in k_TempComponentList) { Behaviour val3 = (Behaviour)(object)((k_TempComponent2 is Behaviour) ? k_TempComponent2 : null); if (val3.enabled && !((Object)(object)((Component)val3).transform == (Object)(object)requiredRoot) && !((Object)(object)((Component)val3).GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.Add(k_TempComponent2); } } foreach (IComponentHost<TFilterType> k_TempHostComponent2 in k_TempHostComponentList) { Behaviour val4 = (Behaviour)((k_TempHostComponent2 is Behaviour) ? k_TempHostComponent2 : null); if (val4.enabled && !((Object)(object)((Component)val4).transform == (Object)(object)requiredRoot) && !((Object)(object)((Component)val4).GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.AddRange(k_TempHostComponent2.HostedComponents); } } } protected virtual void Dispose(bool disposing) { if (!m_DisposedValue) { if (disposing && m_MasterComponentStorage != null) { CollectionPool<List<TFilterType>, TFilterType>.RecycleCollection(m_MasterComponentStorage); } m_DisposedValue = true; } } public void Dispose() { Dispose(disposing: true); } } public static class CollectionPool<TCollection, TValue> where TCollection : ICollection<TValue>, new() { private static readonly Queue<TCollection> k_CollectionQueue = new Queue<TCollection>(); public static TCollection GetCollection() { if (k_CollectionQueue.Count <= 0) { return new TCollection(); } return k_CollectionQueue.Dequeue(); } public static void RecycleCollection(TCollection collection) { collection.Clear(); k_CollectionQueue.Enqueue(collection); } } public static class ComponentUtils<T> { private static readonly List<T> k_RetrievalList = new List<T>(); public static T GetComponent(GameObject gameObject) { T result = default(T); gameObject.GetComponents<T>(k_RetrievalList); if (k_RetrievalList.Count > 0) { return k_RetrievalList[0]; } return result; } public static T GetComponentInChildren(GameObject gameObject) { T result = default(T); gameObject.GetComponentsInChildren<T>(k_RetrievalList); if (k_RetrievalList.Count > 0) { return k_RetrievalList[0]; } return result; } } public static class ComponentUtils { public static T GetOrAddIf<T>(GameObject gameObject, bool add) where T : Component { T val = gameObject.GetComponent<T>(); if (add && (Object)(object)val == (Object)null) { val = gameObject.AddComponent<T>(); } return val; } } public static class EnumValues<T> { public static readonly T[] Values = (T[])Enum.GetValues(typeof(T)); } public static class BoundsExtensions { public static bool ContainsCompletely(this Bounds outerBounds, Bounds innerBounds) { //IL_0002: 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_000a: 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_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_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_0020: 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) //IL_002e: 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_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_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_0058: 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_0066: 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) Vector3 max = ((Bounds)(ref outerBounds)).max; Vector3 min = ((Bounds)(ref outerBounds)).min; Vector3 max2 = ((Bounds)(ref innerBounds)).max; Vector3 min2 = ((Bounds)(ref innerBounds)).min; if (max.x >= max2.x && max.y >= max2.y && max.z >= max2.z && min.x <= min2.x && min.y <= min2.y) { return min.z <= min2.z; } return false; } } public static class CameraExtensions { private const float k_OneOverSqrt2 = 0.70710677f; public static float GetVerticalFieldOfView(this Camera camera, float aspectNeutralFieldOfView) { return Mathf.Atan(Mathf.Tan(aspectNeutralFieldOfView * 0.5f * (MathF.PI / 180f)) * 0.70710677f / Mathf.Sqrt(camera.aspect)) * 2f * 57.29578f; } public static float GetHorizontalFieldOfView(this Camera camera) { float num = camera.fieldOfView * 0.5f; return 57.29578f * Mathf.Atan(Mathf.Tan(num * (MathF.PI / 180f)) * camera.aspect); } public static float GetVerticalOrthographicSize(this Camera camera, float size) { return size * 0.70710677f / Mathf.Sqrt(camera.aspect); } } public static class CollectionExtensions { private static readonly StringBuilder k_String = new StringBuilder(); public static string Stringify<T>(this ICollection<T> collection) { k_String.Length = 0; int num = collection.Count - 1; int num2 = 0; foreach (T item in collection) { k_String.AppendFormat((num2++ == num) ? "{0}" : "{0}, ", item); } return k_String.ToString(); } } public static class DictionaryExtensions { public static KeyValuePair<TKey, TValue> First<TKey, TValue>(this Dictionary<TKey, TValue> dictionary) { KeyValuePair<TKey, TValue> result = default(KeyValuePair<TKey, TValue>); Dictionary<TKey, TValue>.Enumerator enumerator = dictionary.GetEnumerator(); if (enumerator.MoveNext()) { result = enumerator.Current; } enumerator.Dispose(); return result; } } public static class GameObjectExtensions { public static void SetHideFlagsRecursively(this GameObject gameObject, HideFlags hideFlags) { //IL_0001: 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_0025: Unknown result type (might be due to invalid IL or missing references) ((Object)gameObject).hideFlags = hideFlags; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetHideFlagsRecursively(hideFlags); } } public static void AddToHideFlagsRecursively(this GameObject gameObject, HideFlags hideFlags) { //IL_0002: 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_0008: 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_002c: Unknown result type (might be due to invalid IL or missing references) ((Object)gameObject).hideFlags = (HideFlags)(((Object)gameObject).hideFlags | hideFlags); foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.AddToHideFlagsRecursively(hideFlags); } } public static void SetLayerRecursively(this GameObject gameObject, int layer) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerRecursively(layer); } } public static void SetLayerAndAddToHideFlagsRecursively(this GameObject gameObject, int layer, HideFlags hideFlags) { //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_000f: 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) gameObject.layer = layer; ((Object)gameObject).hideFlags = (HideFlags)(((Object)gameObject).hideFlags | hideFlags); foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerAndAddToHideFlagsRecursively(layer, hideFlags); } } public static void SetLayerAndHideFlagsRecursively(this GameObject gameObject, int layer, HideFlags hideFlags) { //IL_0008: 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_002d: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; ((Object)gameObject).hideFlags = hideFlags; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerAndHideFlagsRecursively(layer, hideFlags); } } public static void SetRunInEditModeRecursively(this GameObject gameObject, bool enabled) { } } public static class GuidExtensions { public static void Decompose(this Guid guid, out ulong low, out ulong high) { byte[] value = guid.ToByteArray(); low = BitConverter.ToUInt64(value, 0); high = BitConverter.ToUInt64(value, 8); } } public static class HashSetExtensions { public static void ExceptWithNonAlloc<T>(this HashSet<T> self, HashSet<T> other) { foreach (T item in other) { self.Remove(item); } } public static T First<T>(this HashSet<T> set) { HashSet<T>.Enumerator enumerator = set.GetEnumerator(); T result = (enumerator.MoveNext() ? enumerator.Current : default(T)); enumerator.Dispose(); return result; } } public static class LayerMaskExtensions { public static int GetFirstLayerIndex(this LayerMask layerMask) { if (((LayerMask)(ref layerMask)).value == 0) { return -1; } int num = 0; int num2 = ((LayerMask)(ref layerMask)).value; while ((num2 & 1) == 0) { num2 >>= 1; num++; } return num; } public static bool Contains(this LayerMask mask, int layer) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return ((uint)LayerMask.op_Implicit(mask) & (1 << layer)) > 0; } } public static class ListExtensions { public static List<T> Fill<T>(this List<T> list, int count) where T : new() { for (int i = 0; i < count; i++) { list.Add(new T()); } return list; } public static void EnsureCapacity<T>(this List<T> list, int capacity) { if (list.Capacity < capacity) { list.Capacity = capacity; } } public static void SwapAtIndices<T>(this List<T> list, int first, int second) { T val = list[second]; T val2 = list[first]; T val3 = (list[first] = val); val3 = (list[second] = val2); } } public static class MonoBehaviourExtensions { } public static class PoseExtensions { public static Pose ApplyOffsetTo(this Pose pose, Pose otherPose) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: 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_0008: Unknown result type (might be due to invalid IL or missing references) //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_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_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_001f: 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_0025: 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) Quaternion rotation = pose.rotation; return new Pose(rotation * otherPose.position + pose.position, rotation * otherPose.rotation); } public static Vector3 ApplyOffsetTo(this Pose pose, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: 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) return pose.rotation * position + pose.position; } public static Vector3 ApplyInverseOffsetTo(this Pose pose, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: 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_000b: 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_0017: Unknown result type (might be due to invalid IL or missing references) return Quaternion.Inverse(pose.rotation) * (position - pose.position); } } public static class QuaternionExtensions { public static Quaternion ConstrainYaw(this Quaternion rotation) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) rotation.x = 0f; rotation.z = 0f; return rotation; } public static Quaternion ConstrainYawNormalized(this Quaternion rotation) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) rotation.x = 0f; rotation.z = 0f; ((Quaternion)(ref rotation)).Normalize(); return rotation; } public static Quaternion ConstrainYawPitchNormalized(this Quaternion rotation) { //IL_0002: 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_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) Vector3 eulerAngles = ((Quaternion)(ref rotation)).eulerAngles; eulerAngles.z = 0f; return Quaternion.Euler(eulerAngles); } } public static class StopwatchExtensions { public static void Restart(this Stopwatch stopwatch) { stopwatch.Stop(); stopwatch.Reset(); stopwatch.Start(); } } public static class StringExtensions { private static readonly StringBuilder k_StringBuilder = new StringBuilder(); public static string FirstToUpper(this string str) { if (string.IsNullOrEmpty(str)) { return string.Empty; } if (str.Length == 1) { return char.ToUpper(str[0]).ToString(); } return $"{char.ToUpper(str[0])}{str.Substring(1)}"; } public static string InsertSpacesBetweenWords(this string str) { if (string.IsNullOrEmpty(str)) { return string.Empty; } k_StringBuilder.Length = 0; k_StringBuilder.Append(str[0]); int length = str.Length; for (int i = 0; i < length - 1; i++) { char c = str[i]; char c2 = str[i + 1]; bool flag = char.IsLower(c); bool flag2 = char.IsLower(c2); bool flag3 = flag && !flag2; if (i + 2 < length) { bool flag4 = char.IsLower(str[i + 2]); flag3 = flag3 || (!flag && !flag2 && flag4); } if (flag3) { k_StringBuilder.Append(' '); } k_StringBuilder.Append(c2); } return k_StringBuilder.ToString(); } } public static class TransformExtensions { public static Pose GetLocalPose(this Transform transform) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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) Vector3 val = default(Vector3); Quaternion val2 = default(Quaternion); transform.GetLocalPositionAndRotation(ref val, ref val2); return new Pose(val, val2); } public static Pose GetWorldPose(this Transform transform) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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) Vector3 val = default(Vector3); Quaternion val2 = default(Quaternion); transform.GetPositionAndRotation(ref val, ref val2); return new Pose(val, val2); } public static void SetLocalPose(this Transform transform, Pose pose) { //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) //IL_0007: 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) transform.SetLocalPositionAndRotation(pose.position, pose.rotation); } public static void SetWorldPose(this Transform transform, Pose pose) { //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) //IL_0007: 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) transform.SetPositionAndRotation(pose.position, pose.rotation); } public static Pose TransformPose(this Transform transform, Pose pose) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) return ((Pose)(ref pose)).GetTransformedBy(transform); } public static Pose InverseTransformPose(this Transform transform, Pose pose) { //IL_0016: 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_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: 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_0032: 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_003d: 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_004c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)transform == (Object)null) { throw new ArgumentNullException("transform"); } return new Pose { position = transform.InverseTransformPoint(pose.position), rotation = Quaternion.Inverse(transform.rotation) * pose.rotation }; } public static Ray InverseTransformRay(this Transform transform, Ray ray) { //IL_0017: 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_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_002e: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)transform == (Object)null) { throw new ArgumentNullException("transform"); } return new Ray(transform.InverseTransformPoint(((Ray)(ref ray)).origin), transform.InverseTransformDirection(((Ray)(ref ray)).direction)); } } public static class TypeExtensions { private static readonly List<FieldInfo> k_Fields = new List<FieldInfo>(); private static readonly List<string> k_TypeNames = new List<string>(); public static void GetAssignableTypes(this Type type, List<Type> list, Func<Type, bool> predicate = null) { ReflectionUtils.ForEachType(delegate(Type t) { if (type.IsAssignableFrom(t) && !t.IsInterface && !t.IsAbstract && (predicate == null || predicate(t))) { list.Add(t); } }); } public static void GetImplementationsOfInterface(this Type type, List<Type> list) { if (type.IsInterface) { type.GetAssignableTypes(list); } } public static void GetExtensionsOfClass(this Type type, List<Type> list) { if (type.IsClass) { type.GetAssignableTypes(list); } } public static void GetGenericInterfaces(this Type type, Type genericInterface, List<Type> interfaces) { Type[] interfaces2 = type.GetInterfaces(); foreach (Type type2 in interfaces2) { if (type2.IsGenericType && type2.GetGenericTypeDefinition() == genericInterface) { interfaces.Add(type2); } } } public static PropertyInfo GetPropertyRecursively(this Type type, string name, BindingFlags bindingAttr) { PropertyInfo propertyInfo = type.GetProperty(name, bindingAttr); if (propertyInfo != null) { return propertyInfo; } if (type.BaseType != null) { propertyInfo = type.BaseType.GetPropertyRecursively(name, bindingAttr); } return propertyInfo; } public static FieldInfo GetFieldRecursively(this Type type, string name, BindingFlags bindingAttr) { FieldInfo fieldInfo = type.GetField(name, bindingAttr); if (fieldInfo != null) { return fieldInfo; } if (type.BaseType != null) { fieldInfo = type.BaseType.GetFieldRecursively(name, bindingAttr); } return fieldInfo; } public static void GetFieldsRecursively(this Type type, List<FieldInfo> fields, BindingFlags bindingAttr = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) { while (true) { FieldInfo[] fields2 = type.GetFields(bindingAttr); foreach (FieldInfo item in fields2) { fields.Add(item); } Type baseType = type.BaseType; if (baseType != null) { type = baseType; continue; } break; } } public static void GetPropertiesRecursively(this Type type, List<PropertyInfo> fields, BindingFlags bindingAttr = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) { while (true) { PropertyInfo[] properties = type.GetProperties(bindingAttr); foreach (PropertyInfo item in properties) { fields.Add(item); } Type baseType = type.BaseType; if (baseType != null) { type = baseType; continue; } break; } } public static void GetInterfaceFieldsFromClasses(this IEnumerable<Type> classes, List<FieldInfo> fields, List<Type> interfaceTypes, BindingFlags bindingAttr) { foreach (Type interfaceType in interfaceTypes) { if (!interfaceType.IsInterface) { throw new ArgumentException($"Type {interfaceType} in interfaceTypes is not an interface!"); } } foreach (Type @class in classes) { if (!@class.IsClass) { throw new ArgumentException($"Type {@class} in classes is not a class!"); } k_Fields.Clear(); @class.GetFieldsRecursively(k_Fields, bindingAttr); foreach (FieldInfo k_Field in k_Fields) { Type[] interfaces = k_Field.FieldType.GetInterfaces(); foreach (Type item in interfaces) { if (interfaceTypes.Contains(item)) { fields.Add(k_Field); break; } } } } } public static TAttribute GetAttribute<TAttribute>(this Type type, bool inherit = false) where TAttribute : Attribute { return (TAttribute)type.GetCustomAttributes(typeof(TAttribute), inherit)[0]; } public static void IsDefinedGetInheritedTypes<TAttribute>(this Type type, List<Type> types) where TAttribute : Attribute { while (type != null) { if (type.IsDefined(typeof(TAttribute), inherit: true)) { types.Add(type); } type = type.BaseType; } } public static FieldInfo GetFieldInTypeOrBaseType(this Type type, string fieldName) { FieldInfo field; while (true) { if (type == null) { return null; } field = type.GetField(fieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy); if (field != null) { break; } type = type.BaseType; } return field; } public static string GetNameWithGenericArguments(this Type type) { string name = type.Name; name = name.Replace('+', '.'); if (!type.IsGenericType) { return name; } name = name.Split('`')[0]; Type[] genericArguments = type.GetGenericArguments(); int num = genericArguments.Length; string[] array = new string[num]; for (int i = 0; i < num; i++) { array[i] = genericArguments[i].GetNameWithGenericArguments(); } return name + "<" + string.Join(", ", array) + ">"; } public static string GetNameWithFullGenericArguments(this Type type) { string name = type.Name; name = name.Replace('+', '.'); if (!type.IsGenericType) { return name; } name = name.Split('`')[0]; Type[] genericArguments = type.GetGenericArguments(); int num = genericArguments.Length; string[] array = new string[num]; for (int i = 0; i < num; i++) { array[i] = genericArguments[i].GetFullNameWithGenericArgumentsInternal(); } return name + "<" + string.Join(", ", array) + ">"; } public static string GetFullNameWithGenericArguments(this Type type) { Type type2 = type.DeclaringType; if (type2 != null && !type.IsGenericParameter) { k_TypeNames.Clear(); string nameWithFullGenericArguments = type.GetNameWithFullGenericArguments(); k_TypeNames.Add(nameWithFullGenericArguments); while (true) { Type declaringType = type2.DeclaringType; if (declaringType == null) { break; } nameWithFullGenericArguments = type2.GetNameWithFullGenericArguments(); k_TypeNames.Insert(0, nameWithFullGenericArguments); type2 = declaringType; } nameWithFullGenericArguments = type2.GetFullNameWithGenericArguments(); k_TypeNames.Insert(0, nameWithFullGenericArguments); return string.Join(".", k_TypeNames.ToArray()); } return type.GetFullNameWithGenericArgumentsInternal(); } private static string GetFullNameWithGenericArgumentsInternal(this Type type) { string fullName = type.FullName; if (!type.IsGenericType) { return fullName; } fullName = fullName.Split('`')[0]; Type[] genericArguments = type.GetGenericArguments(); int num = genericArguments.Length; string[] array = new string[num]; for (int i = 0; i < num; i++) { array[i] = genericArguments[i].GetFullNameWithGenericArguments(); } return fullName + "<" + string.Join(", ", array) + ">";
BepInEx/plugins/HowToFishXR/Unity.XR.Interaction.Toolkit.dll
Decompiled 7 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; using Unity.Collections; using Unity.Jobs; using Unity.Mathematics; using Unity.Profiling; using Unity.XR.CoreUtils; using Unity.XR.CoreUtils.Bindings; using Unity.XR.CoreUtils.Bindings.Variables; using Unity.XR.CoreUtils.Collections; using Unity.XR.CoreUtils.Datums; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Experimental.XR.Interaction; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.LowLevel; using UnityEngine.InputSystem.UI; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Pool; using UnityEngine.Rendering; using UnityEngine.SceneManagement; using UnityEngine.Scripting; using UnityEngine.Scripting.APIUpdating; using UnityEngine.Serialization; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Jobs; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver.Primitives; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Rendering; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.State; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme.Audio; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme.Primitives; using UnityEngine.XR.Interaction.Toolkit.Attachment; using UnityEngine.XR.Interaction.Toolkit.Filtering; using UnityEngine.XR.Interaction.Toolkit.Inputs; using UnityEngine.XR.Interaction.Toolkit.Inputs.Simulation.Hands; using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using UnityEngine.XR.Interaction.Toolkit.Transformers; using UnityEngine.XR.Interaction.Toolkit.UI; using UnityEngine.XR.Interaction.Toolkit.Utilities; using UnityEngine.XR.Interaction.Toolkit.Utilities.Collections; using UnityEngine.XR.Interaction.Toolkit.Utilities.Curves; using UnityEngine.XR.Interaction.Toolkit.Utilities.Internal; using UnityEngine.XR.Interaction.Toolkit.Utilities.Pooling; using UnityEngine.XR.Interaction.Toolkit.Utilities.Tweenables.Primitives; using UnityEngine.XR.Interaction.Toolkit.Utilities.Tweenables.SmartTweenableVariables; using UnityEngine.XR.OpenXR.Features.Interactions; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.StarterAssets.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Editor.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.StarterAssets")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.ARStarterAssets")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [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() { return new MonoScriptData { FilePathsData = new byte[32761] { 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 67, 111, 108, 111, 114, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 4, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 70, 108, 111, 97, 116, 84, 119, 101, 101, 110, 74, 111, 98, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 73, 84, 119, 101, 101, 110, 74, 111, 98, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 84, 119, 101, 101, 110, 74, 111, 98, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 65, 117, 100, 105, 111, 92, 65, 117, 100, 105, 111, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 65, 115, 121, 110, 99, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 83, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 65, 115, 121, 110, 99, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 83, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 70, 108, 111, 97, 116, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 137, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 142, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 117, 108, 101, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 50, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 51, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 52, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 66, 108, 101, 110, 100, 83, 104, 97, 112, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 151, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 67, 111, 108, 111, 114, 71, 114, 97, 100, 105, 101, 110, 116, 76, 105, 110, 101, 82, 101, 110, 100, 101, 114, 101, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 67, 111, 108, 111, 114, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 70, 108, 111, 97, 116, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 50, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 51, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 52, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 152, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 97, 116, 105, 111, 110, 92, 85, 110, 105, 102, 111, 114, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 99, 97, 108, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 85, 73, 92, 73, 109, 97, 103, 101, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 72, 101, 108, 112, 101, 114, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 73, 110, 115, 116, 97, 110, 99, 101, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 66, 108, 111, 99, 107, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 68, 97, 116, 97, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 68, 97, 116, 97, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 83, 104, 111, 114, 116, 99, 117, 116, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 141, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 65, 117, 100, 105, 111, 92, 65, 117, 100, 105, 111, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 70, 108, 111, 97, 116, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 50, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 51, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 52, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 66, 97, 115, 101, 71, 101, 115, 116, 117, 114, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 80, 108, 97, 99, 101, 109, 101, 110, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 82, 111, 116, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 83, 99, 97, 108, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 83, 101, 108, 101, 99, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 84, 114, 97, 110, 115, 108, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 65, 82, 71, 101, 115, 116, 117, 114, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 67, 97, 114, 100, 105, 110, 97, 108, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 6, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 67, 111, 109, 112, 111, 115, 105, 116, 101, 115, 92, 70, 97, 108, 108, 98, 97, 99, 107, 67, 111, 109, 112, 111, 115, 105, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 77, 97, 110, 97, 103, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 83, 101, 99, 116, 111, 114, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 67, 97, 112, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 97, 110, 100, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 83, 105, 109, 117, 108, 97, 116, 101, 100, 73, 110, 112, 117, 116, 76, 97, 121, 111, 117, 116, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 3, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 76, 111, 97, 100, 101, 114, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 83, 101, 116, 116, 105, 110, 103, 115, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 77, 68, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 77, 68, 83, 116, 97, 116, 101, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 72, 97, 110, 100, 83, 107, 101, 108, 101, 116, 111, 110, 80, 111, 107, 101, 68, 105, 115, 112, 108, 97, 99, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 73, 110, 112, 117, 116, 77, 111, 100, 97, 108, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 3, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 73, 110, 112, 117, 116, 84, 114, 97, 99, 107, 105, 110, 103, 65, 103, 103, 114, 101, 103, 97, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 116, 97, 98, 105, 108, 105, 122, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 65, 116, 116, 97, 99, 104, 80, 111, 105, 110, 116, 86, 101, 108, 111, 99, 105, 116, 121, 84, 114, 97, 99, 107, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 65, 116, 116, 97, 99, 104, 80, 111, 105, 110, 116, 86, 101, 108, 111, 99, 105, 116, 121, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 65, 116, 116, 97, 99, 104, 80, 111, 105, 110, 116, 86, 101, 108, 111, 99, 105, 116, 121, 84, 114, 97, 99, 107, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 97, 110, 70, 111, 99, 117, 115, 77, 117, 108, 116, 105, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 97, 110, 83, 101, 108, 101, 99, 116, 77, 117, 108, 116, 105, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 69, 110, 97, 98, 108, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 65, 99, 116, 105, 111, 110, 66, 97, 115, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 65, 99, 116, 105, 111, 110, 66, 97, 115, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 73, 88, 82, 83, 99, 97, 108, 101, 86, 97, 108, 117, 101, 80, 114, 111, 118, 105, 100, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 105, 110, 103, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 72, 111, 118, 101, 114, 92, 73, 88, 82, 72, 111, 118, 101, 114, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 142, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 70, 105, 108, 116, 101, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 73, 88, 82, 70, 105, 108, 116, 101, 114, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 77, 117, 108, 116, 105, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 80, 114, 111, 118, 105, 100, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 88, 82, 80, 111, 107, 101, 70, 105, 108, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 88, 82, 80, 111, 107, 101, 70, 105, 108, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 88, 82, 80, 111, 107, 101, 76, 111, 103, 105, 99, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 83, 101, 108, 101, 99, 116, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 138, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 73, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 76, 105, 110, 107, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 65, 110, 103, 108, 101, 71, 97, 122, 101, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 68, 105, 115, 116, 97, 110, 99, 101, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 135, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 76, 97, 115, 116, 83, 101, 108, 101, 99, 116, 101, 100, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 70, 105, 108, 116, 101, 114, 115, 92, 73, 88, 82, 84, 97, 114, 103, 101, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 70, 105, 108, 116, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 84, 97, 114, 103, 101, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 70, 105, 108, 116, 101, 114, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 70, 105, 108, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 68, 105, 115, 116, 97, 110, 99, 101, 73, 110, 102, 111, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 65, 99, 116, 105, 118, 97, 116, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 70, 111, 99, 117, 115, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 72, 111, 118, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 86, 105, 115, 117, 97, 108, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 67, 117, 115, 116, 111, 109, 82, 101, 116, 105, 99, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 86, 105, 115, 117, 97, 108, 92, 88, 82, 84, 105, 110, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 86, 105, 115, 117, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 71, 114, 97, 98, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 71, 114, 97, 98, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 83, 110, 97, 112, 86, 111, 108, 117, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 83, 105, 109, 112, 108, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 65, 99, 116, 105, 118, 97, 116, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 71, 114, 111, 117, 112, 77, 101, 109, 98, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 72, 111, 118, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 79, 118, 101, 114, 114, 105, 100, 101, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 82, 97, 121, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 84, 97, 114, 103, 101, 116, 80, 114, 105, 111, 114, 105, 116, 121, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 73, 88, 82, 67, 117, 115, 116, 111, 109, 82, 101, 116, 105, 99, 108, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 73, 88, 82, 82, 101, 116, 105, 99, 108, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 76, 105, 110, 101, 86, 105, 115, 117, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 82, 101, 116, 105, 99, 108, 101, 86, 105, 115, 117, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 68, 105, 114, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 68, 105, 114, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 71, 114, 111, 117, 112, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 80, 111, 107, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 3, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 82, 97, 121, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 82, 97, 121, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 83, 111, 99, 107, 101, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 83, 111, 99, 107, 101, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 76, 97, 121, 101, 114, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 76, 97, 121, 101, 114, 77, 97, 115, 107, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 76, 97, 121, 101, 114, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 76, 97, 121, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 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, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 54, 46, 53, 92, 8
BepInEx/plugins/HowToFishXR/Unity.XR.Management.dll
Decompiled 7 hours agousing System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using UnityEngine.Rendering; using UnityEngine.Serialization; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.Management.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Management.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Management.EditorTests")] [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() { return new MonoScriptData { FilePathsData = new byte[522] { 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, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 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, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 71, 101, 110, 101, 114, 97, 108, 83, 101, 116, 116, 105, 110, 103, 115, 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, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 97, 100, 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, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 97, 100, 101, 114, 72, 101, 108, 112, 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, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 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, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 77, 97, 110, 97, 103, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115 }, TypesData = new byte[354] { 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 71, 101, 110, 101, 114, 97, 108, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 76, 111, 97, 100, 101, 114, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 76, 111, 97, 100, 101, 114, 72, 101, 108, 112, 101, 114, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 46, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 124, 66, 117, 105, 108, 100, 69, 118, 101, 110, 116, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 77, 97, 110, 97, 103, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115 }, TotalFiles = 6, TotalTypes = 7, IsEditorOnly = false }; } } namespace UnityEngine.XR.Management; [AttributeUsage(AttributeTargets.Class)] public sealed class XRConfigurationDataAttribute : Attribute { public string displayName { get; set; } public string buildSettingsKey { get; set; } private XRConfigurationDataAttribute() { } public XRConfigurationDataAttribute(string displayName, string buildSettingsKey) { this.displayName = displayName; this.buildSettingsKey = buildSettingsKey; } } public class XRGeneralSettings : ScriptableObject { public static string k_SettingsKey = "com.unity.xr.management.loader_settings"; internal static XRGeneralSettings s_RuntimeSettingsInstance = null; [SerializeField] internal XRManagerSettings m_LoaderManagerInstance; [SerializeField] [Tooltip("Toggling this on/off will enable/disable the automatic startup of XR at run time.")] internal bool m_InitManagerOnStart = true; private XRManagerSettings m_XRManager; private bool m_ProviderIntialized; private bool m_ProviderStarted; public XRManagerSettings Manager { get { return m_LoaderManagerInstance; } set { m_LoaderManagerInstance = value; } } public static XRGeneralSettings Instance => s_RuntimeSettingsInstance; public XRManagerSettings AssignedSettings => m_LoaderManagerInstance; public bool InitManagerOnStart => m_InitManagerOnStart; private void Awake() { Debug.Log((object)"XRGeneral Settings awakening..."); s_RuntimeSettingsInstance = this; Application.quitting += Quit; Object.DontDestroyOnLoad((Object)(object)s_RuntimeSettingsInstance); } private static void Quit() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null)) { instance.DeInitXRSDK(); } } private void Start() { StartXRSDK(); } private void OnDestroy() { DeInitXRSDK(); } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] internal static void AttemptInitializeXRSDKOnLoad() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null) && instance.InitManagerOnStart) { instance.InitXRSDK(); } } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] internal static void AttemptStartXRSDKOnBeforeSplashScreen() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null) && instance.InitManagerOnStart) { instance.StartXRSDK(); } } private void InitXRSDK() { if (!((Object)(object)Instance == (Object)null) && !((Object)(object)Instance.m_LoaderManagerInstance == (Object)null) && Instance.m_InitManagerOnStart) { m_XRManager = Instance.m_LoaderManagerInstance; if ((Object)(object)m_XRManager == (Object)null) { Debug.LogError((object)"Assigned GameObject for XR Management loading is invalid. No XR Providers will be automatically loaded."); return; } m_XRManager.automaticLoading = false; m_XRManager.automaticRunning = false; m_XRManager.InitializeLoaderSync(); m_ProviderIntialized = true; } } private void StartXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.StartSubsystems(); m_ProviderStarted = true; } } private void StopXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.StopSubsystems(); m_ProviderStarted = false; } } private void DeInitXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.DeinitializeLoader(); m_XRManager = null; m_ProviderIntialized = false; } } } public abstract class XRLoader : ScriptableObject { public virtual bool Initialize() { return true; } public virtual bool Start() { return true; } public virtual bool Stop() { return true; } public virtual bool Deinitialize() { return true; } public abstract T GetLoadedSubsystem<T>() where T : class, ISubsystem; public virtual List<GraphicsDeviceType> GetSupportedGraphicsDeviceTypes(bool buildingPlayer) { return new List<GraphicsDeviceType>(); } } public abstract class XRLoaderHelper : XRLoader { protected Dictionary<Type, ISubsystem> m_SubsystemInstanceMap = new Dictionary<Type, ISubsystem>(); public override T GetLoadedSubsystem<T>() { Type typeFromHandle = typeof(T); m_SubsystemInstanceMap.TryGetValue(typeFromHandle, out var value); return value as T; } protected void StartSubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { ((ISubsystem)loadedSubsystem).Start(); } } protected void StopSubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { ((ISubsystem)loadedSubsystem).Stop(); } } protected void DestroySubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { Type typeFromHandle = typeof(T); if (m_SubsystemInstanceMap.ContainsKey(typeFromHandle)) { m_SubsystemInstanceMap.Remove(typeFromHandle); } ((ISubsystem)loadedSubsystem).Destroy(); } } protected void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem { if (descriptors == null) { throw new ArgumentNullException("descriptors"); } SubsystemManager.GetSubsystemDescriptors<TDescriptor>(descriptors); if (descriptors.Count <= 0) { return; } foreach (TDescriptor descriptor in descriptors) { ISubsystem val = null; if (string.Compare(((ISubsystemDescriptor)descriptor).id, id, ignoreCase: true) == 0) { val = ((ISubsystemDescriptor)descriptor/*cast due to .constrained prefix*/).Create(); } if (val != null) { m_SubsystemInstanceMap[typeof(TSubsystem)] = val; break; } } } [Obsolete("This method is obsolete. Please use the geenric CreateSubsystem method.", false)] protected void CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : IntegratedSubsystemDescriptor where TSubsystem : IntegratedSubsystem { CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } [Obsolete("This method is obsolete. Please use the generic CreateSubsystem method.", false)] protected void CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : SubsystemDescriptor where TSubsystem : Subsystem { CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } public override bool Deinitialize() { m_SubsystemInstanceMap.Clear(); return base.Deinitialize(); } } internal static class XRManagementAnalytics { [Serializable] private struct BuildEvent { public string buildGuid; public string buildTarget; public string buildTargetGroup; public string[] assigned_loaders; } private const int kMaxEventsPerHour = 1000; private const int kMaxNumberOfElements = 1000; private const string kVendorKey = "unity.xrmanagement"; private const string kEventBuild = "xrmanagment_build"; private static bool s_Initialized; private static bool Initialize() { return s_Initialized; } } public sealed class XRManagerSettings : ScriptableObject { [HideInInspector] private bool m_InitializationComplete; [HideInInspector] [SerializeField] private bool m_RequiresSettingsUpdate; [SerializeField] [Tooltip("Determines if the XR Manager instance is responsible for creating and destroying the appropriate loader instance.")] [FormerlySerializedAs("AutomaticLoading")] private bool m_AutomaticLoading; [SerializeField] [Tooltip("Determines if the XR Manager instance is responsible for starting and stopping subsystems for the active loader instance.")] [FormerlySerializedAs("AutomaticRunning")] private bool m_AutomaticRunning; [SerializeField] [Tooltip("List of XR Loader instances arranged in desired load order.")] [FormerlySerializedAs("Loaders")] private List<XRLoader> m_Loaders = new List<XRLoader>(); [SerializeField] [HideInInspector] private HashSet<XRLoader> m_RegisteredLoaders = new HashSet<XRLoader>(); public bool automaticLoading { get { return m_AutomaticLoading; } set { m_AutomaticLoading = value; } } public bool automaticRunning { get { return m_AutomaticRunning; } set { m_AutomaticRunning = value; } } [Obsolete("'XRManagerSettings.loaders' property is obsolete. Use 'XRManagerSettings.activeLoaders' instead to get a list of the current loaders.")] public List<XRLoader> loaders => m_Loaders; public IReadOnlyList<XRLoader> activeLoaders => m_Loaders; public bool isInitializationComplete => m_InitializationComplete; [HideInInspector] public XRLoader activeLoader { get; private set; } internal List<XRLoader> currentLoaders { get { return m_Loaders; } set { m_Loaders = value; } } internal HashSet<XRLoader> registeredLoaders => m_RegisteredLoaders; public T ActiveLoaderAs<T>() where T : XRLoader { return activeLoader as T; } public void InitializeLoaderSync() { if ((Object)(object)activeLoader != (Object)null) { Debug.LogWarning((object)"XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one."); return; } foreach (XRLoader currentLoader in currentLoaders) { if ((Object)(object)currentLoader != (Object)null && CheckGraphicsAPICompatibility(currentLoader) && currentLoader.Initialize()) { activeLoader = currentLoader; m_InitializationComplete = true; return; } } activeLoader = null; } public IEnumerator InitializeLoader() { if ((Object)(object)activeLoader != (Object)null) { Debug.LogWarning((object)"XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one."); yield break; } foreach (XRLoader currentLoader in currentLoaders) { if ((Object)(object)currentLoader != (Object)null && CheckGraphicsAPICompatibility(currentLoader) && currentLoader.Initialize()) { activeLoader = currentLoader; m_InitializationComplete = true; yield break; } yield return null; } activeLoader = null; } public bool TryAddLoader(XRLoader loader, int index = -1) { if ((Object)(object)loader == (Object)null || currentLoaders.Contains(loader)) { return false; } if (!m_RegisteredLoaders.Contains(loader)) { return false; } if (index < 0 || index >= currentLoaders.Count) { currentLoaders.Add(loader); } else { currentLoaders.Insert(index, loader); } return true; } public bool TryRemoveLoader(XRLoader loader) { bool result = true; if (currentLoaders.Contains(loader)) { result = currentLoaders.Remove(loader); } return result; } public bool TrySetLoaders(List<XRLoader> reorderedLoaders) { List<XRLoader> list = new List<XRLoader>(activeLoaders); currentLoaders.Clear(); foreach (XRLoader reorderedLoader in reorderedLoaders) { if (!TryAddLoader(reorderedLoader)) { currentLoaders = list; return false; } } return true; } private void Awake() { foreach (XRLoader currentLoader in currentLoaders) { if (!m_RegisteredLoaders.Contains(currentLoader)) { m_RegisteredLoaders.Add(currentLoader); } } } private unsafe bool CheckGraphicsAPICompatibility(XRLoader loader) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: 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) GraphicsDeviceType graphicsDeviceType = SystemInfo.graphicsDeviceType; List<GraphicsDeviceType> supportedGraphicsDeviceTypes = loader.GetSupportedGraphicsDeviceTypes(buildingPlayer: false); if (supportedGraphicsDeviceTypes.Count > 0 && !supportedGraphicsDeviceTypes.Contains(graphicsDeviceType)) { Debug.LogWarning((object)$"The {((Object)loader).name} does not support the initialized graphics device, {((object)(*(GraphicsDeviceType*)(&graphicsDeviceType))/*cast due to .constrained prefix*/).ToString()}. Please change the preffered Graphics API in PlayerSettings. Attempting to start the next XR loader."); return false; } return true; } public void StartSubsystems() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to StartSubsystems without an initialized manager.Please make sure wait for initialization to complete before calling this API."); } else if ((Object)(object)activeLoader != (Object)null) { activeLoader.Start(); } } public void StopSubsystems() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to StopSubsystems without an initialized manager.Please make sure wait for initialization to complete before calling this API."); } else if ((Object)(object)activeLoader != (Object)null) { activeLoader.Stop(); } } public void DeinitializeLoader() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to DeinitializeLoader without an initialized manager.Please make sure wait for initialization to complete before calling this API."); return; } StopSubsystems(); if ((Object)(object)activeLoader != (Object)null) { activeLoader.Deinitialize(); activeLoader = null; } m_InitializationComplete = false; } private void Start() { if (automaticLoading && automaticRunning) { StartSubsystems(); } } private void OnDisable() { if (automaticLoading && automaticRunning) { StopSubsystems(); } } private void OnDestroy() { if (automaticLoading) { DeinitializeLoader(); } } }
BepInEx/plugins/HowToFishXR/Unity.XR.OpenXR.dll
Decompiled 7 hours ago
The result has been truncated due to the large size, download it to view full contents!
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.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using System.Threading; using AOT; using UnityEngine.Analytics; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.LowLevel; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Rendering; using UnityEngine.Scripting; using UnityEngine.Serialization; using UnityEngine.XR.Management; using UnityEngine.XR.OpenXR.Features; using UnityEngine.XR.OpenXR.Features.Interactions; using UnityEngine.XR.OpenXR.Input; using UnityEngine.XR.OpenXR.NativeTypes; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Editor")] [assembly: InternalsVisibleTo("UnityEditor.XR.OpenXR.Tests")] [assembly: Preserve] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.TestHelpers")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Tests")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Tests.Editor")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [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() { return new MonoScriptData { FilePathsData = new byte[4123] { 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 70, 101, 97, 116, 117, 114, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 84, 121, 112, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 70, 111, 118, 101, 97, 116, 101, 100, 82, 101, 110, 100, 101, 114, 105, 110, 103, 70, 101, 97, 116, 117, 114, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 3, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 73, 110, 116, 101, 114, 110, 97, 108, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 6, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 72, 97, 112, 116, 105, 99, 67, 111, 110, 116, 114, 111, 108, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 68, 101, 118, 105, 99, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 72, 109, 100, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 80, 111, 115, 101, 67, 111, 110, 116, 114, 111, 108, 46, 99, 115, 0, 0, 0, 2, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 67, 111, 108, 111, 114, 83, 117, 98, 109, 105, 115, 115, 111, 110, 77, 111, 100, 101, 76, 105, 115, 116, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 67, 111, 110, 115, 116, 97, 110, 116, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 82, 101, 112, 111, 114, 116, 46, 99, 115, 0, 0, 0, 3, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 78, 111, 80, 114, 101, 73, 110, 105, 116, 46, 99, 115, 0, 0, 0, 7, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 101, 110, 100, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 101, 115, 116, 97, 114, 116, 101, 114, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 117, 110, 116, 105, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 83, 112, 97, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 85, 110, 105, 116, 121, 65, 80, 73, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 85, 116, 105, 108, 105, 116, 121, 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, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 52, 46, 51, 92, 82, 117, 110, 116, 105, 109, 101, 92, 87, 97, 105, 116, 70, 111, 114, 82, 101, 115, 116, 97, 114, 116, 70, 105, 110, 105, 115, 104, 46, 99, 115 }, TypesData = new byte[5137] { 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 124, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 100, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 70, 101, 97, 116, 117, 114, 101, 124, 78, 97, 116, 105, 118, 101, 65, 112, 105, 0, 0, 0, 0, 91, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 124, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 70, 111, 118, 101, 97, 116, 101, 100, 82, 101, 110, 100, 101, 114, 105, 110, 103, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 59, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 64, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 68, 80, 97, 100, 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 76, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 69, 121, 101, 71, 97, 122, 101, 68, 101, 118, 105, 99, 101, 0, 0, 0, 0, 61, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 69, 121, 101, 84, 114, 97, 99, 107, 105, 110, 103, 85, 115, 97, 103, 101, 115, 0, 0, 0, 0, 70, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 91, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 111, 115, 101, 115, 0, 0, 0, 0, 66, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 82, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 83, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 70, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 79, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 104, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 78, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 102, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 81, 117, 101, 115, 116, 80, 114, 111, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 81, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 72, 111, 108, 111, 76, 101, 110, 115, 72, 97, 110, 100, 0, 0, 0, 0, 76, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 97, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 87, 77, 82, 83, 112, 97, 116, 105, 97, 108, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 72, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 94, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 72, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 80, 97, 108, 109, 80, 111, 115, 101, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 92, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 1, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 1, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 69, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 68, 101, 118, 105, 99, 101, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 77, 97, 112, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 65, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 85, 115, 101, 114, 80, 97, 116, 104, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 72, 97, 112, 116, 105, 99, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 72, 97, 112, 116, 105, 99, 67, 111, 110, 116, 114, 111, 108, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 79, 112, 101, 110, 88, 82, 68, 101, 118, 105, 99, 101, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 79, 112, 101, 110, 88, 82, 72, 109, 100, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 46, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 124, 83, 101, 114, 105, 97, 108, 105, 122, 101, 100, 71, 117, 105, 100, 0, 0, 0, 0, 57, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 46, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 124, 83, 101, 114, 105, 97, 108, 105, 122, 101, 100, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 66, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 46, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 124, 71, 101, 116, 73, 110, 116, 101, 114, 110, 97, 108, 68, 101, 118, 105, 99, 101, 73, 100, 67, 111, 109, 109, 97, 110, 100, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 80, 111, 115, 101, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 80, 111, 115, 101, 67, 111, 110, 116, 114, 111, 108, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 124, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 69, 118, 101, 110, 116, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 124, 67, 111, 108, 111, 114, 83, 117, 98, 109, 105, 115, 115, 105, 111, 110, 77, 111, 100, 101, 76, 105, 115, 116, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 82, 101, 112, 111, 114, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 1, 0, 0, 0, 38, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 0, 0, 0, 0, 57, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 124, 70, 101, 97, 116, 117, 114, 101, 76, 111, 103, 103, 105, 110, 103, 73, 110, 102, 111, 1, 0, 0, 0, 38, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 78, 111, 80, 114, 101, 73, 110, 105, 116, 0, 0, 0, 0, 52, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 82, 101, 115, 117, 108, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 51, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 66, 97, 115, 101, 73, 110, 83, 116, 114, 117, 99, 116, 117, 114, 101, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 86, 101, 99, 116, 111, 114, 50, 102, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 86, 101, 99, 116, 111, 114, 51, 102, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 102, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 80, 111, 115, 101, 102, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 83, 119, 97, 112, 99, 104, 97, 105, 110, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 82, 101, 115, 116, 97, 114, 116, 101, 114, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 82, 117, 110, 116, 105, 109, 101, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 65, 80, 73, 124, 85, 110, 105, 116, 121, 88, 82, 84, 101, 120, 116, 117, 114, 101, 68, 97, 116, 97, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 65, 80, 73, 124, 85, 110, 105, 116, 121, 88, 82, 82, 101, 110, 100, 101, 114, 84, 101, 120, 116, 117, 114, 101, 68, 101, 115, 99, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 65, 80, 73, 124, 85, 110, 105, 116, 121, 88, 82, 68, 105, 115, 112, 108, 97, 121, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 85, 116, 105, 108, 105, 116, 121, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 87, 97, 105, 116, 70, 111, 114, 82, 101, 115, 116, 97, 114, 116, 70, 105, 110, 105, 115, 104 }, TotalFiles = 42, TotalTypes = 80, IsEditorOnly = false }; } } namespace UnityEngine.XR.OpenXR { [Serializable] public class OpenXRSettings : ScriptableObject { public enum ColorSubmissionModeGroup { [InspectorName("8 bits per channel (LDR, default)")] kRenderTextureFormatGroup8888, [InspectorName("10 bits floating-point per color channel, 2 bit alpha (HDR)")] kRenderTextureFormatGroup1010102_Float, [InspectorName("16 bits floating-point per channel (HDR)")] kRenderTextureFormatGroup16161616_Float, [InspectorName("5,6,5 bit packed (LDR, mobile)")] kRenderTextureFormatGroup565, [InspectorName("11,11,10 bit packed floating-point (HDR)")] kRenderTextureFormatGroup111110_Float } [Serializable] public class ColorSubmissionModeList { public ColorSubmissionModeGroup[] m_List = new ColorSubmissionModeGroup[1]; } public enum RenderMode { MultiPass, SinglePassInstanced } public enum DepthSubmissionMode { None, Depth16Bit, Depth24Bit } public enum BackendFovationApi : byte { Legacy, SRPFoveation } public enum SpaceWarpMotionVectorTextureFormat { RGBA16f, RG16f } [FormerlySerializedAs("extensions")] [HideInInspector] [SerializeField] internal OpenXRFeature[] features = new OpenXRFeature[0]; public static readonly ColorSubmissionModeGroup kDefaultColorMode; [SerializeField] private RenderMode m_renderMode = RenderMode.SinglePassInstanced; [SerializeField] private bool m_autoColorSubmissionMode = true; [SerializeField] private ColorSubmissionModeList m_colorSubmissionModes = new ColorSubmissionModeList(); [SerializeField] private DepthSubmissionMode m_depthSubmissionMode; [SerializeField] private SpaceWarpMotionVectorTextureFormat m_spacewarpMotionVectorTextureFormat; [SerializeField] private bool m_optimizeBufferDiscards; [SerializeField] private bool m_symmetricProjection; private const string LibraryName = "UnityOpenXR"; private static OpenXRSettings s_RuntimeInstance; public int featureCount => features.Length; public RenderMode renderMode { get { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { return Internal_GetRenderMode(); } return m_renderMode; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetRenderMode(value); } else { m_renderMode = value; } } } public bool autoColorSubmissionMode { get { return m_autoColorSubmissionMode; } set { m_autoColorSubmissionMode = value; } } public ColorSubmissionModeGroup[] colorSubmissionModes { get { if (m_autoColorSubmissionMode) { return new ColorSubmissionModeGroup[1] { kDefaultColorMode }; } if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { int num = Internal_GetColorSubmissionModes(null, 0); int[] array = new int[num]; Internal_GetColorSubmissionModes(array, num); return array.Select((int i) => (ColorSubmissionModeGroup)i).ToArray(); } return m_colorSubmissionModes.m_List; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetColorSubmissionModes(value.Select((ColorSubmissionModeGroup e) => (int)e).ToArray(), value.Length); } else { m_colorSubmissionModes.m_List = value; } } } public DepthSubmissionMode depthSubmissionMode { get { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { return Internal_GetDepthSubmissionMode(); } return m_depthSubmissionMode; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetDepthSubmissionMode(value); } else { m_depthSubmissionMode = value; } } } public SpaceWarpMotionVectorTextureFormat spacewarpMotionVectorTextureFormat { get { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { return Internal_GetSpaceWarpMotionVectorTextureFormat(); } return m_spacewarpMotionVectorTextureFormat; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetSpaceWarpMotionVectorTextureFormat(value); } else { m_spacewarpMotionVectorTextureFormat = value; } } } public bool optimizeBufferDiscards { get { return m_optimizeBufferDiscards; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetOptimizeBufferDiscards(value); } else { m_optimizeBufferDiscards = value; } } } public bool symmetricProjection { get { return m_symmetricProjection; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetSymmetricProjection(value); } else { m_symmetricProjection = value; } } } public BackendFovationApi foveatedRenderingApi => BackendFovationApi.Legacy; public static OpenXRSettings ActiveBuildTargetInstance => GetInstance(useActiveBuildTarget: true); public static OpenXRSettings Instance => GetInstance(useActiveBuildTarget: false); public static bool AllowRecentering => Internal_GetAllowRecentering(); public static float FloorOffset => Internal_GetFloorOffset(); public TFeature GetFeature<TFeature>() where TFeature : OpenXRFeature { return (TFeature)GetFeature(typeof(TFeature)); } public OpenXRFeature GetFeature(Type featureType) { OpenXRFeature[] array = features; foreach (OpenXRFeature openXRFeature in array) { if (featureType.IsInstanceOfType(openXRFeature)) { return openXRFeature; } } return null; } public OpenXRFeature[] GetFeatures<TFeature>() { return GetFeatures(typeof(TFeature)); } public OpenXRFeature[] GetFeatures(Type featureType) { List<OpenXRFeature> list = new List<OpenXRFeature>(); OpenXRFeature[] array = features; foreach (OpenXRFeature openXRFeature in array) { if (featureType.IsInstanceOfType(openXRFeature)) { list.Add(openXRFeature); } } return list.ToArray(); } public int GetFeatures<TFeature>(List<TFeature> featuresOut) where TFeature : OpenXRFeature { featuresOut.Clear(); OpenXRFeature[] array = features; for (int i = 0; i < array.Length; i++) { if (array[i] is TFeature item) { featuresOut.Add(item); } } return featuresOut.Count; } public int GetFeatures(Type featureType, List<OpenXRFeature> featuresOut) { featuresOut.Clear(); OpenXRFeature[] array = features; foreach (OpenXRFeature openXRFeature in array) { if (featureType.IsInstanceOfType(openXRFeature)) { featuresOut.Add(openXRFeature); } } return featuresOut.Count; } public OpenXRFeature[] GetFeatures() { return ((OpenXRFeature[])features?.Clone()) ?? new OpenXRFeature[0]; } public int GetFeatures(List<OpenXRFeature> featuresOut) { featuresOut.Clear(); featuresOut.AddRange(features); return featuresOut.Count; } private static void PermissionGrantedCallback(string permissionName) { } private void ApplyRenderSettings() { Internal_SetSymmetricProjection(m_symmetricProjection); Internal_SetRenderMode(m_renderMode); Internal_SetColorSubmissionModes(m_colorSubmissionModes.m_List.Select((ColorSubmissionModeGroup e) => (int)e).ToArray(), m_colorSubmissionModes.m_List.Length); Internal_SetDepthSubmissionMode(m_depthSubmissionMode); Internal_SetSpaceWarpMotionVectorTextureFormat(m_spacewarpMotionVectorTextureFormat); Internal_SetOptimizeBufferDiscards(m_optimizeBufferDiscards); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetRenderMode")] private static extern void Internal_SetRenderMode(RenderMode renderMode); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRenderMode")] private static extern RenderMode Internal_GetRenderMode(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetDepthSubmissionMode")] private static extern void Internal_SetDepthSubmissionMode(DepthSubmissionMode depthSubmissionMode); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetDepthSubmissionMode")] private static extern DepthSubmissionMode Internal_GetDepthSubmissionMode(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetSpaceWarpMotionVectorTextureFormat")] private static extern void Internal_SetSpaceWarpMotionVectorTextureFormat(SpaceWarpMotionVectorTextureFormat spaceWarpMotionVectorTextureFormat); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetSpaceWarpMotionVectorTextureFormat")] private static extern SpaceWarpMotionVectorTextureFormat Internal_GetSpaceWarpMotionVectorTextureFormat(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetSymmetricProjection")] private static extern void Internal_SetSymmetricProjection([MarshalAs(UnmanagedType.I1)] bool enabled); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetOptimizeMultiviewRenderRegions")] private static extern void Internal_SetOptimizeMultiviewRenderRegions([MarshalAs(UnmanagedType.I1)] bool enabled); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetOptimizeBufferDiscards")] private static extern void Internal_SetOptimizeBufferDiscards([MarshalAs(UnmanagedType.I1)] bool enabled); [DllImport("UnityOpenXR", EntryPoint = "OculusFoveation_SetUsedApi")] private static extern void Internal_SetUsedFoveatedRenderingApi(BackendFovationApi api); [DllImport("UnityOpenXR", EntryPoint = "OculusFoveation_GetUsedApi")] internal static extern BackendFovationApi Internal_GetUsedFoveatedRenderingApi(); [DllImport("UnityOpenXR", EntryPoint = "OculusFoveation_HasRequestedEyeTrackingPermissions")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_HasRequestedEyeTrackingPermissions(); [DllImport("UnityOpenXR", EntryPoint = "OculusFoveation_GetHasEyeTrackingPermissions")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_GetHasEyeTrackingPermissions(); [DllImport("UnityOpenXR", EntryPoint = "OculusFoveation_SetHasEyeTrackingPermissions")] internal static extern void Internal_SetHasEyeTrackingPermissions([MarshalAs(UnmanagedType.I1)] bool value); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetColorSubmissionMode")] private static extern void Internal_SetColorSubmissionMode(ColorSubmissionModeGroup[] colorSubmissionMode); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetColorSubmissionModes")] private static extern void Internal_SetColorSubmissionModes(int[] colorSubmissionMode, int arraySize); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetColorSubmissionModes")] private static extern int Internal_GetColorSubmissionModes([Out] int[] colorSubmissionMode, int arraySize); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetIsUsingLegacyXRDisplay")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetIsUsingLegacyXRDisplay(); private void Awake() { s_RuntimeInstance = this; } internal void ApplySettings() { ApplyRenderSettings(); } private static OpenXRSettings GetInstance(bool useActiveBuildTarget) { OpenXRSettings openXRSettings = null; openXRSettings = s_RuntimeInstance; if ((Object)(object)openXRSettings == (Object)null) { openXRSettings = ScriptableObject.CreateInstance<OpenXRSettings>(); } return openXRSettings; } public static void SetAllowRecentering(bool allowRecentering, float floorOffset = 1.5f) { Internal_SetAllowRecentering(allowRecentering, floorOffset); } public static void RefreshRecenterSpace() { Internal_RegenerateTrackingOrigin(); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetAllowRecentering")] private static extern void Internal_SetAllowRecentering([MarshalAs(UnmanagedType.U1)] bool active, float height); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_RegenerateTrackingOrigin")] private static extern void Internal_RegenerateTrackingOrigin(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetAllowRecentering")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetAllowRecentering(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetFloorOffsetHeight")] private static extern float Internal_GetFloorOffset(); } internal static class OpenXRAnalytics { [Serializable] private struct InitializeEvent { public bool success; public string runtime; public string runtime_version; public string plugin_version; public string api_version; public string[] available_extensions; public string[] enabled_extensions; public string[] enabled_features; public string[] failed_features; } private const int kMaxEventsPerHour = 1000; private const int kMaxNumberOfElements = 1000; private const string kVendorKey = "unity.openxr"; private const string kEventInitialize = "openxr_initialize"; private static bool s_Initialized; private static bool Initialize() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (s_Initialized) { return true; } if ((int)Analytics.RegisterEvent("openxr_initialize", 1000, 1000, "unity.openxr", "") != 0) { return false; } s_Initialized = true; return true; } public static void SendInitializeEvent(bool success) { if (s_Initialized || Initialize()) { SendPlayerAnalytics(CreateInitializeEvent(success)); } } private static InitializeEvent CreateInitializeEvent(bool success) { return new InitializeEvent { success = success, runtime = OpenXRRuntime.name, runtime_version = OpenXRRuntime.version, plugin_version = OpenXRRuntime.pluginVersion, api_version = OpenXRRuntime.apiVersion, enabled_extensions = (from ext in OpenXRRuntime.GetEnabledExtensions() select $"{ext}_{OpenXRRuntime.GetExtensionVersion(ext)}").ToArray(), available_extensions = (from ext in OpenXRRuntime.GetAvailableExtensions() select $"{ext}_{OpenXRRuntime.GetExtensionVersion(ext)}").ToArray(), enabled_features = (from f in OpenXRSettings.Instance.features where (Object)(object)f != (Object)null && f.enabled select ((object)f).GetType().FullName + "_" + f.version).ToArray(), failed_features = (from f in OpenXRSettings.Instance.features where (Object)(object)f != (Object)null && f.failedInitialization select ((object)f).GetType().FullName + "_" + f.version).ToArray() }; } private static void SendPlayerAnalytics(InitializeEvent data) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) Analytics.SendEvent("openxr_initialize", (object)data, 1, ""); } } public static class Constants { public const string k_SettingsKey = "com.unity.xr.openxr.settings4"; } internal class DiagnosticReport { private const string LibraryName = "UnityOpenXR"; public static readonly ulong k_NullSection; [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_StartReport")] public static extern void StartReport(); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_GetSection")] public static extern ulong GetSection(string sectionName); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_AddSectionEntry")] public static extern void AddSectionEntry(ulong sectionHandle, string sectionEntry, string sectionBody); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_AddSectionBreak")] public static extern void AddSectionBreak(ulong sectionHandle); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_AddEventEntry")] public static extern void AddEventEntry(string eventName, string eventData); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_DumpReport")] private static extern void Internal_DumpReport(); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_DumpReportWithReason")] private static extern void Internal_DumpReport(string reason); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_GenerateReport")] private static extern IntPtr Internal_GenerateReport(); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_ReleaseReport")] private static extern void Internal_ReleaseReport(IntPtr report); internal static string GenerateReport() { string result = ""; IntPtr intPtr = Internal_GenerateReport(); if (intPtr != IntPtr.Zero) { result = Marshal.PtrToStringAnsi(intPtr); Internal_ReleaseReport(intPtr); intPtr = IntPtr.Zero; } return result; } public static void DumpReport(string reason) { Internal_DumpReport(reason); } } public class OpenXRLoader : OpenXRLoaderBase { } public class OpenXRLoaderBase : XRLoaderHelper { private class FeatureLoggingInfo { public string m_nameUi; public string m_version; public string m_company; public string m_openxrExtensionStrings; public FeatureLoggingInfo(string nameUi, string version, string company, string extensionStrings) { m_nameUi = nameUi; m_version = version; m_company = company; m_openxrExtensionStrings = extensionStrings; } } internal enum LoaderState { Uninitialized, InitializeAttempted, Initialized, StartAttempted, Started, StopAttempted, Stopped, DeinitializeAttempted } internal delegate void ReceiveNativeEventDelegate(OpenXRFeature.NativeEvent e, ulong payload); private List<FeatureLoggingInfo> featureLoggingInfo; private const double k_IdlePollingWaitTimeInSeconds = 0.1; private static List<XRDisplaySubsystemDescriptor> s_DisplaySubsystemDescriptors = new List<XRDisplaySubsystemDescriptor>(); private static List<XRInputSubsystemDescriptor> s_InputSubsystemDescriptors = new List<XRInputSubsystemDescriptor>(); private List<LoaderState> validLoaderInitStates = new List<LoaderState> { LoaderState.Uninitialized, LoaderState.InitializeAttempted }; private List<LoaderState> validLoaderStartStates = new List<LoaderState> { LoaderState.Initialized, LoaderState.StartAttempted, LoaderState.Stopped }; private List<LoaderState> validLoaderStopStates = new List<LoaderState> { LoaderState.StartAttempted, LoaderState.Started, LoaderState.StopAttempted }; private List<LoaderState> validLoaderDeinitStates = new List<LoaderState> { LoaderState.InitializeAttempted, LoaderState.Initialized, LoaderState.Stopped, LoaderState.DeinitializeAttempted }; private List<LoaderState> runningStates = new List<LoaderState> { LoaderState.Initialized, LoaderState.StartAttempted, LoaderState.Started }; private OpenXRFeature.NativeEvent currentOpenXRState; private bool actionSetsAttached; private UnhandledExceptionEventHandler unhandledExceptionHandler; internal bool DisableValidationChecksOnEnteringPlaymode; private double lastPollCheckTime; private const string LibraryName = "UnityOpenXR"; internal static OpenXRLoaderBase Instance { get; private set; } internal LoaderState currentLoaderState { get; private set; } internal XRDisplaySubsystem displaySubsystem => ((XRLoaderHelper)this).GetLoadedSubsystem<XRDisplaySubsystem>(); internal XRInputSubsystem inputSubsystem { get { OpenXRLoaderBase instance = Instance; if (instance == null) { return null; } return ((XRLoaderHelper)instance).GetLoadedSubsystem<XRInputSubsystem>(); } } private bool isInitialized { get { if (currentLoaderState != LoaderState.Uninitialized) { return currentLoaderState != LoaderState.DeinitializeAttempted; } return false; } } private bool isStarted => runningStates.Contains(currentLoaderState); private static void ExceptionHandler(object sender, UnhandledExceptionEventArgs args) { ulong section = DiagnosticReport.GetSection("Unhandled Exception Report"); DiagnosticReport.AddSectionEntry(section, "Is Terminating", $"{args.IsTerminating}"); Exception ex = (Exception)args.ExceptionObject; DiagnosticReport.AddSectionEntry(section, "Message", ex.Message ?? ""); DiagnosticReport.AddSectionEntry(section, "Source", ex.Source ?? ""); DiagnosticReport.AddSectionEntry(section, "Stack Trace", "\n" + ex.StackTrace); DiagnosticReport.DumpReport("Uncaught Exception"); } public override bool Initialize() { if (currentLoaderState == LoaderState.Initialized) { return true; } if (!validLoaderInitStates.Contains(currentLoaderState)) { return false; } if ((Object)(object)Instance != (Object)null) { Debug.LogError((object)"Only one OpenXRLoader can be initialized at any given time"); return false; } DiagnosticReport.StartReport(); try { if (InitializeInternal()) { return true; } } catch (Exception ex) { Debug.LogException(ex); } ((XRLoader)this).Deinitialize(); Instance = null; OpenXRAnalytics.SendInitializeEvent(success: false); return false; } private bool InitializeInternal() { //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Expected O, but got Unknown Instance = this; currentLoaderState = LoaderState.InitializeAttempted; Internal_SetSuccessfullyInitialized(value: false); OpenXRInput.RegisterLayouts(); OpenXRFeature.Initialize(); if (!LoadOpenXRSymbols()) { Debug.LogError((object)"Failed to load openxr runtime loader."); return false; } OpenXRSettings.Instance.features = (from f in OpenXRSettings.Instance.features where (Object)(object)f != (Object)null orderby f.priority descending, f.nameUi select f).ToArray(); OpenXRFeature.HookGetInstanceProcAddr(); if (!Internal_InitializeSession()) { return false; } RequestOpenXRFeatures(); RegisterOpenXRCallbacks(); if ((Object)null != (Object)(object)OpenXRSettings.Instance) { OpenXRSettings.Instance.ApplySettings(); } if (!CreateSubsystems()) { return false; } if (OpenXRFeature.requiredFeatureFailed) { return false; } SetApplicationInfo(); OpenXRAnalytics.SendInitializeEvent(success: true); OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemCreate); DebugLogEnabledSpecExtensions(); Application.onBeforeRender += new UnityAction(ProcessOpenXRMessageLoop); currentLoaderState = LoaderState.Initialized; return true; } private bool CreateSubsystems() { if (displaySubsystem == null) { this.CreateSubsystem<XRDisplaySubsystemDescriptor, XRDisplaySubsystem>(s_DisplaySubsystemDescriptors, "OpenXR Display"); if (displaySubsystem == null) { return false; } } if (inputSubsystem == null) { this.CreateSubsystem<XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "OpenXR Input"); if (inputSubsystem == null) { return false; } } return true; } internal void ProcessOpenXRMessageLoop() { if (currentOpenXRState == OpenXRFeature.NativeEvent.XrIdle || currentOpenXRState == OpenXRFeature.NativeEvent.XrStopping || currentOpenXRState == OpenXRFeature.NativeEvent.XrExiting || currentOpenXRState == OpenXRFeature.NativeEvent.XrLossPending || currentOpenXRState == OpenXRFeature.NativeEvent.XrInstanceLossPending) { float realtimeSinceStartup = Time.realtimeSinceStartup; if ((double)realtimeSinceStartup - lastPollCheckTime < 0.1) { return; } lastPollCheckTime = realtimeSinceStartup; } Internal_PumpMessageLoop(); } public override bool Start() { if (currentLoaderState == LoaderState.Started) { return true; } if (!validLoaderStartStates.Contains(currentLoaderState)) { return false; } currentLoaderState = LoaderState.StartAttempted; if (!StartInternal()) { ((XRLoader)this).Stop(); return false; } currentLoaderState = LoaderState.Started; return true; } private bool StartInternal() { if (!Internal_CreateSessionIfNeeded()) { return false; } if (currentOpenXRState != OpenXRFeature.NativeEvent.XrReady || (currentLoaderState != LoaderState.StartAttempted && currentLoaderState != LoaderState.Started)) { return true; } this.StartSubsystem<XRDisplaySubsystem>(); XRDisplaySubsystem obj = displaySubsystem; if (obj != null && !((IntegratedSubsystem)obj).running) { return false; } Internal_BeginSession(); if (!actionSetsAttached) { OpenXRInput.AttachActionSets(); actionSetsAttached = true; } XRDisplaySubsystem obj2 = displaySubsystem; if (obj2 != null && !((IntegratedSubsystem)obj2).running) { this.StartSubsystem<XRDisplaySubsystem>(); } XRInputSubsystem obj3 = inputSubsystem; if (obj3 != null && !((IntegratedSubsystem)obj3).running) { this.StartSubsystem<XRInputSubsystem>(); } XRInputSubsystem obj4 = inputSubsystem; bool num = obj4 != null && ((IntegratedSubsystem)obj4).running; XRDisplaySubsystem obj5 = displaySubsystem; bool flag = obj5 != null && ((IntegratedSubsystem)obj5).running; if (num && flag) { OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemStart); return true; } return false; } public override bool Stop() { if (currentLoaderState == LoaderState.Stopped) { return true; } if (!validLoaderStopStates.Contains(currentLoaderState)) { return false; } currentLoaderState = LoaderState.StopAttempted; XRInputSubsystem obj = inputSubsystem; bool num = obj != null && ((IntegratedSubsystem)obj).running; XRDisplaySubsystem obj2 = displaySubsystem; bool flag = obj2 != null && ((IntegratedSubsystem)obj2).running; if (num || flag) { OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemStop); } if (num) { this.StopSubsystem<XRInputSubsystem>(); } if (flag) { this.StopSubsystem<XRDisplaySubsystem>(); } StopInternal(); currentLoaderState = LoaderState.Stopped; return true; } private void StopInternal() { Internal_EndSession(); ProcessOpenXRMessageLoop(); } public override bool Deinitialize() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown if (currentLoaderState == LoaderState.Uninitialized) { return true; } if (!validLoaderDeinitStates.Contains(currentLoaderState)) { return false; } currentLoaderState = LoaderState.DeinitializeAttempted; try { Internal_RequestExitSession(); Application.onBeforeRender -= new UnityAction(ProcessOpenXRMessageLoop); ProcessOpenXRMessageLoop(); OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemDestroy); this.DestroySubsystem<XRInputSubsystem>(); this.DestroySubsystem<XRDisplaySubsystem>(); DiagnosticReport.DumpReport("System Shutdown"); Internal_DestroySession(); ProcessOpenXRMessageLoop(); Internal_UnloadOpenXRLibrary(); currentLoaderState = LoaderState.Uninitialized; actionSetsAttached = false; if (unhandledExceptionHandler != null) { AppDomain.CurrentDomain.UnhandledException -= unhandledExceptionHandler; unhandledExceptionHandler = null; } return ((XRLoaderHelper)this).Deinitialize(); } finally { Instance = null; } } internal void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem { ((XRLoaderHelper)this).CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } internal void StartSubsystem<T>() where T : class, ISubsystem { ((XRLoaderHelper)this).StartSubsystem<T>(); } internal void StopSubsystem<T>() where T : class, ISubsystem { ((XRLoaderHelper)this).StopSubsystem<T>(); } internal void DestroySubsystem<T>() where T : class, ISubsystem { ((XRLoaderHelper)this).DestroySubsystem<T>(); } private void SetApplicationInfo() { byte[] array = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(Application.version)); if (BitConverter.IsLittleEndian) { Array.Reverse(array); } uint applicationVersionHash = BitConverter.ToUInt32(array, 0); Internal_SetApplicationInfo(Application.productName, Application.version, applicationVersionHash, Application.unityVersion); } internal static byte[] StringToWCHAR_T(string s) { return ((Environment.OSVersion.Platform == PlatformID.Unix) ? Encoding.UTF32 : Encoding.Unicode).GetBytes(s + "\0"); } private bool LoadOpenXRSymbols() { if (!Internal_LoadOpenXRLibrary(StringToWCHAR_T("openxr_loader"))) { return false; } return true; } private void RequestOpenXRFeatures() { OpenXRSettings instance = OpenXRSettings.Instance; if ((Object)(object)instance == (Object)null || instance.features == null) { return; } featureLoggingInfo = new List<FeatureLoggingInfo>(instance.featureCount); OpenXRFeature[] features = instance.features; foreach (OpenXRFeature openXRFeature in features) { if ((Object)(object)openXRFeature == (Object)null || !openXRFeature.enabled) { continue; } featureLoggingInfo.Add(new FeatureLoggingInfo(openXRFeature.nameUi, openXRFeature.version, openXRFeature.company, openXRFeature.openxrExtensionStrings)); if (string.IsNullOrEmpty(openXRFeature.openxrExtensionStrings)) { continue; } string[] array = openXRFeature.openxrExtensionStrings.Split(' '); foreach (string text in array) { if (!string.IsNullOrWhiteSpace(text)) { Internal_RequestEnableExtensionString(text); } } } } private void LogRequestedOpenXRFeatures() { OpenXRSettings instance = OpenXRSettings.Instance; if ((Object)(object)instance == (Object)null || instance.features == null) { return; } StringBuilder stringBuilder = new StringBuilder(""); StringBuilder stringBuilder2 = new StringBuilder(""); uint num = 0u; uint num2 = 0u; foreach (FeatureLoggingInfo item in featureLoggingInfo) { stringBuilder.Append(" " + item.m_nameUi + ": Version=" + item.m_version + ", Company=\"" + item.m_company + "\""); if (!string.IsNullOrEmpty(item.m_openxrExtensionStrings)) { stringBuilder.Append(", Extensions=\"" + item.m_openxrExtensionStrings + "\""); string[] array = item.m_openxrExtensionStrings.Split(' '); foreach (string text in array) { if (!string.IsNullOrWhiteSpace(text) && !Internal_IsExtensionEnabled(text)) { num2++; stringBuilder2.Append(" " + text + ": Feature=\"" + item.m_nameUi + "\": Version=" + item.m_version + ", Company=\"" + item.m_company + "\"\n"); } } } stringBuilder.Append("\n"); } ulong section = DiagnosticReport.GetSection("OpenXR Runtime Info"); DiagnosticReport.AddSectionBreak(section); DiagnosticReport.AddSectionEntry(section, "Features requested to be enabled", $"({num})\n{stringBuilder.ToString()}"); DiagnosticReport.AddSectionBreak(section); DiagnosticReport.AddSectionEntry(section, "Requested feature extensions not supported by runtime", $"({num2})\n{stringBuilder2.ToString()}"); } private static void DebugLogEnabledSpecExtensions() { ulong section = DiagnosticReport.GetSection("OpenXR Runtime Info"); DiagnosticReport.AddSectionBreak(section); string[] enabledExtensions = OpenXRRuntime.GetEnabledExtensions(); StringBuilder stringBuilder = new StringBuilder($"({enabledExtensions.Length})\n"); string[] array = enabledExtensions; foreach (string text in array) { stringBuilder.Append($" {text}: Version={OpenXRRuntime.GetExtensionVersion(text)}\n"); } DiagnosticReport.AddSectionEntry(section, "Runtime extensions enabled", stringBuilder.ToString()); } [MonoPInvokeCallback(typeof(ReceiveNativeEventDelegate))] private static void ReceiveNativeEvent(OpenXRFeature.NativeEvent e, ulong payload) { OpenXRLoaderBase instance = Instance; if ((Object)(object)instance != (Object)null) { instance.currentOpenXRState = e; } switch (e) { case OpenXRFeature.NativeEvent.XrRestartRequested: OpenXRRestarter.Instance.ShutdownAndRestart(); break; case OpenXRFeature.NativeEvent.XrReady: instance.StartInternal(); break; case OpenXRFeature.NativeEvent.XrBeginSession: instance.LogRequestedOpenXRFeatures(); break; case OpenXRFeature.NativeEvent.XrFocused: DiagnosticReport.DumpReport("System Startup Completed"); break; case OpenXRFeature.NativeEvent.XrRequestRestartLoop: Debug.Log((object)"XR Initialization failed, will try to restart xr periodically."); OpenXRRestarter.Instance.PauseAndShutdownAndRestart(); break; case OpenXRFeature.NativeEvent.XrRequestGetSystemLoop: OpenXRRestarter.Instance.PauseAndRetryInitialization(); break; case OpenXRFeature.NativeEvent.XrStopping: instance.StopInternal(); break; } OpenXRFeature.ReceiveNativeEvent(e, payload); if ((!((Object)(object)instance == (Object)null) && instance.isStarted) || e == OpenXRFeature.NativeEvent.XrInstanceChanged) { switch (e) { case OpenXRFeature.NativeEvent.XrExiting: OpenXRRestarter.Instance.Shutdown(); break; case OpenXRFeature.NativeEvent.XrLossPending: OpenXRRestarter.Instance.ShutdownAndRestart(); break; case OpenXRFeature.NativeEvent.XrInstanceLossPending: OpenXRRestarter.Instance.Shutdown(); break; } } } internal static void RegisterOpenXRCallbacks() { Internal_SetCallbacks(ReceiveNativeEvent); } [DllImport("UnityOpenXR", EntryPoint = "main_LoadOpenXRLibrary")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_LoadOpenXRLibrary(byte[] loaderPath); [DllImport("UnityOpenXR", EntryPoint = "main_UnloadOpenXRLibrary")] internal static extern void Internal_UnloadOpenXRLibrary(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetCallbacks")] private static extern void Internal_SetCallbacks(ReceiveNativeEventDelegate callback); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "NativeConfig_SetApplicationInfo")] private static extern void Internal_SetApplicationInfo(string applicationName, string applicationVersion, uint applicationVersionHash, string engineVersion); [DllImport("UnityOpenXR", EntryPoint = "session_RequestExitSession")] internal static extern void Internal_RequestExitSession(); [DllImport("UnityOpenXR", EntryPoint = "session_InitializeSession")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_InitializeSession(); [DllImport("UnityOpenXR", EntryPoint = "session_CreateSessionIfNeeded")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_CreateSessionIfNeeded(); [DllImport("UnityOpenXR", EntryPoint = "session_BeginSession")] internal static extern void Internal_BeginSession(); [DllImport("UnityOpenXR", EntryPoint = "session_EndSession")] internal static extern void Internal_EndSession(); [DllImport("UnityOpenXR", EntryPoint = "session_DestroySession")] internal static extern void Internal_DestroySession(); [DllImport("UnityOpenXR", EntryPoint = "messagepump_PumpMessageLoop")] private static extern void Internal_PumpMessageLoop(); [DllImport("UnityOpenXR", EntryPoint = "session_SetSuccessfullyInitialized")] internal static extern void Internal_SetSuccessfullyInitialized([MarshalAs(UnmanagedType.I1)] bool value); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "unity_ext_RequestEnableExtensionString")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_RequestEnableExtensionString(string extensionString); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_IsExtensionEnabled")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_IsExtensionEnabled(string extensionName); } public class OpenXRLoaderNoPreInit : OpenXRLoaderBase { } internal class OpenXRRestarter : MonoBehaviour { internal Action onAfterRestart; internal Action onAfterShutdown; internal Action onQuit; internal Action onAfterCoroutine; internal Action onAfterSuccessfulRestart; private static OpenXRRestarter s_Instance; private Coroutine m_Coroutine; private static int m_pauseAndRestartCoroutineCount; private Object m_PauseAndRestartCoroutineCountLock = new Object(); private static int m_pauseAndRestartAttempts; public bool isRunning => m_Coroutine != null; public static float TimeBetweenRestartAttempts { get; set; } public static int PauseAndRestartAttempts => m_pauseAndRestartAttempts; internal static int PauseAndRestartCoroutineCount => m_pauseAndRestartCoroutineCount; public static OpenXRRestarter Instance { get { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown if ((Object)(object)s_Instance == (Object)null) { GameObject val = GameObject.Find("~oxrestarter"); if ((Object)(object)val == (Object)null) { val = new GameObject("~oxrestarter"); ((Object)val).hideFlags = (HideFlags)61; val.AddComponent<OpenXRRestarter>(); } s_Instance = val.GetComponent<OpenXRRestarter>(); } return s_Instance; } } internal static bool DisableApplicationQuit { get; set; } static OpenXRRestarter() { TimeBetweenRestartAttempts = 5f; DisableApplicationQuit = false; } public void ResetCallbacks() { onAfterRestart = null; onAfterSuccessfulRestart = null; onAfterShutdown = null; onAfterCoroutine = null; onQuit = null; m_pauseAndRestartAttempts = 0; } public void Shutdown() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { if (m_Coroutine != null) { Debug.LogError((object)"Only one shutdown or restart can be executed at a time"); } else { m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: false, shouldShutdown: true)); } } } public void ShutdownAndRestart() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { if (m_Coroutine != null) { Debug.LogError((object)"Only one shutdown or restart can be executed at a time"); } else { m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: true, shouldShutdown: true)); } } } public void PauseAndShutdownAndRestart() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { ((MonoBehaviour)this).StartCoroutine(PauseAndShutdownAndRestartCoroutine(TimeBetweenRestartAttempts)); } } public void PauseAndRetryInitialization() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { ((MonoBehaviour)this).StartCoroutine(PauseAndRetryInitializationCoroutine(TimeBetweenRestartAttempts)); } } private void IncrementPauseAndRestartCoroutineCount() { lock (m_PauseAndRestartCoroutineCountLock) { m_pauseAndRestartCoroutineCount++; } } private void DecrementPauseAndRestartCoroutineCount() { lock (m_PauseAndRestartCoroutineCountLock) { m_pauseAndRestartCoroutineCount--; } } private IEnumerator PauseAndShutdownAndRestartCoroutine(float pauseTimeInSeconds) { IncrementPauseAndRestartCoroutineCount(); try { yield return (object)new WaitForSeconds(pauseTimeInSeconds); yield return new WaitForRestartFinish(); m_pauseAndRestartAttempts++; m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: true, shouldShutdown: true)); } finally { onAfterCoroutine?.Invoke(); } DecrementPauseAndRestartCoroutineCount(); } private IEnumerator PauseAndRetryInitializationCoroutine(float pauseTimeInSeconds) { IncrementPauseAndRestartCoroutineCount(); try { yield return (object)new WaitForSeconds(pauseTimeInSeconds); yield return new WaitForRestartFinish(); if (!((Object)(object)XRGeneralSettings.Instance.Manager.activeLoader != (Object)null)) { m_pauseAndRestartAttempts++; m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: true, shouldShutdown: false)); } } finally { onAfterCoroutine?.Invoke(); } DecrementPauseAndRestartCoroutineCount(); } private IEnumerator RestartCoroutine(bool shouldRestart, bool shouldShutdown) { try { if (shouldShutdown) { Debug.Log((object)"Shutting down OpenXR."); yield return null; XRGeneralSettings.Instance.Manager.DeinitializeLoader(); yield return null; onAfterShutdown?.Invoke(); } if (shouldRestart && OpenXRRuntime.ShouldRestart()) { Debug.Log((object)"Initializing OpenXR."); yield return XRGeneralSettings.Instance.Manager.InitializeLoader(); XRGeneralSettings.Instance.Manager.StartSubsystems(); if ((Object)(object)XRGeneralSettings.Instance.Manager.activeLoader != (Object)null) { m_pauseAndRestartAttempts = 0; onAfterSuccessfulRestart?.Invoke(); } onAfterRestart?.Invoke(); } else if (OpenXRRuntime.ShouldQuit()) { onQuit?.Invoke(); if (!DisableApplicationQuit) { Application.Quit(); } } } finally { OpenXRRestarter openXRRestarter = this; openXRRestarter.m_Coroutine = null; openXRRestarter.onAfterCoroutine?.Invoke(); } } } public static class OpenXRRuntime { private const string LibraryName = "UnityOpenXR"; public static string name { get { if (!Internal_GetRuntimeName(out var runtimeNamePtr)) { return ""; } return Marshal.PtrToStringAnsi(runtimeNamePtr); } } public static string version { get { if (!Internal_GetRuntimeVersion(out var major, out var minor, out var patch)) { return ""; } return $"{major}.{minor}.{patch}"; } } public static string apiVersion { get { if (!Internal_GetAPIVersion(out var major, out var minor, out var patch)) { return ""; } return $"{major}.{minor}.{patch}"; } } public static string pluginVersion { get { if (!Internal_GetPluginVersion(out var pluginVersionPtr)) { return ""; } return Marshal.PtrToStringAnsi(pluginVersionPtr); } } public static bool retryInitializationOnFormFactorErrors { get { return Internal_GetSoftRestartLoopAtInitialization(); } set { Internal_SetSoftRestartLoopAtInitialization(value); } } public static event Func<bool> wantsToQuit; public static event Func<bool> wantsToRestart; internal static bool isRuntimeAPIVersionGreaterThan1_1() { if (Internal_GetAPIVersion(out var major, out var minor, out var _) && major >= 1 && minor >= 1) { return true; } return false; } public static bool IsExtensionEnabled(string extensionName) { return Internal_IsExtensionEnabled(extensionName); } public static uint GetExtensionVersion(string extensionName) { return Internal_GetExtensionVersion(extensionName); } public static string[] GetEnabledExtensions() { string[] array = new string[Internal_GetEnabledExtensionCount()]; for (int i = 0; i < array.Length; i++) { Internal_GetEnabledExtensionName((uint)i, out var extensionName); array[i] = extensionName ?? ""; } return array; } public static string[] GetAvailableExtensions() { string[] array = new string[Internal_GetAvailableExtensionCount()]; for (int i = 0; i < array.Length; i++) { Internal_GetAvailableExtensionName((uint)i, out var extensionName); array[i] = extensionName ?? ""; } return array; } private static bool InvokeEvent(Func<bool> func) { if (func == null) { return true; } Delegate[] invocationList = func.GetInvocationList(); for (int i = 0; i < invocationList.Length; i++) { Func<bool> func2 = (Func<bool>)invocationList[i]; try { if (!func2()) { return false; } } catch (Exception ex) { Debug.LogException(ex); } } return true; } internal static bool ShouldQuit() { return InvokeEvent(OpenXRRuntime.wantsToQuit); } internal static bool ShouldRestart() { return InvokeEvent(OpenXRRuntime.wantsToRestart); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeName")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetRuntimeName(out IntPtr runtimeNamePtr); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeVersion")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetRuntimeVersion(out ushort major, out ushort minor, out uint patch); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetAPIVersion")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetAPIVersion(out ushort major, out ushort minor, out uint patch); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetPluginVersion")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetPluginVersion(out IntPtr pluginVersionPtr); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_IsExtensionEnabled")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_IsExtensionEnabled(string extensionName); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_GetExtensionVersion")] private static extern uint Internal_GetExtensionVersion(string extensionName); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_GetEnabledExtensionCount")] private static extern uint Internal_GetEnabledExtensionCount(); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "unity_ext_GetEnabledExtensionName")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetEnabledExtensionNamePtr(uint index, out IntPtr outName); [DllImport("UnityOpenXR", EntryPoint = "session_SetSoftRestartLoopAtInitialization")] private static extern void Internal_SetSoftRestartLoopAtInitialization([MarshalAs(UnmanagedType.I1)] bool value); [DllImport("UnityOpenXR", EntryPoint = "session_GetSoftRestartLoopAtInitialization")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetSoftRestartLoopAtInitialization(); private static bool Internal_GetEnabledExtensionName(uint index, out string extensionName) { if (!Internal_GetEnabledExtensionNamePtr(index, out var outName)) { extensionName = ""; return false; } extensionName = Marshal.PtrToStringAnsi(outName); return true; } [DllImport("UnityOpenXR", EntryPoint = "unity_ext_GetAvailableExtensionCount")] private static extern uint Internal_GetAvailableExtensionCount(); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "unity_ext_GetAvailableExtensionName")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetAvailableExtensionNamePtr(uint index, out IntPtr extensionName); private static bool Internal_GetAvailableExtensionName(uint index, out string extensionName) { if (!Internal_GetAvailableExtensionNamePtr(index, out var extensionName2)) { extensionName = ""; return false; } extensionName = Marshal.PtrToStringAnsi(extensionName2); return true; } [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "session_GetLastError")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetLastError(out IntPtr error); internal static bool GetLastError(out string error) { if (!Internal_GetLastError(out var error2)) { error = ""; return false; } error = Marshal.PtrToStringAnsi(error2); return true; } internal static void LogLastError() { if (GetLastError(out var error)) { Debug.LogError((object)error); } } } public static class OpenXRUtility { private const string LibraryName = "UnityOpenXR"; public static bool IsSessionFocused => Internal_IsSessionFocused(); public static bool IsUserPresent => Internal_GetUserPresence(); private static Pose Inverse(Pose p) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: 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_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) //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_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: 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) Pose val = default(Pose); val.rotation = Quaternion.Inverse(p.rotation); val.position = val.rotation * -p.position; return val; } public static Pose ComputePoseToWorldSpace(Transform t, Camera camera) { //IL_001e: 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_0031: 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_0044: 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_0056: 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_0061: 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_0066: Unknown result type (might be due to invalid IL or missing references) //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) if ((Object)(object)camera == (Object)null) { return default(Pose); } Transform transform = ((Component)camera).transform; Pose val = default(Pose); ((Pose)(ref val))..ctor(transform.localPosition, transform.localRotation); Pose p = default(Pose); ((Pose)(ref p))..ctor(transform.position, transform.rotation); Pose val2 = default(Pose); ((Pose)(ref val2))..ctor(t.position, t.rotation); Pose transformedBy = ((Pose)(ref val2)).GetTransformedBy(Inverse(p)); return ((Pose)(ref transformedBy)).GetTransformedBy(val); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_IsSessionFocused")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_IsSessionFocused(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetUserPresence")] [return: MarshalAs(UnmanagedType.U1)] private static extern bool Internal_GetUserPresence(); } internal sealed class WaitForRestartFinish : CustomYieldInstruction { private float m_Timeout; public override bool keepWaiting { get { if (!OpenXRRestarter.Instance.isRunning) { return false; } if (Time.realtimeSinceStartup > m_Timeout) { Debug.LogError((object)"WaitForRestartFinish: Timeout"); return false; } return true; } } public WaitForRestartFinish(float timeout = 5f) { m_Timeout = Time.realtimeSinceStartup + timeout; } } } namespace UnityEngine.XR.OpenXR.API { public enum UnityXRRenderTextureFormat { kUnityXRRenderTextureFormatRGBA32 = 0, kUnityXRRenderTextureFormatBGRA32 = 1, kUnityXRRenderTextureFormatRGB565 = 2, kUnityXRRenderTextureFormatR16G16B16A16_SFloat = 3, kUnityXRRenderTextureFormatRGBA1010102 = 4, kUnityXRRenderTextureFormatBGRA1010102 = 5, kUnityXRRenderTextureFormatR11G11B10_UFloat = 6, kUnityXRRenderTextureFormatReference = 64, kUnityXRRenderTextureFormatSoftReferenceMSAA = 65, kUnityXRRenderTextureFormatNone = 66 } public struct UnityXRTextureData { public IntPtr nativePtr; public uint referenceTextureId; } public enum UnityXRDepthTextureFormat { kUnityXRDepthTextureFormat24bitOrGreater, kUnityXRDepthTextureFormat16bit, kUnityXRDepthTextureFormatReference, kUnityXRDepthTextureFormatNone } public enum UnityXRShadingRateFormat { kUnityXRShadingRateFormatNone, kUnityXRShadingRateR8G8 } public enum UnityXRRenderTextureFlags { kUnityXRRenderTextureFlagsUVDirectionTopToBottom = 1, kUnityXRRenderTextureFlagsMultisampleAutoResolve = 2, kUnityXRRenderTextureFlagsLockedWidthHeight = 4, kUnityXRRenderTextureFlagsWriteOnly = 8, kUnityXRRenderTextureFlagsSRGB = 0x10, kUnityXRRenderTextureFlagsOptimizeBufferDiscards = 0x20, kUnityXRRenderTextureFlagsMotionVectorTexture = 0x40, kUnityXRRenderTextureFlagsFoveationOffset = 0x80, kUnityXRRenderTextureFlagsViewportAsRenderArea = 0x100, kUnityXRRenderTextureFlagsHDR = 0x200 } public struct UnityXRRenderTextureDesc { public UnityXRRenderTextureFormat colorFormat; public UnityXRTextureData color; public UnityXRDepthTextureFormat depthFormat; public UnityXRTextureData depth; public UnityXRShadingRateFormat shadingRateFormat; public UnityXRTextureData shadingRate; public uint width; public uint height; public uint textureArrayLength; public uint flags;
BepInEx/plugins/HowToFishXR/UnityEngine.SpatialTracking.dll
Decompiled 7 hours agousing System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using UnityEngine.Events; using UnityEngine.Experimental.XR.Interaction; using UnityEngine.SpatialTracking; using UnityEngine.XR; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("UnityEditor.XR.SpatialTracking")] [assembly: InternalsVisibleTo("UnityEditor.SpatialTracking")] [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() { return new MonoScriptData { FilePathsData = new byte[229] { 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, 120, 114, 46, 108, 101, 103, 97, 99, 121, 105, 110, 112, 117, 116, 104, 101, 108, 112, 101, 114, 115, 64, 50, 46, 49, 46, 49, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 92, 66, 97, 115, 101, 80, 111, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 4, 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, 120, 114, 46, 108, 101, 103, 97, 99, 121, 105, 110, 112, 117, 116, 104, 101, 108, 112, 101, 114, 115, 64, 50, 46, 49, 46, 49, 50, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 46, 99, 115 }, TypesData = new byte[297] { 0, 0, 0, 0, 56, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 69, 120, 112, 101, 114, 105, 109, 101, 110, 116, 97, 108, 46, 88, 82, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 66, 97, 115, 101, 80, 111, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 0, 0, 0, 0, 69, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 46, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 124, 80, 111, 115, 101, 68, 97, 116, 97, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 80, 111, 115, 101, 68, 97, 116, 97, 83, 111, 117, 114, 99, 101, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114 }, TotalFiles = 2, TotalTypes = 5, IsEditorOnly = false }; } } namespace UnityEngine.SpatialTracking { internal class TrackedPoseDriverDataDescription { internal struct PoseData { public List<string> PoseNames; public List<TrackedPoseDriver.TrackedPose> Poses; } internal static List<PoseData> DeviceData = new List<PoseData> { new PoseData { PoseNames = new List<string> { "Left Eye", "Right Eye", "Center Eye - HMD Reference", "Head", "Color Camera" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.LeftEye, TrackedPoseDriver.TrackedPose.RightEye, TrackedPoseDriver.TrackedPose.Center, TrackedPoseDriver.TrackedPose.Head, TrackedPoseDriver.TrackedPose.ColorCamera } }, new PoseData { PoseNames = new List<string> { "Left Controller", "Right Controller" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.LeftPose, TrackedPoseDriver.TrackedPose.RightPose } }, new PoseData { PoseNames = new List<string> { "Device Pose" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.RemotePose } } }; } [Flags] public enum PoseDataFlags { NoData = 0, Position = 1, Rotation = 2 } public static class PoseDataSource { internal static List<XRNodeState> nodeStates = new List<XRNodeState>(); internal static PoseDataFlags GetNodePoseData(XRNode node, out Pose resultPose) { //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_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_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) PoseDataFlags poseDataFlags = PoseDataFlags.NoData; InputTracking.GetNodeStates(nodeStates); foreach (XRNodeState nodeState in nodeStates) { XRNodeState current = nodeState; if (((XRNodeState)(ref current)).nodeType == node) { if (((XRNodeState)(ref current)).TryGetPosition(ref resultPose.position)) { poseDataFlags |= PoseDataFlags.Position; } if (((XRNodeState)(ref current)).TryGetRotation(ref resultPose.rotation)) { poseDataFlags |= PoseDataFlags.Rotation; } return poseDataFlags; } } resultPose = Pose.identity; return poseDataFlags; } public static bool TryGetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose) { return GetDataFromSource(poseSource, out resultPose) == (PoseDataFlags.Position | PoseDataFlags.Rotation); } public static PoseDataFlags GetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose) { //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) switch (poseSource) { case TrackedPoseDriver.TrackedPose.RemotePose: { PoseDataFlags nodePoseData = GetNodePoseData((XRNode)5, out resultPose); if (nodePoseData == PoseDataFlags.NoData) { return GetNodePoseData((XRNode)4, out resultPose); } return nodePoseData; } case TrackedPoseDriver.TrackedPose.LeftEye: return GetNodePoseData((XRNode)0, out resultPose); case TrackedPoseDriver.TrackedPose.RightEye: return GetNodePoseData((XRNode)1, out resultPose); case TrackedPoseDriver.TrackedPose.Head: return GetNodePoseData((XRNode)3, out resultPose); case TrackedPoseDriver.TrackedPose.Center: return GetNodePoseData((XRNode)2, out resultPose); case TrackedPoseDriver.TrackedPose.LeftPose: return GetNodePoseData((XRNode)4, out resultPose); case TrackedPoseDriver.TrackedPose.RightPose: return GetNodePoseData((XRNode)5, out resultPose); case TrackedPoseDriver.TrackedPose.ColorCamera: return GetNodePoseData((XRNode)2, out resultPose); default: Debug.LogWarningFormat("Unable to retrieve pose data for poseSource: {0}", new object[1] { poseSource.ToString() }); resultPose = Pose.identity; return PoseDataFlags.NoData; } } } [Serializable] [DefaultExecutionOrder(-30000)] [AddComponentMenu("XR/Tracked Pose Driver")] [HelpURL("https://docs.unity3d.com/Packages/[email protected]/manual/index.html")] public class TrackedPoseDriver : MonoBehaviour { public enum DeviceType { GenericXRDevice, GenericXRController, GenericXRRemote } public enum TrackedPose { LeftEye, RightEye, Center, Head, LeftPose, RightPose, ColorCamera, DepthCameraDeprecated, FisheyeCameraDeprected, DeviceDeprecated, RemotePose } public enum TrackingType { RotationAndPosition, RotationOnly, PositionOnly } public enum UpdateType { UpdateAndBeforeRender, Update, BeforeRender } [SerializeField] private DeviceType m_Device; [SerializeField] private TrackedPose m_PoseSource = TrackedPose.Center; [SerializeField] private BasePoseProvider m_PoseProviderComponent; [SerializeField] private TrackingType m_TrackingType; [SerializeField] private UpdateType m_UpdateType; [SerializeField] private bool m_UseRelativeTransform; protected Pose m_OriginPose; public DeviceType deviceType { get { return m_Device; } internal set { m_Device = value; } } public TrackedPose poseSource { get { return m_PoseSource; } internal set { m_PoseSource = value; } } public BasePoseProvider poseProviderComponent { get { return m_PoseProviderComponent; } set { m_PoseProviderComponent = value; } } public TrackingType trackingType { get { return m_TrackingType; } set { m_TrackingType = value; } } public UpdateType updateType { get { return m_UpdateType; } set { m_UpdateType = value; } } public bool UseRelativeTransform { get { return m_UseRelativeTransform; } set { m_UseRelativeTransform = value; } } public Pose originPose { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_OriginPose; } 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_OriginPose = value; } } public bool SetPoseSource(DeviceType deviceType, TrackedPose pose) { if ((int)deviceType < TrackedPoseDriverDataDescription.DeviceData.Count) { TrackedPoseDriverDataDescription.PoseData poseData = TrackedPoseDriverDataDescription.DeviceData[(int)deviceType]; for (int i = 0; i < poseData.Poses.Count; i++) { if (poseData.Poses[i] == pose) { this.deviceType = deviceType; poseSource = pose; return true; } } } return false; } private PoseDataFlags GetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose) { if (!((Object)(object)m_PoseProviderComponent != (Object)null)) { return PoseDataSource.GetDataFromSource(poseSource, out resultPose); } return m_PoseProviderComponent.GetPoseFromProvider(out resultPose); } private void CacheLocalPosition() { //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_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) m_OriginPose.position = ((Component)this).transform.localPosition; m_OriginPose.rotation = ((Component)this).transform.localRotation; } private void ResetToCachedLocalPosition() { //IL_0007: 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) SetLocalTransform(m_OriginPose.position, m_OriginPose.rotation, PoseDataFlags.Position | PoseDataFlags.Rotation); } protected virtual void Awake() { CacheLocalPosition(); } protected virtual void OnDestroy() { } protected virtual void OnEnable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Application.onBeforeRender += new UnityAction(OnBeforeRender); } protected virtual void OnDisable() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown ResetToCachedLocalPosition(); Application.onBeforeRender -= new UnityAction(OnBeforeRender); } protected virtual void FixedUpdate() { if (m_UpdateType == UpdateType.Update || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } protected virtual void Update() { if (m_UpdateType == UpdateType.Update || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } [BeforeRenderOrder(-30000)] protected virtual void OnBeforeRender() { if (m_UpdateType == UpdateType.BeforeRender || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } protected virtual void SetLocalTransform(Vector3 newPosition, Quaternion newRotation, PoseDataFlags poseFlags) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) if ((m_TrackingType == TrackingType.RotationAndPosition || m_TrackingType == TrackingType.RotationOnly) && (poseFlags & PoseDataFlags.Rotation) > PoseDataFlags.NoData) { ((Component)this).transform.localRotation = newRotation; } if ((m_TrackingType == TrackingType.RotationAndPosition || m_TrackingType == TrackingType.PositionOnly) && (poseFlags & PoseDataFlags.Position) > PoseDataFlags.NoData) { ((Component)this).transform.localPosition = newPosition; } } protected Pose TransformPoseByOriginIfNeeded(Pose pose) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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) if (m_UseRelativeTransform) { return ((Pose)(ref pose)).GetTransformedBy(m_OriginPose); } return pose; } private bool HasStereoCamera() { Camera component = ((Component)this).GetComponent<Camera>(); if ((Object)(object)component != (Object)null) { return component.stereoEnabled; } return false; } protected virtual void PerformUpdate() { //IL_0022: 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_002a: 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_0031: Unknown result type (might be due to invalid IL or missing references) if (((Behaviour)this).enabled) { Pose resultPose; PoseDataFlags poseData = GetPoseData(m_Device, m_PoseSource, out resultPose); if (poseData != PoseDataFlags.NoData) { Pose val = TransformPoseByOriginIfNeeded(resultPose); SetLocalTransform(val.position, val.rotation, poseData); } } } } } namespace UnityEngine.Experimental.XR.Interaction { [Serializable] public abstract class BasePoseProvider : MonoBehaviour { public virtual PoseDataFlags GetPoseFromProvider(out Pose output) { if (TryGetPoseFromProvider(out output)) { return PoseDataFlags.Position | PoseDataFlags.Rotation; } return PoseDataFlags.NoData; } [Obsolete("This function is provided for backwards compatibility with the BasePoseProvider found in com.unity.xr.legacyinputhelpers v1.3.X. Please do not implement this function, instead use the new API via GetPoseFromProvider", false)] public virtual bool TryGetPoseFromProvider(out Pose output) { //IL_0001: 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) output = Pose.identity; return false; } } }