Explorar o código

导入红外SDK

lvjincheng %!s(int64=2) %!d(string=hai) anos
pai
achega
c43a3e2e64
Modificáronse 100 ficheiros con 7445 adicións e 144 borrados
  1. 6 6
      Assets/BowArrow/Scripts/Bluetooth/New/o0663Axis.cs
  2. 3 3
      Assets/BowArrow/Scripts/Bluetooth/New/o09AxisAfterXiaMenFromDll.cs
  3. 1 1
      Assets/BowArrow/Scripts/Bluetooth/o09AxisCS.cs
  4. 8 8
      Assets/BowArrow/Scripts/Bluetooth/o0DistanceToAxis.cs
  5. BIN=BIN
      Assets/BowArrow/Scripts/Bluetooth/o0Lib/o0NetLib.dll
  6. 55 2
      Assets/BowArrow/Scripts/Bluetooth/o0Lib/o0NetLib.dll.meta
  7. 127 124
      Assets/BowArrow/Scripts/Components/TextSpacing.cs
  8. 8 0
      Assets/InfraredProject.meta
  9. 8 0
      Assets/InfraredProject/InfraredCamera.meta
  10. 8 0
      Assets/InfraredProject/InfraredCamera/Effect.meta
  11. 83 0
      Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastMaterial.mat
  12. 8 0
      Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastMaterial.mat.meta
  13. 40 0
      Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastShader.shader
  14. 10 0
      Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastShader.shader.meta
  15. 67 0
      Assets/InfraredProject/InfraredCamera/Effect/EasyImageEffectShader.shader
  16. 10 0
      Assets/InfraredProject/InfraredCamera/Effect/EasyImageEffectShader.shader.meta
  17. 8 0
      Assets/InfraredProject/InfraredCamera/Scripts.meta
  18. 216 0
      Assets/InfraredProject/InfraredCamera/Scripts/InfraredCameraHelper.cs
  19. 11 0
      Assets/InfraredProject/InfraredCamera/Scripts/InfraredCameraHelper.cs.meta
  20. 43 0
      Assets/InfraredProject/InfraredCamera/Scripts/ScreenLocate.cs
  21. 11 0
      Assets/InfraredProject/InfraredCamera/Scripts/ScreenLocate.cs.meta
  22. 8 0
      Assets/InfraredProject/Packages.meta
  23. 8 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0.meta
  24. BIN=BIN
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png
  25. 88 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png.meta
  26. 23 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT
  27. 7 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT.meta
  28. BIN=BIN
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg
  29. 7 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg.meta
  30. 884 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/THIRD-PARTY-NOTICES.TXT
  31. 7 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/THIRD-PARTY-NOTICES.TXT.meta
  32. 8 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib.meta
  33. 8 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0.meta
  34. BIN=BIN
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll
  35. 33 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll.meta
  36. 223 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml
  37. 7 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml.meta
  38. 0 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt
  39. 7 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt.meta
  40. 1 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt
  41. 7 0
      Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt.meta
  42. 8 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1.meta
  43. 23 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/LICENSE.TXT
  44. 7 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/LICENSE.TXT.meta
  45. BIN=BIN
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg
  46. 7 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg.meta
  47. 309 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT
  48. 7 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT.meta
  49. 8 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib.meta
  50. 8 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0.meta
  51. BIN=BIN
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll
  52. 33 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll.meta
  53. 38 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml
  54. 7 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml.meta
  55. 0 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt
  56. 7 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt.meta
  57. 1 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/version.txt
  58. 7 0
      Assets/InfraredProject/Packages/System.Buffers.4.5.1/version.txt.meta
  59. 8 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4.meta
  60. 23 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/LICENSE.TXT
  61. 7 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/LICENSE.TXT.meta
  62. BIN=BIN
      Assets/InfraredProject/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg
  63. 7 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg.meta
  64. 309 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT
  65. 7 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT.meta
  66. 8 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/lib.meta
  67. 8 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0.meta
  68. BIN=BIN
      Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll
  69. 33 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll.meta
  70. 355 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml
  71. 7 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml.meta
  72. 0 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt
  73. 7 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt.meta
  74. 1 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/version.txt
  75. 7 0
      Assets/InfraredProject/Packages/System.Memory.4.5.4/version.txt.meta
  76. 8 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0.meta
  77. 23 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT
  78. 7 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT.meta
  79. BIN=BIN
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg
  80. 7 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg.meta
  81. 309 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT
  82. 7 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT.meta
  83. 8 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib.meta
  84. 8 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0.meta
  85. 2621 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml
  86. 7 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml.meta
  87. 0 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt
  88. 7 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt.meta
  89. 1 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/version.txt
  90. 7 0
      Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/version.txt.meta
  91. 8 0
      Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1.meta
  92. 8 0
      Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0.meta
  93. BIN=BIN
      Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.dll
  94. 33 0
      Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.dll.meta
  95. 936 0
      Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.xml
  96. 7 0
      Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.xml.meta
  97. 8 0
      Assets/InfraredProject/Packages/System.Text.Json.5.0.2.meta
  98. BIN=BIN
      Assets/InfraredProject/Packages/System.Text.Json.5.0.2/Icon.png
  99. 88 0
      Assets/InfraredProject/Packages/System.Text.Json.5.0.2/Icon.png.meta
  100. 23 0
      Assets/InfraredProject/Packages/System.Text.Json.5.0.2/LICENSE.TXT

+ 6 - 6
Assets/BowArrow/Scripts/Bluetooth/New/o0663Axis.cs

@@ -68,7 +68,7 @@ namespace o0.Bow
             var (Gyr, Acc, Mag, TimeGap) = Attitude.Update(gyr1Byte, gyr2Byte, acc1Byte, acc2Byte, magByte, min, sec, ms1, ms2);
 
 
-            var GyrOperator = Geometry.Quaternion.Euler(Gyr * TimeGap);
+            var GyrOperator = Geometry.Quaternion.Euler((Gyr * TimeGap).To<float>());
 
 
             var Last = States.LastOrDefault() ?? new State();
@@ -124,15 +124,15 @@ namespace o0.Bow
 
 
 
-            var GyrOperator = Geometry.Quaternion.Euler(Gyr * TimeGap);
+            var GyrOperator = Geometry.Quaternion.Euler((Gyr * TimeGap).To<float>());
             var quaGyr = LastQuaternion * GyrOperator;
 
 
             //TestVector.Update9AxisRotation(GyrOperator, 1);
             //TestVector.SetAcc(Acc / 10, 1);
             //TestVector.SetMag(Mag, 1);
-            var accTest = Geometry.Quaternion.FromToRotation(Last.Acc, Acc).Inversed;
-            var magTest = Geometry.Quaternion.FromToRotation(Last.Mag, Mag).Inversed;
+            var accTest = Geometry.Quaternion.FromToRotation(Last.Acc.To<float>(), Acc.To<float>()).Inversed;
+            var magTest = Geometry.Quaternion.FromToRotation(Last.Mag.To<float>(), Mag.To<float>()).Inversed;
             //TestVector.Set9AxisRotation(Last.Qua, 3);
 
             double AccLengthToAngle = 5;//1倍引力差相当于多少度方差
@@ -163,7 +163,7 @@ namespace o0.Bow
             if (double.IsNaN(state.Variance))
                 state.Variance = 0.0000001;
 
-            var quaAccMag = Geometry.Quaternion.FormQuaternion(AccIdentity, MagIdentity, state.Acc, state.Mag, (float)(AccVariance / (AccVariance + MagVariance)));
+            var quaAccMag = Geometry.Quaternion.FormQuaternion(AccIdentity.To<float>(), MagIdentity.To<float>(), state.Acc.To<float>(), state.Mag.To<float>(), (float)(AccVariance / (AccVariance + MagVariance)));
             var quaMinRate = GyrVariance / (GyrVariance + Math.Max(AccVariance, MagVariance));
             var quaMaxRate = GyrVariance / (GyrVariance + Math.Min(AccVariance, MagVariance));
             Geometry.Quaternion quaFirst = Geometry.Quaternion.SLerp(quaGyr, quaAccMag, (float)quaMinRate);
@@ -172,7 +172,7 @@ namespace o0.Bow
 
             var quaSecondRate = (quaMaxRate - quaMinRate) / (1 - quaMinRate);
 
-            state.Qua = AccVariance < MagVariance ? Geometry.Quaternion.FormQuaternion(quaFirst, AccIdentity, state.Acc, (float)quaSecondRate) : Geometry.Quaternion.FormQuaternion(quaFirst, MagIdentity, state.Mag, (float)quaSecondRate);
+            state.Qua = AccVariance < MagVariance ? Geometry.Quaternion.FormQuaternion(quaFirst, AccIdentity.To<float>(), state.Acc.To<float>(), (float)quaSecondRate) : Geometry.Quaternion.FormQuaternion(quaFirst, MagIdentity.To<float>(), state.Mag.To<float>(), (float)quaSecondRate);
 
 
 

+ 3 - 3
Assets/BowArrow/Scripts/Bluetooth/New/o09AxisAfterXiaMenFromDll.cs

@@ -213,7 +213,7 @@ namespace o0.Bow
 
 
 
-            var GyrOperator = Geometry.Quaternion.Euler(Gyr * TimeGap);
+            var GyrOperator = Geometry.Quaternion.Euler((Gyr * TimeGap).To<float>());
             var quaGyr = LastQuaternion * GyrOperator;
 
 
@@ -227,7 +227,7 @@ namespace o0.Bow
 
             var (GyrVariance, AccVariance, MagVariance) = CalVariance(Last, state);
 
-            var quaAccMag = Geometry.Quaternion.FormQuaternion(AccIdentity, MagIdentity, Acc, Mag, (float)(AccVariance / (AccVariance + MagVariance)));
+            var quaAccMag = Geometry.Quaternion.FormQuaternion(AccIdentity.To<float>(), MagIdentity.To<float>(), Acc.To<float>(), Mag.To<float>(), (float)(AccVariance / (AccVariance + MagVariance)));
             var quaMinRate = GyrVariance / (GyrVariance + Math.Max(AccVariance, MagVariance));//静止时约0.01效果最好
             var quaMaxRate = GyrVariance / (GyrVariance + Math.Min(AccVariance, MagVariance));
             Geometry.Quaternion quaFirst = Geometry.Quaternion.SLerp(quaGyr, quaAccMag, (float)quaMinRate);//运算到这里如果视角校准有漂移,说明需要重新校准陀螺仪//不是代码问题
@@ -237,7 +237,7 @@ namespace o0.Bow
 
             // Debug.Log((quaMinRate, AccVariance, quaSecondRate));
 
-            state.Qua = AccVariance < MagVariance ? Geometry.Quaternion.FormQuaternion(quaFirst, AccIdentity, Acc, (float)quaSecondRate) : Geometry.Quaternion.FormQuaternion(quaFirst, MagIdentity, Mag, (float)quaSecondRate);/**/
+            state.Qua = AccVariance < MagVariance ? Geometry.Quaternion.FormQuaternion(quaFirst, AccIdentity.To<float>(), Acc.To<float>(), (float)quaSecondRate) : Geometry.Quaternion.FormQuaternion(quaFirst, MagIdentity.To<float>(), Mag.To<float>(), (float)quaSecondRate);/**/
             //state.Qua = quaFirst;
 
             QuaCheck(ref state.Qua, LastQuaternion);//防止数值溢出

+ 1 - 1
Assets/BowArrow/Scripts/Bluetooth/o09AxisCS.cs

@@ -62,7 +62,7 @@ namespace o0.Bow
         {
 
             //var GyrOperator = Geometry.Quaternion.Euler(Gyr * GapMS);
-            var GyrOperator = Geometry.Quaternion.Euler(Gyr * GapMS);
+            var GyrOperator = Geometry.Quaternion.Euler((Gyr * GapMS).To<float>());
             //Debug.Log(Acc +" | "+ Acc.Length);
             //var GyrOperator = new UnityEngine.Quaternion();
             //GyrOperator.eulerAngles = (Gyr * GapMS).ToUnityVector();

+ 8 - 8
Assets/BowArrow/Scripts/Bluetooth/o0DistanceToAxis.cs

@@ -52,9 +52,9 @@ namespace o0.Bow
             }
             if(LockAcc != default)
             {
-                var GyrOperator = -Geometry.Quaternion.Euler(Gyr * GapMS);
-                LockAcc = GyrOperator * LockAcc;
-                Speed = GyrOperator * Speed;
+                var GyrOperator = -Geometry.Quaternion.Euler((Gyr * GapMS).To<float>());
+                LockAcc = (GyrOperator * LockAcc.To<float>()).To<double>();
+                Speed = (GyrOperator * Speed.To<float>()).To<double>();
                 Speed += (Acc - LockAcc) * 9.8 * (LastGapMS + GapMS) / 1000 / 2;
 
                 if (LockMS < 250 && Gyr.Length * 1000 > 5)
@@ -94,9 +94,9 @@ namespace o0.Bow
         //////// 米/秒                      度/毫秒
         public Vector<double> GyrToSpeed(Vector<double> Gyr, double GapMS)
         {
-            var GyrOperator = Geometry.Quaternion.Euler(Gyr * GapMS).Inversed;
+            var GyrOperator = Geometry.Quaternion.Euler((Gyr * GapMS).To<float>()).Inversed;
             var axis = Vector<double>.Back * Distance;
-            axis = (GyrOperator * axis - axis) / GapMS * 1000;
+            axis = (GyrOperator * axis.To<float>() - axis.To<float>()).To<double>() / GapMS * 1000;
             // TestVector.SetAcc(axis.ToUnityVector(), 2);
             //Debug.Log(axis);
             return axis;
@@ -112,9 +112,9 @@ namespace o0.Bow
                 //var Speed = 
                 return Acc;
             }
-            var GyrOperator = Geometry.Quaternion.Euler(Gyr * GapMS).Inversed;
-            var RotatedLastSpeed = GyrOperator * LastSpeed;
-            var AccCorrection = (Speed - RotatedLastSpeed) / 9.8 / GapMS * 1000;
+            var GyrOperator = Geometry.Quaternion.Euler((Gyr * GapMS).To<float>()).Inversed;
+            var RotatedLastSpeed = GyrOperator * LastSpeed.To<float>();
+            var AccCorrection = (Speed - RotatedLastSpeed.To<double>()) / 9.8 / GapMS * 1000;
             // TestVector.SetMag(AccCorrection.ToUnityVector(), 2);
             // TestVector.SetAcc((Acc + AccCorrection).ToUnityVector(), 3);
             LastSpeed = Speed;

BIN=BIN
Assets/BowArrow/Scripts/Bluetooth/o0Lib/o0NetLib.dll


+ 55 - 2
Assets/BowArrow/Scripts/Bluetooth/o0Lib/o0NetLib.dll.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e13dab309567c5847a70e24d05e9ed6b
+guid: 6cba79b72f2671d4c99a3d60852b997d
 PluginImporter:
   externalObjects: {}
   serializedVersion: 2
@@ -11,6 +11,24 @@ PluginImporter:
   isExplicitlyReferenced: 0
   validateReferences: 1
   platformData:
+  - first:
+      : Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 0
+        Exclude Linux64: 0
+        Exclude OSXUniversal: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings:
+        CPU: ARMv7
   - first:
       Any: 
     second:
@@ -19,15 +37,50 @@ PluginImporter:
   - first:
       Editor: Editor
     second:
-      enabled: 0
+      enabled: 1
       settings:
+        CPU: AnyCPU
         DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 1
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: None
+  - first:
+      Standalone: Win
+    second:
+      enabled: 1
+      settings:
+        CPU: None
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 1
+      settings:
+        CPU: None
   - first:
       Windows Store Apps: WindowsStoreApps
     second:
       enabled: 0
       settings:
         CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings:
+        AddToEmbeddedBinaries: false
+        CPU: AnyCPU
+        CompileFlags: 
+        FrameworkDependencies: 
   userData: 
   assetBundleName: 
   assetBundleVariant: 

+ 127 - 124
Assets/BowArrow/Scripts/Components/TextSpacing.cs

@@ -5,143 +5,109 @@ using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
-public class Line
+namespace TextSpacing
 {
-
-    private int _startVertexIndex = 0;
-    /// <summary>
-    /// 起点索引
-    /// </summary>
-    public int StartVertexIndex
+    public class Line
     {
-        get
-        {
-            return _startVertexIndex;
-        }
-    }
 
-    private int _endVertexIndex = 0;
-    /// <summary>
-    /// 终点索引
-    /// </summary>
-    public int EndVertexIndex
-    {
-        get
+        private int _startVertexIndex = 0;
+        /// <summary>
+        /// 起点索引
+        /// </summary>
+        public int StartVertexIndex
         {
-            return _endVertexIndex;
+            get
+            {
+                return _startVertexIndex;
+            }
         }
-    }
 
-    private int _vertexCount = 0;
-    /// <summary>
-    /// 该行占的点数目
-    /// </summary>
-    public int VertexCount
-    {
-        get
+        private int _endVertexIndex = 0;
+        /// <summary>
+        /// 终点索引
+        /// </summary>
+        public int EndVertexIndex
         {
-            return _vertexCount;
+            get
+            {
+                return _endVertexIndex;
+            }
         }
-    }
-
-    public Line(int startVertexIndex, int length)
-    {
-        _startVertexIndex = startVertexIndex;
-        _endVertexIndex = length * 6 - 1 + startVertexIndex;
-        _vertexCount = length * 6;
-    }
-}
-
 
-[AddComponentMenu("UI/Effects/TextSpacing")]
-public class TextSpacing : BaseMeshEffect
-{
-    public float _textSpacing = 1f;
-
-    public override void ModifyMesh(VertexHelper vh)
-    {
-        if (!IsActive() || vh.currentVertCount == 0)
+        private int _vertexCount = 0;
+        /// <summary>
+        /// 该行占的点数目
+        /// </summary>
+        public int VertexCount
         {
-            return;
+            get
+            {
+                return _vertexCount;
+            }
         }
 
-        Text text = GetComponent<Text>();
-        if (text == null)
+        public Line(int startVertexIndex, int length)
         {
-            Debug.LogError("Missing Text component");
-            return;
+            _startVertexIndex = startVertexIndex;
+            _endVertexIndex = length * 6 - 1 + startVertexIndex;
+            _vertexCount = length * 6;
         }
+    }
 
-        List<UIVertex> vertexs = new List<UIVertex>();
-        vh.GetUIVertexStream(vertexs);
-        int indexCount = vh.currentIndexCount;
-
-        string[] lineTexts = text.text.Split('\n');
 
-        Line[] lines = new Line[lineTexts.Length];
+    [AddComponentMenu("UI/Effects/TextSpacing")]
+    public class TextSpacing : BaseMeshEffect
+    {
+        public float _textSpacing = 1f;
 
-        //根据lines数组中各个元素的长度计算每一行中第一个点的索引,每个字、字母、空母均占6个点
-        for (int i = 0; i < lines.Length; i++)
+        public override void ModifyMesh(VertexHelper vh)
         {
-            //除最后一行外,vertexs对于前面几行都有回车符占了6个点
-            if (i == 0)
+            if (!IsActive() || vh.currentVertCount == 0)
             {
-                lines[i] = new Line(0, lineTexts[i].Length + 1);
+                return;
             }
-            else if (i > 0 && i < lines.Length - 1)
-            {
-                lines[i] = new Line(lines[i - 1].EndVertexIndex + 1, lineTexts[i].Length + 1);
-            }
-            else
+
+            Text text = GetComponent<Text>();
+            if (text == null)
             {
-                lines[i] = new Line(lines[i - 1].EndVertexIndex + 1, lineTexts[i].Length);
+                Debug.LogError("Missing Text component");
+                return;
             }
-        }
 
-        UIVertex vt;
+            List<UIVertex> vertexs = new List<UIVertex>();
+            vh.GetUIVertexStream(vertexs);
+            int indexCount = vh.currentIndexCount;
 
-        for (int i = 0; i < lines.Length; i++)
-        {
-            Vector3 startPos = Vector3.zero;
-            Vector3 endPos = Vector3.zero;
-            Vector3 defaultStartPos = Vector3.zero;
-            Vector3 defaultEndPos = Vector3.zero;
-            for (int j = lines[i].StartVertexIndex; j <= lines[i].EndVertexIndex; j++)
+            string[] lineTexts = text.text.Split('\n');
+
+            Line[] lines = new Line[lineTexts.Length];
+
+            //根据lines数组中各个元素的长度计算每一行中第一个点的索引,每个字、字母、空母均占6个点
+            for (int i = 0; i < lines.Length; i++)
             {
-                if (j < 0 || j >= vertexs.Count)
+                //除最后一行外,vertexs对于前面几行都有回车符占了6个点
+                if (i == 0)
                 {
-                    continue;
+                    lines[i] = new Line(0, lineTexts[i].Length + 1);
                 }
-                vt = vertexs[j];
-                if (defaultStartPos == Vector3.zero)
+                else if (i > 0 && i < lines.Length - 1)
                 {
-                    defaultStartPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
+                    lines[i] = new Line(lines[i - 1].EndVertexIndex + 1, lineTexts[i].Length + 1);
                 }
-                defaultEndPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
-                if (j != 0)
+                else
                 {
-                    vt.position += new Vector3(_textSpacing * ((j - lines[i].StartVertexIndex) / 6), 0, 0);
-                }
-                if (startPos == Vector3.zero)
-                {
-                    startPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
-                }
-                endPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
-                vertexs[j] = vt;
-                //以下注意点与索引的对应关系
-                if (j % 6 <= 2)
-                {
-                    vh.SetUIVertex(vt, (j / 6) * 4 + j % 6);
-                }
-                if (j % 6 == 4)
-                {
-                    vh.SetUIVertex(vt, (j / 6) * 4 + j % 6 - 1);
+                    lines[i] = new Line(lines[i - 1].EndVertexIndex + 1, lineTexts[i].Length);
                 }
             }
-            if (text.alignment == TextAnchor.MiddleCenter || text.alignment == TextAnchor.UpperCenter || text.alignment == TextAnchor.LowerCenter)
+
+            UIVertex vt;
+
+            for (int i = 0; i < lines.Length; i++)
             {
-                Vector3 defaultCenterPos = defaultStartPos + (defaultEndPos - defaultStartPos) / 2;
-                Vector3 centerPos = startPos + (endPos - startPos) / 2;
+                Vector3 startPos = Vector3.zero;
+                Vector3 endPos = Vector3.zero;
+                Vector3 defaultStartPos = Vector3.zero;
+                Vector3 defaultEndPos = Vector3.zero;
                 for (int j = lines[i].StartVertexIndex; j <= lines[i].EndVertexIndex; j++)
                 {
                     if (j < 0 || j >= vertexs.Count)
@@ -149,31 +115,20 @@ public class TextSpacing : BaseMeshEffect
                         continue;
                     }
                     vt = vertexs[j];
-                    vt.position = vt.position + defaultCenterPos - centerPos;
-                    vertexs[j] = vt;
-                    //以下注意点与索引的对应关系
-                    if (j % 6 <= 2)
+                    if (defaultStartPos == Vector3.zero)
                     {
-                        vh.SetUIVertex(vt, (j / 6) * 4 + j % 6);
+                        defaultStartPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
                     }
-                    if (j % 6 == 4)
+                    defaultEndPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
+                    if (j != 0)
                     {
-                        vh.SetUIVertex(vt, (j / 6) * 4 + j % 6 - 1);
+                        vt.position += new Vector3(_textSpacing * ((j - lines[i].StartVertexIndex) / 6), 0, 0);
                     }
-                }
-            }
-            if (text.alignment == TextAnchor.MiddleRight || text.alignment == TextAnchor.UpperRight || text.alignment == TextAnchor.LowerRight)
-            {
-                Vector3 defaultRightPos = defaultEndPos;
-                Vector3 rightPos = endPos;
-                for (int j = lines[i].StartVertexIndex; j <= lines[i].EndVertexIndex; j++)
-                {
-                    if (j < 0 || j >= vertexs.Count)
+                    if (startPos == Vector3.zero)
                     {
-                        continue;
+                        startPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
                     }
-                    vt = vertexs[j];
-                    vt.position = vt.position + defaultRightPos - rightPos;
+                    endPos = new Vector3(vt.position.x, vt.position.y, vt.position.z);
                     vertexs[j] = vt;
                     //以下注意点与索引的对应关系
                     if (j % 6 <= 2)
@@ -185,7 +140,55 @@ public class TextSpacing : BaseMeshEffect
                         vh.SetUIVertex(vt, (j / 6) * 4 + j % 6 - 1);
                     }
                 }
+                if (text.alignment == TextAnchor.MiddleCenter || text.alignment == TextAnchor.UpperCenter || text.alignment == TextAnchor.LowerCenter)
+                {
+                    Vector3 defaultCenterPos = defaultStartPos + (defaultEndPos - defaultStartPos) / 2;
+                    Vector3 centerPos = startPos + (endPos - startPos) / 2;
+                    for (int j = lines[i].StartVertexIndex; j <= lines[i].EndVertexIndex; j++)
+                    {
+                        if (j < 0 || j >= vertexs.Count)
+                        {
+                            continue;
+                        }
+                        vt = vertexs[j];
+                        vt.position = vt.position + defaultCenterPos - centerPos;
+                        vertexs[j] = vt;
+                        //以下注意点与索引的对应关系
+                        if (j % 6 <= 2)
+                        {
+                            vh.SetUIVertex(vt, (j / 6) * 4 + j % 6);
+                        }
+                        if (j % 6 == 4)
+                        {
+                            vh.SetUIVertex(vt, (j / 6) * 4 + j % 6 - 1);
+                        }
+                    }
+                }
+                if (text.alignment == TextAnchor.MiddleRight || text.alignment == TextAnchor.UpperRight || text.alignment == TextAnchor.LowerRight)
+                {
+                    Vector3 defaultRightPos = defaultEndPos;
+                    Vector3 rightPos = endPos;
+                    for (int j = lines[i].StartVertexIndex; j <= lines[i].EndVertexIndex; j++)
+                    {
+                        if (j < 0 || j >= vertexs.Count)
+                        {
+                            continue;
+                        }
+                        vt = vertexs[j];
+                        vt.position = vt.position + defaultRightPos - rightPos;
+                        vertexs[j] = vt;
+                        //以下注意点与索引的对应关系
+                        if (j % 6 <= 2)
+                        {
+                            vh.SetUIVertex(vt, (j / 6) * 4 + j % 6);
+                        }
+                        if (j % 6 == 4)
+                        {
+                            vh.SetUIVertex(vt, (j / 6) * 4 + j % 6 - 1);
+                        }
+                    }
+                }
             }
         }
     }
-}
+}

+ 8 - 0
Assets/InfraredProject.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 51eb05d9174791448859e8adc30ed299
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/InfraredCamera.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 21e47d66a3d363f4382f013e0449168e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/InfraredCamera/Effect.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 962d6ae4fe11b234e8bc22779244feba
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 83 - 0
Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastMaterial.mat

@@ -0,0 +1,83 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 8
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: BrightnessSaturationContrastMaterial
+  m_Shader: {fileID: 4800000, guid: 7940b7b25dbbcb64faefb616323bdb77, type: 3}
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Ints: []
+    m_Floats:
+    - _Brightness: 1
+    - _BumpScale: 1
+    - _Contrast: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _Saturation: 1
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []

+ 8 - 0
Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastMaterial.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2fe8f5d359ffe4c4eb1b7ceea03a50f9
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 40 - 0
Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastShader.shader

@@ -0,0 +1,40 @@
+Shader "MyShader/BrightnessSaturationContrast" { // 调整亮度、饱和度、对比度
+    Properties{
+        _MainTex("Base (RGB)", 2D) = "white" {} // 主纹理
+        _Brightness("Brightness", Float) = 1 // 亮度
+        _Saturation("Saturation", Float) = 1 // 饱和度
+        _Contrast("Contrast", Float) = 1 // 对比度
+    }
+
+        SubShader{
+            Pass {
+                // 深度测试始终通过, 关闭深度写入
+                ZTest Always ZWrite Off
+
+                CGPROGRAM
+                #pragma vertex vert_img // 使用内置的vert_img顶点着色器
+                #pragma fragment frag 
+                #include "UnityCG.cginc"
+
+                sampler2D _MainTex; // 主纹理
+                half _Brightness; // 亮度
+                half _Saturation; // 饱和度
+                half _Contrast; // 对比度
+
+                fixed4 frag(v2f_img i) : SV_Target { // v2f_img为内置结构体, 里面只包含pos和uv
+                    fixed4 tex = tex2D(_MainTex, i.uv); // 纹理采样
+                    fixed3 finalColor = tex.rgb * _Brightness; // 应用亮度_Brightness
+                    fixed luminance = 0.2125 * tex.r + 0.7154 * tex.g + 0.0721 * tex.b; // 计算亮度
+                    fixed3 luminanceColor = fixed3(luminance, luminance, luminance); // 饱和度为0、亮度为luminance的颜色
+                    finalColor = lerp(luminanceColor, finalColor, _Saturation); // 应用饱和度_Saturation
+                    fixed3 avgColor = fixed3(0.5, 0.5, 0.5); // 饱和度为0、亮度为0.5的颜色
+                    finalColor = lerp(avgColor, finalColor, _Contrast); // 应用对比度_Contrast
+                    return fixed4(finalColor, tex.a);
+                }
+
+                ENDCG
+            }
+        }
+
+            Fallback Off
+}

+ 10 - 0
Assets/InfraredProject/InfraredCamera/Effect/BrightnessSaturationContrastShader.shader.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1dc1e728c0fc27a48a935e87557e0d0d
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  preprocessorOverride: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 67 - 0
Assets/InfraredProject/InfraredCamera/Effect/EasyImageEffectShader.shader

@@ -0,0 +1,67 @@
+Shader "MyShader/EasyImageEffectShader"
+{
+    Properties
+    {
+        _MainTex("Texture", 2D) = "white" {}
+        _Brightness("Brightness", Range(0,10)) = 1
+        _Saturation("Saturation", Range(0,10)) = 1
+        _Contrast("Contrast", Range(0,10)) = 1
+    }
+        SubShader
+        {
+            Tags { "RenderType" = "Opaque" }
+            LOD 100
+
+            Pass
+            {
+                CGPROGRAM
+                #pragma vertex vert
+                #pragma fragment frag
+
+                #include "UnityCG.cginc"
+
+                struct appdata
+                {
+                    float4 vertex : POSITION;
+                    float2 uv : TEXCOORD0;
+                };
+
+                struct v2f
+                {
+                    float2 uv : TEXCOORD0;
+                    float4 vertex : SV_POSITION;
+                };
+
+                sampler2D _MainTex;
+                float4 _MainTex_ST;
+
+                fixed _Brightness;
+                fixed _Saturation;
+                fixed _Contrast;
+
+                v2f vert(appdata v)
+                {
+                    v2f o;
+                    o.vertex = UnityObjectToClipPos(v.vertex);
+                    o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+                    return o;
+                }
+
+                fixed4 frag(v2f i) : SV_Target
+                {
+                    fixed4 col = tex2D(_MainTex, i.uv);
+                //brigtness亮度
+                fixed3 finalColor = col * _Brightness;
+                //saturation调整饱和度
+                fixed gray = 0.2125 * col.r + 0.7154 * col.g + 0.0721 * col.b;
+                fixed3 grayColor = fixed3(gray, gray, gray);
+                finalColor = lerp(grayColor, finalColor, _Saturation);
+                //contrast调整对比度
+                fixed3 avgColor = fixed3(0.5, 0.5, 0.5);
+                finalColor = lerp(avgColor, finalColor, _Contrast);
+                return fixed4(finalColor, col.a);
+            }
+            ENDCG
+        }
+        }
+}

+ 10 - 0
Assets/InfraredProject/InfraredCamera/Effect/EasyImageEffectShader.shader.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7940b7b25dbbcb64faefb616323bdb77
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  preprocessorOverride: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/InfraredCamera/Scripts.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e55a42d231797104594ba81508d49d6e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 216 - 0
Assets/InfraredProject/InfraredCamera/Scripts/InfraredCameraHelper.cs

@@ -0,0 +1,216 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+
+namespace InfraredManager
+{
+    public class InfraredCameraHelper
+    {
+        #region 单例
+        private static InfraredCameraHelper _Instance;
+        public static InfraredCameraHelper GetInstance()
+        {
+            if (_Instance == null) _Instance = new();
+            return _Instance;
+        }
+        #endregion
+
+        #region 创建销毁
+        private GameObject _managerObject;
+        private ScreenLocate _screenLocate;
+        public void Create()
+        {
+            if (_managerObject) return;
+            string prefabName = "WebCameraView";
+            var o = UnityEngine.Object.Instantiate(Resources.Load<GameObject>(prefabName));
+            UnityEngine.Object.DontDestroyOnLoad(o);
+            o.name = prefabName;
+            _screenLocate = o.GetComponent<ScreenLocate>();
+            _screenLocate.InfraredCameraHelper = this;
+            _managerObject = o;
+            if (Application.platform == RuntimePlatform.Android) Application.targetFrameRate = 60;
+        }
+        public void Dispose()
+        {
+            if (_managerObject) UnityEngine.Object.DestroyImmediate(_managerObject);
+            if (_Instance == this) _Instance = null;
+        }
+        #endregion
+
+        #region 画面接口
+        /// <summary>
+        /// 获取相机画面贴图
+        /// </summary>
+        public Texture GetCameraTexture()
+        {
+            return _screenLocate.rawImage.texture;
+        }
+        /// <summary>
+        /// 获取相机画面材质
+        /// </summary>
+        public Material GetCameraMaterial()
+        {
+            return _screenLocate.rawImage.material;
+        }
+        /// <summary>
+        /// 设置亮度(0~10)
+        /// </summary>
+        public void SetBrightness(float value)
+        {
+            _screenLocate.rawImage.material.SetFloat("_Brightness", value);
+        }
+        /// <summary>
+        /// 获取亮度(0~10)
+        /// </summary>
+        public float GetBrightness()
+        {
+            return _screenLocate.rawImage.material.GetFloat("_Brightness");
+        }
+        /// <summary>
+        /// 设置饱和度(0~10)
+        /// </summary>
+        public void SetSaturation(float value)
+        {
+            _screenLocate.rawImage.material.SetFloat("_Saturation", value);
+        }
+        /// <summary>
+        /// 获取饱和度(0~10)
+        /// </summary>
+        public float GetSaturation()
+        {
+            return _screenLocate.rawImage.material.GetFloat("_Saturation");
+        }
+        /// <summary>
+        /// 设置对比度(0~10)
+        /// </summary>
+        public void SetContrast(float value)
+        {
+            _screenLocate.rawImage.material.SetFloat("_Contrast", value);
+        }
+        /// <summary>
+        /// 获取对比度(0~10)
+        /// </summary>
+        public float GetContrast()
+        {
+            return _screenLocate.rawImage.material.GetFloat("_Contrast");
+        }
+        /// <summary>
+        /// 设置相机画面分辨率
+        /// </summary>
+        public void SetCameraResolution(int width, int height)
+        {
+            _screenLocate.mUVCManager.DefaultWidth = width;
+            _screenLocate.mUVCManager.DefaultHeight = height;
+            _screenLocate.mUVCDrawer.DefaultWidth = width;
+            _screenLocate.mUVCDrawer.DefaultHeight = height;
+        }
+        /// <summary>
+        /// 获取相机画面分辨率
+        /// </summary>
+        public Vector2 GetCameraResolution()
+        {
+            return new Vector2(
+                _screenLocate.mUVCDrawer.DefaultWidth,
+                _screenLocate.mUVCDrawer.DefaultHeight
+            );
+        }
+        #endregion
+
+        #region 操作接口
+        /// <summary>
+        /// 单点模式开关
+        /// </summary>
+        public void SetSinglePoint(bool value)
+        {
+            _screenLocate.bSinglePoint = value;
+        }
+        /// <summary>
+        /// 是否为单点模式
+        /// </summary>
+        public bool IsSinglePoint()
+        {
+            return _screenLocate.bSinglePoint;
+        }
+        /// <summary>
+        /// 设置抖动过滤值
+        /// </summary>
+        public void SetShakeFilterValue(float value)
+        {
+            _screenLocate.filterDis = value;
+        }
+        /// <summary>
+        /// 获取抖动过滤值
+        /// </summary>
+        public float GetShakeFilterValue()
+        {
+            return _screenLocate.filterDis;
+        }
+        /// <summary>
+        /// 是否已经定位
+        /// </summary>
+        public bool IsScreenLoateOK()
+        {
+            return _screenLocate.IsScreenLoateOK();
+        }
+        /// <summary>
+        /// 是否正在手动定位
+        /// </summary>
+        public bool IsScreenLocateManualDoing()
+        {
+            return _screenLocate.IsScreenLocateManualDoing();
+        }
+        /// <summary>
+        /// 进入手动定位
+        /// </summary>
+        /// <returns>相机画面截图</returns>
+        public Texture2D EnterScreenLocateManual()
+        {
+            return _screenLocate.EnterScreenLocateManual();
+        }
+        /// <summary>
+        /// 退出/完成手动定位
+        /// </summary>
+        /// <param name="points">定位点(左下、右下、右上、左上)</param>
+        public void QuitScreenLocateManual(List<Vector2> points)
+        {
+            _screenLocate.QuitScreenLocateManual(points);
+        }
+        #endregion
+
+        #region 监听事件
+        /// <summary>
+        /// 单点更新事件
+        /// </summary>
+        public OnPositionUpdateEvent OnPositionUpdate;
+        public delegate void OnPositionUpdateEvent(Vector2 position);
+        public void InvokeOnPositionUpdate(Vector2 position)
+        {
+            try
+            {
+                OnPositionUpdate?.Invoke(position);
+            }
+            catch (Exception e)
+            {
+                Debug.LogError(e);
+            }
+        }
+        /// <summary>
+        /// 双点更新事件
+        /// </summary>
+        public OnPositionUpdate2Event OnPositionUpdate2;
+        public delegate void OnPositionUpdate2Event(Vector2 position, int index);
+        public void InvokeOnPositionUpdate2(Vector2 position, int index)
+        {
+            try
+            {
+                OnPositionUpdate2?.Invoke(position, index);
+            }
+            catch (Exception e)
+            {
+                Debug.LogError(e);
+            }
+        }
+        #endregion
+    }
+}

+ 11 - 0
Assets/InfraredProject/InfraredCamera/Scripts/InfraredCameraHelper.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a55524af82d8121438ffeb7bf720a2f6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 100
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 43 - 0
Assets/InfraredProject/InfraredCamera/Scripts/ScreenLocate.cs

@@ -0,0 +1,43 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using ZIM;
+
+/// <summary>
+/// JC-补充接口
+/// </summary>
+public partial class ScreenLocate : MonoBehaviour
+{
+    public bool IsScreenLoateOK()
+    {
+        return screenIdentification != null &&
+            screenIdentification.Screen != null &&
+            screenIdentification.Screen.Active;
+    }
+    public bool IsScreenLocateManualDoing()
+    {
+        return mode == Mode.ScreenLocateManual;
+    }
+    public Texture2D EnterScreenLocateManual()
+    {
+        CreateUVCTexture2DIfNeeded();
+        Texture2D texture = mUVCTexture2D.zimAutoLight(0);
+        mode = Mode.ScreenLocateManual;
+        return texture;
+    }
+    public void QuitScreenLocateManual(List<Vector2> points)
+    {
+        if (points != null && points.Count == 4)
+        {
+            screenIdentification.LocateScreenManual(
+                new OrdinalQuadrilateral(
+                    points[0].o0Vector(),
+                    points[1].o0Vector(),
+                    points[3].o0Vector(),
+                    points[2].o0Vector()
+                )
+            );
+        }
+        ToMode(Mode.InfraredLocate);
+    }
+}

+ 11 - 0
Assets/InfraredProject/InfraredCamera/Scripts/ScreenLocate.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 52eb6c21187b6264985b79ee29483fc1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a17c86efed68d41469abbd2b6cf75714
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e2fa2d80b37eb814eac0dc831d5c6c59
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png


+ 88 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png.meta

@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: fc5455468b28e834f9058e393a482498
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b51a6de25eacea041ba559d372ede0d9
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg


+ 7 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 606435cbfa057094fb97185c5aee5203
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 884 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,884 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt
+
+License notice for Slicing-by-8 
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2020 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib 
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.11, January 15th, 2017
+
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose. 
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for RFC 3492
+---------------------------
+
+The punycode implementation is based on the sample code in RFC 3492
+        
+Copyright (C) The Internet Society (2003).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any
+kind, provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for
+copyrights defined in the Internet Standards process must be
+followed, or as required to translate it into languages other than
+English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+License notice for Algorithm from Internet Draft document "UUIDs and GUIDs"
+---------------------------------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, or Digital Equipment Corporation be used in advertising
+or publicity pertaining to distribution of the software without
+specific, written prior permission.  Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment
+Corporation makes any representations about the suitability of
+this software for any purpose.
+
+Copyright(C) The Internet Society 1997. All Rights Reserved.
+
+This document and translations of it may be copied and furnished to others,
+and derivative works that comment on or otherwise explain it or assist in
+its implementation may be prepared, copied, published and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this paragraph are included on all such copies and
+derivative works.However, this document itself may not be modified in any
+way, such as by removing the copyright notice or references to the Internet
+Society or other Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for copyrights
+defined in the Internet Standards process must be followed, or as required
+to translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be revoked
+by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an "AS IS"
+basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
+PARTICULAR PURPOSE.
+
+License notice for Algorithm from RFC 4122 - 
+A Universally Unique IDentifier (UUID) URN Namespace
+----------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+Copyright (c) 1998 Microsoft.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, Microsoft, or Digital Equipment Corporation be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
+Equipment Corporation makes any representations about the
+suitability of this software for any purpose."
+
+License notice for The LLVM Compiler Infrastructure
+---------------------------------------------------
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+License notice for Bob Jenkins
+------------------------------
+
+By Bob Jenkins, 1996.  bob_jenkins@burtleburtle.net.  You may use this
+code any way you wish, private, educational, or commercial.  It's free.
+
+License notice for Greg Parker
+------------------------------
+
+Greg Parker     gparker@cs.stanford.edu     December 2000
+This code is in the public domain and may be copied or modified without 
+permission. 
+
+License notice for libunwind based code
+----------------------------------------
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for Printing Floating-Point Numbers (Dragon4)
+------------------------------------------------------------
+
+/******************************************************************************
+  Copyright (c) 2014 Ryan Juckett
+  http://www.ryanjuckett.com/
+ 
+  This software is provided 'as-is', without any express or implied
+  warranty. In no event will the authors be held liable for any damages
+  arising from the use of this software.
+ 
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+ 
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+ 
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+ 
+  3. This notice may not be removed or altered from any source
+     distribution.
+******************************************************************************/
+
+License notice for Printing Floating-point Numbers (Grisu3)
+-----------------------------------------------------------
+
+Copyright 2012 the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of Google Inc. nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xxHash
+-------------------------
+
+xxHash Library
+Copyright (c) 2012-2014, Yann Collet
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Berkeley SoftFloat Release 3e
+------------------------------------------------
+
+https://github.com/ucb-bar/berkeley-softfloat-3
+https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt
+
+License for Berkeley SoftFloat Release 3e
+
+John R. Hauser
+2018 January 20
+
+The following applies to the whole of SoftFloat Release 3e as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xorshift RNGs
+--------------------------------
+
+George Marsaglia
+2003-07-04
+Journal of Statistical Software
+License: http://creativecommons.org/licenses/by/3.0/
+
+https://www.jstatsoft.org/article/view/v008i14
+https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf
+
+License notice for Xorshift (Wikipedia)
+---------------------------------------
+
+https://en.wikipedia.org/wiki/Xorshift
+License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License
+
+License for fastmod (https://github.com/lemire/fastmod)
+--------------------------------------
+
+   Copyright 2018 Daniel Lemire
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+                               The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+

+ 7 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 795ab4d2f95b5c94ea95e5bb6a4afd10
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d2e828cccec1c8142b5c3510bb764c7c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 283192faf52c9ef42920acfeeb46c95f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll


+ 33 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: fc1cb46cb52f62d4ea3257f51b0221e4
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 223 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml

@@ -0,0 +1,223 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Bcl.AsyncInterfaces</name>
+    </assembly>
+    <members>
+        <member name="T:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1">
+            <summary>Provides the core logic for implementing a manual-reset <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> or <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
+            <typeparam name="TResult"></typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation">
+            <summary>
+            The callback to invoke when the operation completes if <see cref="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/> was called before the operation completed,
+            or <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.s_sentinel"/> if the operation completed before a callback was supplied,
+            or null if a callback hasn't yet been provided and the operation hasn't yet completed.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuationState">
+            <summary>State to pass to <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation"/>.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext">
+            <summary><see cref="T:System.Threading.ExecutionContext"/> to flow to the callback, or null if no flowing is required.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._capturedContext">
+            <summary>
+            A "captured" <see cref="T:System.Threading.SynchronizationContext"/> or <see cref="T:System.Threading.Tasks.TaskScheduler"/> with which to invoke the callback,
+            or null if no special context is required.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._completed">
+            <summary>Whether the current operation has completed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._result">
+            <summary>The result with which the operation succeeded, or the default value if it hasn't yet completed or failed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._error">
+            <summary>The exception with which the operation failed, or null if it hasn't yet completed or completed successfully.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._version">
+            <summary>The current version of this value, used to help prevent misuse.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.RunContinuationsAsynchronously">
+            <summary>Gets or sets whether to force continuations to run asynchronously.</summary>
+            <remarks>Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Reset">
+            <summary>Resets to prepare for the next operation.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetResult(`0)">
+            <summary>Completes with a successful result.</summary>
+            <param name="result">The result.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetException(System.Exception)">
+            <summary>Complets with an error.</summary>
+            <param name="error"></param>
+        </member>
+        <member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Version">
+            <summary>Gets the operation version.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetStatus(System.Int16)">
+            <summary>Gets the status of the operation.</summary>
+            <param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetResult(System.Int16)">
+            <summary>Gets the result of the operation.</summary>
+            <param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
+            <summary>Schedules the continuation action for this operation.</summary>
+            <param name="continuation">The continuation to invoke when the operation has completed.</param>
+            <param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
+            <param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
+            <param name="flags">The flags describing the behavior of the continuation.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.ValidateToken(System.Int16)">
+            <summary>Ensures that the specified token matches the current version.</summary>
+            <param name="token">The token supplied by <see cref="T:System.Threading.Tasks.ValueTask"/>.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SignalCompletion">
+            <summary>Signals that the operation has completed.  Invoked after the result or error has been set.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.InvokeContinuation">
+            <summary>
+            Invokes the continuation with the appropriate captured context / scheduler.
+            This assumes that if <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext"/> is not null we're already
+            running within that <see cref="T:System.Threading.ExecutionContext"/>.
+            </summary>
+        </member>
+        <member name="T:System.Threading.Tasks.TaskAsyncEnumerableExtensions">
+            <summary>Provides a set of static methods for configuring <see cref="T:System.Threading.Tasks.Task"/>-related behaviors on asynchronous enumerables and disposables.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait(System.IAsyncDisposable,System.Boolean)">
+            <summary>Configures how awaits on the tasks returned from an async disposable will be performed.</summary>
+            <param name="source">The source async disposable.</param>
+            <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+            <returns>The configured async disposable.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Boolean)">
+            <summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
+            <typeparam name="T">The type of the objects being iterated.</typeparam>
+            <param name="source">The source enumerable being iterated.</param>
+            <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+            <returns>The configured enumerable.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.WithCancellation``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Threading.CancellationToken)">
+            <summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
+            <typeparam name="T">The type of the objects being iterated.</typeparam>
+            <param name="source">The source enumerable being iterated.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
+            <returns>The configured enumerable.</returns>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder">
+            <summary>Represents a builder for asynchronous iterators.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Create">
+            <summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder"/> struct.</summary>
+            <returns>The initialized instance.</returns>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.MoveNext``1(``0@)">
+            <summary>Invokes <see cref="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext"/> on the state machine while guarding the <see cref="T:System.Threading.ExecutionContext"/>.</summary>
+            <typeparam name="TStateMachine">The type of the state machine.</typeparam>
+            <param name="stateMachine">The state machine instance, passed by reference.</param>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+            <summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
+            <typeparam name="TAwaiter">The type of the awaiter.</typeparam>
+            <typeparam name="TStateMachine">The type of the state machine.</typeparam>
+            <param name="awaiter">The awaiter.</param>
+            <param name="stateMachine">The state machine.</param>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+            <summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
+            <typeparam name="TAwaiter">The type of the awaiter.</typeparam>
+            <typeparam name="TStateMachine">The type of the state machine.</typeparam>
+            <param name="awaiter">The awaiter.</param>
+            <param name="stateMachine">The state machine.</param>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Complete">
+            <summary>Marks iteration as being completed, whether successfully or otherwise.</summary>
+        </member>
+        <member name="P:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.ObjectIdForDebugger">
+            <summary>Gets an object that may be used to uniquely identify this builder to the debugger.</summary>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute">
+            <summary>Indicates whether a method is an asynchronous iterator.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute.#ctor(System.Type)">
+            <summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute"/> class.</summary>
+            <param name="stateMachineType">The type object for the underlying state machine type that's used to implement a state machine method.</param>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable">
+            <summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1">
+            <summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)">
+            <summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
+            <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+            <returns>The configured enumerable.</returns>
+            <remarks>This will replace any previous value set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)"/> for this iteration.</remarks>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)">
+            <summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
+            <returns>The configured enumerable.</returns>
+            <remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator">
+            <summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.MoveNextAsync">
+            <summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
+            <returns>
+            A <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> that will complete with a result of <c>true</c>
+            if the enumerator was successfully advanced to the next element, or <c>false</c> if the enumerator has
+            passed the end of the collection.
+            </returns>
+        </member>
+        <member name="P:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.Current">
+            <summary>Gets the element in the collection at the current position of the enumerator.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.DisposeAsync">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or
+            resetting unmanaged resources asynchronously.
+            </summary>
+        </member>
+        <member name="T:System.Collections.Generic.IAsyncEnumerable`1">
+            <summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
+            <typeparam name="T">The type of values to enumerate.</typeparam>
+        </member>
+        <member name="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)">
+            <summary>Returns an enumerator that iterates asynchronously through the collection.</summary>
+            <param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken"/> that may be used to cancel the asynchronous iteration.</param>
+            <returns>An enumerator that can be used to iterate asynchronously through the collection.</returns>
+        </member>
+        <member name="T:System.Collections.Generic.IAsyncEnumerator`1">
+            <summary>Supports a simple asynchronous iteration over a generic collection.</summary>
+            <typeparam name="T">The type of objects to enumerate.</typeparam>
+        </member>
+        <member name="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync">
+            <summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.ValueTask`1"/> that will complete with a result of <c>true</c> if the enumerator
+            was successfully advanced to the next element, or <c>false</c> if the enumerator has passed the end
+            of the collection.
+            </returns>
+        </member>
+        <member name="P:System.Collections.Generic.IAsyncEnumerator`1.Current">
+            <summary>Gets the element in the collection at the current position of the enumerator.</summary>
+        </member>
+        <member name="T:System.IAsyncDisposable">
+            <summary>Provides a mechanism for releasing unmanaged resources asynchronously.</summary>
+        </member>
+        <member name="M:System.IAsyncDisposable.DisposeAsync">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or
+            resetting unmanaged resources asynchronously.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c44cfffd6d0c75c46aaf582ae3b391f0
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt


+ 7 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8c6c82e42f2442144a5f0bae99e9d251
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt

@@ -0,0 +1 @@
+cf258a14b70ad9069470a108f13765e0e5988f51

+ 7 - 0
Assets/InfraredProject/Packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bdfafcd03ff1bbc45b3c4f2b90787c08
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 45e370c5e6b264b478a48fdeabbe8c9a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ef2f970beec71a49af13c44504e95b0
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg


+ 7 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 301f4f6eb8aeb9c46b75011b02ed76ac
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 309 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8 
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib 
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.11, January 15th, 2017
+
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose. 
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+

+ 7 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8a256360b3ac5984b955a5446bfda32a
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bd0c841e7a1a2764bb8bd18f03f90a5e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dcf3dfbc87ae235418668e2a28685726
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll


+ 33 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 2e9e7047e485cf64a8bd3df15f00d314
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 38 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?><doc>
+  <assembly>
+    <name>System.Buffers</name>
+  </assembly>
+  <members>
+    <member name="T:System.Buffers.ArrayPool`1">
+      <summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
+      <typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
+    </member>
+    <member name="M:System.Buffers.ArrayPool`1.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
+    </member>
+    <member name="M:System.Buffers.ArrayPool`1.Create">
+      <summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
+      <returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class.</returns>
+    </member>
+    <member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
+      <summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class using the specifed configuration.</summary>
+      <param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
+      <param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
+      <returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class with the specified configuration.</returns>
+    </member>
+    <member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
+      <summary>Retrieves a buffer that is at least the requested length.</summary>
+      <param name="minimumLength">The minimum length of the array.</param>
+      <returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
+    </member>
+    <member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
+      <summary>Returns an array to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method on the same <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
+      <param name="array">A buffer to return to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method.</param>
+      <param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="clearArray">clearArray</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method will not see the content of the previous caller. If <paramref name="clearArray">clearArray</paramref> is set to false or if the pool will release the buffer, the array&amp;#39;s contents are left unchanged.</param>
+    </member>
+    <member name="P:System.Buffers.ArrayPool`1.Shared">
+      <summary>Gets a shared <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
+      <returns>A shared <see cref="System.Buffers.ArrayPool`1"></see> instance.</returns>
+    </member>
+  </members>
+</doc>

+ 7 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 691c466513e9dec43af6be2d794777a0
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt


+ 7 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 82d537d4d445bf14ab794836f9b8cd95
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/version.txt

@@ -0,0 +1 @@
+7601f4f6225089ffb291dc7d58293c7bbf5c5d4f

+ 7 - 0
Assets/InfraredProject/Packages/System.Buffers.4.5.1/version.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 20d2387b6837fe24b8907c78dc0a71f5
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: edb29dbf62189e445aa853c5cdb2d05e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 623a1f4e8f841004caaa31cc0a4ea32a
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg


+ 7 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0ee2d4bb41721d74a99796c47d51bee6
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 309 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8 
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib 
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.11, January 15th, 2017
+
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose. 
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+

+ 7 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 09172c0ab5169bf478020cebddf04d2c
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1aac679c3cf6c6f45a64c308a72404b4
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0ce6af7e49a7a8946b13028cc8eedc23
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll


+ 33 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 38b80b1e70a0cdd4a850b785d89b9d53
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 355 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml

@@ -0,0 +1,355 @@
+<?xml version="1.0" encoding="utf-8"?><doc>
+  <assembly>
+    <name>System.Memory</name>
+  </assembly>
+  <members>
+    <member name="T:System.Span`1">
+      <typeparam name="T"></typeparam>
+    </member>
+    <member name="M:System.Span`1.#ctor(`0[])">
+      <param name="array"></param>
+    </member>
+    <member name="M:System.Span`1.#ctor(System.Void*,System.Int32)">
+      <param name="pointer"></param>
+      <param name="length"></param>
+    </member>
+    <member name="M:System.Span`1.#ctor(`0[],System.Int32)">
+      <param name="array"></param>
+      <param name="start"></param>
+    </member>
+    <member name="M:System.Span`1.#ctor(`0[],System.Int32,System.Int32)">
+      <param name="array"></param>
+      <param name="start"></param>
+      <param name="length"></param>
+    </member>
+    <member name="M:System.Span`1.Clear">
+      
+    </member>
+    <member name="M:System.Span`1.CopyTo(System.Span{`0})">
+      <param name="destination"></param>
+    </member>
+    <member name="M:System.Span`1.DangerousCreate(System.Object,`0@,System.Int32)">
+      <param name="obj"></param>
+      <param name="objectData"></param>
+      <param name="length"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.DangerousGetPinnableReference">
+      <returns></returns>
+    </member>
+    <member name="P:System.Span`1.Empty">
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.Equals(System.Object)">
+      <param name="obj"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.Fill(`0)">
+      <param name="value"></param>
+    </member>
+    <member name="M:System.Span`1.GetHashCode">
+      <returns></returns>
+    </member>
+    <member name="P:System.Span`1.IsEmpty">
+      <returns></returns>
+    </member>
+    <member name="P:System.Span`1.Item(System.Int32)">
+      <param name="index"></param>
+      <returns></returns>
+    </member>
+    <member name="P:System.Span`1.Length">
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.op_Equality(System.Span{`0},System.Span{`0})">
+      <param name="left"></param>
+      <param name="right"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.op_Implicit(System.ArraySegment{T})~System.Span{T}">
+      <param name="arraySegment"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.op_Implicit(System.Span{T})~System.ReadOnlySpan{T}">
+      <param name="span"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.op_Implicit(T[])~System.Span{T}">
+      <param name="array"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.op_Inequality(System.Span{`0},System.Span{`0})">
+      <param name="left"></param>
+      <param name="right"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.Slice(System.Int32)">
+      <param name="start"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.Slice(System.Int32,System.Int32)">
+      <param name="start"></param>
+      <param name="length"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.ToArray">
+      <returns></returns>
+    </member>
+    <member name="M:System.Span`1.TryCopyTo(System.Span{`0})">
+      <param name="destination"></param>
+      <returns></returns>
+    </member>
+    <member name="T:System.SpanExtensions">
+      
+    </member>
+    <member name="M:System.SpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
+      <param name="source"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.AsBytes``1(System.Span{``0})">
+      <param name="source"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.AsSpan(System.String)">
+      <param name="text"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.AsSpan``1(System.ArraySegment{``0})">
+      <param name="arraySegment"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.AsSpan``1(``0[])">
+      <param name="array"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.CopyTo``1(``0[],System.Span{``0})">
+      <param name="array"></param>
+      <param name="destination"></param>
+      <typeparam name="T"></typeparam>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.Byte)">
+      <param name="span"></param>
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.Byte)">
+      <param name="span"></param>
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0)">
+      <param name="span"></param>
+      <param name="value"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},System.ReadOnlySpan{``0})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},``0)">
+      <param name="span"></param>
+      <param name="value"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte,System.Byte)">
+      <param name="span"></param>
+      <param name="value0"></param>
+      <param name="value1"></param>
+      <param name="value2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte,System.Byte)">
+      <param name="span"></param>
+      <param name="value0"></param>
+      <param name="value1"></param>
+      <param name="value2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte)">
+      <param name="span"></param>
+      <param name="value0"></param>
+      <param name="value1"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="span"></param>
+      <param name="values"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="span"></param>
+      <param name="values"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte)">
+      <param name="span"></param>
+      <param name="value0"></param>
+      <param name="value1"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.NonPortableCast``2(System.ReadOnlySpan{``0})">
+      <param name="source"></param>
+      <typeparam name="TFrom"></typeparam>
+      <typeparam name="TTo"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.NonPortableCast``2(System.Span{``0})">
+      <param name="source"></param>
+      <typeparam name="TFrom"></typeparam>
+      <typeparam name="TTo"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.SequenceEqual(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="first"></param>
+      <param name="second"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.SequenceEqual(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="first"></param>
+      <param name="second"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.SequenceEqual``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
+      <param name="first"></param>
+      <param name="second"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.SequenceEqual``1(System.Span{``0},System.ReadOnlySpan{``0})">
+      <param name="first"></param>
+      <param name="second"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.StartsWith(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.StartsWith(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.StartsWith``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="M:System.SpanExtensions.StartsWith``1(System.Span{``0},System.ReadOnlySpan{``0})">
+      <param name="span"></param>
+      <param name="value"></param>
+      <typeparam name="T"></typeparam>
+      <returns></returns>
+    </member>
+    <member name="T:System.ReadOnlySpan`1">
+      <typeparam name="T"></typeparam>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.#ctor(`0[])">
+      <param name="array"></param>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.#ctor(System.Void*,System.Int32)">
+      <param name="pointer"></param>
+      <param name="length"></param>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32)">
+      <param name="array"></param>
+      <param name="start"></param>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32,System.Int32)">
+      <param name="array"></param>
+      <param name="start"></param>
+      <param name="length"></param>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.CopyTo(System.Span{`0})">
+      <param name="destination"></param>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.DangerousCreate(System.Object,`0@,System.Int32)">
+      <param name="obj"></param>
+      <param name="objectData"></param>
+      <param name="length"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.DangerousGetPinnableReference">
+      <returns></returns>
+    </member>
+    <member name="P:System.ReadOnlySpan`1.Empty">
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.Equals(System.Object)">
+      <param name="obj"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.GetHashCode">
+      <returns></returns>
+    </member>
+    <member name="P:System.ReadOnlySpan`1.IsEmpty">
+      <returns></returns>
+    </member>
+    <member name="P:System.ReadOnlySpan`1.Item(System.Int32)">
+      <param name="index"></param>
+      <returns></returns>
+    </member>
+    <member name="P:System.ReadOnlySpan`1.Length">
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.op_Equality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
+      <param name="left"></param>
+      <param name="right"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.op_Implicit(System.ArraySegment{T})~System.ReadOnlySpan{T}">
+      <param name="arraySegment"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.op_Implicit(T[])~System.ReadOnlySpan{T}">
+      <param name="array"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.op_Inequality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
+      <param name="left"></param>
+      <param name="right"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.Slice(System.Int32)">
+      <param name="start"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.Slice(System.Int32,System.Int32)">
+      <param name="start"></param>
+      <param name="length"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.ToArray">
+      <returns></returns>
+    </member>
+    <member name="M:System.ReadOnlySpan`1.TryCopyTo(System.Span{`0})">
+      <param name="destination"></param>
+      <returns></returns>
+    </member>
+  </members>
+</doc>

+ 7 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9f6e8b00cca467b48870ac8a1754ec6b
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt


+ 7 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 10aa027dd9cc45548a988fd8b207d988
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/version.txt

@@ -0,0 +1 @@
+7601f4f6225089ffb291dc7d58293c7bbf5c5d4f

+ 7 - 0
Assets/InfraredProject/Packages/System.Memory.4.5.4/version.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cf196797a61258d4a8f53a7bea59fc66
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 42042fd8e21b27c4b8208ee929698fc3
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4f90dbb6af859b644b7fb7c3f84882fc
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg


+ 7 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 706c27e1a91dd7c4ba0fb87005b60c59
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 309 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8 
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib 
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.11, January 15th, 2017
+
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose. 
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+

+ 7 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2731fd041df240c4881eb26a9204f4cc
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 87adaf76f87f9dd4486ec853018ac9a1
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 183a65037eb42b5468a6703959e31432
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2621 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml

@@ -0,0 +1,2621 @@
+<?xml version="1.0" encoding="utf-8"?><doc>
+  <assembly>
+    <name>System.Numerics.Vectors</name>
+  </assembly>
+  <members>
+    <member name="T:System.Numerics.Matrix3x2">
+      <summary>Represents a 3x2 matrix.</summary>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a 3x2 matrix from the specified components.</summary>
+      <param name="m11">The value to assign to the first element in the first row.</param>
+      <param name="m12">The value to assign to the second element in the first row.</param>
+      <param name="m21">The value to assign to the first element in the second row.</param>
+      <param name="m22">The value to assign to the second element in the second row.</param>
+      <param name="m31">The value to assign to the first element in the third row.</param>
+      <param name="m32">The value to assign to the second element in the third row.</param>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Add(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Adds each element in one matrix with its corresponding element in a second matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix that contains the summed values of <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateRotation(System.Single)">
+      <summary>Creates a rotation matrix using the given rotation in radians.</summary>
+      <param name="radians">The amount of rotation, in radians.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateRotation(System.Single,System.Numerics.Vector2)">
+      <summary>Creates a rotation matrix using the specified rotation in radians and a center point.</summary>
+      <param name="radians">The amount of rotation, in radians.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateScale(System.Single,System.Single)">
+      <summary>Creates a scaling matrix from the specified X and Y components.</summary>
+      <param name="xScale">The value to scale by on the X axis.</param>
+      <param name="yScale">The value to scale by on the Y axis.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateScale(System.Single,System.Numerics.Vector2)">
+      <summary>Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.</summary>
+      <param name="scale">The uniform scale to use.</param>
+      <param name="centerPoint">The center offset.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateScale(System.Single,System.Single,System.Numerics.Vector2)">
+      <summary>Creates a scaling matrix that is offset by a given center point.</summary>
+      <param name="xScale">The value to scale by on the X axis.</param>
+      <param name="yScale">The value to scale by on the Y axis.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateScale(System.Single)">
+      <summary>Creates a scaling matrix that scales uniformly with the given scale.</summary>
+      <param name="scale">The uniform scale to use.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateScale(System.Numerics.Vector2)">
+      <summary>Creates a scaling matrix from the specified vector scale.</summary>
+      <param name="scales">The scale to use.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateScale(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Creates a scaling matrix from the specified vector scale with an offset from the specified center point.</summary>
+      <param name="scales">The scale to use.</param>
+      <param name="centerPoint">The center offset.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateSkew(System.Single,System.Single)">
+      <summary>Creates a skew matrix from the specified angles in radians.</summary>
+      <param name="radiansX">The X angle, in radians.</param>
+      <param name="radiansY">The Y angle, in radians.</param>
+      <returns>The skew matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateSkew(System.Single,System.Single,System.Numerics.Vector2)">
+      <summary>Creates a skew matrix from the specified angles in radians and a center point.</summary>
+      <param name="radiansX">The X angle, in radians.</param>
+      <param name="radiansY">The Y angle, in radians.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The skew matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateTranslation(System.Numerics.Vector2)">
+      <summary>Creates a translation matrix from the specified 2-dimensional vector.</summary>
+      <param name="position">The translation position.</param>
+      <returns>The translation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.CreateTranslation(System.Single,System.Single)">
+      <summary>Creates a translation matrix from the specified X and Y components.</summary>
+      <param name="xPosition">The X position.</param>
+      <param name="yPosition">The Y position.</param>
+      <returns>The translation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Equals(System.Numerics.Matrix3x2)">
+      <summary>Returns a value that indicates whether this instance and another 3x2 matrix are equal.</summary>
+      <param name="other">The other matrix.</param>
+      <returns>true if the two matrices are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.GetDeterminant">
+      <summary>Calculates the determinant for this matrix.</summary>
+      <returns>The determinant.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="P:System.Numerics.Matrix3x2.Identity">
+      <summary>Gets the multiplicative identity matrix.</summary>
+      <returns>The multiplicative identify matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Invert(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2@)">
+      <summary>Inverts the specified matrix. The return value indicates whether the operation succeeded.</summary>
+      <param name="matrix">The matrix to invert.</param>
+      <param name="result">When this method returns, contains the inverted matrix if the operation succeeded.</param>
+      <returns>true if <paramref name="matrix">matrix</paramref> was converted successfully; otherwise,  false.</returns>
+    </member>
+    <member name="P:System.Numerics.Matrix3x2.IsIdentity">
+      <summary>Indicates whether the current matrix is the identity matrix.</summary>
+      <returns>true if the current matrix is the identity matrix; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Lerp(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2,System.Single)">
+      <summary>Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.</summary>
+      <param name="matrix1">The first matrix.</param>
+      <param name="matrix2">The second matrix.</param>
+      <param name="amount">The relative weighting of matrix2.</param>
+      <returns>The interpolated matrix.</returns>
+    </member>
+    <member name="F:System.Numerics.Matrix3x2.M11">
+      <summary>The first element of the first row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix3x2.M12">
+      <summary>The second element of the first row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix3x2.M21">
+      <summary>The first element of the second row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix3x2.M22">
+      <summary>The second element of the second row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix3x2.M31">
+      <summary>The first element of the third row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix3x2.M32">
+      <summary>The second element of the third row.</summary>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Multiply(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Returns the matrix that results from multiplying two matrices together.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The product matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Multiply(System.Numerics.Matrix3x2,System.Single)">
+      <summary>Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.</summary>
+      <param name="value1">The matrix to scale.</param>
+      <param name="value2">The scaling value to use.</param>
+      <returns>The scaled matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Negate(System.Numerics.Matrix3x2)">
+      <summary>Negates the specified matrix by multiplying all its values by -1.</summary>
+      <param name="value">The matrix to negate.</param>
+      <returns>The negated matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_Addition(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Adds each element in one matrix with its corresponding element in a second matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix that contains the summed values.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_Equality(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Returns a value that indicates whether the specified matrices are equal.</summary>
+      <param name="value1">The first matrix to compare.</param>
+      <param name="value2">The second matrix to compare.</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_Inequality(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Returns a value that indicates whether the specified matrices are not equal.</summary>
+      <param name="value1">The first matrix to compare.</param>
+      <param name="value2">The second matrix to compare.</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_Multiply(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Returns the matrix that results from multiplying two matrices together.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The product matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_Multiply(System.Numerics.Matrix3x2,System.Single)">
+      <summary>Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.</summary>
+      <param name="value1">The matrix to scale.</param>
+      <param name="value2">The scaling value to use.</param>
+      <returns>The scaled matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_Subtraction(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Subtracts each element in a second matrix from its corresponding element in a first matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix containing the values that result from subtracting each element in <paramref name="value2">value2</paramref> from its corresponding element in <paramref name="value1">value1</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.op_UnaryNegation(System.Numerics.Matrix3x2)">
+      <summary>Negates the specified matrix by multiplying all its values by -1.</summary>
+      <param name="value">The matrix to negate.</param>
+      <returns>The negated matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.Subtract(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2)">
+      <summary>Subtracts each element in a second matrix from its corresponding element in a first matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix containing the values that result from subtracting each element in <paramref name="value2">value2</paramref> from its corresponding element in <paramref name="value1">value1</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix3x2.ToString">
+      <summary>Returns a string that represents this matrix.</summary>
+      <returns>The string representation of this matrix.</returns>
+    </member>
+    <member name="P:System.Numerics.Matrix3x2.Translation">
+      <summary>Gets or sets the translation component of this matrix.</summary>
+      <returns>The translation component of the current instance.</returns>
+    </member>
+    <member name="T:System.Numerics.Matrix4x4">
+      <summary>Represents a 4x4 matrix.</summary>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.#ctor(System.Numerics.Matrix3x2)">
+      <summary>Creates a <see cref="T:System.Numerics.Matrix4x4"></see> object from a specified <see cref="T:System.Numerics.Matrix3x2"></see> object.</summary>
+      <param name="value">A 3x2 matrix.</param>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a 4x4 matrix from the specified components.</summary>
+      <param name="m11">The value to assign to the first element in the first row.</param>
+      <param name="m12">The value to assign to the second element in the first row.</param>
+      <param name="m13">The value to assign to the third element in the first row.</param>
+      <param name="m14">The value to assign to the fourth element in the first row.</param>
+      <param name="m21">The value to assign to the first element in the second row.</param>
+      <param name="m22">The value to assign to the second element in the second row.</param>
+      <param name="m23">The value to assign to the third element in the second row.</param>
+      <param name="m24">The value to assign to the third element in the second row.</param>
+      <param name="m31">The value to assign to the first element in the third row.</param>
+      <param name="m32">The value to assign to the second element in the third row.</param>
+      <param name="m33">The value to assign to the third element in the third row.</param>
+      <param name="m34">The value to assign to the fourth element in the third row.</param>
+      <param name="m41">The value to assign to the first element in the fourth row.</param>
+      <param name="m42">The value to assign to the second element in the fourth row.</param>
+      <param name="m43">The value to assign to the third element in the fourth row.</param>
+      <param name="m44">The value to assign to the fourth element in the fourth row.</param>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Add(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Adds each element in one matrix with its corresponding element in a second matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix that contains the summed values of <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateBillboard(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Creates a spherical billboard that rotates around a specified object position.</summary>
+      <param name="objectPosition">The position of the object that the billboard will rotate around.</param>
+      <param name="cameraPosition">The position of the camera.</param>
+      <param name="cameraUpVector">The up vector of the camera.</param>
+      <param name="cameraForwardVector">The forward vector of the camera.</param>
+      <returns>The created billboard.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateConstrainedBillboard(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Creates a cylindrical billboard that rotates around a specified axis.</summary>
+      <param name="objectPosition">The position of the object that the billboard will rotate around.</param>
+      <param name="cameraPosition">The position of the camera.</param>
+      <param name="rotateAxis">The axis to rotate the billboard around.</param>
+      <param name="cameraForwardVector">The forward vector of the camera.</param>
+      <param name="objectForwardVector">The forward vector of the object.</param>
+      <returns>The billboard matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateFromAxisAngle(System.Numerics.Vector3,System.Single)">
+      <summary>Creates a matrix that rotates around an arbitrary vector.</summary>
+      <param name="axis">The axis to rotate around.</param>
+      <param name="angle">The angle to rotate around axis, in radians.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateFromQuaternion(System.Numerics.Quaternion)">
+      <summary>Creates a rotation matrix from the specified Quaternion rotation value.</summary>
+      <param name="quaternion">The source Quaternion.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateFromYawPitchRoll(System.Single,System.Single,System.Single)">
+      <summary>Creates a rotation matrix from the specified yaw, pitch, and roll.</summary>
+      <param name="yaw">The angle of rotation, in radians, around the Y axis.</param>
+      <param name="pitch">The angle of rotation, in radians, around the X axis.</param>
+      <param name="roll">The angle of rotation, in radians, around the Z axis.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateLookAt(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Creates a view matrix.</summary>
+      <param name="cameraPosition">The position of the camera.</param>
+      <param name="cameraTarget">The target towards which the camera is pointing.</param>
+      <param name="cameraUpVector">The direction that is &amp;quot;up&amp;quot; from the camera&amp;#39;s point of view.</param>
+      <returns>The view matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateOrthographic(System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates an orthographic perspective matrix from the given view volume dimensions.</summary>
+      <param name="width">The width of the view volume.</param>
+      <param name="height">The height of the view volume.</param>
+      <param name="zNearPlane">The minimum Z-value of the view volume.</param>
+      <param name="zFarPlane">The maximum Z-value of the view volume.</param>
+      <returns>The orthographic projection matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateOrthographicOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a customized orthographic projection matrix.</summary>
+      <param name="left">The minimum X-value of the view volume.</param>
+      <param name="right">The maximum X-value of the view volume.</param>
+      <param name="bottom">The minimum Y-value of the view volume.</param>
+      <param name="top">The maximum Y-value of the view volume.</param>
+      <param name="zNearPlane">The minimum Z-value of the view volume.</param>
+      <param name="zFarPlane">The maximum Z-value of the view volume.</param>
+      <returns>The orthographic projection matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreatePerspective(System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a perspective projection matrix from the given view volume dimensions.</summary>
+      <param name="width">The width of the view volume at the near view plane.</param>
+      <param name="height">The height of the view volume at the near view plane.</param>
+      <param name="nearPlaneDistance">The distance to the near view plane.</param>
+      <param name="farPlaneDistance">The distance to the far view plane.</param>
+      <returns>The perspective projection matrix.</returns>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="nearPlaneDistance">nearPlaneDistance</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="farPlaneDistance">farPlaneDistance</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="nearPlaneDistance">nearPlaneDistance</paramref> is greater than or equal to <paramref name="farPlaneDistance">farPlaneDistance</paramref>.</exception>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreatePerspectiveFieldOfView(System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.</summary>
+      <param name="fieldOfView">The field of view in the y direction, in radians.</param>
+      <param name="aspectRatio">The aspect ratio, defined as view space width divided by height.</param>
+      <param name="nearPlaneDistance">The distance to the near view plane.</param>
+      <param name="farPlaneDistance">The distance to the far view plane.</param>
+      <returns>The perspective projection matrix.</returns>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="fieldOfView">fieldOfView</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="fieldOfView">fieldOfView</paramref> is greater than or equal to <see cref="System.Math.PI"></see>.  
+ <paramref name="nearPlaneDistance">nearPlaneDistance</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="farPlaneDistance">farPlaneDistance</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="nearPlaneDistance">nearPlaneDistance</paramref> is greater than or equal to <paramref name="farPlaneDistance">farPlaneDistance</paramref>.</exception>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreatePerspectiveOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a customized perspective projection matrix.</summary>
+      <param name="left">The minimum x-value of the view volume at the near view plane.</param>
+      <param name="right">The maximum x-value of the view volume at the near view plane.</param>
+      <param name="bottom">The minimum y-value of the view volume at the near view plane.</param>
+      <param name="top">The maximum y-value of the view volume at the near view plane.</param>
+      <param name="nearPlaneDistance">The distance to the near view plane.</param>
+      <param name="farPlaneDistance">The distance to the far view plane.</param>
+      <returns>The perspective projection matrix.</returns>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="nearPlaneDistance">nearPlaneDistance</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="farPlaneDistance">farPlaneDistance</paramref> is less than or equal to zero.  
+ -or-  
+ <paramref name="nearPlaneDistance">nearPlaneDistance</paramref> is greater than or equal to <paramref name="farPlaneDistance">farPlaneDistance</paramref>.</exception>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateReflection(System.Numerics.Plane)">
+      <summary>Creates a matrix that reflects the coordinate system about a specified plane.</summary>
+      <param name="value">The plane about which to create a reflection.</param>
+      <returns>A new matrix expressing the reflection.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateRotationX(System.Single)">
+      <summary>Creates a matrix for rotating points around the X axis.</summary>
+      <param name="radians">The amount, in radians, by which to rotate around the X axis.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateRotationX(System.Single,System.Numerics.Vector3)">
+      <summary>Creates a matrix for rotating points around the X axis from a center point.</summary>
+      <param name="radians">The amount, in radians, by which to rotate around the X axis.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateRotationY(System.Single,System.Numerics.Vector3)">
+      <summary>The amount, in radians, by which to rotate around the Y axis from a center point.</summary>
+      <param name="radians">The amount, in radians, by which to rotate around the Y-axis.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateRotationY(System.Single)">
+      <summary>Creates a matrix for rotating points around the Y axis.</summary>
+      <param name="radians">The amount, in radians, by which to rotate around the Y-axis.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateRotationZ(System.Single)">
+      <summary>Creates a matrix for rotating points around the Z axis.</summary>
+      <param name="radians">The amount, in radians, by which to rotate around the Z-axis.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateRotationZ(System.Single,System.Numerics.Vector3)">
+      <summary>Creates a matrix for rotating points around the Z axis from a center point.</summary>
+      <param name="radians">The amount, in radians, by which to rotate around the Z-axis.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The rotation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateScale(System.Numerics.Vector3)">
+      <summary>Creates a scaling matrix from the specified vector scale.</summary>
+      <param name="scales">The scale to use.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateScale(System.Single)">
+      <summary>Creates a uniform scaling matrix that scale equally on each axis.</summary>
+      <param name="scale">The uniform scaling factor.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateScale(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Creates a scaling matrix with a center point.</summary>
+      <param name="scales">The vector that contains the amount to scale on each axis.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateScale(System.Single,System.Numerics.Vector3)">
+      <summary>Creates a uniform scaling matrix that scales equally on each axis with a center point.</summary>
+      <param name="scale">The uniform scaling factor.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateScale(System.Single,System.Single,System.Single)">
+      <summary>Creates a scaling matrix from the specified X, Y, and Z components.</summary>
+      <param name="xScale">The value to scale by on the X axis.</param>
+      <param name="yScale">The value to scale by on the Y axis.</param>
+      <param name="zScale">The value to scale by on the Z axis.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateScale(System.Single,System.Single,System.Single,System.Numerics.Vector3)">
+      <summary>Creates a scaling matrix that is offset by a given center point.</summary>
+      <param name="xScale">The value to scale by on the X axis.</param>
+      <param name="yScale">The value to scale by on the Y axis.</param>
+      <param name="zScale">The value to scale by on the Z axis.</param>
+      <param name="centerPoint">The center point.</param>
+      <returns>The scaling matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateShadow(System.Numerics.Vector3,System.Numerics.Plane)">
+      <summary>Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.</summary>
+      <param name="lightDirection">The direction from which the light that will cast the shadow is coming.</param>
+      <param name="plane">The plane onto which the new matrix should flatten geometry so as to cast a shadow.</param>
+      <returns>A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateTranslation(System.Numerics.Vector3)">
+      <summary>Creates a translation matrix from the specified 3-dimensional vector.</summary>
+      <param name="position">The amount to translate in each axis.</param>
+      <returns>The translation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateTranslation(System.Single,System.Single,System.Single)">
+      <summary>Creates a translation matrix from the specified X, Y, and Z components.</summary>
+      <param name="xPosition">The amount to translate on the X axis.</param>
+      <param name="yPosition">The amount to translate on the Y axis.</param>
+      <param name="zPosition">The amount to translate on the Z axis.</param>
+      <returns>The translation matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.CreateWorld(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Creates a world matrix with the specified parameters.</summary>
+      <param name="position">The position of the object.</param>
+      <param name="forward">The forward direction of the object.</param>
+      <param name="up">The upward direction of the object. Its value is usually [0, 1, 0].</param>
+      <returns>The world matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Decompose(System.Numerics.Matrix4x4,System.Numerics.Vector3@,System.Numerics.Quaternion@,System.Numerics.Vector3@)">
+      <summary>Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.</summary>
+      <param name="matrix">The source matrix.</param>
+      <param name="scale">When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.</param>
+      <param name="rotation">When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.</param>
+      <param name="translation">When the method returns, contains the translation component of the transformation matrix if the operation succeeded.</param>
+      <returns>true if <paramref name="matrix">matrix</paramref> was decomposed successfully; otherwise,  false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Equals(System.Numerics.Matrix4x4)">
+      <summary>Returns a value that indicates whether this instance and another 4x4 matrix are equal.</summary>
+      <param name="other">The other matrix.</param>
+      <returns>true if the two matrices are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.GetDeterminant">
+      <summary>Calculates the determinant of the current 4x4 matrix.</summary>
+      <returns>The determinant.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="P:System.Numerics.Matrix4x4.Identity">
+      <summary>Gets the multiplicative identity matrix.</summary>
+      <returns>Gets the multiplicative identity matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Invert(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4@)">
+      <summary>Inverts the specified matrix. The return value indicates whether the operation succeeded.</summary>
+      <param name="matrix">The matrix to invert.</param>
+      <param name="result">When this method returns, contains the inverted matrix if the operation succeeded.</param>
+      <returns>true if <paramref name="matrix">matrix</paramref> was converted successfully; otherwise,  false.</returns>
+    </member>
+    <member name="P:System.Numerics.Matrix4x4.IsIdentity">
+      <summary>Indicates whether the current matrix is the identity matrix.</summary>
+      <returns>true if the current matrix is the identity matrix; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Lerp(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single)">
+      <summary>Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.</summary>
+      <param name="matrix1">The first matrix.</param>
+      <param name="matrix2">The second matrix.</param>
+      <param name="amount">The relative weighting of matrix2.</param>
+      <returns>The interpolated matrix.</returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M11">
+      <summary>The first element of the first row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M12">
+      <summary>The second element of the first row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M13">
+      <summary>The third element of the first row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M14">
+      <summary>The fourth element of the first row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M21">
+      <summary>The first element of the second row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M22">
+      <summary>The second element of the second row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M23">
+      <summary>The third element of the second row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M24">
+      <summary>The fourth element of the second row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M31">
+      <summary>The first element of the third row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M32">
+      <summary>The second element of the third row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M33">
+      <summary>The third element of the third row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M34">
+      <summary>The fourth element of the third row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M41">
+      <summary>The first element of the fourth row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M42">
+      <summary>The second element of the fourth row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M43">
+      <summary>The third element of the fourth row.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Matrix4x4.M44">
+      <summary>The fourth element of the fourth row.</summary>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Multiply(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Returns the matrix that results from multiplying two matrices together.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The product matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Multiply(System.Numerics.Matrix4x4,System.Single)">
+      <summary>Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.</summary>
+      <param name="value1">The matrix to scale.</param>
+      <param name="value2">The scaling value to use.</param>
+      <returns>The scaled matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Negate(System.Numerics.Matrix4x4)">
+      <summary>Negates the specified matrix by multiplying all its values by -1.</summary>
+      <param name="value">The matrix to negate.</param>
+      <returns>The negated matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_Addition(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Adds each element in one matrix with its corresponding element in a second matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix that contains the summed values.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_Equality(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Returns a value that indicates whether the specified matrices are equal.</summary>
+      <param name="value1">The first matrix to compare.</param>
+      <param name="value2">The second matrix to care</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_Inequality(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Returns a value that indicates whether the specified matrices are not equal.</summary>
+      <param name="value1">The first matrix to compare.</param>
+      <param name="value2">The second matrix to compare.</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_Multiply(System.Numerics.Matrix4x4,System.Single)">
+      <summary>Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.</summary>
+      <param name="value1">The matrix to scale.</param>
+      <param name="value2">The scaling value to use.</param>
+      <returns>The scaled matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_Multiply(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Returns the matrix that results from multiplying two matrices together.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The product matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_Subtraction(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Subtracts each element in a second matrix from its corresponding element in a first matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix containing the values that result from subtracting each element in <paramref name="value2">value2</paramref> from its corresponding element in <paramref name="value1">value1</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.op_UnaryNegation(System.Numerics.Matrix4x4)">
+      <summary>Negates the specified matrix by multiplying all its values by -1.</summary>
+      <param name="value">The matrix to negate.</param>
+      <returns>The negated matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Subtract(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4)">
+      <summary>Subtracts each element in a second matrix from its corresponding element in a first matrix.</summary>
+      <param name="value1">The first matrix.</param>
+      <param name="value2">The second matrix.</param>
+      <returns>The matrix containing the values that result from subtracting each element in <paramref name="value2">value2</paramref> from its corresponding element in <paramref name="value1">value1</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.ToString">
+      <summary>Returns a string that represents this matrix.</summary>
+      <returns>The string representation of this matrix.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Transform(System.Numerics.Matrix4x4,System.Numerics.Quaternion)">
+      <summary>Transforms the specified matrix by applying the specified Quaternion rotation.</summary>
+      <param name="value">The matrix to transform.</param>
+      <param name="rotation">The rotation t apply.</param>
+      <returns>The transformed matrix.</returns>
+    </member>
+    <member name="P:System.Numerics.Matrix4x4.Translation">
+      <summary>Gets or sets the translation component of this matrix.</summary>
+      <returns>The translation component of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Matrix4x4.Transpose(System.Numerics.Matrix4x4)">
+      <summary>Transposes the rows and columns of a matrix.</summary>
+      <param name="matrix">The matrix to transpose.</param>
+      <returns>The transposed matrix.</returns>
+    </member>
+    <member name="T:System.Numerics.Plane">
+      <summary>Represents a three-dimensional plane.</summary>
+    </member>
+    <member name="M:System.Numerics.Plane.#ctor(System.Numerics.Vector4)">
+      <summary>Creates a <see cref="T:System.Numerics.Plane"></see> object from a specified four-dimensional vector.</summary>
+      <param name="value">A vector whose first three elements describe the normal vector, and whose <see cref="F:System.Numerics.Vector4.W"></see> defines the distance along that normal from the origin.</param>
+    </member>
+    <member name="M:System.Numerics.Plane.#ctor(System.Numerics.Vector3,System.Single)">
+      <summary>Creates a <see cref="T:System.Numerics.Plane"></see> object from a specified normal and the distance along the normal from the origin.</summary>
+      <param name="normal">The plane&amp;#39;s normal vector.</param>
+      <param name="d">The plane&amp;#39;s distance from the origin along its normal vector.</param>
+    </member>
+    <member name="M:System.Numerics.Plane.#ctor(System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a <see cref="T:System.Numerics.Plane"></see> object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.</summary>
+      <param name="x">The X component of the normal.</param>
+      <param name="y">The Y component of the normal.</param>
+      <param name="z">The Z component of the normal.</param>
+      <param name="d">The distance of the plane along its normal from the origin.</param>
+    </member>
+    <member name="M:System.Numerics.Plane.CreateFromVertices(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Creates a <see cref="T:System.Numerics.Plane"></see> object that contains three specified points.</summary>
+      <param name="point1">The first point defining the plane.</param>
+      <param name="point2">The second point defining the plane.</param>
+      <param name="point3">The third point defining the plane.</param>
+      <returns>The plane containing the three points.</returns>
+    </member>
+    <member name="F:System.Numerics.Plane.D">
+      <summary>The distance of the plane along its normal from the origin.</summary>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Plane.Dot(System.Numerics.Plane,System.Numerics.Vector4)">
+      <summary>Calculates the dot product of a plane and a 4-dimensional vector.</summary>
+      <param name="plane">The plane.</param>
+      <param name="value">The four-dimensional vector.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.DotCoordinate(System.Numerics.Plane,System.Numerics.Vector3)">
+      <summary>Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance (<see cref="F:System.Numerics.Plane.D"></see>) value of the plane.</summary>
+      <param name="plane">The plane.</param>
+      <param name="value">The 3-dimensional vector.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.DotNormal(System.Numerics.Plane,System.Numerics.Vector3)">
+      <summary>Returns the dot product of a specified three-dimensional vector and the <see cref="F:System.Numerics.Plane.Normal"></see> vector of this plane.</summary>
+      <param name="plane">The plane.</param>
+      <param name="value">The three-dimensional vector.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.Equals(System.Numerics.Plane)">
+      <summary>Returns a value that indicates whether this instance and another plane object are equal.</summary>
+      <param name="other">The other plane.</param>
+      <returns>true if the two planes are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="F:System.Numerics.Plane.Normal">
+      <summary>The normal vector of the plane.</summary>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Plane.Normalize(System.Numerics.Plane)">
+      <summary>Creates a new <see cref="T:System.Numerics.Plane"></see> object whose normal vector is the source plane&amp;#39;s normal vector normalized.</summary>
+      <param name="value">The source plane.</param>
+      <returns>The normalized plane.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.op_Equality(System.Numerics.Plane,System.Numerics.Plane)">
+      <summary>Returns a value that indicates whether two planes are equal.</summary>
+      <param name="value1">The first plane to compare.</param>
+      <param name="value2">The second plane to compare.</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.op_Inequality(System.Numerics.Plane,System.Numerics.Plane)">
+      <summary>Returns a value that indicates whether two planes are not equal.</summary>
+      <param name="value1">The first plane to compare.</param>
+      <param name="value2">The second plane to compare.</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.ToString">
+      <summary>Returns the string representation of this plane object.</summary>
+      <returns>A string that represents this <see cref="System.Numerics.Plane"></see> object.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.Transform(System.Numerics.Plane,System.Numerics.Matrix4x4)">
+      <summary>Transforms a normalized plane by a 4x4 matrix.</summary>
+      <param name="plane">The normalized plane to transform.</param>
+      <param name="matrix">The transformation matrix to apply to plane.</param>
+      <returns>The transformed plane.</returns>
+    </member>
+    <member name="M:System.Numerics.Plane.Transform(System.Numerics.Plane,System.Numerics.Quaternion)">
+      <summary>Transforms a normalized plane by a Quaternion rotation.</summary>
+      <param name="plane">The normalized plane to transform.</param>
+      <param name="rotation">The Quaternion rotation to apply to the plane.</param>
+      <returns>A new plane that results from applying the Quaternion rotation.</returns>
+    </member>
+    <member name="T:System.Numerics.Quaternion">
+      <summary>Represents a vector that is used to encode three-dimensional physical rotations.</summary>
+    </member>
+    <member name="M:System.Numerics.Quaternion.#ctor(System.Numerics.Vector3,System.Single)">
+      <summary>Creates a quaternion from the specified vector and rotation parts.</summary>
+      <param name="vectorPart">The vector part of the quaternion.</param>
+      <param name="scalarPart">The rotation part of the quaternion.</param>
+    </member>
+    <member name="M:System.Numerics.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)">
+      <summary>Constructs a quaternion from the specified components.</summary>
+      <param name="x">The value to assign to the X component of the quaternion.</param>
+      <param name="y">The value to assign to the Y component of the quaternion.</param>
+      <param name="z">The value to assign to the Z component of the quaternion.</param>
+      <param name="w">The value to assign to the W component of the quaternion.</param>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Add(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Adds each element in one quaternion with its corresponding element in a second quaternion.</summary>
+      <param name="value1">The first quaternion.</param>
+      <param name="value2">The second quaternion.</param>
+      <returns>The quaternion that contains the summed values of <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Concatenate(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Concatenates two quaternions.</summary>
+      <param name="value1">The first quaternion rotation in the series.</param>
+      <param name="value2">The second quaternion rotation in the series.</param>
+      <returns>A new quaternion representing the concatenation of the <paramref name="value1">value1</paramref> rotation followed by the <paramref name="value2">value2</paramref> rotation.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Conjugate(System.Numerics.Quaternion)">
+      <summary>Returns the conjugate of a specified quaternion.</summary>
+      <param name="value">The quaternion.</param>
+      <returns>A new quaternion that is the conjugate of value.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.CreateFromAxisAngle(System.Numerics.Vector3,System.Single)">
+      <summary>Creates a quaternion from a vector and an angle to rotate about the vector.</summary>
+      <param name="axis">The vector to rotate around.</param>
+      <param name="angle">The angle, in radians, to rotate around the vector.</param>
+      <returns>The newly created quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.CreateFromRotationMatrix(System.Numerics.Matrix4x4)">
+      <summary>Creates a quaternion from the specified rotation matrix.</summary>
+      <param name="matrix">The rotation matrix.</param>
+      <returns>The newly created quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.CreateFromYawPitchRoll(System.Single,System.Single,System.Single)">
+      <summary>Creates a new quaternion from the given yaw, pitch, and roll.</summary>
+      <param name="yaw">The yaw angle, in radians, around the Y axis.</param>
+      <param name="pitch">The pitch angle, in radians, around the X axis.</param>
+      <param name="roll">The roll angle, in radians, around the Z axis.</param>
+      <returns>The resulting quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Divide(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Divides one quaternion by a second quaternion.</summary>
+      <param name="value1">The dividend.</param>
+      <param name="value2">The divisor.</param>
+      <returns>The quaternion that results from dividing <paramref name="value1">value1</paramref> by <paramref name="value2">value2</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Dot(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Calculates the dot product of two quaternions.</summary>
+      <param name="quaternion1">The first quaternion.</param>
+      <param name="quaternion2">The second quaternion.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Equals(System.Numerics.Quaternion)">
+      <summary>Returns a value that indicates whether this instance and another quaternion are equal.</summary>
+      <param name="other">The other quaternion.</param>
+      <returns>true if the two quaternions are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="P:System.Numerics.Quaternion.Identity">
+      <summary>Gets a quaternion that represents no rotation.</summary>
+      <returns>A quaternion whose values are (0, 0, 0, 1).</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Inverse(System.Numerics.Quaternion)">
+      <summary>Returns the inverse of a quaternion.</summary>
+      <param name="value">The quaternion.</param>
+      <returns>The inverted quaternion.</returns>
+    </member>
+    <member name="P:System.Numerics.Quaternion.IsIdentity">
+      <summary>Gets a value that indicates whether the current instance is the identity quaternion.</summary>
+      <returns>true if the current instance is the identity quaternion; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Length">
+      <summary>Calculates the length of the quaternion.</summary>
+      <returns>The computed length of the quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.LengthSquared">
+      <summary>Calculates the squared length of the quaternion.</summary>
+      <returns>The length squared of the quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Lerp(System.Numerics.Quaternion,System.Numerics.Quaternion,System.Single)">
+      <summary>Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.</summary>
+      <param name="quaternion1">The first quaternion.</param>
+      <param name="quaternion2">The second quaternion.</param>
+      <param name="amount">The relative weight of quaternion2 in the interpolation.</param>
+      <returns>The interpolated quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Returns the quaternion that results from multiplying two quaternions together.</summary>
+      <param name="value1">The first quaternion.</param>
+      <param name="value2">The second quaternion.</param>
+      <returns>The product quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Multiply(System.Numerics.Quaternion,System.Single)">
+      <summary>Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.</summary>
+      <param name="value1">The source quaternion.</param>
+      <param name="value2">The scalar value.</param>
+      <returns>The scaled quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Negate(System.Numerics.Quaternion)">
+      <summary>Reverses the sign of each component of the quaternion.</summary>
+      <param name="value">The quaternion to negate.</param>
+      <returns>The negated quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Normalize(System.Numerics.Quaternion)">
+      <summary>Divides each component of a specified <see cref="T:System.Numerics.Quaternion"></see> by its length.</summary>
+      <param name="value">The quaternion to normalize.</param>
+      <returns>The normalized quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Addition(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Adds each element in one quaternion with its corresponding element in a second quaternion.</summary>
+      <param name="value1">The first quaternion.</param>
+      <param name="value2">The second quaternion.</param>
+      <returns>The quaternion that contains the summed values of <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Division(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Divides one quaternion by a second quaternion.</summary>
+      <param name="value1">The dividend.</param>
+      <param name="value2">The divisor.</param>
+      <returns>The quaternion that results from dividing <paramref name="value1">value1</paramref> by <paramref name="value2">value2</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Equality(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Returns a value that indicates whether two quaternions are equal.</summary>
+      <param name="value1">The first quaternion to compare.</param>
+      <param name="value2">The second quaternion to compare.</param>
+      <returns>true if the two quaternions are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Inequality(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Returns a value that indicates whether two quaternions are not equal.</summary>
+      <param name="value1">The first quaternion to compare.</param>
+      <param name="value2">The second quaternion to compare.</param>
+      <returns>true if <paramref name="value1">value1</paramref> and <paramref name="value2">value2</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Multiply(System.Numerics.Quaternion,System.Single)">
+      <summary>Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.</summary>
+      <param name="value1">The source quaternion.</param>
+      <param name="value2">The scalar value.</param>
+      <returns>The scaled quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Returns the quaternion that results from multiplying two quaternions together.</summary>
+      <param name="value1">The first quaternion.</param>
+      <param name="value2">The second quaternion.</param>
+      <returns>The product quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_Subtraction(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Subtracts each element in a second quaternion from its corresponding element in a first quaternion.</summary>
+      <param name="value1">The first quaternion.</param>
+      <param name="value2">The second quaternion.</param>
+      <returns>The quaternion containing the values that result from subtracting each element in <paramref name="value2">value2</paramref> from its corresponding element in <paramref name="value1">value1</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.op_UnaryNegation(System.Numerics.Quaternion)">
+      <summary>Reverses the sign of each component of the quaternion.</summary>
+      <param name="value">The quaternion to negate.</param>
+      <returns>The negated quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Slerp(System.Numerics.Quaternion,System.Numerics.Quaternion,System.Single)">
+      <summary>Interpolates between two quaternions, using spherical linear interpolation.</summary>
+      <param name="quaternion1">The first quaternion.</param>
+      <param name="quaternion2">The second quaternion.</param>
+      <param name="amount">The relative weight of the second quaternion in the interpolation.</param>
+      <returns>The interpolated quaternion.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.Subtract(System.Numerics.Quaternion,System.Numerics.Quaternion)">
+      <summary>Subtracts each element in a second quaternion from its corresponding element in a first quaternion.</summary>
+      <param name="value1">The first quaternion.</param>
+      <param name="value2">The second quaternion.</param>
+      <returns>The quaternion containing the values that result from subtracting each element in <paramref name="value2">value2</paramref> from its corresponding element in <paramref name="value1">value1</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Quaternion.ToString">
+      <summary>Returns a string that represents this quaternion.</summary>
+      <returns>The string representation of this quaternion.</returns>
+    </member>
+    <member name="F:System.Numerics.Quaternion.W">
+      <summary>The rotation component of the quaternion.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Quaternion.X">
+      <summary>The X value of the vector component of the quaternion.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Quaternion.Y">
+      <summary>The Y value of the vector component of the quaternion.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Quaternion.Z">
+      <summary>The Z value of the vector component of the quaternion.</summary>
+      <returns></returns>
+    </member>
+    <member name="T:System.Numerics.Vector`1">
+      <summary>Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.</summary>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+    </member>
+    <member name="M:System.Numerics.Vector`1.#ctor(`0)">
+      <summary>Creates a vector whose components are of a specified type.</summary>
+      <param name="value">The numeric type that defines the type of the components in the vector.</param>
+    </member>
+    <member name="M:System.Numerics.Vector`1.#ctor(`0[])">
+      <summary>Creates a vector from a specified array.</summary>
+      <param name="values">A numeric array.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="values">values</paramref> is null.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector`1.#ctor(`0[],System.Int32)">
+      <summary>Creates a vector from a specified array starting at a specified index position.</summary>
+      <param name="values">A numeric array.</param>
+      <param name="index">The starting index position from which to create the vector.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="values">values</paramref> is null.</exception>
+      <exception cref="T:System.IndexOutOfRangeException"><paramref name="index">index</paramref> is less than zero.  
+ -or-  
+ The length of <paramref name="values">values</paramref> minus <paramref name="index">index</paramref> is less than <see cref="System.Numerics.Vector`1.Count"></see>.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector`1.CopyTo(`0[])">
+      <summary>Copies the vector instance to a specified destination array.</summary>
+      <param name="destination">The array to receive a copy of the vector values.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="destination">destination</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current vector is greater than the number of elements available in the <paramref name="destination">destination</paramref> array.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector`1.CopyTo(`0[],System.Int32)">
+      <summary>Copies the vector instance to a specified destination array starting at a specified index position.</summary>
+      <param name="destination">The array to receive a copy of the vector values.</param>
+      <param name="startIndex">The starting index in destination at which to begin the copy operation.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="destination">destination</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than the number of elements available from <paramref name="startIndex">startIndex</paramref> to the end of the <paramref name="destination">destination</paramref> array.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index">index</paramref> is less than zero or greater than the last index in <paramref name="destination">destination</paramref>.</exception>
+    </member>
+    <member name="P:System.Numerics.Vector`1.Count">
+      <summary>Returns the number of elements stored in the vector.</summary>
+      <returns>The number of elements stored in the vector.</returns>
+      <exception cref="T:System.NotSupportedException">Access to the property getter via reflection is not supported.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector`1.Equals(System.Numerics.Vector{`0})">
+      <summary>Returns a value that indicates whether this instance is equal to a specified vector.</summary>
+      <param name="other">The vector to compare with this instance.</param>
+      <returns>true if the current instance and <paramref name="other">other</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance is equal to a specified object.</summary>
+      <param name="obj">The object to compare with this instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. The method returns false if <paramref name="obj">obj</paramref> is null, or if <paramref name="obj">obj</paramref> is a vector of a different type than the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector`1.Item(System.Int32)">
+      <summary>Gets the element at a specified index.</summary>
+      <param name="index">The index of the element to return.</param>
+      <returns>The element at index <paramref name="index">index</paramref>.</returns>
+      <exception cref="T:System.IndexOutOfRangeException"><paramref name="index">index</paramref> is less than zero.  
+ -or-  
+ <paramref name="index">index</paramref> is greater than or equal to <see cref="System.Numerics.Vector`1.Count"></see>.</exception>
+    </member>
+    <member name="P:System.Numerics.Vector`1.One">
+      <summary>Returns a vector containing all ones.</summary>
+      <returns>A vector containing all ones.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Addition(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_BitwiseAnd(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from the bitwise And of <paramref name="left">left</paramref> and <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_BitwiseOr(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from the bitwise Or of the elements in <paramref name="left">left</paramref> and <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Division(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from dividing <paramref name="left">left</paramref> by <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Equality(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Returns a value that indicates whether each pair of elements in two specified vectors are equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_ExclusiveOr(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from the bitwise XOr of the elements in <paramref name="left">left</paramref> and <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.UInt64}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.UInt64"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.UInt32}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.UInt32"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.UInt16}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.UInt16"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.Single}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.Single"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.SByte}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.SByte"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.Double}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.Double"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.Int32}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.Int32"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.Int16}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.Int16"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.Byte}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.Byte"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector{T})~System.Numerics.Vector{System.Int64}">
+      <summary>Reinterprets the bits of the specified vector into a vector of type <see cref="T:System.Int64"></see>.</summary>
+      <param name="value">The vector to reinterpret.</param>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Inequality(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Returns a value that indicates whether any single pair of elements in the specified vectors is equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if any element pairs in left and right are equal. false if no element pairs are equal.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Multiply(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Multiply(System.Numerics.Vector{`0},`0)">
+      <summary>Multiplies a vector by a specified scalar value.</summary>
+      <param name="value">The source vector.</param>
+      <param name="factor">A scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Multiply(`0,System.Numerics.Vector{`0})">
+      <summary>Multiplies a vector by the given scalar.</summary>
+      <param name="factor">The scalar value.</param>
+      <param name="value">The source vector.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_OnesComplement(System.Numerics.Vector{`0})">
+      <summary>Returns a new vector whose elements are obtained by taking the one&amp;#39;s complement of a specified vector&amp;#39;s elements.</summary>
+      <param name="value">The source vector.</param>
+      <returns>The one&amp;#39;s complement vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_Subtraction(System.Numerics.Vector{`0},System.Numerics.Vector{`0})">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from subtracting <paramref name="right">right</paramref> from <paramref name="left">left</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.op_UnaryNegation(System.Numerics.Vector{`0})">
+      <summary>Negates a given vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.ToString(System.String,System.IFormatProvider)">
+      <summary>Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <param name="formatProvider">A format provider that supplies culture-specific formatting information.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.ToString">
+      <summary>Returns the string representation of this vector using default formatting.</summary>
+      <returns>The string representation of this vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector`1.ToString(System.String)">
+      <summary>Returns the string representation of this vector using the specified format string to format individual elements.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector`1.Zero">
+      <summary>Returns a vector containing all zeroes.</summary>
+      <returns>A vector containing all zeroes.</returns>
+    </member>
+    <member name="T:System.Numerics.Vector">
+      <summary>Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.</summary>
+    </member>
+    <member name="M:System.Numerics.Vector.Abs``1(System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements are the absolute values of the given vector&amp;#39;s elements.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The absolute value vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Add``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose values are the sum of each pair of elements from two given vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AndNot``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorByte``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorDouble``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorInt16``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorInt32``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of integers.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorInt64``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of long integers.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorSByte``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of signed bytes.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorSingle``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorUInt16``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorUInt32``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of unsigned integers.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.AsVectorUInt64``1(System.Numerics.Vector{``0})">
+      <summary>Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The reinterpreted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.BitwiseAnd``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.BitwiseOr``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConditionalSelect(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Single})">
+      <summary>Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.</summary>
+      <param name="condition">The integral mask vector used to drive selection.</param>
+      <param name="left">The first source vector.</param>
+      <param name="right">The second source vector.</param>
+      <returns>The new vector with elements selected based on the mask.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConditionalSelect(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <summary>Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.</summary>
+      <param name="condition">The integral mask vector used to drive selection.</param>
+      <param name="left">The first source vector.</param>
+      <param name="right">The second source vector.</param>
+      <returns>The new vector with elements selected based on the mask.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConditionalSelect``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.</summary>
+      <param name="condition">The integral mask vector used to drive selection.</param>
+      <param name="left">The first source vector.</param>
+      <param name="right">The second source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The new vector with elements selected based on the mask.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToDouble(System.Numerics.Vector{System.Int64})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToDouble(System.Numerics.Vector{System.UInt64})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToInt32(System.Numerics.Vector{System.Single})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToInt64(System.Numerics.Vector{System.Double})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToSingle(System.Numerics.Vector{System.Int32})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToSingle(System.Numerics.Vector{System.UInt32})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToUInt32(System.Numerics.Vector{System.Single})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.ConvertToUInt64(System.Numerics.Vector{System.Double})">
+      <param name="value"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Divide``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose values are the result of dividing the first vector&amp;#39;s elements by the corresponding elements in the second vector.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The divided vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Dot``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns the dot product of two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Equals(System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Equals(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int32})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Equals(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Int64})">
+      <summary>Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting long integer vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Equals(System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Single})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Equals``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.EqualsAll``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether each pair of elements in the given vectors is equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if all elements in <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.EqualsAny``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether any single pair of elements in the given vectors is equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if any element pair in <paramref name="left">left</paramref> and <paramref name="right">right</paramref> is equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThan(System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThan(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int32})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThan(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Int64})">
+      <summary>Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting long integer vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThan(System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Single})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThan``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanAll``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if all elements in <paramref name="left">left</paramref> are greater than the corresponding elements in <paramref name="right">right</paramref>; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanAny``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if any element in <paramref name="left">left</paramref> is greater than the corresponding element in <paramref name="right">right</paramref>; otherwise,  false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Single})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Int64})">
+      <summary>Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting long integer vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int32})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqual``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqualAll``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if all elements in <paramref name="left">left</paramref> are greater than or equal to the corresponding elements in <paramref name="right">right</paramref>; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.GreaterThanOrEqualAny``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if any element in <paramref name="left">left</paramref> is greater than or equal to the corresponding element in <paramref name="right">right</paramref>; otherwise,  false.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector.IsHardwareAccelerated">
+      <summary>Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.</summary>
+      <returns>true if vector operations are subject to hardware acceleration; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThan(System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThan(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int32})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThan(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Int64})">
+      <summary>Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting long integer vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThan(System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Single})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThan``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanAll``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if all of the elements in <paramref name="left">left</paramref> are less than the corresponding elements in <paramref name="right">right</paramref>; otherwise,  false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanAny``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if any element in <paramref name="left">left</paramref> is less than the corresponding element in <paramref name="right">right</paramref>; otherwise,  false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int32})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Int64})">
+      <summary>Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting long integer vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Single})">
+      <summary>Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>The resulting integral vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqual``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqualAll``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if all of the elements in <paramref name="left">left</paramref> are less than or equal to the corresponding elements in <paramref name="right">right</paramref>; otherwise,  false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.LessThanOrEqualAny``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>true if any element in <paramref name="left">left</paramref> is less than or equal to the corresponding element in <paramref name="right">right</paramref>; otherwise,  false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Max``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The maximum vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Min``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The minimum vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Multiply``1(``0,System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.</summary>
+      <param name="left">The scalar value.</param>
+      <param name="right">The vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Multiply``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose values are the product of each pair of elements in two specified vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Multiply``1(System.Numerics.Vector{``0},``0)">
+      <summary>Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.Double},System.Numerics.Vector{System.Double})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.Int16},System.Numerics.Vector{System.Int16})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int32})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.Int64},System.Numerics.Vector{System.Int64})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.UInt16},System.Numerics.Vector{System.UInt16})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.UInt32},System.Numerics.Vector{System.UInt32})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Narrow(System.Numerics.Vector{System.UInt64},System.Numerics.Vector{System.UInt64})">
+      <param name="source1"></param>
+      <param name="source2"></param>
+      <returns></returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Negate``1(System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements are the negation of the corresponding element in the specified vector.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.OnesComplement``1(System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements are obtained by taking the one&amp;#39;s complement of a specified vector&amp;#39;s elements.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.SquareRoot``1(System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose elements are the square roots of a specified vector&amp;#39;s elements.</summary>
+      <param name="value">The source vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The square root vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Subtract``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The difference vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.UInt16},System.Numerics.Vector{System.UInt32}@,System.Numerics.Vector{System.UInt32}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.Single},System.Numerics.Vector{System.Double}@,System.Numerics.Vector{System.Double}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.SByte},System.Numerics.Vector{System.Int16}@,System.Numerics.Vector{System.Int16}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.UInt32},System.Numerics.Vector{System.UInt64}@,System.Numerics.Vector{System.UInt64}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.Int16},System.Numerics.Vector{System.Int32}@,System.Numerics.Vector{System.Int32}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.Byte},System.Numerics.Vector{System.UInt16}@,System.Numerics.Vector{System.UInt16}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Widen(System.Numerics.Vector{System.Int32},System.Numerics.Vector{System.Int64}@,System.Numerics.Vector{System.Int64}@)">
+      <param name="source"></param>
+      <param name="dest1"></param>
+      <param name="dest2"></param>
+    </member>
+    <member name="M:System.Numerics.Vector.Xor``1(System.Numerics.Vector{``0},System.Numerics.Vector{``0})">
+      <summary>Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <typeparam name="T">The vector type. T can be any primitive numeric type.</typeparam>
+      <returns>The resulting vector.</returns>
+    </member>
+    <member name="T:System.Numerics.Vector2">
+      <summary>Represents a vector with two single-precision floating-point values.</summary>
+    </member>
+    <member name="M:System.Numerics.Vector2.#ctor(System.Single)">
+      <summary>Creates a new <see cref="T:System.Numerics.Vector2"></see> object whose two elements have the same value.</summary>
+      <param name="value">The value to assign to both elements.</param>
+    </member>
+    <member name="M:System.Numerics.Vector2.#ctor(System.Single,System.Single)">
+      <summary>Creates a vector whose elements have the specified values.</summary>
+      <param name="x">The value to assign to the <see cref="F:System.Numerics.Vector2.X"></see> field.</param>
+      <param name="y">The value to assign to the <see cref="F:System.Numerics.Vector2.Y"></see> field.</param>
+    </member>
+    <member name="M:System.Numerics.Vector2.Abs(System.Numerics.Vector2)">
+      <summary>Returns a vector whose elements are the absolute values of each of the specified vector&amp;#39;s elements.</summary>
+      <param name="value">A vector.</param>
+      <returns>The absolute value vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Add(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Clamp(System.Numerics.Vector2,System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Restricts a vector between a minimum and a maximum value.</summary>
+      <param name="value1">The vector to restrict.</param>
+      <param name="min">The minimum value.</param>
+      <param name="max">The maximum value.</param>
+      <returns>The restricted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.CopyTo(System.Single[])">
+      <summary>Copies the elements of the vector to a specified array.</summary>
+      <param name="array">The destination array.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="array">array</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than in the array.</exception>
+      <exception cref="T:System.RankException"><paramref name="array">array</paramref> is multidimensional.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector2.CopyTo(System.Single[],System.Int32)">
+      <summary>Copies the elements of the vector to a specified array starting at a specified index position.</summary>
+      <param name="array">The destination array.</param>
+      <param name="index">The index at which to copy the first element of the vector.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="array">array</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than in the array.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index">index</paramref> is less than zero.  
+ -or-  
+ <paramref name="index">index</paramref> is greater than or equal to the array length.</exception>
+      <exception cref="T:System.RankException"><paramref name="array">array</paramref> is multidimensional.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector2.Distance(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Computes the Euclidean distance between the two given points.</summary>
+      <param name="value1">The first point.</param>
+      <param name="value2">The second point.</param>
+      <returns>The distance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.DistanceSquared(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns the Euclidean distance squared between two specified points.</summary>
+      <param name="value1">The first point.</param>
+      <param name="value2">The second point.</param>
+      <returns>The distance squared.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Divide(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector resulting from the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Divide(System.Numerics.Vector2,System.Single)">
+      <summary>Divides the specified vector by a specified scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="divisor">The scalar value.</param>
+      <returns>The vector that results from the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Dot(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns the dot product of two vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Equals(System.Numerics.Vector2)">
+      <summary>Returns a value that indicates whether this instance and another vector are equal.</summary>
+      <param name="other">The other vector.</param>
+      <returns>true if the two vectors are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Length">
+      <summary>Returns the length of the vector.</summary>
+      <returns>The vector&amp;#39;s length.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.LengthSquared">
+      <summary>Returns the length of the vector squared.</summary>
+      <returns>The vector&amp;#39;s length squared.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Lerp(System.Numerics.Vector2,System.Numerics.Vector2,System.Single)">
+      <summary>Performs a linear interpolation between two vectors based on the given weighting.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <param name="amount">A value between 0 and 1 that indicates the weight of value2.</param>
+      <returns>The interpolated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Max(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The maximized vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Min(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The minimized vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Multiply(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Multiply(System.Numerics.Vector2,System.Single)">
+      <summary>Multiplies a vector by a specified scalar.</summary>
+      <param name="left">The vector to multiply.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Multiply(System.Single,System.Numerics.Vector2)">
+      <summary>Multiplies a scalar value by a specified vector.</summary>
+      <param name="left">The scaled value.</param>
+      <param name="right">The vector.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Negate(System.Numerics.Vector2)">
+      <summary>Negates a specified vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Normalize(System.Numerics.Vector2)">
+      <summary>Returns a vector with the same direction as the specified vector, but with a length of one.</summary>
+      <param name="value">The vector to normalize.</param>
+      <returns>The normalized vector.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector2.One">
+      <summary>Gets a vector whose 2 elements are equal to one.</summary>
+      <returns>A vector whose two elements are equal to one (that is, it returns the vector (1,1).</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Addition(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Division(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from dividing <paramref name="left">left</paramref> by <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Division(System.Numerics.Vector2,System.Single)">
+      <summary>Divides the specified vector by a specified scalar value.</summary>
+      <param name="value1">The vector.</param>
+      <param name="value2">The scalar value.</param>
+      <returns>The result of the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Equality(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns a value that indicates whether each pair of elements in two specified vectors is equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Inequality(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns a value that indicates whether two specified vectors are not equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Multiply(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Multiply(System.Numerics.Vector2,System.Single)">
+      <summary>Multiples the specified vector by the specified scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Multiply(System.Single,System.Numerics.Vector2)">
+      <summary>Multiples the scalar value by the specified vector.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_Subtraction(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from subtracting <paramref name="right">right</paramref> from <paramref name="left">left</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.op_UnaryNegation(System.Numerics.Vector2)">
+      <summary>Negates the specified vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Reflect(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Returns the reflection of a vector off a surface that has the specified normal.</summary>
+      <param name="vector">The source vector.</param>
+      <param name="normal">The normal of the surface being reflected off.</param>
+      <returns>The reflected vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.SquareRoot(System.Numerics.Vector2)">
+      <summary>Returns a vector whose elements are the square root of each of a specified vector&amp;#39;s elements.</summary>
+      <param name="value">A vector.</param>
+      <returns>The square root vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Subtract(System.Numerics.Vector2,System.Numerics.Vector2)">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The difference vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.ToString">
+      <summary>Returns the string representation of the current instance using default formatting.</summary>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.ToString(System.String)">
+      <summary>Returns the string representation of the current instance using the specified format string to format individual elements.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.ToString(System.String,System.IFormatProvider)">
+      <summary>Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <param name="formatProvider">A format provider that supplies culture-specific formatting information.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Transform(System.Numerics.Vector2,System.Numerics.Matrix3x2)">
+      <summary>Transforms a vector by a specified 3x2 matrix.</summary>
+      <param name="position">The vector to transform.</param>
+      <param name="matrix">The transformation matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Transform(System.Numerics.Vector2,System.Numerics.Matrix4x4)">
+      <summary>Transforms a vector by a specified 4x4 matrix.</summary>
+      <param name="position">The vector to transform.</param>
+      <param name="matrix">The transformation matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.Transform(System.Numerics.Vector2,System.Numerics.Quaternion)">
+      <summary>Transforms a vector by the specified Quaternion rotation value.</summary>
+      <param name="value">The vector to rotate.</param>
+      <param name="rotation">The rotation to apply.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.TransformNormal(System.Numerics.Vector2,System.Numerics.Matrix3x2)">
+      <summary>Transforms a vector normal by the given 3x2 matrix.</summary>
+      <param name="normal">The source vector.</param>
+      <param name="matrix">The matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector2.TransformNormal(System.Numerics.Vector2,System.Numerics.Matrix4x4)">
+      <summary>Transforms a vector normal by the given 4x4 matrix.</summary>
+      <param name="normal">The source vector.</param>
+      <param name="matrix">The matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector2.UnitX">
+      <summary>Gets the vector (1,0).</summary>
+      <returns>The vector (1,0).</returns>
+    </member>
+    <member name="P:System.Numerics.Vector2.UnitY">
+      <summary>Gets the vector (0,1).</summary>
+      <returns>The vector (0,1).</returns>
+    </member>
+    <member name="F:System.Numerics.Vector2.X">
+      <summary>The X component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Vector2.Y">
+      <summary>The Y component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="P:System.Numerics.Vector2.Zero">
+      <summary>Returns a vector whose 2 elements are equal to zero.</summary>
+      <returns>A vector whose two elements are equal to zero (that is, it returns the vector (0,0).</returns>
+    </member>
+    <member name="T:System.Numerics.Vector3">
+      <summary>Represents a vector with three  single-precision floating-point values.</summary>
+    </member>
+    <member name="M:System.Numerics.Vector3.#ctor(System.Single)">
+      <summary>Creates a new <see cref="T:System.Numerics.Vector3"></see> object whose three elements have the same value.</summary>
+      <param name="value">The value to assign to all three elements.</param>
+    </member>
+    <member name="M:System.Numerics.Vector3.#ctor(System.Numerics.Vector2,System.Single)">
+      <summary>Creates a   new <see cref="T:System.Numerics.Vector3"></see> object from the specified <see cref="T:System.Numerics.Vector2"></see> object and the specified value.</summary>
+      <param name="value">The vector with two elements.</param>
+      <param name="z">The additional value to assign to the <see cref="F:System.Numerics.Vector3.Z"></see> field.</param>
+    </member>
+    <member name="M:System.Numerics.Vector3.#ctor(System.Single,System.Single,System.Single)">
+      <summary>Creates a vector whose elements have the specified values.</summary>
+      <param name="x">The value to assign to the <see cref="F:System.Numerics.Vector3.X"></see> field.</param>
+      <param name="y">The value to assign to the <see cref="F:System.Numerics.Vector3.Y"></see> field.</param>
+      <param name="z">The value to assign to the <see cref="F:System.Numerics.Vector3.Z"></see> field.</param>
+    </member>
+    <member name="M:System.Numerics.Vector3.Abs(System.Numerics.Vector3)">
+      <summary>Returns a vector whose elements are the absolute values of each of the specified vector&amp;#39;s elements.</summary>
+      <param name="value">A vector.</param>
+      <returns>The absolute value vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Add(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Clamp(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Restricts a vector between a minimum and a maximum value.</summary>
+      <param name="value1">The vector to restrict.</param>
+      <param name="min">The minimum value.</param>
+      <param name="max">The maximum value.</param>
+      <returns>The restricted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.CopyTo(System.Single[])">
+      <summary>Copies the elements of the vector to a specified array.</summary>
+      <param name="array">The destination array.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="array">array</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than in the array.</exception>
+      <exception cref="T:System.RankException"><paramref name="array">array</paramref> is multidimensional.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector3.CopyTo(System.Single[],System.Int32)">
+      <summary>Copies the elements of the vector to a specified array starting at a specified index position.</summary>
+      <param name="array">The destination array.</param>
+      <param name="index">The index at which to copy the first element of the vector.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="array">array</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than in the array.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index">index</paramref> is less than zero.  
+ -or-  
+ <paramref name="index">index</paramref> is greater than or equal to the array length.</exception>
+      <exception cref="T:System.RankException"><paramref name="array">array</paramref> is multidimensional.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector3.Cross(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Computes the cross product of two vectors.</summary>
+      <param name="vector1">The first vector.</param>
+      <param name="vector2">The second vector.</param>
+      <returns>The cross product.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Distance(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Computes the Euclidean distance between the two given points.</summary>
+      <param name="value1">The first point.</param>
+      <param name="value2">The second point.</param>
+      <returns>The distance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.DistanceSquared(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns the Euclidean distance squared between two specified points.</summary>
+      <param name="value1">The first point.</param>
+      <param name="value2">The second point.</param>
+      <returns>The distance squared.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Divide(System.Numerics.Vector3,System.Single)">
+      <summary>Divides the specified vector by a specified scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="divisor">The scalar value.</param>
+      <returns>The vector that results from the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Divide(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector resulting from the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Dot(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns the dot product of two vectors.</summary>
+      <param name="vector1">The first vector.</param>
+      <param name="vector2">The second vector.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Equals(System.Numerics.Vector3)">
+      <summary>Returns a value that indicates whether this instance and another vector are equal.</summary>
+      <param name="other">The other vector.</param>
+      <returns>true if the two vectors are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Length">
+      <summary>Returns the length of this vector object.</summary>
+      <returns>The vector&amp;#39;s length.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.LengthSquared">
+      <summary>Returns the length of the vector squared.</summary>
+      <returns>The vector&amp;#39;s length squared.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Lerp(System.Numerics.Vector3,System.Numerics.Vector3,System.Single)">
+      <summary>Performs a linear interpolation between two vectors based on the given weighting.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <param name="amount">A value between 0 and 1 that indicates the weight of value2.</param>
+      <returns>The interpolated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Max(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The maximized vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Min(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The minimized vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Multiply(System.Single,System.Numerics.Vector3)">
+      <summary>Multiplies a scalar value by a specified vector.</summary>
+      <param name="left">The scaled value.</param>
+      <param name="right">The vector.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Multiply(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Multiply(System.Numerics.Vector3,System.Single)">
+      <summary>Multiplies a vector by a specified scalar.</summary>
+      <param name="left">The vector to multiply.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Negate(System.Numerics.Vector3)">
+      <summary>Negates a specified vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Normalize(System.Numerics.Vector3)">
+      <summary>Returns a vector with the same direction as the specified vector, but with a length of one.</summary>
+      <param name="value">The vector to normalize.</param>
+      <returns>The normalized vector.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector3.One">
+      <summary>Gets a vector whose 3 elements are equal to one.</summary>
+      <returns>A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Addition(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Division(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from dividing <paramref name="left">left</paramref> by <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Division(System.Numerics.Vector3,System.Single)">
+      <summary>Divides the specified vector by a specified scalar value.</summary>
+      <param name="value1">The vector.</param>
+      <param name="value2">The scalar value.</param>
+      <returns>The result of the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Equality(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns a value that indicates whether each pair of elements in two specified vectors is equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Inequality(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns a value that indicates whether two specified vectors are not equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Multiply(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Multiply(System.Numerics.Vector3,System.Single)">
+      <summary>Multiples the specified vector by the specified scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Multiply(System.Single,System.Numerics.Vector3)">
+      <summary>Multiples the scalar value by the specified vector.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_Subtraction(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from subtracting <paramref name="right">right</paramref> from <paramref name="left">left</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.op_UnaryNegation(System.Numerics.Vector3)">
+      <summary>Negates the specified vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Reflect(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Returns the reflection of a vector off a surface that has the specified normal.</summary>
+      <param name="vector">The source vector.</param>
+      <param name="normal">The normal of the surface being reflected off.</param>
+      <returns>The reflected vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.SquareRoot(System.Numerics.Vector3)">
+      <summary>Returns a vector whose elements are the square root of each of a specified vector&amp;#39;s elements.</summary>
+      <param name="value">A vector.</param>
+      <returns>The square root vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Subtract(System.Numerics.Vector3,System.Numerics.Vector3)">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The difference vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.ToString">
+      <summary>Returns the string representation of the current instance using default formatting.</summary>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.ToString(System.String)">
+      <summary>Returns the string representation of the current instance using the specified format string to format individual elements.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.ToString(System.String,System.IFormatProvider)">
+      <summary>Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <param name="formatProvider">A format provider that supplies culture-specific formatting information.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Transform(System.Numerics.Vector3,System.Numerics.Matrix4x4)">
+      <summary>Transforms a vector by a specified 4x4 matrix.</summary>
+      <param name="position">The vector to transform.</param>
+      <param name="matrix">The transformation matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.Transform(System.Numerics.Vector3,System.Numerics.Quaternion)">
+      <summary>Transforms a vector by the specified Quaternion rotation value.</summary>
+      <param name="value">The vector to rotate.</param>
+      <param name="rotation">The rotation to apply.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector3.TransformNormal(System.Numerics.Vector3,System.Numerics.Matrix4x4)">
+      <summary>Transforms a vector normal by the given 4x4 matrix.</summary>
+      <param name="normal">The source vector.</param>
+      <param name="matrix">The matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector3.UnitX">
+      <summary>Gets the vector (1,0,0).</summary>
+      <returns>The vector (1,0,0).</returns>
+    </member>
+    <member name="P:System.Numerics.Vector3.UnitY">
+      <summary>Gets the vector (0,1,0).</summary>
+      <returns>The vector (0,1,0)..</returns>
+    </member>
+    <member name="P:System.Numerics.Vector3.UnitZ">
+      <summary>Gets the vector (0,0,1).</summary>
+      <returns>The vector (0,0,1).</returns>
+    </member>
+    <member name="F:System.Numerics.Vector3.X">
+      <summary>The X component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Vector3.Y">
+      <summary>The Y component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Vector3.Z">
+      <summary>The Z component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="P:System.Numerics.Vector3.Zero">
+      <summary>Gets a vector whose 3 elements are equal to zero.</summary>
+      <returns>A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).</returns>
+    </member>
+    <member name="T:System.Numerics.Vector4">
+      <summary>Represents a vector with four single-precision floating-point values.</summary>
+    </member>
+    <member name="M:System.Numerics.Vector4.#ctor(System.Single)">
+      <summary>Creates a new <see cref="T:System.Numerics.Vector4"></see> object whose four elements have the same value.</summary>
+      <param name="value">The value to assign to all four elements.</param>
+    </member>
+    <member name="M:System.Numerics.Vector4.#ctor(System.Numerics.Vector3,System.Single)">
+      <summary>Constructs a new <see cref="T:System.Numerics.Vector4"></see> object from the specified <see cref="T:System.Numerics.Vector3"></see> object and a W component.</summary>
+      <param name="value">The vector to use for the X, Y, and Z components.</param>
+      <param name="w">The W component.</param>
+    </member>
+    <member name="M:System.Numerics.Vector4.#ctor(System.Numerics.Vector2,System.Single,System.Single)">
+      <summary>Creates a   new <see cref="T:System.Numerics.Vector4"></see> object from the specified <see cref="T:System.Numerics.Vector2"></see> object and a Z and a W component.</summary>
+      <param name="value">The vector to use for the X and Y components.</param>
+      <param name="z">The Z component.</param>
+      <param name="w">The W component.</param>
+    </member>
+    <member name="M:System.Numerics.Vector4.#ctor(System.Single,System.Single,System.Single,System.Single)">
+      <summary>Creates a vector whose elements have the specified values.</summary>
+      <param name="x">The value to assign to the <see cref="F:System.Numerics.Vector4.X"></see> field.</param>
+      <param name="y">The value to assign to the <see cref="F:System.Numerics.Vector4.Y"></see> field.</param>
+      <param name="z">The value to assign to the <see cref="F:System.Numerics.Vector4.Z"></see> field.</param>
+      <param name="w">The value to assign to the <see cref="F:System.Numerics.Vector4.W"></see> field.</param>
+    </member>
+    <member name="M:System.Numerics.Vector4.Abs(System.Numerics.Vector4)">
+      <summary>Returns a vector whose elements are the absolute values of each of the specified vector&amp;#39;s elements.</summary>
+      <param name="value">A vector.</param>
+      <returns>The absolute value vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Add(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Clamp(System.Numerics.Vector4,System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Restricts a vector between a minimum and a maximum value.</summary>
+      <param name="value1">The vector to restrict.</param>
+      <param name="min">The minimum value.</param>
+      <param name="max">The maximum value.</param>
+      <returns>The restricted vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.CopyTo(System.Single[])">
+      <summary>Copies the elements of the vector to a specified array.</summary>
+      <param name="array">The destination array.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="array">array</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than in the array.</exception>
+      <exception cref="T:System.RankException"><paramref name="array">array</paramref> is multidimensional.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector4.CopyTo(System.Single[],System.Int32)">
+      <summary>Copies the elements of the vector to a specified array starting at a specified index position.</summary>
+      <param name="array">The destination array.</param>
+      <param name="index">The index at which to copy the first element of the vector.</param>
+      <exception cref="T:System.ArgumentNullException"><paramref name="array">array</paramref> is null.</exception>
+      <exception cref="T:System.ArgumentException">The number of elements in the current instance is greater than in the array.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index">index</paramref> is less than zero.  
+ -or-  
+ <paramref name="index">index</paramref> is greater than or equal to the array length.</exception>
+      <exception cref="T:System.RankException"><paramref name="array">array</paramref> is multidimensional.</exception>
+    </member>
+    <member name="M:System.Numerics.Vector4.Distance(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Computes the Euclidean distance between the two given points.</summary>
+      <param name="value1">The first point.</param>
+      <param name="value2">The second point.</param>
+      <returns>The distance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.DistanceSquared(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Returns the Euclidean distance squared between two specified points.</summary>
+      <param name="value1">The first point.</param>
+      <param name="value2">The second point.</param>
+      <returns>The distance squared.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Divide(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector resulting from the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Divide(System.Numerics.Vector4,System.Single)">
+      <summary>Divides the specified vector by a specified scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="divisor">The scalar value.</param>
+      <returns>The vector that results from the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Dot(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Returns the dot product of two vectors.</summary>
+      <param name="vector1">The first vector.</param>
+      <param name="vector2">The second vector.</param>
+      <returns>The dot product.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Equals(System.Numerics.Vector4)">
+      <summary>Returns a value that indicates whether this instance and another vector are equal.</summary>
+      <param name="other">The other vector.</param>
+      <returns>true if the two vectors are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Equals(System.Object)">
+      <summary>Returns a value that indicates whether this instance and a specified object are equal.</summary>
+      <param name="obj">The object to compare with the current instance.</param>
+      <returns>true if the current instance and <paramref name="obj">obj</paramref> are equal; otherwise, false. If <paramref name="obj">obj</paramref> is null, the method returns false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.GetHashCode">
+      <summary>Returns the hash code for this instance.</summary>
+      <returns>The hash code.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Length">
+      <summary>Returns the length of this vector object.</summary>
+      <returns>The vector&amp;#39;s length.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.LengthSquared">
+      <summary>Returns the length of the vector squared.</summary>
+      <returns>The vector&amp;#39;s length squared.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Lerp(System.Numerics.Vector4,System.Numerics.Vector4,System.Single)">
+      <summary>Performs a linear interpolation between two vectors based on the given weighting.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <param name="amount">A value between 0 and 1 that indicates the weight of value2.</param>
+      <returns>The interpolated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Max(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The maximized vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Min(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.</summary>
+      <param name="value1">The first vector.</param>
+      <param name="value2">The second vector.</param>
+      <returns>The minimized vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Multiply(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Multiply(System.Numerics.Vector4,System.Single)">
+      <summary>Multiplies a vector by a specified scalar.</summary>
+      <param name="left">The vector to multiply.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Multiply(System.Single,System.Numerics.Vector4)">
+      <summary>Multiplies a scalar value by a specified vector.</summary>
+      <param name="left">The scaled value.</param>
+      <param name="right">The vector.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Negate(System.Numerics.Vector4)">
+      <summary>Negates a specified vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Normalize(System.Numerics.Vector4)">
+      <summary>Returns a vector with the same direction as the specified vector, but with a length of one.</summary>
+      <param name="vector">The vector to normalize.</param>
+      <returns>The normalized vector.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector4.One">
+      <summary>Gets a vector whose 4 elements are equal to one.</summary>
+      <returns>Returns <see cref="System.Numerics.Vector4"></see>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Addition(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Adds two vectors together.</summary>
+      <param name="left">The first vector to add.</param>
+      <param name="right">The second vector to add.</param>
+      <returns>The summed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Division(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Divides the first vector by the second.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from dividing <paramref name="left">left</paramref> by <paramref name="right">right</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Division(System.Numerics.Vector4,System.Single)">
+      <summary>Divides the specified vector by a specified scalar value.</summary>
+      <param name="value1">The vector.</param>
+      <param name="value2">The scalar value.</param>
+      <returns>The result of the division.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Equality(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Returns a value that indicates whether each pair of elements in two specified vectors is equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Inequality(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Returns a value that indicates whether two specified vectors are not equal.</summary>
+      <param name="left">The first vector to compare.</param>
+      <param name="right">The second vector to compare.</param>
+      <returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> are not equal; otherwise, false.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Multiply(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Multiplies two vectors together.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The product vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Multiply(System.Numerics.Vector4,System.Single)">
+      <summary>Multiples the specified vector by the specified scalar value.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Multiply(System.Single,System.Numerics.Vector4)">
+      <summary>Multiples the scalar value by the specified vector.</summary>
+      <param name="left">The vector.</param>
+      <param name="right">The scalar value.</param>
+      <returns>The scaled vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_Subtraction(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The vector that results from subtracting <paramref name="right">right</paramref> from <paramref name="left">left</paramref>.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.op_UnaryNegation(System.Numerics.Vector4)">
+      <summary>Negates the specified vector.</summary>
+      <param name="value">The vector to negate.</param>
+      <returns>The negated vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.SquareRoot(System.Numerics.Vector4)">
+      <summary>Returns a vector whose elements are the square root of each of a specified vector&amp;#39;s elements.</summary>
+      <param name="value">A vector.</param>
+      <returns>The square root vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Subtract(System.Numerics.Vector4,System.Numerics.Vector4)">
+      <summary>Subtracts the second vector from the first.</summary>
+      <param name="left">The first vector.</param>
+      <param name="right">The second vector.</param>
+      <returns>The difference vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.ToString">
+      <summary>Returns the string representation of the current instance using default formatting.</summary>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.ToString(System.String)">
+      <summary>Returns the string representation of the current instance using the specified format string to format individual elements.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.ToString(System.String,System.IFormatProvider)">
+      <summary>Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.</summary>
+      <param name="format">A  or  that defines the format of individual elements.</param>
+      <param name="formatProvider">A format provider that supplies culture-specific formatting information.</param>
+      <returns>The string representation of the current instance.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Transform(System.Numerics.Vector4,System.Numerics.Quaternion)">
+      <summary>Transforms a four-dimensional vector by the specified Quaternion rotation value.</summary>
+      <param name="value">The vector to rotate.</param>
+      <param name="rotation">The rotation to apply.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Transform(System.Numerics.Vector4,System.Numerics.Matrix4x4)">
+      <summary>Transforms a four-dimensional vector by a specified 4x4 matrix.</summary>
+      <param name="vector">The vector to transform.</param>
+      <param name="matrix">The transformation matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Transform(System.Numerics.Vector3,System.Numerics.Quaternion)">
+      <summary>Transforms a three-dimensional vector by the specified Quaternion rotation value.</summary>
+      <param name="value">The vector to rotate.</param>
+      <param name="rotation">The rotation to apply.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Transform(System.Numerics.Vector2,System.Numerics.Matrix4x4)">
+      <summary>Transforms a two-dimensional vector by a specified 4x4 matrix.</summary>
+      <param name="position">The vector to transform.</param>
+      <param name="matrix">The transformation matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Transform(System.Numerics.Vector2,System.Numerics.Quaternion)">
+      <summary>Transforms a two-dimensional vector by the specified Quaternion rotation value.</summary>
+      <param name="value">The vector to rotate.</param>
+      <param name="rotation">The rotation to apply.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="M:System.Numerics.Vector4.Transform(System.Numerics.Vector3,System.Numerics.Matrix4x4)">
+      <summary>Transforms a three-dimensional vector by a specified 4x4 matrix.</summary>
+      <param name="position">The vector to transform.</param>
+      <param name="matrix">The transformation matrix.</param>
+      <returns>The transformed vector.</returns>
+    </member>
+    <member name="P:System.Numerics.Vector4.UnitW">
+      <summary>Gets the vector (0,0,0,1).</summary>
+      <returns>The vector (0,0,0,1).</returns>
+    </member>
+    <member name="P:System.Numerics.Vector4.UnitX">
+      <summary>Gets the vector (1,0,0,0).</summary>
+      <returns>The vector (1,0,0,0).</returns>
+    </member>
+    <member name="P:System.Numerics.Vector4.UnitY">
+      <summary>Gets the vector (0,1,0,0).</summary>
+      <returns>The vector (0,1,0,0)..</returns>
+    </member>
+    <member name="P:System.Numerics.Vector4.UnitZ">
+      <summary>Gets a vector whose 4 elements are equal to zero.</summary>
+      <returns>The vector (0,0,1,0).</returns>
+    </member>
+    <member name="F:System.Numerics.Vector4.W">
+      <summary>The W component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Vector4.X">
+      <summary>The X component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Vector4.Y">
+      <summary>The Y component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="F:System.Numerics.Vector4.Z">
+      <summary>The Z component of the vector.</summary>
+      <returns></returns>
+    </member>
+    <member name="P:System.Numerics.Vector4.Zero">
+      <summary>Gets a vector whose 4 elements are equal to zero.</summary>
+      <returns>A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).</returns>
+    </member>
+  </members>
+</doc>

+ 7 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6ac61bfd46a272f42a31cd51efa087ba
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt


+ 7 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8337e22ff40be7b40842d4c6bbc512f6
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/version.txt

@@ -0,0 +1 @@
+30ab651fcb4354552bd4891619a0bdd81e0ebdbf

+ 7 - 0
Assets/InfraredProject/Packages/System.Numerics.Vectors.4.5.0/version.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 46a8e052972ca5c4e812de30f9161d3a
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac7efda90863a1e45b490f480e57abe9
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fe6aa574b8c8b0142a596f14e9dd1d05
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.dll


+ 33 - 0
Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: c6d5dc51d092b1143b90d4fafbc71b40
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 936 - 0
Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.xml

@@ -0,0 +1,936 @@
+<?xml version="1.0" encoding="utf-8"?>
+<doc>
+  <assembly>
+    <name>System.Text.Encodings.Web</name>
+  </assembly>
+  <members>
+    <member name="T:System.Text.Encodings.Web.HtmlEncoder">
+      <summary>Represents an HTML character encoding.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.HtmlEncoder.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.HtmlEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
+      <summary>Creates a new instance of the HtmlEncoder class with the specified settings.</summary>
+      <param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> instance encodes, primarily which characters to encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="settings" /> is <see langword="null" />.</exception>
+      <returns>A new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.HtmlEncoder.Create(System.Text.Unicode.UnicodeRange[])">
+      <summary>Creates a new instance of the HtmlEncoder class that specifies characters the encoder is allowed to not encode.</summary>
+      <param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="allowedRanges" /> is <see langword="null" />.</exception>
+      <returns>A new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
+    </member>
+    <member name="P:System.Text.Encodings.Web.HtmlEncoder.Default">
+      <summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</summary>
+      <returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
+    </member>
+    <member name="T:System.Text.Encodings.Web.JavaScriptEncoder">
+      <summary>Represents a JavaScript character encoding.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.JavaScriptEncoder.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
+      <summary>Creates a new instance of JavaScriptEncoder class with the specified settings.</summary>
+      <param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> instance encodes, primarily which characters to encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="settings" /> is <see langword="null" />.</exception>
+      <returns>A new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRange[])">
+      <summary>Creates a new instance of the JavaScriptEncoder class that specifies characters the encoder is allowed to not encode.</summary>
+      <param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="allowedRanges" /> is <see langword="null" />.</exception>
+      <returns>A new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
+    </member>
+    <member name="P:System.Text.Encodings.Web.JavaScriptEncoder.Default">
+      <summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</summary>
+      <returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
+    </member>
+    <member name="P:System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping">
+      <summary>Gets a built-in JavaScript encoder instance that is less strict about what is encoded.</summary>
+      <returns>A JavaScript encoder instance.</returns>
+    </member>
+    <member name="T:System.Text.Encodings.Web.TextEncoder">
+      <summary>The base class of web encoders.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.TextEncoder" /> class.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+      <summary>Encodes characters from an array and writes them to a <see cref="T:System.IO.TextWriter" /> object.</summary>
+      <param name="output">The stream to which to write the encoded text.</param>
+      <param name="value">The array of characters to encode.</param>
+      <param name="startIndex">The array index of the first character to encode.</param>
+      <param name="characterCount">The number of characters in the array to encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="output" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="value" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="startIndex" /> is out of range.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="characterCount" /> is out of range.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.String)">
+      <summary>Encodes the specified string to a <see cref="T:System.IO.TextWriter" /> object.</summary>
+      <param name="output">The stream to which to write the encoded text.</param>
+      <param name="value">The string to encode.</param>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.String,System.Int32,System.Int32)">
+      <summary>Encodes a substring and writes it to a <see cref="T:System.IO.TextWriter" /> object.</summary>
+      <param name="output">The stream to which to write the encoded text.</param>
+      <param name="value">The string whose substring is to be encoded.</param>
+      <param name="startIndex">The index where the substring starts.</param>
+      <param name="characterCount">The number of characters in the substring.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="output" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="value" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="startIndex" /> is out of range.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="characterCount" /> is out of range.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.ReadOnlySpan{System.Char},System.Span{System.Char},System.Int32@,System.Int32@,System.Boolean)">
+      <summary>Encodes the supplied characters.</summary>
+      <param name="source">A source buffer containing the characters to encode.</param>
+      <param name="destination">The destination buffer to which the encoded form of <paramref name="source" /> will be written.</param>
+      <param name="charsConsumed">The number of characters consumed from the <paramref name="source" /> buffer.</param>
+      <param name="charsWritten">The number of characters written to the <paramref name="destination" /> buffer.</param>
+      <param name="isFinalBlock">
+        <see langword="true" /> to indicate there is no further source data that needs to be encoded; otherwise, <see langword="false" />.</param>
+      <returns>An enumeration value that describes the result of the encoding operation.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.String)">
+      <summary>Encodes the supplied string and returns the encoded text as a new string.</summary>
+      <param name="value">The string to encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="value" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
+      <returns>The encoded string.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.EncodeUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Int32@,System.Boolean)">
+      <summary>Encodes the supplied UTF-8 text.</summary>
+      <param name="utf8Source">A source buffer containing the UTF-8 text to encode.</param>
+      <param name="utf8Destination">The destination buffer to which the encoded form of <paramref name="utf8Source" /> will be written.</param>
+      <param name="bytesConsumed">The number of bytes consumed from the <paramref name="utf8Source" /> buffer.</param>
+      <param name="bytesWritten">The number of bytes written to the <paramref name="utf8Destination" /> buffer.</param>
+      <param name="isFinalBlock">
+        <see langword="true" /> to indicate there is no further source data that needs to be encoded; otherwise, <see langword="false" />.</param>
+      <returns>A status code that describes the result of the encoding operation.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncode(System.Char*,System.Int32)">
+      <summary>Finds the index of the first character to encode.</summary>
+      <param name="text">The text buffer to search.</param>
+      <param name="textLength">The number of characters in <paramref name="text" />.</param>
+      <returns>The index of the first character to encode.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(System.ReadOnlySpan{System.Byte})">
+      <summary>Finds the first element in a UTF-8 text input buffer that would be escaped by the current encoder instance.</summary>
+      <param name="utf8Text">The UTF-8 text input buffer to search.</param>
+      <returns>The index of the first element in <paramref name="utf8Text" /> that would be escaped by the current encoder instance, or -1 if no data in <paramref name="utf8Text" /> requires escaping.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)">
+      <summary>Encodes a Unicode scalar value and writes it to a buffer.</summary>
+      <param name="unicodeScalar">A Unicode scalar value.</param>
+      <param name="buffer">A pointer to the buffer to which to write the encoded text.</param>
+      <param name="bufferLength">The length of the destination <paramref name="buffer" /> in characters.</param>
+      <param name="numberOfCharactersWritten">When the method returns, indicates the number of characters written to the <paramref name="buffer" />.</param>
+      <returns>
+        <see langword="false" /> if <paramref name="bufferLength" /> is too small to fit the encoded text; otherwise, returns <see langword="true" />.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoder.WillEncode(System.Int32)">
+      <summary>Determines if a given Unicode scalar value will be encoded.</summary>
+      <param name="unicodeScalar">A Unicode scalar value.</param>
+      <returns>
+        <see langword="true" /> if the <paramref name="unicodeScalar" /> value will be encoded by this encoder; otherwise, returns <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter">
+      <summary>Gets the maximum number of characters that this encoder can generate for each input code point.</summary>
+      <returns>The maximum number of characters.</returns>
+    </member>
+    <member name="T:System.Text.Encodings.Web.TextEncoderSettings">
+      <summary>Represents a filter that allows only certain Unicode code points.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor">
+      <summary>Instantiates an empty filter (allows no code points through by default).</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor(System.Text.Encodings.Web.TextEncoderSettings)">
+      <summary>Instantiates a filter by cloning the allowed list of another <see cref="T:System.Text.Encodings.Web.TextEncoderSettings" /> object.</summary>
+      <param name="other">The other <see cref="T:System.Text.Encodings.Web.TextEncoderSettings" /> object to be cloned.</param>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor(System.Text.Unicode.UnicodeRange[])">
+      <summary>Instantiates a filter where only the character ranges specified by <paramref name="allowedRanges" /> are allowed by the filter.</summary>
+      <param name="allowedRanges">The allowed character ranges.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="allowedRanges" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCharacter(System.Char)">
+      <summary>Allows the character specified by <paramref name="character" /> through the filter.</summary>
+      <param name="character">The allowed character.</param>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCharacters(System.Char[])">
+      <summary>Allows all characters specified by <paramref name="characters" /> through the filter.</summary>
+      <param name="characters">The allowed characters.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="characters" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCodePoints(System.Collections.Generic.IEnumerable{System.Int32})">
+      <summary>Allows all code points specified by <paramref name="codePoints" />.</summary>
+      <param name="codePoints">The allowed code points.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="codePoints" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowRange(System.Text.Unicode.UnicodeRange)">
+      <summary>Allows all characters specified by <paramref name="range" /> through the filter.</summary>
+      <param name="range">The range of characters to be allowed.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="range" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowRanges(System.Text.Unicode.UnicodeRange[])">
+      <summary>Allows all characters specified by <paramref name="ranges" /> through the filter.</summary>
+      <param name="ranges">The ranges of characters to be allowed.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="ranges" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.Clear">
+      <summary>Resets this object by disallowing all characters.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidCharacter(System.Char)">
+      <summary>Disallows the character <paramref name="character" /> through the filter.</summary>
+      <param name="character">The disallowed character.</param>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidCharacters(System.Char[])">
+      <summary>Disallows all characters specified by <paramref name="characters" /> through the filter.</summary>
+      <param name="characters">The disallowed characters.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="characters" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidRange(System.Text.Unicode.UnicodeRange)">
+      <summary>Disallows all characters specified by <paramref name="range" /> through the filter.</summary>
+      <param name="range">The range of characters to be disallowed.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="range" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidRanges(System.Text.Unicode.UnicodeRange[])">
+      <summary>Disallows all characters specified by <paramref name="ranges" /> through the filter.</summary>
+      <param name="ranges">The ranges of characters to be disallowed.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="ranges" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Text.Encodings.Web.TextEncoderSettings.GetAllowedCodePoints">
+      <summary>Gets an enumerator of all allowed code points.</summary>
+      <returns>The enumerator of allowed code points.</returns>
+    </member>
+    <member name="T:System.Text.Encodings.Web.UrlEncoder">
+      <summary>Represents a URL character encoding.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.UrlEncoder.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</summary>
+    </member>
+    <member name="M:System.Text.Encodings.Web.UrlEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
+      <summary>Creates a new instance of UrlEncoder class with the specified settings.</summary>
+      <param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> instance encodes, primarily which characters to encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="settings" /> is <see langword="null" />.</exception>
+      <returns>A new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
+    </member>
+    <member name="M:System.Text.Encodings.Web.UrlEncoder.Create(System.Text.Unicode.UnicodeRange[])">
+      <summary>Creates a new instance of the UrlEncoder class that specifies characters the encoder is allowed to not encode.</summary>
+      <param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="allowedRanges" /> is <see langword="null" />.</exception>
+      <returns>A new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
+    </member>
+    <member name="P:System.Text.Encodings.Web.UrlEncoder.Default">
+      <summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</summary>
+      <returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
+    </member>
+    <member name="T:System.Text.Unicode.UnicodeRange">
+      <summary>Represents a contiguous range of Unicode code points.</summary>
+    </member>
+    <member name="M:System.Text.Unicode.UnicodeRange.#ctor(System.Int32,System.Int32)">
+      <summary>Creates a new <see cref="T:System.Text.Unicode.UnicodeRange" /> that includes a specified number of characters starting at a specified Unicode code point.</summary>
+      <param name="firstCodePoint">The first code point in the range.</param>
+      <param name="length">The number of code points in the range.</param>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="firstCodePoint" /> is less than zero or greater than 0xFFFF. 
+
+-or-           
+
+<paramref name="length" /> is less than zero.
+
+-or-
+
+<paramref name="firstCodePoint" /> plus <paramref name="length" /> is greater than 0xFFFF.</exception>
+    </member>
+    <member name="M:System.Text.Unicode.UnicodeRange.Create(System.Char,System.Char)">
+      <summary>Creates a new <see cref="T:System.Text.Unicode.UnicodeRange" /> instance from a span of characters.</summary>
+      <param name="firstCharacter">The first character in the range.</param>
+      <param name="lastCharacter">The last character in the range.</param>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="lastCharacter" /> precedes <paramref name="firstCharacter" />.</exception>
+      <returns>A range that includes all characters between <paramref name="firstCharacter" /> and <paramref name="lastCharacter" />.</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRange.FirstCodePoint">
+      <summary>Gets the first code point in the range represented by this <see cref="T:System.Text.Unicode.UnicodeRange" /> instance.</summary>
+      <returns>The first code point in the range.</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRange.Length">
+      <summary>Gets the number of code points in the range represented by this <see cref="T:System.Text.Unicode.UnicodeRange" /> instance.</summary>
+      <returns>The number of code points in the range.</returns>
+    </member>
+    <member name="T:System.Text.Unicode.UnicodeRanges">
+      <summary>Provides static properties that return predefined <see cref="T:System.Text.Unicode.UnicodeRange" /> instances that correspond to blocks from the Unicode specification.</summary>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.All">
+      <summary>Gets a range that consists of the entire Basic Multilingual Plane (BMP), from U+0000 to U+FFFF).</summary>
+      <returns>A range that consists of the entire BMP.</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.AlphabeticPresentationForms">
+      <summary>Gets the Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).</summary>
+      <returns>The Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Arabic">
+      <summary>Gets the Arabic Unicode block (U+0600-U+06FF).</summary>
+      <returns>The Arabic Unicode block (U+0600-U+06FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.ArabicExtendedA">
+      <summary>Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF).</summary>
+      <returns>The Arabic Extended-A Unicode block (U+08A0-U+08FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsA">
+      <summary>Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</summary>
+      <returns>The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsB">
+      <summary>Gets the Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).</summary>
+      <returns>The Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.ArabicSupplement">
+      <summary>Gets the Arabic Supplement Unicode block (U+0750-U+077F).</summary>
+      <returns>The Arabic Supplement Unicode block (U+0750-U+077F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Armenian">
+      <summary>Gets the Armenian Unicode block (U+0530-U+058F).</summary>
+      <returns>The Armenian Unicode block (U+0530-U+058F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Arrows">
+      <summary>Gets the Arrows Unicode block (U+2190-U+21FF).</summary>
+      <returns>The Arrows Unicode block (U+2190-U+21FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Balinese">
+      <summary>Gets the Balinese Unicode block (U+1B00-U+1B7F).</summary>
+      <returns>The Balinese Unicode block (U+1B00-U+1B7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Bamum">
+      <summary>Gets the Bamum Unicode block (U+A6A0-U+A6FF).</summary>
+      <returns>The Bamum Unicode block (U+A6A0-U+A6FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.BasicLatin">
+      <summary>Gets the Basic Latin Unicode block (U+0021-U+007F).</summary>
+      <returns>The Basic Latin Unicode block (U+0021-U+007F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Batak">
+      <summary>Gets the Batak Unicode block (U+1BC0-U+1BFF).</summary>
+      <returns>The Batak Unicode block (U+1BC0-U+1BFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Bengali">
+      <summary>Gets the Bengali Unicode block (U+0980-U+09FF).</summary>
+      <returns>The Bengali Unicode block (U+0980-U+09FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.BlockElements">
+      <summary>Gets the Block Elements Unicode block (U+2580-U+259F).</summary>
+      <returns>The Block Elements Unicode block (U+2580-U+259F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Bopomofo">
+      <summary>Gets the Bopomofo Unicode block (U+3100-U+312F).</summary>
+      <returns>The Bopomofo Unicode block (U+3105-U+312F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.BopomofoExtended">
+      <summary>Gets the Bopomofo Extended Unicode block (U+31A0-U+31BF).</summary>
+      <returns>The Bopomofo Extended Unicode block (U+31A0-U+31BF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.BoxDrawing">
+      <summary>Gets the Box Drawing Unicode block (U+2500-U+257F).</summary>
+      <returns>The Box Drawing Unicode block (U+2500-U+257F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.BraillePatterns">
+      <summary>Gets the Braille Patterns Unicode block (U+2800-U+28FF).</summary>
+      <returns>The Braille Patterns Unicode block (U+2800-U+28FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Buginese">
+      <summary>Gets the Buginese Unicode block (U+1A00-U+1A1F).</summary>
+      <returns>The Buginese Unicode block (U+1A00-U+1A1F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Buhid">
+      <summary>Gets the Buhid Unicode block (U+1740-U+175F).</summary>
+      <returns>The Buhid Unicode block (U+1740-U+175F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Cham">
+      <summary>Gets the Cham Unicode block (U+AA00-U+AA5F).</summary>
+      <returns>The Cham Unicode block (U+AA00-U+AA5F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Cherokee">
+      <summary>Gets the Cherokee Unicode block (U+13A0-U+13FF).</summary>
+      <returns>The Cherokee Unicode block (U+13A0-U+13FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CherokeeSupplement">
+      <summary>Gets the Cherokee Supplement Unicode block (U+AB70-U+ABBF).</summary>
+      <returns>The Cherokee Supplement Unicode block (U+AB70-U+ABBF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibility">
+      <summary>Gets the CJK Compatibility Unicode block (U+3300-U+33FF).</summary>
+      <returns>The CJK Compatibility Unicode block (U+3300-U+33FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibilityForms">
+      <summary>Gets the CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).</summary>
+      <returns>The CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibilityIdeographs">
+      <summary>Gets the CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).</summary>
+      <returns>The CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkRadicalsSupplement">
+      <summary>Gets the CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).</summary>
+      <returns>The CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkStrokes">
+      <summary>Gets the CJK Strokes Unicode block (U+31C0-U+31EF).</summary>
+      <returns>The CJK Strokes Unicode block (U+31C0-U+31EF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkSymbolsandPunctuation">
+      <summary>Gets the CJK Symbols and Punctuation Unicode block (U+3000-U+303F).</summary>
+      <returns>The CJK Symbols and Punctuation Unicode block (U+3000-U+303F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkUnifiedIdeographs">
+      <summary>Gets the CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).</summary>
+      <returns>The CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CjkUnifiedIdeographsExtensionA">
+      <summary>Gets the CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).</summary>
+      <returns>The CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarks">
+      <summary>Gets the Combining Diacritical Marks Unicode block (U+0300-U+036F).</summary>
+      <returns>The Combining Diacritical Marks Unicode block (U+0300-U+036F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksExtended">
+      <summary>Gets the Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).</summary>
+      <returns>The Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksforSymbols">
+      <summary>Gets the Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).</summary>
+      <returns>The Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksSupplement">
+      <summary>Gets the Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).</summary>
+      <returns>The Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CombiningHalfMarks">
+      <summary>Gets the Combining Half Marks Unicode block (U+FE20-U+FE2F).</summary>
+      <returns>The Combining Half Marks Unicode block (U+FE20-U+FE2F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CommonIndicNumberForms">
+      <summary>Gets the Common Indic Number Forms Unicode block (U+A830-U+A83F).</summary>
+      <returns>The Common Indic Number Forms Unicode block (U+A830-U+A83F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.ControlPictures">
+      <summary>Gets the Control Pictures Unicode block (U+2400-U+243F).</summary>
+      <returns>The Control Pictures Unicode block (U+2400-U+243F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Coptic">
+      <summary>Gets the Coptic Unicode block (U+2C80-U+2CFF).</summary>
+      <returns>The Coptic Unicode block (U+2C80-U+2CFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CurrencySymbols">
+      <summary>Gets the Currency Symbols Unicode block (U+20A0-U+20CF).</summary>
+      <returns>The Currency Symbols Unicode block (U+20A0-U+20CF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Cyrillic">
+      <summary>Gets the Cyrillic Unicode block (U+0400-U+04FF).</summary>
+      <returns>The Cyrillic Unicode block (U+0400-U+04FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedA">
+      <summary>Gets the Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).</summary>
+      <returns>The Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedB">
+      <summary>Gets the Cyrillic Extended-B Unicode block (U+A640-U+A69F).</summary>
+      <returns>The Cyrillic Extended-B Unicode block (U+A640-U+A69F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedC">
+      <summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Cyrillic Extended-C' Unicode block (U+1C80..U+1C8F).</summary>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.CyrillicSupplement">
+      <summary>Gets the Cyrillic Supplement Unicode block (U+0500-U+052F).</summary>
+      <returns>The Cyrillic Supplement Unicode block (U+0500-U+052F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Devanagari">
+      <summary>Gets the Devangari Unicode block (U+0900-U+097F).</summary>
+      <returns>The Devangari Unicode block (U+0900-U+097F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.DevanagariExtended">
+      <summary>Gets the Devanagari Extended Unicode block (U+A8E0-U+A8FF).</summary>
+      <returns>The Devanagari Extended Unicode block (U+A8E0-U+A8FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Dingbats">
+      <summary>Gets the Dingbats Unicode block (U+2700-U+27BF).</summary>
+      <returns>The Dingbats Unicode block (U+2700-U+27BF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.EnclosedAlphanumerics">
+      <summary>Gets the Enclosed Alphanumerics Unicode block (U+2460-U+24FF).</summary>
+      <returns>The Enclosed Alphanumerics Unicode block (U+2460-U+24FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.EnclosedCjkLettersandMonths">
+      <summary>Gets the Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).</summary>
+      <returns>The Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Ethiopic">
+      <summary>Gets the Ethiopic Unicode block (U+1200-U+137C).</summary>
+      <returns>The Ethiopic Unicode block (U+1200-U+137C).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.EthiopicExtended">
+      <summary>Gets the Ethipic Extended Unicode block (U+2D80-U+2DDF).</summary>
+      <returns>The Ethipic Extended Unicode block (U+2D80-U+2DDF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.EthiopicExtendedA">
+      <summary>Gets the Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).</summary>
+      <returns>The Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.EthiopicSupplement">
+      <summary>Gets the Ethiopic Supplement Unicode block (U+1380-U+1399).</summary>
+      <returns>The Ethiopic Supplement Unicode block (U+1380-U+1399).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.GeneralPunctuation">
+      <summary>Gets the General Punctuation Unicode block (U+2000-U+206F).</summary>
+      <returns>The General Punctuation Unicode block (U+2000-U+206F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.GeometricShapes">
+      <summary>Gets the Geometric Shapes Unicode block (U+25A0-U+25FF).</summary>
+      <returns>The Geometric Shapes Unicode block (U+25A0-U+25FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Georgian">
+      <summary>Gets the Georgian Unicode block (U+10A0-U+10FF).</summary>
+      <returns>The Georgian Unicode block (U+10A0-U+10FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.GeorgianExtended">
+      <summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Georgian Extended' Unicode block (U+1C90..U+1CBF).</summary>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.GeorgianSupplement">
+      <summary>Gets the Georgian Supplement Unicode block (U+2D00-U+2D2F).</summary>
+      <returns>The Georgian Supplement Unicode block (U+2D00-U+2D2F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Glagolitic">
+      <summary>Gets the Glagolitic Unicode block (U+2C00-U+2C5F).</summary>
+      <returns>The Glagolitic Unicode block (U+2C00-U+2C5F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.GreekandCoptic">
+      <summary>Gets the Greek and Coptic Unicode block (U+0370-U+03FF).</summary>
+      <returns>The Greek and Coptic Unicode block (U+0370-U+03FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.GreekExtended">
+      <summary>Gets the Greek Extended Unicode block (U+1F00-U+1FFF).</summary>
+      <returns>The Greek Extended Unicode block (U+1F00-U+1FFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Gujarati">
+      <summary>Gets the Gujarti Unicode block (U+0A81-U+0AFF).</summary>
+      <returns>The Gujarti Unicode block (U+0A81-U+0AFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Gurmukhi">
+      <summary>Gets the Gurmukhi Unicode block (U+0A01-U+0A7F).</summary>
+      <returns>The Gurmukhi Unicode block (U+0A01-U+0A7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.HalfwidthandFullwidthForms">
+      <summary>Gets the Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).</summary>
+      <returns>The Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.HangulCompatibilityJamo">
+      <summary>Gets the Hangul Compatibility Jamo Unicode block (U+3131-U+318F).</summary>
+      <returns>The Hangul Compatibility Jamo Unicode block (U+3131-U+318F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.HangulJamo">
+      <summary>Gets the Hangul Jamo Unicode block (U+1100-U+11FF).</summary>
+      <returns>The Hangul Jamo Unicode block (U+1100-U+11FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.HangulJamoExtendedA">
+      <summary>Gets the Hangul Jamo Extended-A Unicode block (U+A960-U+A9F).</summary>
+      <returns>The Hangul Jamo Extended-A Unicode block (U+A960-U+A97F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.HangulJamoExtendedB">
+      <summary>Gets the Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).</summary>
+      <returns>The Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.HangulSyllables">
+      <summary>Gets the Hangul Syllables Unicode block (U+AC00-U+D7AF).</summary>
+      <returns>The Hangul Syllables Unicode block (U+AC00-U+D7AF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Hanunoo">
+      <summary>Gets the Hanunoo Unicode block (U+1720-U+173F).</summary>
+      <returns>The Hanunoo Unicode block (U+1720-U+173F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Hebrew">
+      <summary>Gets the Hebrew Unicode block (U+0590-U+05FF).</summary>
+      <returns>The Hebrew Unicode block (U+0590-U+05FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Hiragana">
+      <summary>Gets the Hiragana Unicode block (U+3040-U+309F).</summary>
+      <returns>The Hiragana Unicode block (U+3040-U+309F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.IdeographicDescriptionCharacters">
+      <summary>Gets the Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).</summary>
+      <returns>The Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.IpaExtensions">
+      <summary>Gets the IPA Extensions Unicode block (U+0250-U+02AF).</summary>
+      <returns>The IPA Extensions Unicode block (U+0250-U+02AF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Javanese">
+      <summary>Gets the Javanese Unicode block (U+A980-U+A9DF).</summary>
+      <returns>The Javanese Unicode block (U+A980-U+A9DF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Kanbun">
+      <summary>Gets the Kanbun Unicode block (U+3190-U+319F).</summary>
+      <returns>The Kanbun Unicode block (U+3190-U+319F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.KangxiRadicals">
+      <summary>Gets the Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).</summary>
+      <returns>The Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Kannada">
+      <summary>Gets the Kannada Unicode block (U+0C81-U+0CFF).</summary>
+      <returns>The Kannada Unicode block (U+0C81-U+0CFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Katakana">
+      <summary>Gets the Katakana Unicode block (U+30A0-U+30FF).</summary>
+      <returns>The Katakana Unicode block (U+30A0-U+30FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.KatakanaPhoneticExtensions">
+      <summary>Gets the Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).</summary>
+      <returns>The Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.KayahLi">
+      <summary>Gets the Kayah Li Unicode block (U+A900-U+A92F).</summary>
+      <returns>The Kayah Li Unicode block (U+A900-U+A92F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Khmer">
+      <summary>Gets the Khmer Unicode block (U+1780-U+17FF).</summary>
+      <returns>The Khmer Unicode block (U+1780-U+17FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.KhmerSymbols">
+      <summary>Gets the Khmer Symbols Unicode block (U+19E0-U+19FF).</summary>
+      <returns>The Khmer Symbols Unicode block (U+19E0-U+19FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Lao">
+      <summary>Gets the Lao Unicode block (U+0E80-U+0EDF).</summary>
+      <returns>The Lao Unicode block (U+0E80-U+0EDF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Latin1Supplement">
+      <summary>Gets the Latin-1 Supplement Unicode block (U+00A1-U+00FF).</summary>
+      <returns>The Latin-1 Supplement Unicode block (U+00A1-U+00FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedA">
+      <summary>Gets the Latin Extended-A Unicode block (U+0100-U+017F).</summary>
+      <returns>The Latin Extended-A Unicode block (U+0100-U+017F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedAdditional">
+      <summary>Gets the Latin Extended Additional Unicode block (U+1E00-U+1EFF).</summary>
+      <returns>The Latin Extended Additional Unicode block (U+1E00-U+1EFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedB">
+      <summary>Gets the Latin Extended-B Unicode block (U+0180-U+024F).</summary>
+      <returns>The Latin Extended-B Unicode block (U+0180-U+024F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedC">
+      <summary>Gets the Latin Extended-C Unicode block (U+2C60-U+2C7F).</summary>
+      <returns>The Latin Extended-C Unicode block (U+2C60-U+2C7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedD">
+      <summary>Gets the Latin Extended-D Unicode block (U+A720-U+A7FF).</summary>
+      <returns>The Latin Extended-D Unicode block (U+A720-U+A7FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedE">
+      <summary>Gets the Latin Extended-E Unicode block (U+AB30-U+AB6F).</summary>
+      <returns>The Latin Extended-E Unicode block (U+AB30-U+AB6F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Lepcha">
+      <summary>Gets the Lepcha Unicode block (U+1C00-U+1C4F).</summary>
+      <returns>The Lepcha Unicode block (U+1C00-U+1C4F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.LetterlikeSymbols">
+      <summary>Gets the Letterlike Symbols Unicode block (U+2100-U+214F).</summary>
+      <returns>The Letterlike Symbols Unicode block (U+2100-U+214F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Limbu">
+      <summary>Gets the Limbu Unicode block (U+1900-U+194F).</summary>
+      <returns>The Limbu Unicode block (U+1900-U+194F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Lisu">
+      <summary>Gets the Lisu Unicode block (U+A4D0-U+A4FF).</summary>
+      <returns>The Lisu Unicode block (U+A4D0-U+A4FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Malayalam">
+      <summary>Gets the Malayalam Unicode block (U+0D00-U+0D7F).</summary>
+      <returns>The Malayalam Unicode block (U+0D00-U+0D7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Mandaic">
+      <summary>Gets the Mandaic Unicode block (U+0840-U+085F).</summary>
+      <returns>The Mandaic Unicode block (U+0840-U+085F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MathematicalOperators">
+      <summary>Gets the Mathematical Operators Unicode block (U+2200-U+22FF).</summary>
+      <returns>The Mathematical Operators Unicode block (U+2200-U+22FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MeeteiMayek">
+      <summary>Gets the Meetei Mayek Unicode block (U+ABC0-U+ABFF).</summary>
+      <returns>The Meetei Mayek Unicode block (U+ABC0-U+ABFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MeeteiMayekExtensions">
+      <summary>Gets the Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).</summary>
+      <returns>The Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousMathematicalSymbolsA">
+      <summary>Gets the Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).</summary>
+      <returns>The Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousMathematicalSymbolsB">
+      <summary>Gets the Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).</summary>
+      <returns>The Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousSymbols">
+      <summary>Gets the Miscellaneous Symbols Unicode block (U+2600-U+26FF).</summary>
+      <returns>The Miscellaneous Symbols Unicode block (U+2600-U+26FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousSymbolsandArrows">
+      <summary>Gets the Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).</summary>
+      <returns>The Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousTechnical">
+      <summary>Gets the Miscellaneous Technical Unicode block (U+2300-U+23FF).</summary>
+      <returns>The Miscellaneous Technical Unicode block (U+2300-U+23FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.ModifierToneLetters">
+      <summary>Gets the Modifier Tone Letters Unicode block (U+A700-U+A71F).</summary>
+      <returns>The Modifier Tone Letters Unicode block (U+A700-U+A71F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Mongolian">
+      <summary>Gets the Mongolian Unicode block (U+1800-U+18AF).</summary>
+      <returns>The Mongolian Unicode block (U+1800-U+18AF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Myanmar">
+      <summary>Gets the Myanmar Unicode block (U+1000-U+109F).</summary>
+      <returns>The Myanmar Unicode block (U+1000-U+109F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MyanmarExtendedA">
+      <summary>Gets the Myanmar Extended-A Unicode block (U+AA60-U+AA7F).</summary>
+      <returns>The Myanmar Extended-A Unicode block (U+AA60-U+AA7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.MyanmarExtendedB">
+      <summary>Gets the Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).</summary>
+      <returns>The Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.NewTaiLue">
+      <summary>Gets the New Tai Lue Unicode block (U+1980-U+19DF).</summary>
+      <returns>The New Tai Lue Unicode block (U+1980-U+19DF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.NKo">
+      <summary>Gets the NKo Unicode block (U+07C0-U+07FF).</summary>
+      <returns>The NKo Unicode block (U+07C0-U+07FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.None">
+      <summary>Gets an empty Unicode range.</summary>
+      <returns>A Unicode range with no elements.</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.NumberForms">
+      <summary>Gets the Number Forms Unicode block (U+2150-U+218F).</summary>
+      <returns>The Number Forms Unicode block (U+2150-U+218F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Ogham">
+      <summary>Gets the Ogham Unicode block (U+1680-U+169F).</summary>
+      <returns>The Ogham Unicode block (U+1680-U+169F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.OlChiki">
+      <summary>Gets the Ol Chiki Unicode block (U+1C50-U+1C7F).</summary>
+      <returns>The Ol Chiki Unicode block (U+1C50-U+1C7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.OpticalCharacterRecognition">
+      <summary>Gets the Optical Character Recognition Unicode block (U+2440-U+245F).</summary>
+      <returns>The Optical Character Recognition Unicode block (U+2440-U+245F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Oriya">
+      <summary>Gets the Oriya Unicode block (U+0B00-U+0B7F).</summary>
+      <returns>The Oriya Unicode block (U+0B00-U+0B7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Phagspa">
+      <summary>Gets the Phags-pa Unicode block (U+A840-U+A87F).</summary>
+      <returns>The Phags-pa Unicode block (U+A840-U+A87F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.PhoneticExtensions">
+      <summary>Gets the Phonetic Extensions Unicode block (U+1D00-U+1D7F).</summary>
+      <returns>The Phonetic Extensions Unicode block (U+1D00-U+1D7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.PhoneticExtensionsSupplement">
+      <summary>Gets the Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).</summary>
+      <returns>The Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Rejang">
+      <summary>Gets the Rejang Unicode block (U+A930-U+A95F).</summary>
+      <returns>The Rejang Unicode block (U+A930-U+A95F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Runic">
+      <summary>Gets the Runic Unicode block (U+16A0-U+16FF).</summary>
+      <returns>The Runic Unicode block (U+16A0-U+16FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Samaritan">
+      <summary>Gets the Samaritan Unicode block (U+0800-U+083F).</summary>
+      <returns>The Samaritan Unicode block (U+0800-U+083F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Saurashtra">
+      <summary>Gets the Saurashtra Unicode block (U+A880-U+A8DF).</summary>
+      <returns>The Saurashtra Unicode block (U+A880-U+A8DF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Sinhala">
+      <summary>Gets the Sinhala Unicode block (U+0D80-U+0DFF).</summary>
+      <returns>The Sinhala Unicode block (U+0D80-U+0DFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SmallFormVariants">
+      <summary>Gets the Small Form Variants Unicode block (U+FE50-U+FE6F).</summary>
+      <returns>The Small Form Variants Unicode block (U+FE50-U+FE6F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SpacingModifierLetters">
+      <summary>Gets the Spacing Modifier Letters Unicode block (U+02B0-U+02FF).</summary>
+      <returns>The Spacing Modifier Letters Unicode block (U+02B0-U+02FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Specials">
+      <summary>Gets the Specials Unicode block (U+FFF0-U+FFFF).</summary>
+      <returns>The Specials Unicode block (U+FFF0-U+FFFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Sundanese">
+      <summary>Gets the Sundanese Unicode block (U+1B80-U+1BBF).</summary>
+      <returns>The Sundanese Unicode block (U+1B80-U+1BBF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SundaneseSupplement">
+      <summary>Gets the Sundanese Supplement Unicode block (U+1CC0-U+1CCF).</summary>
+      <returns>The Sundanese Supplement Unicode block (U+1CC0-U+1CCF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SuperscriptsandSubscripts">
+      <summary>Gets the Superscripts and Subscripts Unicode block (U+2070-U+209F).</summary>
+      <returns>The Superscripts and Subscripts Unicode block (U+2070-U+209F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SupplementalArrowsA">
+      <summary>Gets the Supplemental Arrows-A Unicode block (U+27F0-U+27FF).</summary>
+      <returns>The Supplemental Arrows-A Unicode block (U+27F0-U+27FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SupplementalArrowsB">
+      <summary>Gets the Supplemental Arrows-B Unicode block (U+2900-U+297F).</summary>
+      <returns>The Supplemental Arrows-B Unicode block (U+2900-U+297F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SupplementalMathematicalOperators">
+      <summary>Gets the Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).</summary>
+      <returns>The Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SupplementalPunctuation">
+      <summary>Gets the Supplemental Punctuation Unicode block (U+2E00-U+2E7F).</summary>
+      <returns>The Supplemental Punctuation Unicode block (U+2E00-U+2E7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SylotiNagri">
+      <summary>Gets the Syloti Nagri Unicode block (U+A800-U+A82F).</summary>
+      <returns>The Syloti Nagri Unicode block (U+A800-U+A82F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Syriac">
+      <summary>Gets the Syriac Unicode block (U+0700-U+074F).</summary>
+      <returns>The Syriac Unicode block (U+0700-U+074F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.SyriacSupplement">
+      <summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Syriac Supplement' Unicode block (U+0860..U+086F).</summary>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Tagalog">
+      <summary>Gets the Tagalog Unicode block (U+1700-U+171F).</summary>
+      <returns>The Tagalog Unicode block (U+1700-U+171F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Tagbanwa">
+      <summary>Gets the Tagbanwa Unicode block (U+1760-U+177F).</summary>
+      <returns>The Tagbanwa Unicode block (U+1760-U+177F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.TaiLe">
+      <summary>Gets the Tai Le Unicode block (U+1950-U+197F).</summary>
+      <returns>The Tai Le Unicode block (U+1950-U+197F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.TaiTham">
+      <summary>Gets the Tai Tham Unicode block (U+1A20-U+1AAF).</summary>
+      <returns>The Tai Tham Unicode block (U+1A20-U+1AAF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.TaiViet">
+      <summary>Gets the Tai Viet Unicode block (U+AA80-U+AADF).</summary>
+      <returns>The Tai Viet Unicode block (U+AA80-U+AADF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Tamil">
+      <summary>Gets the Tamil Unicode block (U+0B80-U+0BFF).</summary>
+      <returns>The Tamil Unicode block (U+0B82-U+0BFA).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Telugu">
+      <summary>Gets the Telugu Unicode block (U+0C00-U+0C7F).</summary>
+      <returns>The Telugu Unicode block (U+0C00-U+0C7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Thaana">
+      <summary>Gets the Thaana Unicode block (U+0780-U+07BF).</summary>
+      <returns>The Thaana Unicode block (U+0780-U+07BF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Thai">
+      <summary>Gets the Thai Unicode block (U+0E00-U+0E7F).</summary>
+      <returns>The Thai Unicode block (U+0E00-U+0E7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Tibetan">
+      <summary>Gets the Tibetan Unicode block (U+0F00-U+0FFF).</summary>
+      <returns>The Tibetan Unicode block (U+0F00-U+0FFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Tifinagh">
+      <summary>Gets the Tifinagh Unicode block (U+2D30-U+2D7F).</summary>
+      <returns>The Tifinagh Unicode block (U+2D30-U+2D7F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.UnifiedCanadianAboriginalSyllabics">
+      <summary>Gets the Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).</summary>
+      <returns>The Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.UnifiedCanadianAboriginalSyllabicsExtended">
+      <summary>Gets the Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).</summary>
+      <returns>The Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.Vai">
+      <summary>Gets the Vai Unicode block (U+A500-U+A63F).</summary>
+      <returns>The Vai Unicode block (U+A500-U+A63F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.VariationSelectors">
+      <summary>Gets the Variation Selectors Unicode block (U+FE00-U+FE0F).</summary>
+      <returns>The Variation Selectors Unicode block (U+FE00-U+FE0F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.VedicExtensions">
+      <summary>Gets the Vedic Extensions Unicode block (U+1CD0-U+1CFF).</summary>
+      <returns>The Vedic Extensions Unicode block (U+1CD0-U+1CFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.VerticalForms">
+      <summary>Gets the Vertical Forms Unicode block (U+FE10-U+FE1F).</summary>
+      <returns>The Vertical Forms Unicode block (U+FE10-U+FE1F).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.YijingHexagramSymbols">
+      <summary>Gets the Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).</summary>
+      <returns>The Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.YiRadicals">
+      <summary>Gets the Yi Radicals Unicode block (U+A490-U+A4CF).</summary>
+      <returns>The Yi Radicals Unicode block (U+A490-U+A4CF).</returns>
+    </member>
+    <member name="P:System.Text.Unicode.UnicodeRanges.YiSyllables">
+      <summary>Gets the Yi Syllables Unicode block (U+A000-U+A48F).</summary>
+      <returns>The Yi Syllables Unicode block (U+A000-U+A48F).</returns>
+    </member>
+  </members>
+</doc>

+ 7 - 0
Assets/InfraredProject/Packages/System.Text.Encodings.Web.5.0.1/netstandard2.0/System.Text.Encodings.Web.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fa21212f9c618f44bab3d5cb6fde4de9
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/InfraredProject/Packages/System.Text.Json.5.0.2.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 00c7a5755ae3714428ddb39236a684b9
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/InfraredProject/Packages/System.Text.Json.5.0.2/Icon.png


+ 88 - 0
Assets/InfraredProject/Packages/System.Text.Json.5.0.2/Icon.png.meta

@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 29cab91b54af0914b9ee7b898c3724e3
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/InfraredProject/Packages/System.Text.Json.5.0.2/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio